JP6088445B2 - Software scale arithmetic device and program - Google Patents
Software scale arithmetic device and program Download PDFInfo
- Publication number
- JP6088445B2 JP6088445B2 JP2014000957A JP2014000957A JP6088445B2 JP 6088445 B2 JP6088445 B2 JP 6088445B2 JP 2014000957 A JP2014000957 A JP 2014000957A JP 2014000957 A JP2014000957 A JP 2014000957A JP 6088445 B2 JP6088445 B2 JP 6088445B2
- Authority
- JP
- Japan
- Prior art keywords
- parameter
- evaluation
- scanner
- procedure
- source code
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 82
- 238000011156 evaluation Methods 0.000 claims description 38
- 238000013210 evaluation model Methods 0.000 claims description 29
- 238000005259 measurement Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 description 46
- 238000004364 calculation method Methods 0.000 description 12
- JJWKPURADFRFRB-UHFFFAOYSA-N carbonyl sulfide Chemical group O=C=S JJWKPURADFRFRB-UHFFFAOYSA-N 0.000 description 12
- 101100379633 Xenopus laevis arg2-a gene Proteins 0.000 description 6
- 101150088826 arg1 gene Proteins 0.000 description 6
- 230000002085 persistent effect Effects 0.000 description 6
- 239000000284 extract Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000007430 reference method Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、ソースコードからソフトウェアの機能規模を演算する技術に関する。 The present invention relates to a technique for calculating the function scale of software from source code.
ソフトウェア規模を算出する場合に、FP(ファンクションポイント)法が用いられている。FP法は、利用者の要求仕様を基に、ソフトウェアの機能を抽出し、その機能ごとにファンクションポイントという点数を付け、点数の合計値を、そのソフトウェアの機能規模とする手法である。 When calculating the software scale, the FP (Function Point) method is used. The FP method is a method of extracting software functions based on the user's required specifications, assigning function points for each function, and setting the total value of the points as the function scale of the software.
FP法として色々な手法が開示されているが、その中の1つに、開発するすべての機能の入出力の数(データ移動の数)を用いてソフトウェアの機能規模を算出するCOSMIC(The Common Software Measurement International Consortium)法(非特許文献1)がある。COSMIC法は、(1)測定項目がデータ移動の数のみであるため、測定がシンプルである点、(2)ソフトウェアレイヤ、ソフトウェアの機能的分割等の概念があり、ソフトウェア内部の作りを考慮できる点、に特徴がある。 Various methods are disclosed as the FP method, and one of them is COSMIC (The Common, which calculates the function scale of software using the number of inputs and outputs (number of data movements) of all functions to be developed. Software Measurement International Consortium) (Non-Patent Document 1). In the COSMIC method, (1) the measurement items are only the number of data movements, so that the measurement is simple. (2) There are concepts such as the software layer and the functional division of software. There is a feature in point.
また、COSMIC法は、国際標準(ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission) 19761:2003)になっている。 The COSMIC method is an international standard (ISO (International Organization for Standardization) / IEC (International Electrotechnical Commission) 19761: 2003).
しかしながら、COSMIC法は標準化されているとはいえ、その仕様は定性的にしか規定されていない部分も少なからず存在する。また、COSMIC法の仕様が定量的に規定されている箇所においては、様々なルールが設けられている。そのため、COSMIC法を使うときには、仕様書を読み解いて、長時間の経験を積む必要がある。つまり、初心者がCOSMIC法を使おうとしても、大幅な手間が掛かるうえ、熟練していない場合にはファンクションポイントの点数に個人差を生ずるという問題がある。この問題は、利用者の要求仕様を基に機能規模を算出する場合に限らず、ソースコードからソフトウェアの機能規模を算出する場合にも、同様である。 However, although the COSMIC method is standardized, there are not a few parts whose specifications are defined only qualitatively. In addition, various rules are provided in places where the specification of the COSMIC method is quantitatively defined. For this reason, when using the COSMIC method, it is necessary to read the specifications and gain a long experience. That is, even if a beginner tries to use the COSMIC method, it takes a lot of time and there is a problem that if the person is not skilled, there is an individual difference in the number of function points. This problem is not limited to the case where the function scale is calculated based on the user's required specifications, but is the same when the function scale of software is calculated from the source code.
そこで、本発明は、ソースコードにCOSMIC法を適用して、手間および個人差を抑制しつつ、再現性のあるソフトウェアの機能規模を算出する技術を提供することを課題とする。 Therefore, an object of the present invention is to provide a technique for calculating the functional scale of software with reproducibility while applying labor and individual differences by applying the COSMIC method to source code.
本発明のソフトウェア規模演算装置は、ソースコードを解析し、データ移動に係るパラメータを測定項目として抽出し、前記パラメータが利用される利用回数をカウントするスキャナ処理を実行するスキャナ部と、前記スキャナ部によってカウントされた前記パラメータの利用回数を、前記パラメータの利用回数に対してファンクションポイントの点数が重みとして付与される評価式に適用し、機能規模の点数を演算する評価部と、を備え、さらに、前記ソースコード中の前記測定項目として抽出するコードと前記パラメータとを関連付けて記憶しているフレームワーク定義情報を参照し、前記スキャナ処理のためのアプリケーションプログラムを生成し、前記生成したアプリケーションプログラムを前記スキャナ部に設定するスキャナ生成部と、前記パラメータの利用回数に付与する点数を記憶している評価モデル定義情報を参照し、前記評価式を生成し、前記生成した評価式を前記評価部に設定する評価モデル生成部と、を備えることを特徴とする。 The software scale arithmetic device of the present invention analyzes a source code, extracts a parameter relating to data movement as a measurement item, and executes a scanner process for counting the number of times the parameter is used, and the scanner unit by the counted number of uses of the parameter, and a evaluation unit number of the function points for use count of the parameter is applied to the evaluation formula is given as a weight, to calculate the number of functional size, further , Referring to framework definition information stored in association with the code extracted as the measurement item in the source code and the parameter, generating an application program for the scanner processing, and generating the generated application program Scanner generation to be set in the scanner section And an evaluation model generation unit that refers to evaluation model definition information storing a score to be given to the number of times of use of the parameter, generates the evaluation formula, and sets the generated evaluation formula in the evaluation unit, equipped and wherein the Rukoto.
このような構成によれば、ソフトウェア規模演算装置は、ソースコードを解析して、データ移動に係るパラメータの利用回数を求め、その利用回数を用いて機能規模の点数を算出することができる。したがって、ソフトウェア規模演算装置は、ソースコードにCOSMIC法を適用して、手間および個人差を抑制しつつ、再現性のあるソフトウェアの機能規模を算出することができる。
また、ソフトウェア規模演算装置は、フレームワーク定義情報および評価モデル定義情報を参照して、自動的にパラメータの利用回数をカウントするスキャナ部を生成し、評価式を生成できるので、手間および個人差を抑制しつつ、再現性のあるソフトウェアの機能規模を算出することができる。
According to such a configuration, the software scale calculation device can analyze the source code to obtain the number of times of use of the parameter related to data movement, and can calculate the function scale score using the number of times of use. Therefore, the software scale arithmetic device can calculate the functional scale of software with reproducibility while applying labor and individual differences by applying the COSMIC method to the source code.
In addition, the software scale arithmetic device can automatically generate a scanner unit that counts the number of parameter usages by referring to the framework definition information and the evaluation model definition information, and can generate an evaluation formula. It is possible to calculate the functional scale of software with reproducibility while suppressing.
なお、プログラムに係る発明については、前記したソフトウェア規模演算装置と同様の技術的特徴を備えており、ソフトウェア規模演算装置と同様の作用効果を有しているので、記載を省略する。 The invention relating to the program has the same technical features as the software scale arithmetic device described above, and has the same operational effects as the software scale arithmetic device, so the description thereof is omitted.
本発明によれば、COSMIC法を用いて、手間および個人差を抑制しつつ、再現性のあるソフトウェアの機能規模を算出することができる。 According to the present invention, the function scale of reproducible software can be calculated using the COSMIC method while suppressing labor and individual differences.
本発明を実施するための形態(以降、「本実施形態」と称す。)について、適宜図面を参照しながら詳細に説明する。 A mode for carrying out the present invention (hereinafter referred to as “the present embodiment”) will be described in detail with reference to the drawings as appropriate.
本実施形態のソフトウェア規模算出システム100の機能例について、図1を用いて説明する。
ソフトウェア規模算出システム100は、ソフトウェア規模演算装置10および記憶装置20を備えている。ソフトウェア規模算出システム100は、ソースコード40の入力を受け付けて、ソフトウェア規模演算装置10においてファンクションポイントの点数を算出し、機能規模の点数S(41)を出力する機能を有する。
An example of the function of the software scale calculation system 100 of this embodiment will be described with reference to FIG.
The software scale calculation system 100 includes a software
ソフトウェア規模演算装置10は、スキャナ部11、評価部12、スキャナ生成部13および評価モデル生成部14を備えている。なお、ソフトウェア規模演算装置10は、図示しないCPU(Central Processing Unit)およびメインメモリを有し、図示しない記憶部に記憶されているアプリケーションプログラムをメインメモリに展開して、各部(11〜14)の機能を具現化している。
The software
スキャナ部11は、入力されたソースコード40の字句を解析し、データ移動に係るパラメータを測定項目として抽出し、そのパラメータが利用される利用回数をカウントするスキャナ処理を実行する機能を有する。
評価部12は、スキャナ部11によってカウントされたパラメータの利用回数を用いて、評価モデル生成部14によって生成された評価式を演算し、その演算結果を機能規模の点数S(41)として出力する機能を有する。なお、評価式は、パラメータの利用回数に対してファンクションポイントの点数を重みとして積算し、その積算値をすべてのパラメータについて累積するものである。
The
The
スキャナ生成部13は、記憶装置20のフレームワーク定義ファイル(フレームワーク定義情報)21を参照し、前記スキャナ処理のためのアプリケーションプログラムをスキャナ部11に設定する機能を有する。
評価モデル生成部14は、記憶装置20の評価モデル定義ファイル(評価モデル定義情報)22を参照し、パラメータを変数とする評価式を生成し、その評価式を評価部12に設定する機能を有する。
The
The evaluation
記憶装置20は、ハードディスク等であり、フレームワーク定義ファイル21および評価モデル定義ファイル22が記憶されている。フレームワーク定義ファイル21および評価モデル定義ファイル22は、ソフトウェアの機能規模を見積もる作業者によって、端末30が操作されて作成される。
The
フレームワーク定義ファイル21は、スキャナ生成部13においてソースコード40の字句を解析するため、測定項目として抽出するコードとパラメータとの関係を記述したものである。
評価モデル定義ファイル22は、評価モデル生成部14において評価式を生成するため、パラメータの利用回数に付与する点数を記述したものである。
The
The evaluation
端末30は、作業者がソフトウェア規模算出システム100を操作するために使用する装置である。また、作業者は、端末30を用いて、ソフトウェア規模演算装置10に備わる不図示のGUI(Graphical User Interface)を利用して、フレームワーク定義ファイル21および評価モデル定義ファイル22を作成することができる。
The
次に、フレームワーク定義ファイル21および評価モデル定義ファイル22の詳細ならびに評価部12で用いる評価式の具体例について、説明する。
Next, details of the
まず、はじめに、データ移動の数を測定するためには、ソースコード40をいくつかの機能プロセスに分けて、その機能プロセス間のデータのやり取りを測定できるようにする必要がある。本実施形態では、ソースコード40が、フレームワークの1つであるSpring Framework(登録商標)(以降、単にSpringと称する。)と、JSP(JavaServer Pages)(登録商標)とで作成されている場合を対象として説明する。
First, in order to measure the number of data movements, it is necessary to divide the
ここで、フレームワークとは、アプリケーションを開発する際に、頻繁に必要とされる汎用的な機能プロセスをまとめて提供するソフトウェアのことである。 Here, the framework is software that collectively provides general-purpose functional processes that are frequently required when developing an application.
図2は、機能プロセスを分けるための評価モデルの一例を表している。COSMIC法で規定されている利用者50は、必ずしも人とは限られず、本実施形態では、フレームワークとする。そして、各機能プロセスは、機能ごとに、機能プロセス(View)51、機能プロセス(Controller)52、機能プロセス(Service)53および機能プロセス(Repository)54に分けられる。 FIG. 2 shows an example of an evaluation model for dividing functional processes. The user 50 defined by the COSMIC method is not necessarily a person, and is a framework in this embodiment. Each functional process is divided into a functional process (View) 51, a functional process (Controller) 52, a functional process (Service) 53, and a functional process (Repository) 54 for each function.
機能プロセス(View)51は、入出力メッセージ等を表示する機能を有している。
機能プロセス(Controller)52は、フレームワークから呼び出されたときに、呼び出された要求を実行する処理を決定する機能を有している。
機能プロセス(Service)53は、機能プロセス(Controller)52によって決定された処理を実行する機能を有している。
機能プロセス(Repository)54は、持続的記憶域55に記憶されているデータ(テーブル)にアクセスする機能を有している。その機能は、具体的には、リード(read)/ライト(write)である。
持続的記憶域55は、1以上のテーブルを有し、そのテーブルにデータを記憶している。持続的とは、機能プロセスが自身の寿命を超えてデータを格納することができることを意味している。
The functional process (View) 51 has a function of displaying input / output messages and the like.
The functional process (Controller) 52 has a function of determining processing for executing the called request when called from the framework.
The functional process (Service) 53 has a function of executing processing determined by the functional process (Controller) 52.
The functional process (Repository) 54 has a function of accessing data (table) stored in the
The
そして、移動データの数は、利用者50と機能プロセス51との間および利用者50と機能プロセス52との間の境界56a、機能プロセス52と機能プロセス53との間の境界56b、機能プロセス53と機能プロセス54との間の境界56cを通過するデータに関して、入ってくるデータである「エントリ」の数、出ていくデータである「エグジット」の数としてカウントされる。また、機能プロセス54と持続的記憶域55との間では、データのリード/ライトの数がカウントされる。
The number of pieces of movement data includes the boundary 56a between the user 50 and the
次に、機能規模の評価対象のシステムとして、オペレーション支援システム330の構成例について、図3を用いて説明する。
図3に示すオペレーション支援システム330は、3台のオペレーションシステム(300a,300b,300c)を備えている。オペレーションシステム(300a,30b,300c)それぞれは、連携部(IF:インタフェース)324,325を介してメッシュ状に通信可能に接続されている。なお、オペレーション支援システム330が備えるオペレーションシステムの数は、3台に限られなくともよい。
Next, a configuration example of the operation support system 330 as a function scale evaluation target system will be described with reference to FIG.
The operation support system 330 shown in FIG. 3 includes three operation systems (300a, 300b, 300c). Each of the operation systems (300a, 30b, 300c) is connected so as to be communicable in a mesh form via a linkage unit (IF: interface) 324, 325. Note that the number of operation systems provided in the operation support system 330 is not limited to three.
3台のオペレーションシステム(300a,300b,300c)の機能はいずれも同様であるので、ここでは、オペレーションシステム300aを代表させて説明する。
オペレーションシステム300aは、View311、Controller312、Service313、Repository320、DB(DataBase)321、NE(Network Element)アクセス部322および連携部324,325を備えている。
Since the functions of the three operation systems (300a, 300b, 300c) are all the same, the operation system 300a will be described as a representative here.
The operation system 300a includes a
View311、Controller312、Service313およびRepository320の機能それぞれは、図2に示した機能プロセス(View)51、機能プロセス(Controller)52、機能プロセス(Service)53および機能プロセス(Repository)54に相当するものであり、オペレーションに関する処理を担当している。
DB321は、図2に示した持続的記憶域55に相当するものであり、オペレーションに用いるデータを記憶している。
The functions of the
The
NEアクセス部322は、Service313からの指示情報をNE323に送信し、NE323から所定の情報を受信する機能を有している
NE323は、電気通信サービスを提供するための装置である。例えば、交換機、伝送装置、無線装置等である。なお、NE323は、図3ではオペレーションシステムごとに1台しか記載していないが、2台以上であっても構わない。また、NE323は、複数のオペレーションシステムのNEアクセス部322から通信可能になっていても構わない。
連携部324,325は、オペレーションシステム(300a,300b,300c)間でオペレーションに利用するデータの情報交換を行うためのインタフェースである。
The
The
次に、図3に示すオペレーション支援システム300を評価対象としたときの評価モデル定義ファイル22の一例について、図4を用いて説明する。
評価モデル定義ファイル22は、パラメータの利用回数に付与する点数を表した情報を記憶している。
Next, an example of the evaluation
The evaluation
具体的には、図4に示すように、パラメータ、パラメータの説明、点数および備考が関連付けられている。
パラメータは、評価式の変数に相当する。
パラメータの説明は、パラメータが何を表しているかを作業者が理解できるように記述したものである。
点数は、パラメータが1回利用されるときのデータ移動の数、即ち、ファンクションポイントの点数である。
備考には、スキャナ部11が自動で取得できるパラメータの場合には、「自動取得」と記載され、空欄の場合には、作業者によって入力されるパラメータであることを示している。
Specifically, as shown in FIG. 4, parameters, parameter descriptions, points, and remarks are associated with each other.
The parameter corresponds to a variable of the evaluation formula.
The description of the parameter is described so that the operator can understand what the parameter represents.
The score is the number of data movements when the parameter is used once, that is, the number of function points.
In the remarks, “automatic acquisition” is described in the case of a parameter that can be automatically acquired by the
ここで、評価モデル定義ファイル22の内容について、以下に説明する。
パラメータ「A」は、実行時に表示する情報の数を示し、自動取得され、点数「2」である。
パラメータ「B」は、画面の数を示し、自動取得され、点数「2」である。
Here, the contents of the evaluation
The parameter “A” indicates the number of information to be displayed at the time of execution, is automatically acquired, and has a score of “2”.
The parameter “B” indicates the number of screens, is automatically acquired, and has a score of “2”.
パラメータ「Cr」は、画面上の部品の数(戻り値がある場合)を示し、自動取得され、点数「6」である。
パラメータ「Cw」は、画面上の部品の数(戻り値がない場合)を示し、自動取得され、点数「5」である。
The parameter “C r ” indicates the number of parts on the screen (when there is a return value), is automatically acquired, and has a score of “6”.
The parameter “C w ” indicates the number of parts on the screen (when there is no return value), is automatically acquired, and has a score of “5”.
パラメータ「(Dr)i」は、テーブル(i)に対するアプリケーションからのアクセス数(参照の場合)を示し、自動取得され、点数「2」である。
パラメータ「(Dw)i」は、テーブル(i)に対するアプリケーションからのアクセス数(更新の場合)を示し、自動取得され、点数「1」である。
ここで、アプリケーションとは、図3に示すService313である。
The parameter “(D r ) i ” indicates the number of accesses from the application to the table (i) (in the case of reference), is automatically acquired, and has a score of “2”.
The parameter “(D w ) i ” indicates the number of accesses from the application to the table (i) (in the case of updating), is automatically acquired, and has a score “1”.
Here, the application is the
パラメータ「(Er)i」は、NE(i)に対するアプリケーションからのアクセス数(参照の場合)を示し、端末30から入力され、点数「2」である。
パラメータ「(Ew)i」は、NE(i)に対するアプリケーションからのアクセス数(更新の場合)を示し、端末30から入力され、点数「1」である。
ここで、アプリケーションとは、図3に示すService313である。
The parameter “(E r ) i ” indicates the number of accesses from the application to NE (i) (in the case of reference), is input from the terminal 30, and has a score of “2”.
The parameter “(E w ) i ” indicates the number of accesses from the application to NE (i) (in the case of updating), is input from the terminal 30, and has a score of “1”.
Here, the application is the
パラメータ「Fr」は、連携部324,325に対するアプリケーションからのアクセス数(参照の場合)を示し、端末30から入力され、点数「2」である。
パラメータ「Fw」は、連携部324,325に対するアプリケーションからのアクセス数(更新の場合)を示し、端末30から入力され、点数「1」である。
ここで、アプリケーションとは、図3に示すService313である。
The parameter “F r ” indicates the number of accesses from the application to the
The parameter “F w ” indicates the number of accesses from the application to the
Here, the application is the
パラメータ「N」は、すべてのテーブル数を示し、自動取得される。具体的には、図3に示すDB321に記憶されているテーブル数である。
パラメータ「M」は、すべてのNE323の数を示し、端末30から入力される。
The parameter “N” indicates the number of all tables and is automatically acquired. Specifically, it is the number of tables stored in the
The parameter “M” indicates the number of all
パラメータ「(dr)i」は、テーブル(i)に対するRepository320の多重度(参照の場合)を示し、自動取得され、点数「3」である。
パラメータ「(dw)i」は、テーブル(i)に対するRepository320の多重度(更新の場合)を示し、自動取得され、点数「2」である。
ここで、多重度とは、テーブル(i)にアクセスするRepository320の中で、同じ名前のRepository320の数である。
The parameter “(d r ) i ” indicates the multiplicity (in the case of reference) of the
The parameter “(d w ) i ” indicates the multiplicity (in the case of updating) of the
Here, the multiplicity is the number of the
パラメータ「(er)i」は、NE(i)に対するNEアクセス部322の多重度(参照の場合)を示し、端末30から入力され、点数「4」である。
パラメータ「(ew)i」は、NE(i)に対するNEアクセス部322の多重度(更新の場合)を示し、端末30から入力され、点数「2」である。
ここで、多重度とは、NE(i)にアクセスするNEアクセス部322の中で、同じNEアクセス部322の数である。
The parameter “(e r ) i ” indicates the multiplicity of the
The parameter “(e w ) i ” indicates the multiplicity (in the case of updating) of the
Here, the multiplicity is the number of the same
パラメータ「fr」は、参照系の連携部の数を示し、端末30から入力され、点数「4」である。
パラメータ「fw」は、更新系の連携部の数を示し、端末30から入力され、点数「2」である。
The parameter “f r ” indicates the number of reference units in the reference system, is input from the terminal 30, and has a score of “4”.
The parameter “f w ” indicates the number of update cooperation units and is input from the terminal 30 and has a score of “2”.
次に、評価モデル生成部14によって生成され、評価部12に設定される機能規模の評価式の一例を、下記式(1)に示す。
Next, an example of an evaluation formula for the function scale generated by the evaluation
式(1)に示すように、ソフトウェアの機能規模は、点数Sで表される。なお、式(1)中の最終項「3」は、controller312の初期処理の点数である。
式(1)において、第1項〜第4項は、画面表示に依存する点数であり、テーブル数、NEの数および連携部の数に依存しない点数であることが分かる。また、第5項以降(最終項は除く。)は、テーブル数、NEの数および連携部の数に依存するため、テーブルを共通化してテーブル数を減少したり、NEの数を変更したりすることによって、変更の前後の点数Sを比較することにより、機能規模の変化を定量化することができる。
As shown in Equation (1), the function scale of the software is represented by a score S. Note that the final term “3” in the equation (1) is the score of the initial process of the
In Expression (1), the first to fourth terms are scores that depend on the screen display, and it is understood that the scores are independent of the number of tables, the number of NEs, and the number of linkage units. Since the fifth and subsequent terms (excluding the final term) depend on the number of tables, the number of NEs, and the number of linkage units, the number of tables can be reduced by sharing tables, or the number of NEs can be changed. By doing so, the change in the functional scale can be quantified by comparing the scores S before and after the change.
次に、フレームワーク定義ファイル21の一例について、図5を用いて説明する(適宜、図3,4参照)
フレームワーク定義ファイル21は、パラメータと、ソースコード40中で抽出するコードである測定項目との関係を表したものである。
パラメータは、図4に示したものと同じ表記であるので説明を省略する。
測定項目は、ソースコード40中の抽出するコードを表している。
備考は、数をカウントするときの、判定条件等を説明したものである。
Next, an example of the
The
The parameters are the same as those shown in FIG.
The measurement item represents a code to be extracted from the
The remarks explain the determination conditions and the like when counting the numbers.
パラメータ「A」の測定項目は、<c:out>タグの数である。
パラメータ「B」の測定項目は、JSPファイルの数である。
The measurement item of the parameter “A” is the number of <c: out> tags.
The measurement item of the parameter “B” is the number of JSP files.
パラメータ「Cr」の測定項目は、Controllerクラスの参照系メソッドの数である。
パラメータ「Cw」の測定項目は、Controllerクラスの更新系メソッドの数である。
ここで、パラメータ「Cr」とパラメータ「Cw」との仕分けについて説明する。備考に示すように、メソッド引数に関する更新系(当該メソッドに戻り値が無い場合)のメソッドを1回以上実行した場合、参照系と判定する。それ以外の場合は、更新系と判定する。
The measurement item of the parameter “C r ” is the number of reference system methods of the Controller class.
The measurement item of the parameter “C w ” is the number of update methods of the Controller class.
Here, the sorting of the parameter “C r ” and the parameter “C w ” will be described. As shown in the remarks, when a method of an update system related to a method argument (when the corresponding method has no return value) is executed at least once, it is determined as a reference system. Otherwise, it is determined as an update system.
ここで、更新系と参照系との判定例について、図6に示す具体例を用いて説明する。
図6では、ソースコードの2行目「arg1.method();」において、メソッド引数のarg1に関する更新系メソッドが実行されている。
次に、3行目「a=arg1.method();」において、メソッド引数のarg1に関する参照系メソッドが実行されている。
4行目「arg1.method();」において、メソッド引数のarg1に関する更新系メソッドが実行される。ただし、2回目以降はカウントしない。
そして、5行目「return a;」において、aの値が戻り値となる。
Here, a determination example of the update system and the reference system will be described using a specific example shown in FIG.
In FIG. 6, in the second line “arg1.method ();” of the source code, an update method related to the method argument arg1 is executed.
Next, in the third line “a = arg1.method ();”, a reference method related to the method argument arg1 is executed.
In the fourth line “arg1.method ();”, an update method related to the method argument arg1 is executed. However, the second and subsequent times are not counted.
Then, in the fifth line “return a;”, the value a is the return value.
したがって、図6に示すmethod1は、更新系メソッドが1回以上実行されているため、参照系と判定される。
Therefore,
図5に戻って、パラメータ「Dr」の測定項目は、Serviceクラス内のメソッド内の参照系Repositoryクラス呼び出しの数である。
パラメータ「Dw」の測定項目は、Serviceクラス内のメソッド内の更新系Repositoryクラス呼び出しの数である。
ここで、備考に示すように、1つのメソッドの中に同じRepositoryクラス呼び出しが複数あった場合、1個とカウントする。それぞれのRepositoryクラス呼び出しについて、戻り値のある場合は参照系、戻り値の無い場合は更新系と判定する。それぞれのRepositoryクラス呼び出しに対して、同じ名前のRepositoryクラス呼び出しがいくつあるかをカウントする。
Returning to FIG. 5, the measurement item of the parameter “D r ” is the number of reference system Repository class calls in the method in the Service class.
The measurement item of the parameter “D w ” is the number of update-type Repository class calls in the method in the Service class.
Here, as shown in the remarks, if there are multiple calls to the same Repository class in one method, it is counted as one. For each Repository class call, if there is a return value, it is determined as a reference system, and if there is no return value, it is determined as an update system. For each Repository class call, count how many Repository class calls have the same name.
パラメータ「N」の測定項目は、Repositoryクラスの数である。ただし、備考に示すように、重複は含めない。 The measurement item of the parameter “N” is the number of Repository classes. However, as shown in the remarks, duplication is not included.
パラメータ「dr,dw」の測定項目は、すべてのRepositoryに対する、同じ名前のRepositoryの数である。 The measurement item of the parameter “d r , d w ” is the number of the same name Repository for all the Repository.
そして、スキャナ生成部13は、フレームワーク定義ファイル21の測定項目を参照して、スキャナ処理のためのアプリケーションプログラムをスキャナ部11に設定する。
Then, the
以上、本実施形態のソフトウェア規模演算装置10は、ソースコードを解析し、データ移動に係るパラメータを測定項目として抽出し、そのパラメータが利用される利用回数をカウントするスキャナ処理を実行するスキャナ部11と、前記スキャナ部11によってカウントされた前記パラメータの利用回数を、そのパラメータの利用回数に対してファンクションポイントの点数が重みとして付与される評価式に適用し、機能規模の点数Sを演算する評価部12と、を備えている。また、ソフトウェア規模演算装置10は、フレームワーク定義ファイル21を参照し、前記スキャナ処理のためのアプリケーションプログラムを生成し、スキャナ部11に設定するスキャナ生成部13と、評価モデル定義ファイル22を参照し、前記評価式を生成し、その評価式を評価部12に設定する評価モデル生成部14と、をさらに備えている。
したがって、ソフトウェア規模演算装置10は、ソースコードにCOSMIC法を適用して、手間および個人差を抑制しつつ、再現性のあるソフトウェアの機能規模を算出することができる。
As described above, the software scale
Therefore, the software
また、ソフトウェア規模演算装置10は、ソースコード40が、テーブル数、NEの数および連携部の数の変化に伴って更改された場合に、その機能規模の変化を点数Sによって定量的に評価することができる。
Further, the software scale
なお、本実施形態では、ソースコード40が、Spring FrameworkとJSPとで作成されているものとして説明したが、このようなプログラムで作成されたソースコード40に限られなくともよい。また、本実施形態では、評価対象のシステムをオペレーション支援システム330(図3参照)の場合で説明したが、このオペレーション支援システム330に限られなくともよい。
In the present embodiment, the
10 ソフトウェア規模演算装置
11 スキャナ部
12 評価部
13 スキャナ生成部
14 評価モデル生成部
21 フレームワーク定義ファイル(フレームワーク定義情報)
22 評価モデル定義ファイル(評価モデル定義情報)
30 端末
40 ソースコード
41 機能規模の点数S
50 利用者(フレームワーク)
51,52,53,54 機能プロセス
55 持続的記憶域
100 ソフトウェア規模算出システム
300a,300b,300c オペレーションシステム
311 View
312 Controller
313 Service
320 Repository
321 DB
322 NEアクセス部
323 NE
324,325 連携部(IF)
330 オペレーション支援システム
DESCRIPTION OF
22 Evaluation model definition file (evaluation model definition information)
30 terminal 40
50 users (framework)
51, 52, 53, 54
312 Controller
313 Service
320 Repository
321 DB
322
324,325 Cooperation Department (IF)
330 Operation Support System
Claims (2)
前記スキャナ部によってカウントされた前記パラメータの利用回数を、前記パラメータの利用回数に対してファンクションポイントの点数が重みとして付与される評価式に適用し、機能規模の点数を演算する評価部と、を備え、
さらに、
前記ソースコード中の前記測定項目として抽出するコードと前記パラメータとを関連付けて記憶しているフレームワーク定義情報を参照し、前記スキャナ処理のためのアプリケーションプログラムを生成し、前記生成したアプリケーションプログラムを前記スキャナ部に設定するスキャナ生成部と、
前記パラメータの利用回数に付与する点数を記憶している評価モデル定義情報を参照し、前記評価式を生成し、前記生成した評価式を前記評価部に設定する評価モデル生成部と、
を備えることを特徴とするソフトウェア規模演算装置。 Analyzing the source code, extracting a parameter relating to data movement as a measurement item, and executing a scanner process for counting the number of times the parameter is used,
The use count of the parameter is counted by the scanner unit, the number of function points for use count of the parameter is applied to the evaluation formula is given as a weight, and evaluation section for calculating the number of functional size, the Prepared ,
further,
Reference is made to framework definition information stored in association with the code extracted as the measurement item in the source code and the parameter, and an application program for the scanner processing is generated, and the generated application program is A scanner generation unit to be set in the scanner unit;
An evaluation model generation unit that refers to evaluation model definition information storing a score to be given to the number of times of use of the parameter, generates the evaluation formula, and sets the generated evaluation formula in the evaluation unit;
Software scale arithmetic unit according to claim Rukoto equipped with.
ソースコードを解析し、データ移動に係るパラメータを測定項目として抽出し、前記パラメータが利用される利用回数をカウントするスキャナ処理を実行する第1の手順、
前記第1の手順においてカウントされた前記パラメータの利用回数を、前記パラメータの利用回数に対してファンクションポイントの点数が重みとして付与される評価式に適用し、機能規模の点数を演算する第2の手順、を実行させ、
さらに、
前記ソースコード中の前記測定項目として抽出するコードと前記パラメータとを関連付けて記憶しているフレームワーク定義情報を参照し、前記第1の手順のスキャナ処理のためのアプリケーションプログラムを生成し、前記生成したアプリケーションプログラムに基づき前記スキャナ処理を実行するように設定する第3の手順、
前記パラメータの利用回数に付与する点数を記憶している評価モデル定義情報を参照し、前記評価式を生成し、前記生成した評価式を、前記第2の手順の評価式として設定する第4の手順、
を実行させるためのプログラム。 On the computer,
A first procedure for analyzing a source code, extracting a parameter relating to data movement as a measurement item, and executing a scanner process for counting the number of times the parameter is used;
Applying the number of times of use of the parameter counted in the first procedure to an evaluation formula in which the number of points of the function point is given as a weight with respect to the number of times of use of the parameter; procedure, to the execution,
further,
Generating an application program for scanner processing of the first procedure by referring to framework definition information stored in association with the code extracted as the measurement item in the source code and the parameter; A third procedure for setting the scanner process to be executed based on the application program
The evaluation model definition information storing the score to be given to the number of times of use of the parameter is referred to, the evaluation formula is generated, and the generated evaluation formula is set as the evaluation formula of the second procedure. procedure,
Because of the program to the execution.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014000957A JP6088445B2 (en) | 2014-01-07 | 2014-01-07 | Software scale arithmetic device and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014000957A JP6088445B2 (en) | 2014-01-07 | 2014-01-07 | Software scale arithmetic device and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015130039A JP2015130039A (en) | 2015-07-16 |
JP6088445B2 true JP6088445B2 (en) | 2017-03-01 |
Family
ID=53760722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014000957A Expired - Fee Related JP6088445B2 (en) | 2014-01-07 | 2014-01-07 | Software scale arithmetic device and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6088445B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6993839B2 (en) * | 2017-10-20 | 2022-02-04 | 花王株式会社 | Sheet fusion body manufacturing equipment and manufacturing method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2143145C (en) * | 1994-04-18 | 1999-12-28 | Premkumar Thomas Devanbu | Determining dynamic properties of programs |
JPH11161485A (en) * | 1997-11-28 | 1999-06-18 | Hitachi Ltd | Software function amount calculation method and apparatus |
-
2014
- 2014-01-07 JP JP2014000957A patent/JP6088445B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2015130039A (en) | 2015-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180181630A1 (en) | Auto-discovery of data lineage in large computer systems | |
TW201928709A (en) | Method and apparatus for merging model prediction values, and device | |
US10404526B2 (en) | Method and system for generating recommendations associated with client process execution in an organization | |
US20170200101A1 (en) | Systems and methods for optimized task allocation | |
JP2011138405A (en) | System, apparatus and method for estimating failure part | |
JPWO2018079225A1 (en) | Automatic prediction system, automatic prediction method, and automatic prediction program | |
CN105468161A (en) | Instruction execution method and device | |
JP6088445B2 (en) | Software scale arithmetic device and program | |
CN110045961B (en) | Management method and management platform of business rules | |
JP5615245B2 (en) | Bug countermeasure priority display system | |
CN103853554A (en) | Software reconstruction position determination method and software reconstruction position identification device | |
CN108880835B (en) | Data analysis method and device and computer storage medium | |
JPWO2011052147A1 (en) | Evaluation model analysis system, evaluation model analysis method and program | |
US20160179487A1 (en) | Method ranking based on code invocation | |
CN113094088A (en) | Database configuration information acquisition method and device, computer equipment and storage medium | |
JP2016218579A (en) | Estimation method, device and program | |
JP2017151594A (en) | Supporting device, supporting method, and program | |
CN110430267A (en) | Ballot associated data processing method and its device on block chain | |
US20180239640A1 (en) | Distributed data processing system, and distributed data processing method | |
US10515330B2 (en) | Real time visibility of process lifecycle | |
JP2014032466A (en) | Complexity calculation device, complexity calculation method, and complexity calculation program | |
JPWO2014054233A1 (en) | Information system performance evaluation apparatus, method and program | |
Tomak et al. | Performance Evaluation of a Legacy Real-Time System: An Improved RAST Approach | |
CN115062701B (en) | Data processing method, device and electronic equipment | |
JP2020017148A (en) | Estimation support apparatus, estimation support program and estimation support method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160113 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161026 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161122 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170120 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170203 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6088445 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |