JP2006018735A - Coding standard observance situation monitoring system - Google Patents
Coding standard observance situation monitoring system Download PDFInfo
- Publication number
- JP2006018735A JP2006018735A JP2004197988A JP2004197988A JP2006018735A JP 2006018735 A JP2006018735 A JP 2006018735A JP 2004197988 A JP2004197988 A JP 2004197988A JP 2004197988 A JP2004197988 A JP 2004197988A JP 2006018735 A JP2006018735 A JP 2006018735A
- Authority
- JP
- Japan
- Prior art keywords
- coding standard
- rule
- information
- source
- monitoring system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、ソフトウエア開発プロジェクトにおいて、開発者により作成されたソースコードについて、予め定義されたコーディング規準に違反するか否かを監視するシステムに関する。 The present invention relates to a system for monitoring whether or not a source code created by a developer violates a predefined coding standard in a software development project.
一般に、ソフトウェア開発プロジェクトでは、開発対象となるシステムを構成するソースコードに対し、予めコーディング規準が設定されており、各開発者はこれに従いコーディングを行う。この場合、実際に各ルールに従ってコーディングされているか否かを各開発者自身がチェックするとともに、プロジェクト全体のソースコードについて各ルールが遵守されているかについて、インスペクション担当者がチェック作業を行っていた。
この場合、ソースコードのチェック作業は、コーディング規準に基づき、ソースコードを目視することにより行われていたため、チェック作業における工数が多大なものとなっていた。
そこで、チェック作業における工数削減のためのツールとして、従来より、予め定義されたコーディング規準に基づき、開発者によりコーディングされたソースコードについてチェックを行う手段を備えた診断装置についての構成が公知となっている(例えば、特許文献1参照。)。
In this case, since the source code check work is performed by visually observing the source code based on the coding standard, the number of steps in the check work is large.
Therefore, as a tool for reducing the man-hours in the check work, a configuration of a diagnostic apparatus having a means for checking a source code coded by a developer based on a pre-defined coding standard has been conventionally known. (For example, refer to Patent Document 1).
このような診断装置では、通常、コーディング規準として用いる数百のルールが予め用意されており、チェック作業を行う開発者又はインスペクション担当者により選択されたルールに基づきチェック処理を行っていた。
チェック処理としては、選択された各ルールに基づきソースコードを全て走査し、ルールに違反する箇所を検出すると、指摘項目としてファイル名、行、ルール名、指摘事項などを開発者用端末又はインスペクション担当者用端末に表示させていた。
インスペクション工程では、インスペクション担当者が診断装置により指摘された箇所を確認し、必要があれば開発者に修正を指示し、開発者により確実に修正が行われたか否かを再度診断装置を用いること等によって確認していた。
一方、開発者自身のチェックの場合、診断装置により指摘された箇所を任意に修正していた。
インスペクション工程では、通常、このようなチェックと修正のサイクルを何度か繰り返すことにより、コーディング規準の徹底を図っており、前記特許文献1記載の診断装置等を用いることにより、チェック作業に関する工数削減を図っていた。
In such a diagnosis apparatus, usually, several hundred rules used as coding standards are prepared in advance, and the check processing is performed based on the rules selected by the developer or the person in charge of inspection.
As a check process, all source code is scanned based on each selected rule, and when a point that violates the rule is detected, the file name, line, rule name, pointed item, etc. are pointed out as a developer terminal or inspection person in charge Was displayed on the user terminal.
In the inspection process, the inspection person confirms the point indicated by the diagnostic device, instructs the developer to make a correction if necessary, and uses the diagnostic device again to confirm whether the correction has been made by the developer. Etc.
On the other hand, in the case of the developer's own check, the pointed out by the diagnostic device was arbitrarily corrected.
In the inspection process, the coding standard is usually thorough by repeating such a check and correction cycle several times. By using the diagnostic apparatus described in
しかし、前記特許文献1は、開発者又はインスペクション担当者が個々にチェック作業を行うことを想定したものであるため、コーディング規準に含まれるルール等は任意に指定可能なものであり、また、開発者によるチェック処理のタイミングも任意なものとなっていた。従って、各開発者毎のチェック処理では、適用するルールに過不足が生じる等、開発者毎に異なる恐れがあり、また、必要なタイミングでのチェック処理が行われない可能性があった。また、他の開発者のルール違反状況等、開発プロジェクト全体の状況を把握させることができないため、適切なタイミングでの修正作業が行われない可能性があった。
この場合、インスペクション担当者により、コーディング規準に含めるルールの指定や、チェック処理の有無の確認を行う必要があるとともに、各開発者によるチェック結果の集計作業等を行う必要があるため、インスペクション担当者の負担が過大なものとなり、本来のチェック作業等に支障を来たす可能性があった。
一方、インスペクション担当者が全てのソースコードについてチェック作業を行う場合には、適用されるルールやチェック処理のタイミング等は容易に管理できるものの、膨大な量のソースコードについて処理が作業が必要となり、また、インスペクション担当者からの指示がなければ開発者がソースコードを修正できないという問題があった。
特に、近時のソフトウエア開発プロジェクトでは、参考文献として挙げた従来技術が示されたころには想定し得ない、Webシステム等のような大規模システムを短期間に開発する必要を要求され、ソースコードのステップ数や開発者数が膨大なものとなる一方、チェック作業については可能な限り短時間で行うことが求められており、インスペクション担当者の負担は増加する傾向にあった。
また、プロジェクト管理上、各プロジェクト内のルール違反の件数及び傾向等を考慮して、プロジェクトの進捗状況等を管理することが必要となるが、インスペクション担当者の集計作業結果の報告を待つか、各開発者の状況を個々に確認することが必要となるため、お互いの作業効率が落ちるという問題があった。
さらに、インスペクション担当者は、プロジェクト全体におけるルール違反検出情報の集計結果(ルール違反の傾向等)に基づき、より適切なルールを定義する場合があるが、個々のチェック結果の集計を行い、さらにその結果に基づき、ルールの再定義の必要性等を判断することは過大な負担となっていた。
However, since the said
In this case, the person in charge of inspection must specify the rules to be included in the coding standards, check whether or not check processing is performed, and perform the tabulation of check results by each developer. There was a possibility that it would cause an excessive burden on the original check work.
On the other hand, if the inspection person in charge checks all the source code, the rules to be applied and the timing of the check processing can be easily managed, but processing is necessary for a huge amount of source code. Also, there was a problem that the developer could not modify the source code without an instruction from the person in charge of inspection.
In particular, in recent software development projects, it is required to develop a large-scale system such as a Web system in a short period of time, which cannot be assumed when the prior art cited as a reference is shown, While the number of source code steps and the number of developers has become enormous, the check work has been required to be performed in as short a time as possible, and the burden on inspection personnel has tended to increase.
In addition, in project management, it is necessary to manage the progress of the project in consideration of the number and trend of rule violations in each project. Since it is necessary to check the status of each developer individually, there is a problem that the work efficiency of each other decreases.
Furthermore, inspectors may define more appropriate rules based on the total results of rule violation detection information (rule violation tendency, etc.) for the entire project. Judging the necessity of redefinition of rules based on the results was an excessive burden.
本発明は前記課題を解決するためのものであり、多数の開発者によりコーディングされたソースコードについて、コーディング規準遵守状況のチェック及びチェック結果の集計等を定期的に行い、集計結果をプロジェクト関係者に確認可能なものとすることにより、ソフトウエア開発プロジェクト全体の管理作業を容易なものとするとともに、開発者による迅速な修正作業を可能とし、さらに、コーディング規準の再定義を行うための資料の提示を可能とするコーディング規準遵守状況監視システムを提供することを目的とする。 The present invention is intended to solve the above-mentioned problems. For source code coded by a number of developers, the coding standard compliance status is checked and the check results are summed up periodically, and the summation results are given to project personnel. This makes it easy to manage the entire software development project, enables developers to make quick corrections, and provides documentation for redefining coding standards. The object is to provide a coding standards compliance monitoring system that allows presentation.
前記課題を解決するため、本発明は、ソフトウェア開発プロジェクトの開発対象を構成するソースコードが、コーディング規準に基づいてコーディングされているか否かを監視するシステムであって、前記ソースコードを収集してインスペクション処理手段に提供するソース取得手段と、提供された前記ソースコードの中から前記コーディング規準に違反するソースコードを検出するインスペクション処理手段と、前記インスペクション処理手段から得られた検出結果を集計する検出情報集計手段と、前記集計結果を表示する集計結果表示手段と、予め設定された実行頻度情報に基づいて、前記ソースコード取得手段と、前記インスペクション処理手段と、前記検出情報集計手段と、前記集計結果表示手段とのそれぞれの実行を制御する全体制御手段とを備えることを特徴とする。
また、前記集計結果表示手段は、予め定義されたコーディング規準に含まれるルールの一覧を生成し、各ルールについて、違反するソースコードの件数を表示する手段を備えることを特徴とする。
また、前記集計結果表示手段は、一覧表示の表示項目を取捨選択し、表示項目の表示順序を変更する手段を備えることを特徴とする。
また、前記コーディング規準遵守状況監視システムは、前記ソフトウエア開発プロジェクト毎にコーディング規準に含まれるルールを取捨選択して設定し、実行する手段を備えることを特徴とする。
In order to solve the above problems, the present invention is a system for monitoring whether or not source code constituting a development target of a software development project is coded based on a coding standard, and collects the source code. Source acquisition means provided to the inspection processing means, inspection processing means for detecting source code that violates the coding criteria from the provided source code, and detection for collecting the detection results obtained from the inspection processing means An information totaling unit, a totaling result display unit for displaying the totaling result, the source code acquisition unit, the inspection processing unit, the detection information totaling unit, and the totaling based on preset execution frequency information Overall control of each execution with the result display means Characterized in that it comprises a control means.
The tabulation result display means includes means for generating a list of rules included in a predefined coding standard and displaying the number of violating source codes for each rule.
Further, the total result display means includes means for selecting display items for list display and changing the display order of the display items.
The coding standard observing status monitoring system includes means for selecting, setting, and executing rules included in the coding standard for each software development project.
以上の構成により、本発明では、コーディング規準遵守状況のチェック及びチェック結果の集計等を定期的に行い、集計結果を開発者,インスペクション担当者を含むプロジェクト関係者に確認させることが可能となる。
従って、インスペクション担当者にとっては、集計結果を確認することにより、プロジェクト全体のルール違反の傾向や修正状況等を把握することができ、本来の管理作業及びルールの再定義作業等に集中させることが可能となる。
また、開発者にとっては、プロジェクト毎に統一した規準により、チェックされた結果に基づくルール違反検出情報を確認することができるため、チェック結果に基づき、適切な修正を行うことができるとともに、プロジェクト全体におけるルール違反の状況,修正状況等を確認しながら各自の作業を進めることが可能となる。
また、プロジェクト管理者にとっては、プロジェクト全体におけるルール違反の状況,修正状況等を考慮した進捗管理等を行うことが可能となる。
また、集計結果として、各コーディング規準について、違反件数を表示とすることにより、ルール違反の傾向の把握を容易なものとすることができる。
また、集計結果の表示項目を任意に設定可能としたので、インスペクション担当者又はプロジェクト管理者の管理作業に適した表示形態とすることが可能となる。
また、プロジェクト毎にコーディング規準に含まれるルールを設定可能としたので、プロジェクト毎に異なる規準での管理を行うことが可能となる。
With the above configuration, according to the present invention, it is possible to periodically check the coding standard compliance status, total the check results, etc., and have the project results including the developers and inspection personnel confirm the total results.
Therefore, for inspection personnel, by checking the aggregated results, it is possible to grasp the tendency of rule violations and correction status of the entire project, and to concentrate on the original management work and rule redefinition work. It becomes possible.
In addition, since the developer can check the rule violation detection information based on the checked result according to the standard unified for each project, the developer can make an appropriate correction based on the checked result, and the entire project. It is possible to proceed with their own work while confirming the status of rule violations, correction status, etc.
In addition, the project manager can perform progress management in consideration of the rule violation status, correction status, etc. in the entire project.
Further, by displaying the number of violations for each coding standard as a total result, it is possible to easily understand the tendency of rule violations.
In addition, since the display items of the total result can be arbitrarily set, it is possible to obtain a display form suitable for the management work of the person in charge of inspection or the project manager.
In addition, since the rules included in the coding standard can be set for each project, management based on different standards can be performed for each project.
以下、本発明の一実施の形態に係るコーディング規準遵守監視システムについて、図面に基づき説明する。
図1は、本実施の形態に係るコーディング規準遵守監視システムの概略構成を示すブロック図である。
コーディング規準遵守監視システム100は、全体制御部101と、ソース取得部102と、インスペクション処理部103と、検出情報集計部104と、集計結果表示部105の各処理部から構成されている。
また、コーディング規準遵守監視処理に必要な情報として、実行定義情報111とルール情報112とが予め定義されており、また、コーディング規準遵守監視処理に必要な情報を格納するソースファイル格納部113と、検出情報格納部114と、集計結果格納部115とを備える。
全体制御部101は、インスペクション担当者により指定された実行定義情報111を読込み、実行定義情報111に定義されている日時,頻度等の設定情報に基づき、ソース取得部102,インスペクション処理部103,検出情報集計部104,集計結果表示部105の起動,実行指示等の制御を行う。また、本実施の形態では、全体制御部101に、実行定義情報111及びルール情報の設定手段を備えるものとし、インスペクション担当者による実行定義情報111,ルール情報の編集,設定等を可能としている。
ソース取得部102は、全体制御部101からの指示に応じて、指定された開発対象格納手段120からソースファイル121を取得し、ソースファイル格納部113に格納する。この場合、ソース取得部102は、取得したソースファイル121の一覧も生成してソースファイル格納部113に格納する。
インスペクション処理部103は、全体制御部101からの指示に応じて、指定されたルール情報112に基づき、ソースファイル格納部113に格納された各ソースファイル毎にインスペクション処理を実行して、処理結果を検出情報格納部114に格納する。
検出情報集計部104は、全体制御部101からの指示に応じて、検出情報格納部114に格納された処理結果を集計し、集計結果格納部115に格納する。
集計結果表示部105は、全体制御部101からの指示に応じて、集計結果格納部115から集計結果情報を取得して、コーディング規準遵守状況レポート130を出力する。
以上の構成により、本実施の形態に係るコーディング規準遵守監視システム100では、インスペクション担当者により各プロジェクト毎に予め作成,指定された実行定義情報111,ルール情報112に基づき、定期的にインスペクション処理を実行するとともに、インスペクション処理の結果を集計して、各プロジェクト毎にコーディング規準遵守状況レポート130を生成する。
Hereinafter, a coding standard compliance monitoring system according to an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing a schematic configuration of a coding standard compliance monitoring system according to the present embodiment.
The coding standard
Further,
The
The
The
The detection
The totaling
With the above configuration, the coding standard
以上のように構成されたコーディング規準遵守監視システム100の行うコーディング規準遵守監視処理の概要について説明する。
図2は、コーディング規準遵守監視処理の概要を示すフローチャートである。
まず、全体制御部101は、実行定義情報において各プロジェクト毎に定義された実行頻度に基づいてスケジューリングを行い(ステップS201)、各プロジェクト毎の指定時刻に、各処理部102〜105を起動する(ステップS202)。
ソース取得部102は、全体制御部101からの指示に応じて、開発対象格納手段120(実行定義情報に含まれるソースファイルの格納場所)からソースファイル121を取得して、ソースファイル格納部113に格納する(ステップ203)。この場合、実行定義情報におけるソース位置には、ネットワークパス等により示されるソースファイル121の格納場所の他、必要に応じて、FTP(File Transfer Protocol)やHTTP(Hypertext Transfer Protocol)などのソースのコピーのためのプロトコルや、ソースファイル又は格納場所へのログインのためのID,パスワード等が含まれ、それらの情報に基づきソースファイルにアクセスして、コピーを行う。
インスペクション処理部103は、全体制御部101からの指示に応じて、実行定義情報に含まれるルール識別情報に基づき、ルール情報に定義された適用ルールを参照して、ソースファイル格納部に格納されたソースファイル121についてインスペクション処理を行い、各ルールに違反する箇所の検出結果を検出情報格納部114に格納する(ステップ204)。
検出情報集計部104は、全体制御部101からの指示に応じて、各プロジェクト毎に検出情報格納部114に格納された検出結果を集計して、集計結果を集計結果格納部115に格納する(ステップ205)。この場合、検出結果の集計としては、例えば、ソースファイル121毎の検出件数,ルール毎の検出件数等について行う。
集計結果表示部105は、全体制御部101からの指示に応じて、各プロジェクト毎に集計結果情報格納部115に格納された集計結果に基づき、コーディング規準遵守状況レポート130の生成を行う(ステップ206)。
以上のように、指定時刻毎にステップ202〜206の処理を定期的に繰返し行い、ルール違反検出情報を集計した結果にコーディング規準遵守状況レポートを生成する。
An outline of the coding standard compliance monitoring process performed by the coding standard
FIG. 2 is a flowchart showing an outline of the coding standard compliance monitoring process.
First, the
In response to an instruction from the
In response to an instruction from the
The detection
The totaling
As described above, the processing of steps 202 to 206 is periodically repeated at each designated time, and a coding standard compliance status report is generated as a result of totaling rule violation detection information.
以下、本実施の形態に係るコーディング規準遵守状況監視システム100の詳細について説明する。
図3は、コーディング規準遵守監視処理に用いられる実行定義情報111のデータ構造の一例を示す図である。
実行定義情報111は、監視対象となるプロジェクトの一覧301と、各プロジェクトに関連付けて実行項目302毎の定義内容303を有する。
実行項目302としては、実行頻度311,適用ルール312,ソース位置313が含まれている。
実行頻度311は、インスペクション処理を行う日時,頻度を示す情報であり、例えば、「毎週土曜日,18時」のように定義されている。なお、実行頻度についてはソースファイルの修正履歴等をリアルタイムに監視するような場合には、例えば、10分毎のような設定も可能である。
適用ルール312は、予め定義されたルールの中から各プロジェクトについて適用するルールを設定したものである。
ソース位置313は、各プロジェクト毎にソースファイル121を格納する場所を示しており、ソースファイル121の格納場所を示すネットワークパスの他、必要に応じて、プロトコル,ログインID,パスワード等が含まれる。
Hereinafter, the details of the coding standard compliance
FIG. 3 is a diagram illustrating an example of a data structure of the
The
The
The
The
The
図4は、ルール情報112のデータ構造の一例を示す図である。
ルール情報112は、インスペクション担当者又はプロジェクト管理者により任意に定義されたコーディング規準を示すものであり、各ルールを一意に識別するためのルール名401と、カテゴリ402と、チェック内容403と、重要度404とを有する。
FIG. 4 is a diagram illustrating an example of the data structure of the
The
図5は、検出情報格納部に格納される検出情報のデータ構造の一例を示す図である。
検出情報500は、ルール情報に違反する箇所が検出されたソースファイルを示すソースファイル名501と、違反箇所を示すソースファイル中の行番号502と、違反したルールを示す違反ルール名503とが含まれる。
FIG. 5 is a diagram illustrating an example of a data structure of detection information stored in the detection information storage unit.
The detection information 500 includes a
図6は、集計結果情報格納部を構成するソース集計結果情報を示す図であり、図7はルール集計結果情報を示す図である。
ソース集計結果情報600は、集計対象となるソースファイルを一意に識別するためのソースファイル名601と、当該ソースファイル中に検出された違反についての各重要度毎の件数602〜605とが格納されている。
ルール集計結果情報700は、集計対象となるルールを一意に識別するためのルール名701と、当該ルールに設定されている重要度702と、チェック対象となったプロジェクトにおける検出件数703とが格納されている。
FIG. 6 is a diagram showing source total result information constituting the total result information storage unit, and FIG. 7 is a diagram showing rule total result information.
The source tabulation result information 600 stores a
The rule aggregation result information 700 stores a
以上のように集計結果情報格納部に格納された各情報についての集計処理の詳細を説明する。
図8は、検出結果集計部104の行う集計処理手順を示すフローチャートである。
検出情報集計部104は、ソースファイル格納部113に格納されているソースファイルの一覧を取得し(ステップ801)、集計結果格納部115に、集計対象となるソースファイル名を設定するとともに(ステップ802)、ソース集計結果情報600における各重要度毎の件数を初期設定(「0」に設定)する(ステップ803)。
一方、ルール情報に含まれるルールの中から、全体制御部101により指定された適用ルールの一覧を取得し(ステップ804)、集計結果格納部115に、集計対象となるルール名を設定するとともに(ステップ805)、ルール集計結果情報700における件数を初期設定(「0」に設定)する(ステップ806)。
検出情報集計部は、検出情報格納部に格納されている各レコードを順に取得する(ステップ807)。
取得したレコードに含まれるソースファイル名について、ソース集計結果情報600から検索するとともに(ステップ808)、レコードに含まれるルール名に基づきルール定義情報から重要度を取得して(ステップ809)、ソース集計結果情報600から検索したソースファイル名のレコードにおいて、ルール情報112から取得した重要度に該当するカラムの値に「1」を加えて更新する(ステップ810)。
また、レコードに含まれるルール名について、ルール集計結果情報700から検索して(ステップ811)、検索したルール名の重要度カラムに、ルール情報112から取得した重要度を格納するとともに(ステップ812)、件数カラムに「1」を加えて更新する(ステップ813)。
ステップ808〜813の処理を全てのレコードについて繰返し実行することにより(ステップ814)、ソース集計結果情報600及びルール集計結果情報700を生成する。
The details of the aggregation process for each piece of information stored in the aggregation result information storage unit as described above will be described.
FIG. 8 is a flowchart showing a counting process procedure performed by the detection
The detection
On the other hand, a list of application rules specified by the
The detection information totaling unit sequentially acquires each record stored in the detection information storage unit (step 807).
The source file name included in the acquired record is searched from the source total result information 600 (step 808), the importance is acquired from the rule definition information based on the rule name included in the record (step 809), and the source total is calculated. In the record of the source file name retrieved from the result information 600, “1” is added to the value of the column corresponding to the importance acquired from the
The rule name included in the record is searched from the rule total result information 700 (step 811), and the importance obtained from the
By repeatedly executing the processing of steps 808 to 813 for all records (step 814), the source totaling result information 600 and the rule totaling result information 700 are generated.
次に、集計結果情報格納部115に格納されたソース集計結果情報600及びルール集計結果情報700に基づき、集計結果表示部105が作成するコーディング規準遵守状況レポート130の具体例について図9〜12に基づき説明する。
図9は、コーディング規準遵守状況レポート130の一部を構成するソース状況確認表の一例を示す図である。
ソース状況確認表900は、違反が検出されたソースファイルを一意に識別するためのソースファイル名901と、当該ソースファイル中に検出された重要度毎の件数902〜905と、最重要から通知までの重要度毎の違反件数を特定の計算式によって数値化した合計値906、合計値906の数値に基づいて評価しアイコン化した評価907により構成されている。
ソースファイル名901は、例えば、これをクリックすることにより、当該ソースファイルに関する詳細情報表示画面に表示が変わるようにしても良い。
件数902〜905は、例えば、集計結果表示部の設定により、その表示項目を取捨選択及び順序を変更できるようにしてもよい。
合計値906を算出するための計算式は、例えば、件数902〜905の単純合計にしたり、重要度毎に重み付けをした合計にしたり、いくつかの方法を用意しておき、設定により変更できるようにしても良い。
評価907を表示するための処理方式は、例えば、合計値806の値の範囲により、表示を変えても良い。なお、本例では、最重要のルール違反が1件でもある場合には、評価を星1つとしている。
Next, specific examples of the coding standard
FIG. 9 is a diagram showing an example of a source status confirmation table that constitutes a part of the coding standard
The source status confirmation table 900 includes a
For example, the
For the number of
The calculation formula for calculating the
The processing method for displaying the
図10は、図9に示すソース状況確認表において指定されたソースファイルについて表示する詳細確認表の一例を示す図である。
ソース状況詳細確認表1000は、表示対象ソースファイル名1001、検出されたルールの一覧表1010、ソースファイル表示部1020により構成されている。
一覧表1010は、さらに、検出されたルール名1011、当該ルールごとの状況を確認するレポートへのリンク1012、当該ルールの重要度1013、ルール違反の内容を示すメッセージ1014、当該ルールの違反が検出されたソースファイル中の行番号1015により構成されている。
ルール名1011は、例えば、これをクリックすることにより、当該ルールに関する説明や修正方法を記述した別の画面を表示できるようにしても良い。
リンク1012は、例えば、これをクリックすることにより、ルール別の詳細情報表示画面に表示が変わるようにしても良い。
メッセージ1014及び行番号1015は、例えば、これをクリックすることにより、ソースファイル表示部1020における表示部分が、該当する行番号を先頭としたものに表示変更するようにしても良い。
FIG. 10 is a diagram showing an example of a detailed confirmation table displayed for the source file specified in the source status confirmation table shown in FIG.
The source status detail confirmation table 1000 includes a display target
The
The
For example, when the
The
図11は、コーディング規準遵守状況レポートの一部を構成するルール状況確認表の一例を示す図である。
ルール状況確認表1100は、重要度ごとのレポート1110,1120,1130,1140により構成されている。例えば、最重要ルールに関するレポート1110は、最重要に分類されるルール数1111、それらに分類されたルールが検出した違反件数1112、重要度毎のルール確認表1113で構成される。
重要度毎のルール確認表1113は、ルール名1114、当該ルールのカテゴリ1115、当該ルールの重要度1116、当該ルールのタイトル1117、当該ルールが検出した違反件数1118により構成されている。
ルール名1114は、例えば、これをクリックすることにより、当該ルールに関する詳細情報表示画面に表示が変わるようにしても良い。
FIG. 11 is a diagram showing an example of a rule status confirmation table that constitutes a part of the coding standard compliance status report.
The rule status confirmation table 1100 includes
The rule confirmation table 1113 for each importance includes a
For example, the
図12は、図11に示すルール状況確認表において指定されたルールについて表示する詳細確認表の一例を示す図である。
ルール状況詳細確認表1200は、表示対象ルール名1201、当該ルールの違反が検出されたソースの一覧表1210、ソースファイル表示部1220により構成されている。
一覧表1210は、さらに、検出されたファイル名1211、当該ファイルの状況を確認するレポートへのリンク1212、当該ルールの重要度1213、ルール違反の内容を示すメッセージ1214、当該ルールの違反が検出されたソースファイル中の行番号1215により構成されている。
リンク1212は、例えば、これをクリックすることにより、ソース状況詳細確認表1000等のソース別の詳細情報表示画面に表示が変わるようにしても良い。
メッセージ1214及び行番号1215は、例えば、これをクリックすることにより、ソースファイル表示部1020における表示部分が、該当する行番号を先頭としたものに表示変更するようにしても良い。
FIG. 12 is a diagram showing an example of a detailed confirmation table displayed for a rule specified in the rule status confirmation table shown in FIG.
The rule status detail confirmation table 1200 includes a display
The
For example, when the
The
以上のように、本実施の形態に係るコーディング規準遵守状況監視システム100では、コーディング規準遵守状況のチェック及びチェック結果の集計等を定期的に行い、集計結果を開発者,インスペクション担当者を含むプロジェクト関係者に確認させることが可能となる。
従って、インスペクション担当者にとっては、集計結果を確認することにより、プロジェクト全体のルール違反の傾向や修正状況等を把握することができ、本来の管理作業及びルールの再定義作業等に集中させることが可能となる。
また、開発者にとっては、プロジェクト毎に統一した規準によりチェックされた結果に基づくルール違反検出情報を確認することができるため、チェック結果に基づき、適切な修正を行うことができるとともに、プロジェクト全体におけるルール違反状況,修正状況等を確認しながら各自の作業を進めることが可能となる。特に、ルール違反検出情報に各ルールの重要度を含めることとしたので、修正作業の必要性等を容易に判断させることが可能となる。
また、プロジェクト管理者にとっては、プロジェクト全体におけるルール違反状況,修正状況等を考慮した進捗管理等を行うことが可能となる。
また、集計結果として、ルールの重要度毎に違反件数を表示することとしたので、ルール違反の傾向の把握を容易なものとすることができる。
また、集計結果の表示項目を任意に設定可能としたので、インスペクション担当者又はプロジェクト管理者の管理作業に適した表示形態とすることが可能となる。
また、プロジェクト毎にコーディング規準に含まれるルールを設定可能としたので、プロジェクト毎に異なる規準での管理を行うことが可能となる。
また、各レポートにおいて、ルール違反箇所を表示可能としたので、開発者等に違反箇所及び違反内容を把握させることが容易なものとなる。
As described above, in the coding standard compliance
Therefore, for inspection personnel, by checking the aggregated results, it is possible to grasp the tendency of rule violations and correction status of the entire project, and to concentrate on the original management work and rule redefinition work. It becomes possible.
In addition, since the developer can check the rule violation detection information based on the results checked according to the standard unified for each project, the developer can make appropriate corrections based on the check results and It is possible to proceed with each person's work while confirming the rule violation status, correction status, and the like. In particular, since the importance of each rule is included in the rule violation detection information, it is possible to easily determine the necessity of correction work.
In addition, the project manager can perform progress management in consideration of the rule violation status and the correction status in the entire project.
In addition, since the number of violations is displayed for each importance level of the rule as the total result, it is possible to easily grasp the tendency of rule violations.
In addition, since the display items of the total result can be arbitrarily set, it is possible to obtain a display form suitable for the management work of the person in charge of inspection or the project manager.
In addition, since the rules included in the coding standard can be set for each project, management based on different standards can be performed for each project.
In addition, in each report, the rule violation part can be displayed, so that it becomes easy for a developer or the like to understand the violation part and the content of the violation.
なお、前記実施の形態では、コーディング規準遵守監視システムを一つの端末で構成した例を示しているが、これに限られるものでは無く、各処理部を複数の端末に備えることとしてもよい。
また、コーディング規準遵守監視処理に必要な各情報格納部のデータ構造等についても、前記実施の形態に示したものに限らず、他の情報を加えることとしても良い。
In the above embodiment, an example in which the coding standard compliance monitoring system is configured by one terminal is shown, but the present invention is not limited to this, and each processing unit may be provided in a plurality of terminals.
Further, the data structure of each information storage unit necessary for the coding standard compliance monitoring process is not limited to that shown in the above embodiment, and other information may be added.
100 コーディング規準遵守状況監視システム、101 全体制御部、102 ソース取得部、103 インスペクション処理部、104 検出情報集計部、105 集計結果表示部、111 実行定義情報、112 ルール情報、113 ソースファイル格納部、114 検出情報格納部、115 集計結果格納部、130 コーディング規準遵守状況レポート。
100 Coding Standard Compliance
Claims (4)
前記ソースコードを収集してインスペクション処理手段に提供するソース取得手段と、
提供された前記ソースコードの中から前記コーディング規準に違反するソースコードを検出するインスペクション処理手段と、
前記インスペクション処理手段から得られた検出結果を集計する検出情報集計手段と、
前記集計結果を表示する集計結果表示手段と、
予め設定された実行頻度情報に基づいて、前記ソースコード取得手段と、前記インスペクション処理手段と、前記検出情報集計手段と、前記集計結果表示手段とのそれぞれの実行を制御する全体制御手段と
を備えることを特徴とするコーディング規準遵守状況監視システム。 A system for monitoring whether the source code constituting the development object of a software development project is coded based on a coding standard,
Source acquisition means for collecting the source code and providing it to an inspection processing means;
Inspection processing means for detecting source code that violates the coding criteria from the provided source code;
Detection information counting means for counting the detection results obtained from the inspection processing means;
A counting result display means for displaying the counting result;
An overall control means for controlling the execution of the source code acquisition means, the inspection processing means, the detection information counting means, and the counting result display means based on preset execution frequency information; Coding standard compliance status monitoring system characterized by that.
予め定義されたコーディング規準に含まれるルールの一覧を生成し、各ルールについて、違反するソースコードの件数を表示する手段を備えることを特徴とする請求項1に記載するコーディング規準遵守状況監視システム。 The counting result display means includes
The system according to claim 1, further comprising means for generating a list of rules included in a predefined coding standard and displaying the number of source codes in violation for each rule.
一覧表示の表示項目を取捨選択し、表示項目の表示順序を変更する手段を備えることを特徴とする請求項1又は2のいずれかに記載するコーディング規準遵守状況監視システム。 The counting result display means includes
3. The coding standard observing status monitoring system according to claim 1, further comprising means for selecting a display item of the list display and changing a display order of the display items.
前記ソフトウエア開発プロジェクト毎にコーディング規準に含まれるルールを取捨選択して設定し、実行する手段を備えることを特徴とする請求項1〜3のいずれかに記載するコーディング規準遵守状況監視システム。
The coding standard compliance monitoring system is
The coding standard observing status monitoring system according to any one of claims 1 to 3, further comprising means for selecting, setting, and executing rules included in a coding standard for each software development project.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004197988A JP2006018735A (en) | 2004-07-05 | 2004-07-05 | Coding standard observance situation monitoring system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004197988A JP2006018735A (en) | 2004-07-05 | 2004-07-05 | Coding standard observance situation monitoring system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006018735A true JP2006018735A (en) | 2006-01-19 |
Family
ID=35792931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004197988A Pending JP2006018735A (en) | 2004-07-05 | 2004-07-05 | Coding standard observance situation monitoring system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006018735A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007200125A (en) * | 2006-01-27 | 2007-08-09 | Fujitsu Ltd | Coding agreement selection program |
JP2009525522A (en) * | 2006-01-30 | 2009-07-09 | マイクロソフト コーポレーション | Context-based code analysis |
JP2010086066A (en) * | 2008-09-29 | 2010-04-15 | Internatl Business Mach Corp <Ibm> | Computer system for verifying quality of model, and method and computer program thereof |
JP2010198522A (en) * | 2009-02-27 | 2010-09-09 | Hitachi Ltd | Method and support system for analyzing source code |
JP2015130026A (en) * | 2014-01-07 | 2015-07-16 | Necソリューションイノベータ株式会社 | Diagnosis system, diagnosis method and program |
WO2023218875A1 (en) * | 2022-05-13 | 2023-11-16 | 日立Astemo株式会社 | System construction device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03288226A (en) * | 1990-04-04 | 1991-12-18 | Hitachi Ltd | Software evaluating method |
JPH1173328A (en) * | 1997-08-29 | 1999-03-16 | Nec Corp | Coding rule check system |
JP2001060151A (en) * | 1999-08-20 | 2001-03-06 | Nec Corp | Program analyzing device, and storage medium stored with program for program analysis or data for program analysis |
JP2002014811A (en) * | 2000-06-29 | 2002-01-18 | Mitsubishi Electric Corp | Device for measuring project progress and method for the same and computer readable recording medium recorded with program for allowing computer to execute the same method |
JP2004164152A (en) * | 2002-11-12 | 2004-06-10 | Fujitsu Ltd | Quality control process based on progress |
-
2004
- 2004-07-05 JP JP2004197988A patent/JP2006018735A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03288226A (en) * | 1990-04-04 | 1991-12-18 | Hitachi Ltd | Software evaluating method |
JPH1173328A (en) * | 1997-08-29 | 1999-03-16 | Nec Corp | Coding rule check system |
JP2001060151A (en) * | 1999-08-20 | 2001-03-06 | Nec Corp | Program analyzing device, and storage medium stored with program for program analysis or data for program analysis |
JP2002014811A (en) * | 2000-06-29 | 2002-01-18 | Mitsubishi Electric Corp | Device for measuring project progress and method for the same and computer readable recording medium recorded with program for allowing computer to execute the same method |
JP2004164152A (en) * | 2002-11-12 | 2004-06-10 | Fujitsu Ltd | Quality control process based on progress |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007200125A (en) * | 2006-01-27 | 2007-08-09 | Fujitsu Ltd | Coding agreement selection program |
JP2009525522A (en) * | 2006-01-30 | 2009-07-09 | マイクロソフト コーポレーション | Context-based code analysis |
US8595703B2 (en) | 2006-01-30 | 2013-11-26 | Microsoft Corporation | Context based code analysis |
US8997055B2 (en) | 2006-01-30 | 2015-03-31 | Microsoft Corporation | Context based code analysis |
JP2010086066A (en) * | 2008-09-29 | 2010-04-15 | Internatl Business Mach Corp <Ibm> | Computer system for verifying quality of model, and method and computer program thereof |
JP2010198522A (en) * | 2009-02-27 | 2010-09-09 | Hitachi Ltd | Method and support system for analyzing source code |
JP2015130026A (en) * | 2014-01-07 | 2015-07-16 | Necソリューションイノベータ株式会社 | Diagnosis system, diagnosis method and program |
WO2023218875A1 (en) * | 2022-05-13 | 2023-11-16 | 日立Astemo株式会社 | System construction device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jorgensen | Practical guidelines for expert-judgment-based software effort estimation | |
CN102576328B (en) | Dynamic System management devices, Dynamic System management method and program recorded medium | |
US8589859B2 (en) | Collection and processing of code development information | |
EP2778929B1 (en) | Test script generation system | |
US20090070734A1 (en) | Systems and methods for monitoring software application quality | |
US20080270207A1 (en) | Compliance Monitoring | |
US20160086121A1 (en) | Providing Gamification Analytics in an Enterprise Environment | |
KR101312446B1 (en) | Analysis apparatus and method for usability of mobile application using user bebavior log | |
TW200428250A (en) | A project control system and method | |
CN106815137A (en) | Ui testing method and apparatus | |
EP2634733A1 (en) | Operations task management system and method | |
AlGhamdi et al. | Towards reducing the time needed for load testing | |
JP5989194B1 (en) | Test management system and program | |
JP2006018735A (en) | Coding standard observance situation monitoring system | |
JP2005326953A (en) | Software quality evaluation system and method, and program for evaluating software quality | |
US20110054865A1 (en) | Simulator with user interface indicating parameter certainty | |
Roubtsova et al. | KPIs and their properties defined with the EXTREME method | |
Oliva et al. | Evolving the system's core: a case study on the identification and characterization of key developers in Apache Ant | |
JP2014191568A (en) | Operation system | |
CN111191999B (en) | Product research and development management method, device, computer equipment and storage medium | |
Bertolino et al. | Towards business process execution adequacy criteria | |
CN112506765A (en) | Software testing method, device, equipment and storage medium | |
CN111143325A (en) | Data acquisition monitoring method, monitoring device and readable storage medium | |
Chang et al. | Human reliability analysis method development in the US Nuclear Regulatory Commission | |
Sneed et al. | Analyzing data on software evolution processes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070110 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100317 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100705 |