[go: up one dir, main page]

JP6088445B2 - Software scale arithmetic device and program - Google Patents

Software scale arithmetic device and program Download PDF

Info

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
Application number
JP2014000957A
Other languages
Japanese (ja)
Other versions
JP2015130039A (en
Inventor
直樹 武
直樹 武
学 西尾
学 西尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014000957A priority Critical patent/JP6088445B2/en
Publication of JP2015130039A publication Critical patent/JP2015130039A/en
Application granted granted Critical
Publication of JP6088445B2 publication Critical patent/JP6088445B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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).

規格番号JIS X0143、“ソフトウェア技術−COSMIC機能規模測定手法”、[online]、日本工業標準調査会、[平成25年12月26日検索]、インターネット<URL: http://www.jisc.go.jp/app/JPS/JPSO0020.html [X0143]>Standard No. JIS X0143, “Software Technology – COSMIC Functional Scale Measurement Method”, [online], Japan Industrial Standards Committee, [December 26, 2013 search], Internet <URL: http: //www.jisc.go .jp / app / JPS / JPSO0020.html [X0143]>

しかしながら、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.

ソフトウェア規模算出システムの機能例を示す図である。It is a figure which shows the example of a function of a software scale calculation system. 機能プロセスを分けるための評価モデルの一例を示す図である。It is a figure which shows an example of the evaluation model for dividing a functional process. 機能規模の評価対象のシステムの構成例を示す図である。It is a figure which shows the structural example of the system of the evaluation object of a functional scale. 評価対象のシステムについての評価モデル定義ファイルの一例を示す図である。It is a figure which shows an example of the evaluation model definition file about the system of evaluation object. 評価対象のシステムについてのフレームワーク定義ファイルの一例を示す図である。It is a figure which shows an example of the framework definition file about the system of evaluation object. 更新系メソッドか参照系メソッドかを判定する場合の一例を示す図である。It is a figure which shows an example in the case of determining whether it is an update system method or a reference system method.

本発明を実施するための形態(以降、「本実施形態」と称す。)について、適宜図面を参照しながら詳細に説明する。   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 scale calculation device 10 and a storage device 20. The software scale calculation system 100 has a function of receiving an input of the source code 40, calculating a function point score in the software scale calculation device 10, and outputting a function scale score S (41).

ソフトウェア規模演算装置10は、スキャナ部11、評価部12、スキャナ生成部13および評価モデル生成部14を備えている。なお、ソフトウェア規模演算装置10は、図示しないCPU(Central Processing Unit)およびメインメモリを有し、図示しない記憶部に記憶されているアプリケーションプログラムをメインメモリに展開して、各部(11〜14)の機能を具現化している。   The software scale calculation device 10 includes a scanner unit 11, an evaluation unit 12, a scanner generation unit 13, and an evaluation model generation unit 14. The software scale arithmetic device 10 has a CPU (Central Processing Unit) and a main memory (not shown), and develops an application program stored in a storage unit (not shown) in the main memory, so that each unit (11-14) It embodies the function.

スキャナ部11は、入力されたソースコード40の字句を解析し、データ移動に係るパラメータを測定項目として抽出し、そのパラメータが利用される利用回数をカウントするスキャナ処理を実行する機能を有する。
評価部12は、スキャナ部11によってカウントされたパラメータの利用回数を用いて、評価モデル生成部14によって生成された評価式を演算し、その演算結果を機能規模の点数S(41)として出力する機能を有する。なお、評価式は、パラメータの利用回数に対してファンクションポイントの点数を重みとして積算し、その積算値をすべてのパラメータについて累積するものである。
The scanner unit 11 has a function of analyzing a lexical phrase of the input source code 40, 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 evaluation unit 12 calculates the evaluation formula generated by the evaluation model generation unit 14 using the number of times the parameter is counted by the scanner unit 11, and outputs the calculation result as a function scale score S (41). It has a function. Note that the evaluation formula accumulates the number of function points with respect to the number of times the parameter is used, and accumulates the accumulated value for all parameters.

スキャナ生成部13は、記憶装置20のフレームワーク定義ファイル(フレームワーク定義情報)21を参照し、前記スキャナ処理のためのアプリケーションプログラムをスキャナ部11に設定する機能を有する。
評価モデル生成部14は、記憶装置20の評価モデル定義ファイル(評価モデル定義情報)22を参照し、パラメータを変数とする評価式を生成し、その評価式を評価部12に設定する機能を有する。
The scanner generation unit 13 has a function of referring to a framework definition file (framework definition information) 21 in the storage device 20 and setting an application program for the scanner processing in the scanner unit 11.
The evaluation model generation unit 14 has a function of referring to an evaluation model definition file (evaluation model definition information) 22 in the storage device 20, generating an evaluation formula having parameters as variables, and setting the evaluation formula in the evaluation unit 12. .

記憶装置20は、ハードディスク等であり、フレームワーク定義ファイル21および評価モデル定義ファイル22が記憶されている。フレームワーク定義ファイル21および評価モデル定義ファイル22は、ソフトウェアの機能規模を見積もる作業者によって、端末30が操作されて作成される。   The storage device 20 is a hard disk or the like, and stores a framework definition file 21 and an evaluation model definition file 22. The framework definition file 21 and the evaluation model definition file 22 are created by operating the terminal 30 by an operator who estimates the functional scale of the software.

フレームワーク定義ファイル21は、スキャナ生成部13においてソースコード40の字句を解析するため、測定項目として抽出するコードとパラメータとの関係を記述したものである。
評価モデル定義ファイル22は、評価モデル生成部14において評価式を生成するため、パラメータの利用回数に付与する点数を記述したものである。
The framework definition file 21 describes the relationship between codes and parameters extracted as measurement items in order for the scanner generation unit 13 to analyze the lexical of the source code 40.
The evaluation model definition file 22 describes the points to be given to the number of times the parameter is used in order to generate an evaluation formula in the evaluation model generation unit 14.

端末30は、作業者がソフトウェア規模算出システム100を操作するために使用する装置である。また、作業者は、端末30を用いて、ソフトウェア規模演算装置10に備わる不図示のGUI(Graphical User Interface)を利用して、フレームワーク定義ファイル21および評価モデル定義ファイル22を作成することができる。   The terminal 30 is a device used by an operator for operating the software scale calculation system 100. Further, the operator can create the framework definition file 21 and the evaluation model definition file 22 by using the terminal 30 and using a GUI (Graphical User Interface) (not shown) provided in the software scale arithmetic apparatus 10. .

次に、フレームワーク定義ファイル21および評価モデル定義ファイル22の詳細ならびに評価部12で用いる評価式の具体例について、説明する。   Next, details of the framework definition file 21 and the evaluation model definition file 22 and specific examples of evaluation formulas used in the evaluation unit 12 will be described.

まず、はじめに、データ移動の数を測定するためには、ソースコード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 source code 40 into several functional processes so that the exchange of data between the functional processes can be measured. In the present embodiment, the source code 40 is created with one of the frameworks, Spring Framework (registered trademark) (hereinafter simply referred to as Spring) and JSP (JavaServer Pages) (registered trademark). Will be described.

ここで、フレームワークとは、アプリケーションを開発する際に、頻繁に必要とされる汎用的な機能プロセスをまとめて提供するソフトウェアのことである。   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 persistent storage area 55. Specifically, the function is read / write.
The persistent storage area 55 has one or more tables and stores data in the tables. Persistent means that a functional process can store data beyond its lifetime.

そして、移動データの数は、利用者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 functional process 51 and between the user 50 and the functional process 52, the boundary 56b between the functional process 52 and the functional process 53, and the functional process 53. With respect to data passing through the boundary 56c between the function process 54 and the function process 54, the number of “entries” that are incoming data and the number of “exits” that are outgoing data are counted. In addition, the number of data reads / writes is counted between the functional process 54 and the persistent storage area 55.

次に、機能規模の評価対象のシステムとして、オペレーション支援システム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 View 311, a Controller 312, a Service 313, a Repository 320, a DB (DataBase) 321, an NE (Network Element) access unit 322, and cooperation units 324 and 325.

View311、Controller312、Service313およびRepository320の機能それぞれは、図2に示した機能プロセス(View)51、機能プロセス(Controller)52、機能プロセス(Service)53および機能プロセス(Repository)54に相当するものであり、オペレーションに関する処理を担当している。
DB321は、図2に示した持続的記憶域55に相当するものであり、オペレーションに用いるデータを記憶している。
The functions of the View 311, the Controller 312, the Service 313, and the Repository 320 correspond to the functional process (View) 51, the functional process (Controller) 52, the functional process (Service) 53, and the functional process (Repository) 54 shown in FIG. In charge of processing related to operations.
The DB 321 corresponds to the persistent storage area 55 shown in FIG. 2 and stores data used for operations.

NEアクセス部322は、Service313からの指示情報をNE323に送信し、NE323から所定の情報を受信する機能を有している
NE323は、電気通信サービスを提供するための装置である。例えば、交換機、伝送装置、無線装置等である。なお、NE323は、図3ではオペレーションシステムごとに1台しか記載していないが、2台以上であっても構わない。また、NE323は、複数のオペレーションシステムのNEアクセス部322から通信可能になっていても構わない。
連携部324,325は、オペレーションシステム(300a,300b,300c)間でオペレーションに利用するデータの情報交換を行うためのインタフェースである。
The NE access unit 322 has a function of transmitting instruction information from the Service 313 to the NE 323 and receiving predetermined information from the NE 323. The NE 323 is a device for providing a telecommunication service. For example, an exchange, a transmission device, a wireless device, etc. In FIG. 3, only one NE 323 is shown for each operation system, but two or more NEs 323 may be used. The NE 323 may be communicable from the NE access unit 322 of a plurality of operation systems.
The linkage units 324 and 325 are interfaces for exchanging information on data used for operations between the operation systems (300a, 300b, and 300c).

次に、図3に示すオペレーション支援システム300を評価対象としたときの評価モデル定義ファイル22の一例について、図4を用いて説明する。
評価モデル定義ファイル22は、パラメータの利用回数に付与する点数を表した情報を記憶している。
Next, an example of the evaluation model definition file 22 when the operation support system 300 shown in FIG. 3 is an evaluation target will be described with reference to FIG.
The evaluation model definition file 22 stores information representing the number of points assigned to the number of times the parameter is used.

具体的には、図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 scanner unit 11, and a blank indicates that the parameter is input by an operator.

ここで、評価モデル定義ファイル22の内容について、以下に説明する。
パラメータ「A」は、実行時に表示する情報の数を示し、自動取得され、点数「2」である。
パラメータ「B」は、画面の数を示し、自動取得され、点数「2」である。
Here, the contents of the evaluation model definition file 22 will be described below.
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”.

パラメータ「C」は、画面上の部品の数(戻り値がある場合)を示し、自動取得され、点数「6」である。
パラメータ「C」は、画面上の部品の数(戻り値がない場合)を示し、自動取得され、点数「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”.

パラメータ「(D」は、テーブル(i)に対するアプリケーションからのアクセス数(参照の場合)を示し、自動取得され、点数「2」である。
パラメータ「(D」は、テーブル(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 Service 313 shown in FIG.

パラメータ「(E」は、NE(i)に対するアプリケーションからのアクセス数(参照の場合)を示し、端末30から入力され、点数「2」である。
パラメータ「(E」は、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 Service 313 shown in FIG.

パラメータ「F」は、連携部324,325に対するアプリケーションからのアクセス数(参照の場合)を示し、端末30から入力され、点数「2」である。
パラメータ「F」は、連携部324,325に対するアプリケーションからのアクセス数(更新の場合)を示し、端末30から入力され、点数「1」である。
ここで、アプリケーションとは、図3に示すService313である。
The parameter “F r ” indicates the number of accesses from the application to the cooperation units 324 and 325 (in the case of reference), and is input from the terminal 30 and has a score of “2”.
The parameter “F w ” indicates the number of accesses from the application to the linkage units 324 and 325 (in the case of updating), and is input from the terminal 30 and has a score of “1”.
Here, the application is the Service 313 shown in FIG.

パラメータ「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 DB 321 shown in FIG.
The parameter “M” indicates the number of all NEs 323 and is input from the terminal 30.

パラメータ「(d」は、テーブル(i)に対するRepository320の多重度(参照の場合)を示し、自動取得され、点数「3」である。
パラメータ「(d」は、テーブル(i)に対するRepository320の多重度(更新の場合)を示し、自動取得され、点数「2」である。
ここで、多重度とは、テーブル(i)にアクセスするRepository320の中で、同じ名前のRepository320の数である。
The parameter “(d r ) i ” indicates the multiplicity (in the case of reference) of the Repository 320 with respect to the table (i), is automatically acquired, and has a score of “3”.
The parameter “(d w ) i ” indicates the multiplicity (in the case of updating) of the Repository 320 with respect to the table (i), is automatically acquired, and has a score of “2”.
Here, the multiplicity is the number of the Repository 320 having the same name in the Repository 320 accessing the table (i).

パラメータ「(e」は、NE(i)に対するNEアクセス部322の多重度(参照の場合)を示し、端末30から入力され、点数「4」である。
パラメータ「(e」は、NE(i)に対するNEアクセス部322の多重度(更新の場合)を示し、端末30から入力され、点数「2」である。
ここで、多重度とは、NE(i)にアクセスするNEアクセス部322の中で、同じNEアクセス部322の数である。
The parameter “(e r ) i ” indicates the multiplicity of the NE access unit 322 with respect to NE (i) (in the case of reference), is input from the terminal 30, and has a score of “4”.
The parameter “(e w ) i ” indicates the multiplicity (in the case of updating) of the NE access unit 322 with respect to NE (i), and is input from the terminal 30 and has a score of “2”.
Here, the multiplicity is the number of the same NE access units 322 among the NE access units 322 accessing NE (i).

パラメータ「f」は、参照系の連携部の数を示し、端末30から入力され、点数「4」である。
パラメータ「f」は、更新系の連携部の数を示し、端末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 model generation unit 14 and set in the evaluation unit 12 is shown in the following formula (1).

Figure 0006088445
Figure 0006088445

式(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 controller 312.
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 framework definition file 21 will be described with reference to FIG. 5 (see FIGS. 3 and 4 as appropriate).
The framework definition file 21 represents the relationship between parameters and measurement items that are codes extracted from the source code 40.
The parameters are the same as those shown in FIG.
The measurement item represents a code to be extracted from the source code 40.
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.

パラメータ「C」の測定項目は、Controllerクラスの参照系メソッドの数である。
パラメータ「C」の測定項目は、Controllerクラスの更新系メソッドの数である。
ここで、パラメータ「C」とパラメータ「C」との仕分けについて説明する。備考に示すように、メソッド引数に関する更新系(当該メソッドに戻り値が無い場合)のメソッドを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, method 1 shown in FIG. 6 is determined as a reference system because the update method is executed one or more times.

図5に戻って、パラメータ「D」の測定項目は、Serviceクラス内のメソッド内の参照系Repositoryクラス呼び出しの数である。
パラメータ「D」の測定項目は、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.

パラメータ「d,d」の測定項目は、すべての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 scanner generation unit 13 refers to the measurement items in the framework definition file 21 and sets an application program for scanner processing in the scanner unit 11.

以上、本実施形態のソフトウェア規模演算装置10は、ソースコードを解析し、データ移動に係るパラメータを測定項目として抽出し、そのパラメータが利用される利用回数をカウントするスキャナ処理を実行するスキャナ部11と、前記スキャナ部11によってカウントされた前記パラメータの利用回数を、そのパラメータの利用回数に対してファンクションポイントの点数が重みとして付与される評価式に適用し、機能規模の点数Sを演算する評価部12と、を備えている。また、ソフトウェア規模演算装置10は、フレームワーク定義ファイル21を参照し、前記スキャナ処理のためのアプリケーションプログラムを生成し、スキャナ部11に設定するスキャナ生成部13と、評価モデル定義ファイル22を参照し、前記評価式を生成し、その評価式を評価部12に設定する評価モデル生成部14と、をさらに備えている。
したがって、ソフトウェア規模演算装置10は、ソースコードにCOSMIC法を適用して、手間および個人差を抑制しつつ、再現性のあるソフトウェアの機能規模を算出することができる。
As described above, the software scale arithmetic apparatus 10 according to the present embodiment analyzes the source code, extracts the parameter relating to the data movement as the measurement item, and executes the scanner process 11 that performs the scanner process for counting the number of times the parameter is used. And applying the number of times of use of the parameter counted by the scanner unit 11 to an evaluation formula in which the number of function points is given as a weight to the number of times of use of the parameter, and calculating the score S of the function scale Part 12. Further, the software scale arithmetic device 10 refers to the framework definition file 21, generates an application program for the scanner processing, and refers to the scanner generation unit 13 that is set in the scanner unit 11 and the evaluation model definition file 22. And an evaluation model generation unit 14 that generates the evaluation formula and sets the evaluation formula in the evaluation unit 12.
Therefore, the software scale calculation device 10 can calculate the function scale of software with reproducibility while applying labor and individual differences by applying the COSMIC method to the source code.

また、ソフトウェア規模演算装置10は、ソースコード40が、テーブル数、NEの数および連携部の数の変化に伴って更改された場合に、その機能規模の変化を点数Sによって定量的に評価することができる。   Further, the software scale arithmetic device 10 quantitatively evaluates the change in the function scale by the score S when the source code 40 is updated with changes in the number of tables, the number of NEs, and the number of linkage units. be able to.

なお、本実施形態では、ソースコード40が、Spring FrameworkとJSPとで作成されているものとして説明したが、このようなプログラムで作成されたソースコード40に限られなくともよい。また、本実施形態では、評価対象のシステムをオペレーション支援システム330(図3参照)の場合で説明したが、このオペレーション支援システム330に限られなくともよい。   In the present embodiment, the source code 40 has been described as being created by Spring Framework and JSP. However, the present invention is not limited to the source code 40 created by such a program. In the present embodiment, the system to be evaluated has been described as the operation support system 330 (see FIG. 3). However, the system is not limited to the operation support system 330.

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 SYMBOLS 10 Software scale arithmetic device 11 Scanner part 12 Evaluation part 13 Scanner production | generation part 14 Evaluation model production | generation part 21 Framework definition file (framework definition information)
22 Evaluation model definition file (evaluation model definition information)
30 terminal 40 source code 41 function scale S
50 users (framework)
51, 52, 53, 54 Functional process 55 Persistent storage area 100 Software scale calculation system 300a, 300b, 300c Operation system 311 View
312 Controller
313 Service
320 Repository
321 DB
322 NE access unit 323 NE
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.
JP2014000957A 2014-01-07 2014-01-07 Software scale arithmetic device and program Expired - Fee Related JP6088445B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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