[go: up one dir, main page]

JP2004220411A - Development scale meter - Google Patents

Development scale meter Download PDF

Info

Publication number
JP2004220411A
JP2004220411A JP2003008233A JP2003008233A JP2004220411A JP 2004220411 A JP2004220411 A JP 2004220411A JP 2003008233 A JP2003008233 A JP 2003008233A JP 2003008233 A JP2003008233 A JP 2003008233A JP 2004220411 A JP2004220411 A JP 2004220411A
Authority
JP
Japan
Prior art keywords
character string
records
development scale
line
record
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.)
Granted
Application number
JP2003008233A
Other languages
Japanese (ja)
Other versions
JP4063680B2 (en
Inventor
Masaaki Yuza
真明 遊坐
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.)
NEC Platforms Ltd
Original Assignee
NEC Infrontia 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 NEC Infrontia Corp filed Critical NEC Infrontia Corp
Priority to JP2003008233A priority Critical patent/JP4063680B2/en
Publication of JP2004220411A publication Critical patent/JP2004220411A/en
Application granted granted Critical
Publication of JP4063680B2 publication Critical patent/JP4063680B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To divide a development scale of a software into a portion for diverting an existing software and a portion for modifying the software for measuring. <P>SOLUTION: For each of records constituting a new file, the number of records being included in the new file and having the same contents and the number of records being included in the original file and having the same contents are counted. When the record having the same contents is larger (smaller) than the original file in the number of the new files, the record is counted as being reproduced (deleted). The records constituting the new file not included in the original file are counted as being newly created. The records constituting the original file not included in the new file are counted as being deleted. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、ソフトウェアの開発規模を測定する測定方法及び測定器に関する。
【0002】
【従来の技術】
ソフトウェアの開発において、既存のソフトウェアを変更して新しいソフトウェアを作成することが行われている。ソフトウェアの品質あるいは生産性を管理あるいは評価するために、既存のソフトウェアから新しいソフトウェアを作成するときに変更された量を測定することが求められている。特に、新しいソフトウェアを作成する際に既存のソフトウェアから流用された分と新規開発分を分けて測定することが求められている。
【0003】
ソフトウェアの開発規模を測定する方法として、プログラム・モジュールの各レコードに少なくとも登録・追加挿入または削除を区別する情報を設定し、その情報を用いて該プログラム・モジュールの開発量を演算し出力するプログラム開発情報収集処理方式が知られている(特許文献1参照)。
【0004】
【特許文献1】特開昭60−74031号公報
【0005】
【発明が解決しようとする課題】
本発明の目的は、任意の形式で記述されたコンピュータプログラムの開発規模を測定する開発規模測定器及び開発規模測定プログラムを提供することである。
【0006】
本発明の他の目的は、コンピュータプログラムの開発規模を測定するためにプログラマに課せられる所定の作業を省く開発規模測定器及び開発規模測定プログラムを提供することである。
【0007】
本発明の更に他の目的は、元プログラムに変更を加えて作成された新プログラムの開発規模を、新規作成された行数、流用された行数、複製された行数、削除された行数に分けて算出する開発規模測定器及び開発規模測定プログラムを提供することである。
【0008】
本発明の更に他の目的は、アルゴリズムが簡易な開発規模測定器及び開発規模測定プログラムを提供することである。
【0009】
本発明の更に他の目的は、計算する量が少ない開発規模測定器及び開発規模測定プログラムを提供することである。
【0010】
【課題を解決するための手段】
以下に、[発明の実施の形態]で使用される番号を括弧付きで用いて、課題を解決するための手段を説明する。これらの番号は、[特許請求の範囲]の記載と[発明の実施の形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
【0011】
本発明による開発規模測定器(1)は、第1文字列(22)と第2文字列(21)とを入力する入力部(5)を具備している。第1文字列(22)と第2文字列(21)とは所定のフォーマット(50)によって区切られた複数のレコード(51)を含んでいる。開発規模測定器(1)は更に、第1文字列(22)が含む複数のレコード(51)の各々と第2文字列(21)が含む複数のレコード(51)の各々とを照合することによって第2文字列(21)から第1文字列(22)を開発する際の開発規模を算出する演算部(6)と、算出の結果を出力する出力部(14)とを具備している。
【0012】
こうした開発規模測定器(1)によれば、プログラマが第2文字列(21)に変更を加えて第1文字列(22)を作成したとき、プログラマが変更箇所を記録する作業を省略して開発規模の測定がなされる。更にこうした開発規模測定器(1)によれば、第2文字列(21)に変更を加えて第1文字列(22)が作成されたとき、変更箇所を記録するためのフォーマットに影響されずに、複数のレコード(51)に区切られた任意の文字列に対して開発規模が測定される。
【0013】
本発明による開発規模測定器(1)は、第1文字列(22)と第2文字列(21)とを入力する入力部(5)を備えている。第1文字列(22)と第2文字列(21)とは所定のフォーマット(50)によって区切られた複数のレコード(51)を含んでいる。開発規模測定器(1)は更に、第1文字列(22)が含む複数のレコード(51)のうちの各々のレコードRに対して、第1文字列(22)に含まれレコードRと同一内容を有するレコードの数m1と、第2文字列(21)に含まれレコードRと同一内容を有するレコードの数m2とを計算する演算部(6)を具備している。Rは各々のレコードを特定する変数(34)であり、m1とm2とはRに依存する関数である。演算部(6)は、m1とm2とを比較することによって第2文字列(21)から第1文字列(22)を作成する際の開発規模を測定する。
【0014】
演算部(6)は更に、レコードRに対してm2=0であるとき、m1を新規作成レコード数として算出し、m1>m2であるときm1−m2を複製レコード数として算出し、m2>m1であるときm2−m1を削減レコード数として算出し、m1=m2であるとき、m1を流用レコード数として算出する。
【0015】
こうした開発規模測定器(1)によれば、簡易なアルゴリズムで開発規模が測定される。更にこうした開発規模測定器(1)によれば、開発規模を測定するための計算量が少ない。更にこうした開発規模測定器(1)によれば、新規開発されたレコード数と、複製されたレコード数と、削除されたレコード数と、流用されたレコード数とが区別して求められ、開発規模が正確に求められる。
【0016】
第1文字列(22)と第2文字列(21)とはコンピュータによって実行可能なプログラムである。
【0017】
本発明による開発規模測定プログラムは、第1文字列(22)と第2文字列(21)とを入力するステップ(S4)を具備している。第1文字列(22)と第2文字列(21)とは所定のフォーマット(50)によって区切られた複数のレコード(51)を含んでいる。本発明による開発規模測定プログラムは更に、第1文字列(22)が含む複数のレコード(51)の各々と第2文字列(21)が含む複数のレコード(51)の各々とを照合することによって、第2文字列(21)から第1文字列(22)を開発する際の開発規模を算出するステップ(S14、S16、S18、S20、S26)と、算出の結果を出力するステップ(S28)とを具備している。
【0018】
本発明による開発規模測定プログラムは、第1文字列(22)と第2文字列(21)とを入力するステップ(S4)を具備している。第1文字列(22)と第2文字列(21)とは所定のフォーマット(50)によって区切られた複数のレコード(51)を含んでいる。開発規模測定プログラムは更に、第1文字列(22)が含む複数のレコード(51)のうちの各々のレコードRに対して、第1文字列(22)に含まれレコードRと同一内容を有するレコードの数m1と第2文字列(21)に含まれレコードRと同一内容を有するレコードの数m2とを計算するステップ(S10、S12)を具備している。m1とm2とはRに依存する関数である。開発規模測定プログラムは更に、m1とm2とを比較することによって第2文字列(21)から第1文字列(22)を作成する際の開発規模を測定するステップ(S14、S16、S18、S20、S26)を具備している。
【0019】
開発規模測定プログラムは、レコードRに対してm2=0であるときm1を新規作成レコード数として算出するステップ(S14)と、レコードRに対してm1>m2であるときm1−m2を複製レコード数として算出するステップ(S18)と、レコードRに対してm2>m1であるときm2−m1を削減レコード数として算出するステップ(S20)と、レコードRに対してm1=m2であるとき、m1を流用レコード数として算出するステップ(S16)とを具備している。
【0020】
開発規模測定プログラムは、第1文字列(22)と第2文字列(21)とを入力するステップ(S4)を具備している。第1文字列(22)と第2文字列(21)とは所定のフォーマット(50)によって区切られた複数のレコード(51)を含んでいる。開発規模測定プログラムは更に、第1文字列(22)が含むレコードの数NNEW及び第2文字列(21)が含むレコードの数NOLDをカウントするステップ(S6)と、第1文字列(22)が含む複数のレコード(51)のうちの各々のレコードRに対して、第1文字列(22)が含む複数のレコード(51)のうちでレコードRと同一内容であるレコードの数m1を算出するステップ(S10)と、第2文字列(21)が含む複数のレコードのうちでレコードRと同一内容であるレコードの数m2を算出するステップ(S12)を具備している。開発規模測定プログラムは更に、第1文字列(22)が含む複数のレコード(51)のうちの任意のレコードRに対して、n、n、n及びnをRに依存する関数として、m2=0であるときn=1とするステップ(S14)と、m2−m1=0であるときn=1とするステップ(S16)と、m2≠0かつm1>m2であるとき、n=m2/m1かつn=(m1−m2)/m1とするステップ(S18)と、m2>m1であるときn=1かつn=(m2−m1)/m1とするステップ(S20)と、N=Σn、N=Σn、N=Σn、N=NOLD+N+N−NNEWを計算するステップ(26)とを具備している。ここでΣは前記第1文字列が含む全ての前記レコードについての和を表している。開発規模測定プログラムは更に、Nを新規作成レコード数として表示し、Nを流用レコード数として表示し、Nを複製レコード数として表示し、Nを削除レコード数として表示するステップ(S28)を具備している。
【0021】
第1文字列(22)と第2文字列(21)とはコンピュータによって実行可能なプログラムである。
【0022】
【発明の実施の形態】
[実施の第1形態]
図1は、本発明における開発規模測定器1の構成を示している。開発規模測定器1は、記憶装置4に接続されている。記憶装置4は、元ファイル21と新ファイル22とを格納している。元ファイル21と新ファイル22とは、コンピュータによって読み取り可能なファイルである。元ファイル21と新ファイル22とは、所定のフォーマットによって複数の部分に区切られている。元ファイル21と新ファイル22としては、文書ファイルあるいは表計算ソフトウェア用のファイルが例示される。元ファイル21と新ファイル22としては、行分けされて記述されたコンピュータプログラムが特に好適に例示される。以下の説明においては、行分けによって複数の部分に区切られた元ファイル21と新ファイル22を用いて説明を行う。
【0023】
新ファイル22は、元ファイル21を変更することによって作成されたファイルである。
【0024】
開発規模測定器1は、入力装置5を具備している。入力装置5は記憶装置4に接続されており、記憶装置4から元ファイル21と新ファイル22とを読み込む。
【0025】
開発規模測定器1は更に、CPUを備えた演算装置6を具備している。演算装置6は入力装置5に接続されている。
【0026】
開発規模測定器1は更に、第1記憶装置8を具備している。第1記憶装置8は演算装置6に接続されている。第1記憶装置8は、演算装置6が計算した元ファイルの行数NOLDと新ファイルの行数NNEWとを格納する。
【0027】
開発規模測定器1は更に、第2記憶装置10を具備している。第2記憶装置10は演算装置6に接続されている。第2記憶装置10は、第1テーブル31を格納している。
【0028】
開発規模測定器1は更に、第3記憶装置12を具備している。第3記憶装置12は演算装置6に接続されている。第3記憶装置12は、第2テーブル32と、後述する手順によって算出される数値であるN、N、N、Nを格納している。
【0029】
開発規模測定器1は更にフォーマット記憶装置11を備えている。フォーマット記憶装置11は演算装置6に接続されている。フォーマット記憶装置11は、少なくとも1つのフォーマット50に関するデータを格納している。
【0030】
開発規模測定器1は更に出力装置14を備えている。出力装置14は演算装置6に接続されている。出力装置7はN、N、N、Nの値を出力する。
【0031】
図2を参照して、第1テーブル31は、新ファイル22の各々の行を特定するために付けられる行ID34と、演算装置6が新ファイル22の各々の行について当該行と新ファイル22の各行とを照合して一致していると判定した行(当該行自身も含む)の行数であるm1と、演算装置6が新ファイル22の各々の行について当該行と元ファイルの各行とを照合して一致していると判定した行の行数であるm2とを対応づけて格納している。
【0032】
図3を参照して、第2テーブル32は、行ID34と、後述する手順によって新ファイル22に含まれる各々の行に対して算出されるn、n、n、nとを対応づけて格納している。第2テーブル32は更に、n、n、n、nの各々に関して、新ファイル22に含まれる全ての行について足し合わせた値であるΣn、Σn、Σn、Σnを格納している。
【0033】
図4はフォーマット50を示す。元ファイル21と新ファイル22とは所定のフォーマット50に則って記述されている。フォーマット50において、本文53は複数の行51に区切られている。本文53は、複数の行51を用いて区切られることに代えて、本文53のなかに挿入される図示しない制御記号によって区切られている場合でも、本発明における開発規模測定器1を用いて開発規模を測定することが可能である。
【0034】
フォーマット50においては、各々の行51の冒頭に、行番号52に例示される文字列が記載されることがある。この場合、演算装置6は元ファイル21と新ファイル22を比較するときに行番号52を無視して本文53を抽出し、元ファイル21の本文53と新ファイル22の本文53との比較を行う。
【0035】
フォーマット50は、コメント行54を備えていることがある。コメント行は、図4の「/*」〜「*/」に例示される所定の制御記号を用いて記述される。開発規模測定器1は、開発規模を測定する際に、該所定の制御記号によって示されたコメント行をカウントするか無視するかを利用者が選択できる機能を有していることが好ましい。
【0036】
開発規模測定装置1は、フォーマット記憶装置11がフォーマット50を複数格納していると、複数種類の言語で記述されたプログラムの開発規模を測定することができ好ましい。
【0037】
このような構成を備えた開発規模測定器1の動作を以下に説明する。説明は、次の順序に従って行われる。
【0038】
第1例では、元ファイル21に対して行の新規作成、行の流用及び行の削除を行うことによって作成された新ファイル22の開発規模を測定する方法が説明される。ここで行の削除という表現は、当該行が元ファイル21に存在し、かつ当該行と同一内容の行が新ファイル22に存在しないことを表している。
【0039】
第2例では、元ファイル21に対して行の流用及び行の複製を行うことによって作成された新ファイル22の開発規模を測定する方法が説明される。
【0040】
第3例では、元ファイル21に対して行の流用、行の削減及び行の削除を行うことによって作成された新ファイル22の開発規模を測定する方法が説明される。ここで行の削減という表現は、当該行と同一内容の行を元ファイル21と新ファイル22との両方が含んでおり、かつ元ファイル21に含まれる当該行と同一内容の行の数よりも新ファイル22に含まれる当該行と同一内容の行の数の方が少ないことを示している。
【0041】
第4例では、第1例から第3例までで得られた計算方法を総合して、元ファイル21に対して行の新規作成、流用、複製、削除あるいは削減を行うことによって作成された新ファイル22の開発規模を測定する方法が説明される。
(第1例)
図5は、元ファイル21と新ファイル22の例を示している。元ファイル21と新ファイル22とは所定のフォーマット50に則って複数の行51に分けられている。
【0042】
元ファイル21には「ABCDEF」と記述されている行が2行、「GHIJKL」と記述されている行が1行、「MNOPQR」と記述されている行が1行ある。新ファイル22には「ABCDEF」と記述されている行が2行、「GHIJKL」と記述されている行が1行、「STUVWX」と記述されている行が1行ある。
【0043】
こうした元ファイル21と新ファイル22が与えられたときに、新ファイル22の開発規模は次の方法で測定される。
【0044】
演算装置6は、元ファイル21の行数NOLDと新ファイル22の行数NNE とをカウントして、第1記憶装置8に格納する。第1例においてはNOLD=4、NNEW=4である。
【0045】
図6を参照して、演算装置6は、新ファイル22の最初の行である「ABCDEF」と、新ファイル22に含まれる各行(当該行自身も含む)とを照合し、一致した行の数をm1として第1テーブル31に格納する。今の例ではm1=2である。
【0046】
演算装置6は更に、新ファイル22の最初の行である「ABCDEF」と、元ファイル21に含まれる各行とを照合し、一致した行の数をm2として第2テーブルに格納する。今の例ではm2=2である。
【0047】
演算装置6は、こうした計算を、新ファイル22の最初の行から順次、最後の行に達するまで1行ずつ行い、新ファイル22の各行に対してm1とm2とを計算し、計算されたm1とm2とを第1テーブル31に格納する。
【0048】
補助テーブル33は、演算装置6がm1とm2とからn、n、n、nを算出する手順を説明するために描かれたテーブルである。開発規模測定器1は補助テーブル33を備えていなくてもよい。
【0049】
演算装置6は、各行に対してm2−m1を計算し、計算されたm2−m1の値によって新ファイル22の当該行が元ファイル21を流用したものか新規作成したものかを判定し、流用された行数と新規作成された行数とを算出する。
【0050】
新ファイル22の1行目に関して、m2−m1=0である。m2−m1=0である行においては、m1=m2、すなわち元ファイル21のなかで該行と同一内容である行の行数と新ファイル22のなかで該行と同一内容である行の行数とは等しい。このことをもって、新ファイル22の1行目は元ファイル21から流用したものであると判定される。このとき、演算装置6は新ファイル22の1行目に関してn=0、n=1、n=0、n=0という値を与え、第2テーブル32に格納する。
【0051】
新ファイル22の2行目と3行目に関してもm2−m1=0であるため、演算装置6は新ファイル22の2行目と3行目に関してn=0、n=1、n=0、n=0という値を与え、第2テーブル32に格納する。
【0052】
新ファイル22の4行目に関して、m2=0である。これは新ファイル22の4行目と同一内容の行が元ファイル21に存在しないことを示している。このことをもって、新ファイル22の4行目は元ファイル21に無い行を新規に作成した行であると判定される。このとき、演算装置6は新ファイル22の4行目に関してn=1、n=0、n=0、n=0という値を与え、第2テーブル32に格納する。
【0053】
演算装置は、n、n、n、nの各々に関して1行目から4行目まで足し合わせ、第2テーブル32に格納する。図5に示される例では、Σn=1、Σn=3、Σn=0、Σn=0である。
【0054】
Σnは新規作成された行の合計を表し、Σnは流用された行の合計を表している。
【0055】
第1例に関して、新ファイル22のすべての行が元ファイル21と比較して新規作成、流用あるいは削除によって作成されたものであることから、複製された行は存在しない。複製された行が存在しないことは、新ファイル22の全ての行に関してn=0であることによって示されている。
【0056】
元ファイル21の3行目の「MNOPQR」と同一内容の行は、新ファイル22には含まれていない。元ファイル21から削除されたこうした行に関する情報は、以上に示した計算の過程には含まれていない。こうした、元ファイル21から削除され新ファイル22に存在しなくなった行の数は、NOLD+Σn−NNEWで表される。第1例においては、この数は4+1−4=1である。
【0057】
以上に示した計算から、第1例に関して元ファイル21から新ファイル22が作成されたとき、開発規模測定器1は、新ファイル22の開発規模を、次に示すN、N、N及びN
新規作成された行の数N≡Σn=1、
流用された行の数N≡Σn=3、
複製された行の数N≡Σn=0、
削除された行の数N≡Σn=1、
によって表す。
【0058】
このようなプログラム開発規模測定器1は、新ファイル22において新規作成された行数Nと、元ファイル21から流用された行数Nと、元ファイルから削除された行数Nとを簡易なアルゴリズムによって計算する。
(第2例)
図7は、元ファイル21と新ファイル22の他の例を示している。こうした元ファイル21と新ファイル22が与えられたときに、新ファイル22の開発規模は次の方法で測定される。
【0059】
演算装置6は、元ファイル21の行数NOLDと新ファイル22の行数NNEWとをカウントして、第1記憶装置8に格納する。第2例においてはNOLD=3、NNEW=6である。
【0060】
図8を参照して、演算装置6は、第1例と同一の手順で新ファイル22の各行に関してm1とm2とを計算して第1テーブル31に格納する。
【0061】
新ファイル22の1行目は「ABCDEF」である。新ファイル22が含んでいる「ABCDEF」という行の数はm1=3で示される。元ファイル21が含んでいる「ABCDEF」という行の数はm2=1で示される。新ファイル22が含んでいる「ABCDEF」という行の数は元ファイルが含んでいる「ABCDEF」という行の数よりもm1−m2=2だけ多い。
【0062】
第2例に関する以上の検討から、次のことが示される。
(a) m1>m2すなわちm2−m1<0であるとき、新ファイル22は「ABCDEF」という行を元ファイルよりも多数含んでいる。
(b) m2≠0であることは、元ファイル21が「ABCDEF」という行を含んでいることを示している。
【0063】
上述の(a)と(b)とによって、新ファイル22は元ファイル21における「ABCDEF」を複製したと判定される。
【0064】
複製された行数をカウントする方法は、次のように導かれる。
【0065】
「ABCDEF」という行は元ファイル21に1行、新ファイル22に3行含まれている。ここから、新ファイル22は元ファイル21の「ABCDEF」を1行流用し、2行複製したと判定される。
【0066】
新ファイルの1行目、3行目及び5行目の「ABCDEF」という行の各々において「ABCDEF」という行が流用された数と複製された数を計算すると、計算が3回重複することになる。1行目、3行目及び5行目の各々において「ABCDEF」という行が流用された数を1/3、複製された数を2/3としておくと、1行目、3行目及び5行目からの寄与を合計することで、流用された行数は1/3+1/3+1/3=1、複製された行数は2/3+2/3+2/3=2という値が得られる。
【0067】
式で表現すると次のようになる。条件(a)及び(b)を満たす各々の行に関して、演算装置6は、複製された行数としてn=(m1−m2)/m1を割り当て、第2テーブル32に格納する。演算装置6は更に、流用された行数としてn=m2/m1を割り当て、第2テーブル32に格納する。
【0068】
元ファイル21から削除された行(新ファイル22に存在しない行)の数は、NOLD+Σn+Σn−NNEWで表される。第2例においては、この数は3+0+3−6=0である
以上に示した計算から、第2例に関して元ファイル21から新ファイル22が作成されたとき、開発規模測定器1は、新ファイル22の開発規模を、次に示すN、N、N及びNによって表す。
【0069】
新規作成された行の数N≡Σn=0、
流用された行の数N≡Σn=3、
複製された行の数N≡Σn=3、
削除された行の数N≡Σn=0。
【0070】
本例に示した方法によれば、正確な流用行数と複製行数とが簡易なアルゴリズムで算出される。
(第3例)
図9は、元ファイル21と新ファイル22の更に他の例を示している。こうした元ファイル21と新ファイル22が与えられたときに、新ファイル22の開発規模は次の方法で測定される。
【0071】
演算装置6は、元ファイル21の行数NOLDと新ファイル22の行数NNEWとをカウントして、第1記憶装置8に格納する。第3例においてはNOLD=7、NNEW=5である。
【0072】
図10を参照して、演算装置6は、第1例と同じ手順で新ファイル22の各行に関してm1とm2とを計算して第1テーブル31に格納する。
【0073】
新ファイル22の1行目は「ABCDEF」である。新ファイル22が含んでいる「ABCDEF」という行の数はm1=3で示される。元ファイル21が含んでいる「ABCDEF」という行の数はm2=4で示される。
【0074】
第3例に関する以上の検討から、次のことが示される。
(c) m2>m1すなわちm2−m1>0であるとき、新ファイル22が含んでいる「ABCDEF」という行は元ファイルよりも少ない。
(d) m2≠0であることは、元ファイル21が「ABCDEF」という行を含んでいることを示している。
【0075】
上述の(c)と(d)とによって、新ファイル22においては元ファイル21に複数含まれる「ABCDEF」という行が削減されたと判定される。
【0076】
削減された行数をカウントする方法は、次のように導かれる。
【0077】
「ABCDEF」という行は元ファイル21に4行、新ファイル22に3行含まれている。ここから、新ファイル22は元ファイル21の「ABCDEF」を3行流用し、1行削減したと判定される。
【0078】
新ファイルの1行目、3行目及び5行目の「ABCDEF」という行の各々に対して、n=1が割り当てられる。この割り当ては、当該行が元ファイルから流用されたものとして判定されたことを示している。
【0079】
新ファイルの1行目、3行目及び5行目の「ABCDEF」という行の各々において「ABCDEF」という行が削減された数を計算すると、計算が3回重複することになる。重複分を割っておいて、1行目、3行目及び5行目の各々において「ABCDEF」という行が削減された数を1/3としておくと、1行目、3行目及び5行目からの寄与を合計することで、削減された行数は1/3+1/3+1/3=1という結果が得られる。
【0080】
式で表現すると次のようになる。条件(c)及び(d)を満たす各々の行に関して、演算装置6は、流用された行数としてn=1を割り当てて第2テーブル32に格納する。演算装置6は更に、削減された行数としてn=(m2−m1)/m1を割り当て、第2テーブル32に格納する。
【0081】
元ファイル21から削除されて新ファイル22に存在しなくなった行の数は、NOLD+Σn+Σn−Σn−NNEWで表される。第3例においては、この数は7+0+0−1−5=1である。この数は、元ファイル21の4行目の「MNOPQR」という行が削除されて新ファイルに存在しないことを示している。
【0082】
以上に示した計算から、第3例に関して元ファイル21から新ファイル22が作成されたとき、開発規模測定器1は、新ファイル22の開発規模を、次に示すN、N、N及びN
新規作成された行の数N≡Σn=0、
流用された行の数N≡Σn=5、
複製された行の数N≡Σn=0、
削減された行の数N≡Σn=1、
削除された行の数NOLD+N+N−N−NNEW=1、
によって表す。
【0083】
開発規模測定器1が出力する結果においては、削除された行の数NOLD+Σn+Σn−Σn−NNEWと削減された行の数Σnとを足し合わせた値が削除された行数として出力されることが好ましい。この場合、削除された行数として出力される値はNOLD+Σn+Σn−NNEWとなり、nを計算する手順は省略することが可能である。このとき、開発規模測定器1は、新ファイルの開発規模を、次に示すN、N、N及びN
新規作成された行の数N≡Σn=0、
流用された行の数N≡Σn=5、
複製された行の数N≡Σn=0、
削除された行の数NOLD+N+N−NNEW=2、
によって表す。
【0084】
本例のようにして重複分を削除された各行に割り当てると、正確な削除された行数と流用された行数とが簡易なアルゴリズムによって算出される。
【0085】
図11は、開発規模測定器1が開発規模を測定した結果を出力装置14が表示する出力画面40を示している。
(第4例)
図12と図13とは、実施の第1形態における開発規模測定器1の動作を示すフローチャートである。
【0086】
図12を参照して、演算装置6は、第2テーブル32が格納しているn、n、n及びnの値を0とする(ステップS2)。
【0087】
演算装置6は、開発規模測定器1が開発規模を測定する対象となる元ファイル21と新ファイル22とを記憶装置4から読み込む(ステップS4)。
【0088】
演算装置6は元ファイル21の行数NOLDと新ファイル22の行数NNEWとをカウントして、第1記憶装置8に格納する(ステップS6)。
【0089】
演算装置6は、新ファイル22の最初の行を現在の行に設定する(ステップS8)。
【0090】
演算装置6は、現在の行と新ファイル22の各行(現在の行自身を含む)とを照合し、一致した行数をm1として第1テーブル31に格納する(ステップS10)。
【0091】
演算装置6は、現在の行と元ファイル21の各行とを照合し、一致した行数をm2として第1テーブル31に格納する(ステップS12)。
【0092】
図13を参照して、演算装置6は、m2=0であるときn=1を第2テーブル32に格納する(ステップS14)。これは現在の行が新規作成された行として判定されたことを示す。
【0093】
演算装置6は、m2−m1=0であるとき、n=1を第2テーブル32に格納する(ステップS16)。これは現在の行が流用された行として判定されたことを示す。
【0094】
演算装置6は、m2≠0、かつm2−m1<0であるとき、n=m2/m1、n=(m1−m2)/m1を第2テーブル32に格納する(ステップS18)。これは現在の行が複製された行として判定されたことを示す。
【0095】
演算装置6は、m2−m1>0であるとき、n=1、n=(m2−m1)/m1を第2テーブル32に格納する(ステップS20)。これは現在の行が削減された行として判定されたことを示す。
【0096】
演算装置6は、現在の行が新ファイル22の最後の行か否かを判定する(ステップS22)。現在の行が新ファイル22の最後の行ではないとき(ステップS22NO)、演算装置6は現在の行を新ファイル22の1行後ろの行に設定しなおし(ステップS24)、ステップS10に戻る。
【0097】
現在の行が新ファイル22の最後の行であると判定されたとき(ステップS22YES)、演算装置6はN=Σn、N=Σn、N=Σn及びN=NOLD+N+N−NNEWを計算し、第3記憶装置12に格納する(ステップS26)。
【0098】
演算装置6は出力装置14を制御してNを新規作成行数として、Nを流用行数として、Nを複製行数として、Nを削除行数として出力させる(ステップS28)。
【0099】
プログラム開発規模測定器1は、m1、m2、NOLD及びNNEWだけを用いて、新規作成された行数Nと、流用された行数Nと、複製された行数Nと、削除された行数Nとを計算する。m1とm2とは、新ファイル22が含んでいる任意の行に対して、元ファイル21が含んでいる行数と新ファイル22が含んでいる行数とを足し合わせた数だけ照合をすることによって計算される。こうした計算方法によれば、計算量が少ない。
【0100】
更に、このようなプログラム開発規模測定器1によれば、プログラマが開発規模を測定する対象となるプログラムに新規作成しあるいは変更した箇所を記録する作業が省略される。
[実施の第2形態]
【0101】
実施の第1形態における開発規模測定器1は、元ファイル21を変更して作成された新ファイル22の開発規模を測定するために、新ファイル22の各々の行を、新ファイル22の各行および元ファイル21の各行と比較した。実施の第2形態における開発規模測定器1は、元ファイル21を変更して作成された新ファイル22の開発規模を測定するために、元ファイル21の各々の行を、元ファイル21の各行および新ファイル22の各行と比較する。
【0102】
実施の第2形態における開発規模測定器1の構成は、第1テーブル31と第2テーブル32の構成を除いて、実施の第1形態と同一である。
【0103】
図2を参照して、実施の第2形態における第1テーブル31は、実施の第1形態と図面は同一になるが、行ID34、m1およびm2が示す対象が実施の第1形態とは異なる。
【0104】
第1テーブル31は、元ファイルの各々の行を特定する行ID34と、演算装置6が元ファイル21の各々の行について当該行と元ファイル21の各行(当該行自身を含む)とを照合して一致していると判定した行の行数であるm1と、演算装置6が元ファイル21の各々の行について当該行と新ファイルの各行とを照合して一致していると判定した行の行数であるm2とを対応づけて格納している。
【0105】
図3を参照して、実施の第2形態における第2テーブル32は、実施の第1形態と図面は同一になるが、行ID34、n、n、n及びnが示す対象が実施の第1形態とは異なる。
【0106】
第2テーブル32は、元ファイル21に含まれる各々の行を特定する行ID34と、後述する手順によって元ファイル21に含まれる各々の行に対して算出されるn、n、n、nとを対応づけて格納している。第2テーブル32は更に、n、n、n、nの各々に関して、元ファイル21に含まれる全ての行について足し合わせた値であるΣn、Σn、Σn、Σnを格納している。
【0107】
図14と図15とは、実施の第2形態における開発規模測定器1の動作を示すフローチャートである。
【0108】
図14を参照して、演算装置6は、第2テーブル32が格納しているn、n、n及びnの値を0とする(ステップS102)。
【0109】
演算装置6は、開発規模測定器1が開発規模を測定する対象となる元ファイル21と新ファイル22とを記憶装置4から読み込む(ステップS104)。
【0110】
演算装置6は元ファイル21の行数NOLDと新ファイル22の行数NNEWとをカウントして、第1記憶装置8に格納する(ステップS106)。
【0111】
演算装置6は、元ファイル22の最初の行を現在の行に設定する(ステップS108)。
【0112】
演算装置6は、現在の行と元ファイル21の各行(現在の行自身を含む)とを照合し、一致した行数をm1として第1テーブル31に格納する(ステップS110)。
【0113】
演算装置6は、現在の行と新ファイル22の各行とを照合し、一致した行数をm2として第1テーブル31に格納する(ステップS112)。
【0114】
図15を参照して、演算装置6は、m2=0であるときn=1を第2テーブル32に格納する(ステップS114)。これは現在の行が削除された行として判定されたことを示す。
【0115】
演算装置6は、m2−m1=0であるとき、n=1を第2テーブル32に格納する(ステップS116)。これは現在の行が流用された行として判定されたことを示す。
【0116】
演算装置6は、m2≠0、かつm2−m1<0であるとき、n=m2/m1、n=(m1−m2)/m1を第2テーブル32に格納する(ステップS118)。これは現在の行が削減された行として判定されたことを示す。
【0117】
演算装置6は、m2−m1>0であるとき、n=1、n=(m2−m1)/m1を第2テーブル32に格納する(ステップS120)。これは現在の行が複製された行として判定されたことを示す。
【0118】
演算装置6は、現在の行が元ファイル21の最後の行か否かを判定する(ステップS122)。現在の行が元ファイル21の最後の行ではないとき(ステップS122NO)、演算装置6は現在の行を元ファイル21の1行後ろの行に設定しなおし(ステップS124)、ステップS110に戻る。
【0119】
現在の行が元ファイル21の最後の行であると判定されたとき(ステップS122YES)、演算装置6はN=NNEW−(NOLD+N−N)、N=Σn、N=Σn及びN=Σnを計算し、第3記憶装置12に格納する(ステップS126)。
【0120】
演算装置6は出力装置14を制御してNを新規作成行数として、Nを流用行数として、Nを複製行数として、Nを削除行数として出力させる(ステップS128)。
【0121】
こうした開発規模測定器1は、特に元ファイル21が含む行数が少ないときに少ない計算量で開発規模を測定する。こうした開発規模測定器は、行数が少ない原型ファイルを下敷きにして大幅に拡大したプログラムが開発されたとき、プログラムの開発規模を少ない計算量で測定する。
【0122】
【発明の効果】
本発明によれば、任意の形式で記述されたコンピュータプログラムの開発規模を測定する開発規模測定器及び開発規模測定プログラムが提供される。
【0123】
更に本発明によれば、コンピュータプログラムの開発規模を測定するためにプログラマに課せられる所定の作業を省く開発規模測定器及び開発規模測定プログラムが提供される。
【0124】
更に本発明によれば、元プログラムに変更を加えて作成された新プログラムの開発規模を、新規作成された行数、流用された行数、複製された行数、削除された行数に分けて算出する開発規模測定器及び開発規模測定プログラムが提供される。
【0125】
更に本発明によれば、アルゴリズムが簡易な開発規模測定器及び開発規模測定プログラムが提供される。
【0126】
更に本発明によれば、計算する量が少ない開発規模測定器及び開発規模測定プログラムが提供される。
【図面の簡単な説明】
【図1】図1は、開発規模測定器の構成を示す。
【図2】図2は、第1テーブルを示す。
【図3】図3は、第2テーブルを示す。
【図4】図4は、フォーマットを示す。
【図5】図5は、元ファイルと新ファイルの一例である。
【図6】図6は、開発規模を測定する方法を説明する図である。
【図7】図7は、元ファイルと新ファイルの一例である。
【図8】図8は、開発規模を測定する方法を説明する図である。
【図9】図9は、元ファイルと新ファイルの一例である。
【図10】図10は、開発規模を測定する方法を説明する図である。
【図11】図11は、出力画面である。
【図12】図12は、開発規模測定器の動作を示すフローチャートである。
【図13】図13は、開発規模測定器の動作を示すフローチャートである。
【図14】図14は、開発規模測定器の動作を示すフローチャートである。
【図15】図15は、開発規模測定器の動作を示すフローチャートである。
【符号の説明】
1…開発規模測定器
4…記憶装置
5…入力装置
6…演算装置
8…第1記憶装置
10…第2記憶装置
11…フォーマット記憶装置
12…第3記憶装置
14…出力装置
21…元ファイル
22…新ファイル
31…第1テーブル
32…第2テーブル
33…補助テーブル
34…行ID
50…フォーマット
51…行
52…行番号
53…本文
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a measuring method and a measuring device for measuring a software development scale.
[0002]
[Prior art]
2. Description of the Related Art In software development, existing software is modified to create new software. In order to manage or evaluate the quality or productivity of software, there is a need to measure the amount changed when creating new software from existing software. In particular, when creating new software, it is required to separately measure a portion diverted from existing software and a newly developed portion.
[0003]
As a method of measuring the scale of software development, a program that sets at least information for distinguishing registration, addition, insertion or deletion in each record of a program module, and calculates and outputs the development amount of the program module using the information A development information collection processing method is known (see Patent Document 1).
[0004]
[Patent Document 1] JP-A-60-74031
[0005]
[Problems to be solved by the invention]
An object of the present invention is to provide a development scale measuring device and a development scale measurement program for measuring the development scale of a computer program described in an arbitrary format.
[0006]
It is another object of the present invention to provide a development scale measuring device and a development scale measurement program which eliminate a predetermined task required for a programmer to measure the development scale of a computer program.
[0007]
Still another object of the present invention is to reduce the development scale of a new program created by modifying the original program by the number of newly created lines, the number of diverted lines, the number of copied lines, and the number of deleted lines. And to provide a development scale measuring device and a development scale measurement program.
[0008]
Still another object of the present invention is to provide a development scale measuring instrument and a development scale measurement program whose algorithm is simple.
[0009]
Still another object of the present invention is to provide a development scale measuring device and a development scale measurement program which require a small amount of calculation.
[0010]
[Means for Solving the Problems]
Hereinafter, the means for solving the problem will be described using the numbers used in [Embodiments of the Invention] in parentheses. These numbers are added to clarify the correspondence between the description in the claims and the embodiment of the invention. However, those numbers should not be used to interpret the technical scope of the invention described in [Claims].
[0011]
The development scale measuring instrument (1) according to the present invention includes an input unit (5) for inputting a first character string (22) and a second character string (21). The first character string (22) and the second character string (21) include a plurality of records (51) separated by a predetermined format (50). The development scale measuring device (1) further checks each of the plurality of records (51) included in the first character string (22) and each of the plurality of records (51) included in the second character string (21). And a calculation unit (6) for calculating a development scale when developing the first character string (22) from the second character string (21), and an output unit (14) for outputting a calculation result. .
[0012]
According to such a development scale measuring instrument (1), when the programmer changes the second character string (21) to create the first character string (22), the programmer omits the work of recording the changed portion. A measure of development size is made. Further, according to such a development scale measuring instrument (1), when the first character string (22) is created by adding a change to the second character string (21), the format for recording the changed portion is not affected. Next, the development scale is measured for an arbitrary character string divided into a plurality of records (51).
[0013]
The development scale measuring instrument (1) according to the present invention includes an input section (5) for inputting a first character string (22) and a second character string (21). The first character string (22) and the second character string (21) include a plurality of records (51) separated by a predetermined format (50). The development scale measuring device (1) further includes, for each record R among the plurality of records (51) included in the first character string (22), the same as the record R included in the first character string (22). An arithmetic unit (6) is provided for calculating the number m1 of records having contents and the number m2 of records contained in the second character string (21) and having the same contents as the records R. R is a variable (34) for specifying each record, and m1 and m2 are functions dependent on R. The arithmetic unit (6) measures the development scale when creating the first character string (22) from the second character string (21) by comparing m1 and m2.
[0014]
The calculation unit (6) further calculates m1 as the number of newly created records when m2 = 0 for the record R, and calculates m1-m2 as the number of duplicate records when m1> m2, and m2> m1 When m1, m2−m1 is calculated as the number of reduced records, and when m1 = m2, m1 is calculated as the number of diverted records.
[0015]
According to the development scale measuring device (1), the development scale is measured by a simple algorithm. Further, according to the development scale measuring device (1), the amount of calculation for measuring the development scale is small. Further, according to such a development scale measuring instrument (1), the number of newly developed records, the number of duplicated records, the number of deleted records, and the number of diverted records are determined separately, and the development scale is determined. Required exactly.
[0016]
The first character string (22) and the second character string (21) are programs executable by a computer.
[0017]
The development scale measurement program according to the present invention includes a step (S4) of inputting a first character string (22) and a second character string (21). The first character string (22) and the second character string (21) include a plurality of records (51) separated by a predetermined format (50). The development scale measurement program according to the present invention further checks each of the plurality of records (51) included in the first character string (22) and each of the plurality of records (51) included in the second character string (21). Calculating the development scale when developing the first character string (22) from the second character string (21) (S14, S16, S18, S20, S26) and outputting the calculation result (S28) ).
[0018]
The development scale measurement program according to the present invention includes a step (S4) of inputting a first character string (22) and a second character string (21). The first character string (22) and the second character string (21) include a plurality of records (51) separated by a predetermined format (50). The development scale measurement program further includes, for each record R among a plurality of records (51) included in the first character string (22), the same content as the record R included in the first character string (22). The method includes steps (S10, S12) for calculating the number m1 of records and the number m2 of records included in the second character string (21) and having the same contents as the record R. m1 and m2 are functions dependent on R. The development scale measuring program further measures the development scale when creating the first character string (22) from the second character string (21) by comparing m1 and m2 (S14, S16, S18, S20). , S26).
[0019]
The development scale measuring program calculates the number m1 as the number of newly created records when m2 = 0 for the record R (S14), and calculates the number m1-m2 for the record R when m1> m2. (S18), the step of calculating m2-m1 as the number of reduced records when m2> m1 for the record R, and the step of calculating m1 when m1 = m2 for the record R Calculating as the diversion record number (S16).
[0020]
The development scale measurement program includes a step (S4) of inputting the first character string (22) and the second character string (21). The first character string (22) and the second character string (21) include a plurality of records (51) separated by a predetermined format (50). The development scale measurement program further includes a number N of records included in the first character string (22).NEWAnd the number N of records included in the second character string (21)OLD(S6), and a plurality of records (51) included in the first character string (22) for each record R among a plurality of records (51) included in the first character string (22). Calculating the number m1 of records having the same contents as the record R (S10), and calculating the number m2 of records having the same contents as the record R among a plurality of records included in the second character string (21). The method includes a calculating step (S12). Further, the development scale measurement program further executes n1, N2, N3And n4Is a function depending on R, and when m2 = 0, n1= 1 (S14) and n when m2−m1 = 02= 1, and when m2 ≠ 0 and m1> m2, n2= M2 / m1 and n3= (M1-m2) / m1 (S18), and n when m2> m12= 1 and n4= (M2-m1) / m1 (S20) and N1= Σn1, N2= Σn2, N3= Σn3, N4= NOLD+ N1+ N3-NNEW(26). Here, Σ represents the sum of all the records included in the first character string. The development scale measurement program is N1Is displayed as the number of newly created records, and N2Is displayed as the number of diverted records, and N3Is displayed as the number of duplicate records, and N4Is displayed as the number of deleted records (S28).
[0021]
The first character string (22) and the second character string (21) are programs executable by a computer.
[0022]
BEST MODE FOR CARRYING OUT THE INVENTION
[First Embodiment]
FIG. 1 shows a configuration of a development scale measuring instrument 1 according to the present invention. The development scale measuring device 1 is connected to the storage device 4. The storage device 4 stores an original file 21 and a new file 22. The original file 21 and the new file 22 are files that can be read by a computer. The original file 21 and the new file 22 are divided into a plurality of parts by a predetermined format. As the original file 21 and the new file 22, a document file or a file for spreadsheet software is exemplified. As the original file 21 and the new file 22, a computer program described in a line-by-line manner is particularly preferably exemplified. In the following description, the original file 21 and the new file 22 divided into a plurality of parts by line division will be described.
[0023]
The new file 22 is a file created by changing the original file 21.
[0024]
The development scale measuring device 1 includes an input device 5. The input device 5 is connected to the storage device 4 and reads the original file 21 and the new file 22 from the storage device 4.
[0025]
The development scale measuring device 1 further includes an arithmetic unit 6 having a CPU. The arithmetic device 6 is connected to the input device 5.
[0026]
The development scale measuring device 1 further includes a first storage device 8. The first storage device 8 is connected to the arithmetic device 6. The first storage device 8 stores the number of lines N of the original file calculated by the arithmetic device 6.OLDAnd the number of lines N in the new fileNEWAnd are stored.
[0027]
The development scale measuring device 1 further includes a second storage device 10. The second storage device 10 is connected to the arithmetic device 6. The second storage device 10 stores a first table 31.
[0028]
The development scale measuring device 1 further includes a third storage device 12. The third storage device 12 is connected to the arithmetic device 6. The third storage device 12 stores the second table 32 and a numerical value N calculated by a procedure described later.1, N2, N3, N4Is stored.
[0029]
The development scale measuring device 1 further includes a format storage device 11. The format storage device 11 is connected to the arithmetic device 6. The format storage device 11 stores data relating to at least one format 50.
[0030]
The development scale measuring device 1 further includes an output device 14. The output device 14 is connected to the arithmetic device 6. The output device 7 is N1, N2, N3, N4The value of is output.
[0031]
Referring to FIG. 2, first table 31 includes a row ID 34 assigned to specify each line of new file 22, and arithmetic device 6 for each line of new file 22 The arithmetic unit 6 compares the line of the new file 22 with each line of the original file, which is the number of lines m1 (including the line itself) determined to match each line. The number m2, which is the number of rows that have been determined to match upon collation, is stored in association with each other.
[0032]
Referring to FIG. 3, the second table 32 includes a row ID 34 and n calculated for each row included in the new file 22 by a procedure described later.1, N2, N3, N4Are stored in association with each other. The second table 32 further includes n1, N2, N3, N4Is the sum of all lines included in the new file 221, Σn2, Σn3, Σn4Is stored.
[0033]
FIG. 4 shows the format 50. The original file 21 and the new file 22 are described according to a predetermined format 50. In the format 50, the body 53 is divided into a plurality of lines 51. The main body 53 is developed using the development scale measuring device 1 of the present invention even when the main body 53 is separated by a control symbol (not shown) inserted in the main body 53 instead of being separated using a plurality of lines 51. It is possible to measure the scale.
[0034]
In the format 50, a character string exemplified by a line number 52 may be described at the beginning of each line 51. In this case, when comparing the original file 21 and the new file 22, the arithmetic unit 6 ignores the line number 52, extracts the text 53, and compares the text 53 of the original file 21 with the text 53 of the new file 22. .
[0035]
Format 50 may include comment lines 54. The comment line is described using predetermined control symbols exemplified in “/ *” to “* /” in FIG. It is preferable that the development scale measuring device 1 has a function that allows a user to select whether to count or ignore comment lines indicated by the predetermined control symbol when measuring the development scale.
[0036]
When the format storage device 11 stores a plurality of formats 50, the development scale measuring device 1 can measure the development scale of a program described in a plurality of languages, which is preferable.
[0037]
The operation of the development scale measuring device 1 having such a configuration will be described below. The description will be given in the following order.
[0038]
In the first example, a method of measuring the development scale of a new file 22 created by creating a new line, diverting a line, and deleting a line from the original file 21 will be described. Here, the expression “deletion of a line” indicates that the line exists in the original file 21 and a line having the same content as the line does not exist in the new file 22.
[0039]
In the second example, a method of measuring the development scale of a new file 22 created by diverting lines and duplicating lines in the original file 21 will be described.
[0040]
In the third example, a method of measuring the development scale of a new file 22 created by diverting lines, reducing lines, and deleting lines from the original file 21 will be described. Here, the expression “row reduction” means that both the original file 21 and the new file 22 include a line having the same content as the line, and the number of lines having the same content as the line included in the original file 21 This indicates that the number of lines having the same content as the line included in the new file 22 is smaller.
[0041]
In the fourth example, the calculation methods obtained in the first to third examples are combined, and a new line created, diverted, duplicated, deleted, or reduced in the original file 21 is created. A method for measuring the development scale of the file 22 will be described.
(First example)
FIG. 5 shows an example of the original file 21 and the new file 22. The original file 21 and the new file 22 are divided into a plurality of lines 51 according to a predetermined format 50.
[0042]
In the original file 21, there are two lines described as "ABCDEF", one line described as "GHIJKL", and one line described as "MNOPQR". The new file 22 has two lines described as “ABCDEF”, one line described as “GHIJKL”, and one line described as “STUVWX”.
[0043]
When the original file 21 and the new file 22 are given, the development scale of the new file 22 is measured by the following method.
[0044]
The arithmetic unit 6 calculates the number of lines N in the original file 21.OLDAnd the number of lines N in the new file 22NE WAre counted and stored in the first storage device 8. In the first example, NOLD= 4, NNEW= 4.
[0045]
Referring to FIG. 6, arithmetic unit 6 collates “ABCDEF”, which is the first line of new file 22, with each line (including the line itself) included in new file 22, and determines the number of matching lines. Is stored in the first table 31 as m1. In the present example, m1 = 2.
[0046]
The arithmetic unit 6 further compares “ABCDEF”, which is the first line of the new file 22, with each line included in the original file 21, and stores the number of matching lines as m2 in the second table. In the present example, m2 = 2.
[0047]
The arithmetic unit 6 performs such calculations sequentially from the first line of the new file 22 one line at a time until reaching the last line, calculates m1 and m2 for each line of the new file 22, and calculates the calculated m1 And m2 are stored in the first table 31.
[0048]
The auxiliary table 33 indicates that the arithmetic unit 6 is n based on m1 and m2.1, N2, N3, N42 is a table drawn for explaining the procedure for calculating. The development scale measuring device 1 may not include the auxiliary table 33.
[0049]
The arithmetic unit 6 calculates m2-m1 for each row, determines whether the row of the new file 22 is a diverted version of the original file 21 or newly created based on the calculated value of m2-m1. Then, the number of lines and the number of lines newly created are calculated.
[0050]
For the first line of the new file 22, m2-m1 = 0. In the line where m2−m1 = 0, m1 = m2, that is, the number of lines having the same content as the line in the original file 21 and the number of lines having the same content as the line in the new file 22 Is equal to the number. With this, it is determined that the first line of the new file 22 is diverted from the original file 21. At this time, the arithmetic unit 6 sets n for the first line of the new file 22.1= 0, n2= 1, n3= 0, n4= 0 and is stored in the second table 32.
[0051]
Since m2−m1 = 0 also for the second and third lines of the new file 22, the arithmetic unit 6 sets n−2 for the second and third lines of the new file 22 to n.1= 0, n2= 1, n3= 0, n4= 0 and is stored in the second table 32.
[0052]
For the fourth line of the new file 22, m2 = 0. This indicates that a line having the same content as the fourth line of the new file 22 does not exist in the original file 21. With this, it is determined that the fourth line of the new file 22 is a newly created line that is not in the original file 21. At this time, the arithmetic unit 6 sets n for the fourth line of the new file 22 to n.1= 1, n2= 0, n3= 0, n4= 0 and is stored in the second table 32.
[0053]
The arithmetic unit is n1, N2, N3, N4Are added from the first line to the fourth line, and stored in the second table 32. In the example shown in FIG.1= 1, Σn2= 3, Σn3= 0, Σn4= 0.
[0054]
Σn1Represents the sum of the newly created rows, and Σn2Represents the total number of diverted rows.
[0055]
Regarding the first example, since all the lines in the new file 22 are created by new creation, diversion or deletion as compared with the original file 21, there are no duplicated lines. The absence of a duplicated line indicates that n3= 0.
[0056]
The line having the same content as “MNOPQR” in the third line of the original file 21 is not included in the new file 22. Information on such lines deleted from the original file 21 is not included in the above-described calculation process. The number of lines deleted from the original file 21 and no longer existing in the new file 22 is NOLD+ Σn1-NNEWIs represented by In the first example, this number is 4 + 1-4 = 1.
[0057]
From the calculations described above, when a new file 22 is created from the original file 21 for the first example, the development scale measuring device 1 determines the development scale of the new file 22 by N1, N2, N3And N4,
Number of newly created rows N1≡Σn1= 1,
Number of diverted rows N2≡Σn2= 3,
Number of duplicated rows N3≡Σn3= 0,
Number of deleted rows N4≡Σn4= 1,
Represented by
[0058]
Such a program development scale measuring instrument 1 has a newly created line number N in the new file 22.1And the number N of lines diverted from the original file 212And the number N of lines deleted from the original file4Is calculated by a simple algorithm.
(Second example)
FIG. 7 shows another example of the original file 21 and the new file 22. When the original file 21 and the new file 22 are given, the development scale of the new file 22 is measured by the following method.
[0059]
The arithmetic unit 6 calculates the number of lines N in the original file 21.OLDAnd the number of lines N in the new file 22NEWAre counted and stored in the first storage device 8. In the second example, NOLD= 3, NNEW= 6.
[0060]
Referring to FIG. 8, arithmetic unit 6 calculates m1 and m2 for each line of new file 22 in the same procedure as in the first example, and stores the same in first table 31.
[0061]
The first line of the new file 22 is “ABCDEF”. The number of lines “ABCDEF” included in the new file 22 is indicated by m1 = 3. The number of lines “ABCDEF” included in the original file 21 is indicated by m2 = 1. The number of lines “ABCDEF” included in the new file 22 is larger than the number of lines “ABCDEF” included in the original file by m1−m2 = 2.
[0062]
From the above discussion on the second example, the following is shown.
(A) When m1> m2, that is, when m2−m1 <0, the new file 22 includes a larger number of lines “ABCDEF” than the original file.
(B) m2 ≠ 0 indicates that the original file 21 includes a line “ABCDEF”.
[0063]
Based on (a) and (b) above, it is determined that the new file 22 has duplicated “ABCDEF” in the original file 21.
[0064]
The method of counting the number of duplicated rows is derived as follows.
[0065]
The line “ABCDEF” includes one line in the original file 21 and three lines in the new file 22. From this, it is determined that the new file 22 uses “ABCDEF” of the original file 21 by one line and duplicates two lines.
[0066]
In each of the first, third, and fifth lines of "ABCDEF" in the new file, when the number of lines "ABCDEF" was diverted and duplicated, the calculations would be duplicated three times. Become. In each of the first, third, and fifth lines, if the number of lines that use “ABCDEF” is 1/3 and the number of duplicates is 2/3, the first, third, and fifth lines By summing the contributions from the rows, the number of diverted rows is 1/3 + / + / = 1, and the number of duplicate rows is 3 + 2/3 + 2 = 2.
[0067]
The expression is as follows. For each row that satisfies the conditions (a) and (b), the arithmetic unit 6 calculates n as the number of rows copied.3= (M1-m2) / m1 and store it in the second table 32. The arithmetic unit 6 further calculates n as the number of diverted rows.2= M2 / m1 and store it in the second table 32.
[0068]
The number of lines deleted from the original file 21 (lines not existing in the new file 22) is NOLD+ Σn1+ Σn3-NNEWIs represented by In the second example, this number is 3 + 0 + 3-6 = 0
From the calculations described above, when a new file 22 is created from the original file 21 for the second example, the development scale measuring instrument 1 determines the development scale of the new file 22 by N1, N2, N3And N4Represented by
[0069]
Number of newly created rows N1≡Σn1= 0,
Number of diverted rows N2≡Σn2= 3,
Number of duplicated rows N3≡Σn3= 3,
Number of deleted rows N4≡Σn4= 0.
[0070]
According to the method shown in this example, the accurate number of diverted lines and the number of duplicate lines are calculated by a simple algorithm.
(Third example)
FIG. 9 shows another example of the original file 21 and the new file 22. When the original file 21 and the new file 22 are given, the development scale of the new file 22 is measured by the following method.
[0071]
The arithmetic unit 6 calculates the number of lines N in the original file 21.OLDAnd the number of lines N in the new file 22NEWAre counted and stored in the first storage device 8. In the third example, NOLD= 7, NNEW= 5.
[0072]
Referring to FIG. 10, arithmetic unit 6 calculates m1 and m2 for each line of new file 22 in the same procedure as in the first example, and stores the same in first table 31.
[0073]
The first line of the new file 22 is “ABCDEF”. The number of lines “ABCDEF” included in the new file 22 is indicated by m1 = 3. The number of lines “ABCDEF” included in the original file 21 is indicated by m2 = 4.
[0074]
From the above discussion on the third example, the following is shown.
(C) When m2> m1, that is, when m2−m1> 0, the number of lines “ABCDEF” included in the new file 22 is smaller than that in the original file.
(D) The fact that m2 ≠ 0 indicates that the original file 21 includes a line “ABCDEF”.
[0075]
Based on the above (c) and (d), it is determined that the number of lines “ABCDEF” included in the original file 21 in the new file 22 has been reduced.
[0076]
The method of counting the number of reduced rows is derived as follows.
[0077]
The line “ABCDEF” includes four lines in the original file 21 and three lines in the new file 22. From this, it is determined that the new file 22 uses 3 lines of “ABCDEF” of the original file 21 and has reduced 1 line.
[0078]
For each of the lines “ABCDEF” on the first, third and fifth lines of the new file, n2= 1 is assigned. This assignment indicates that the line has been determined to have been diverted from the original file.
[0079]
Calculating the number of reduced rows of "ABCDEF" in each of the first, third and fifth rows of "ABCDEF" of the new file, the calculations will be duplicated three times. By dividing the number of overlaps and reducing the number of reduced rows of “ABCDEF” in each of the first, third, and fifth rows to 1/3, the first, third, and fifth rows Summing the contributions from the eye gives the result that the number of rows reduced is 1/3 + 3 ++ 1 = 1.
[0080]
The expression is as follows. For each row that satisfies the conditions (c) and (d), the arithmetic unit 6 calculates the number of diverted rows as n2= 1 is assigned and stored in the second table 32. The arithmetic unit 6 further calculates n as the reduced number of rows.4= (M2−m1) / m1 and stores it in the second table 32.
[0081]
The number of lines deleted from the original file 21 and no longer existing in the new file 22 is NOLD+ Σn1+ Σn3−Σn4-NNEWIs represented by In the third example, this number is 7 + 0 + 0-1-5 = 1. This number indicates that the line “MNOPQR” in the fourth line of the original file 21 has been deleted and does not exist in the new file.
[0082]
From the calculations described above, when a new file 22 is created from the original file 21 for the third example, the development scale measuring device 1 determines the development scale of the new file 22 by N1, N2, N3And N4,
Number of newly created rows N1≡Σn1= 0,
Number of diverted rows N2≡Σn2= 5,
Number of duplicated rows N3≡Σn3= 0,
Number N of rows reduced4≡Σn4= 1,
Number of deleted rows NOLD+ N1+ N3-N4-NNEW= 1,
Represented by
[0083]
In the result output from the development scale measuring instrument 1, the number N of deleted rows is N.OLD+ Σn1+ Σn3−Σn4-NNEWAnd the number of rows reducedΣn4Is preferably output as the number of deleted rows. In this case, the value output as the number of deleted rows is NOLD+ Σn1+ Σn3-NNEWAnd n4Can be omitted. At this time, the development scale measuring device 1 indicates the development scale of the new file by N1, N2, N3And N4,
Number of newly created rows N1≡Σn1= 0,
Number of diverted rows N2≡Σn2= 5,
Number of duplicated rows N3≡Σn3= 0,
Number of deleted rows NOLD+ N1+ N3-NNEW= 2,
Represented by
[0084]
When a duplicate is assigned to each deleted line as in this example, the correct number of deleted lines and the number of diverted lines are calculated by a simple algorithm.
[0085]
FIG. 11 shows an output screen 40 on which the output device 14 displays the result of measurement of the development scale by the development scale measuring device 1.
(4th example)
FIGS. 12 and 13 are flowcharts showing the operation of the development scale measuring instrument 1 according to the first embodiment.
[0086]
Referring to FIG. 12, arithmetic unit 6 sets n stored in second table 32.1, N2, N3And n4Is set to 0 (step S2).
[0087]
The arithmetic unit 6 reads the original file 21 and the new file 22 from which the development scale measuring device 1 measures the development scale from the storage device 4 (step S4).
[0088]
The arithmetic unit 6 calculates the number N of lines of the original file 21OLDAnd the number of lines N in the new file 22NEWAre stored in the first storage device 8 (step S6).
[0089]
The arithmetic unit 6 sets the first line of the new file 22 as the current line (step S8).
[0090]
The arithmetic unit 6 collates the current line with each line (including the current line itself) of the new file 22, and stores the number of matched lines in the first table 31 as m1 (step S10).
[0091]
The arithmetic unit 6 collates the current line with each line of the original file 21, and stores the number of matched lines as m2 in the first table 31 (step S12).
[0092]
Referring to FIG. 13, arithmetic device 6 sets n when m2 = 0.1= 1 is stored in the second table 32 (step S14). This indicates that the current row has been determined as a newly created row.
[0093]
When m2−m1 = 0, the arithmetic unit 6 calculates n2= 1 is stored in the second table 32 (step S16). This indicates that the current row has been determined as a diverted row.
[0094]
When m2 ≠ 0 and m2−m1 <0, the arithmetic unit 6 sets n2= M2 / m1, n3= (M1-m2) / m1 is stored in the second table 32 (step S18). This indicates that the current row has been determined to be a duplicate row.
[0095]
When m2−m1> 0, the arithmetic unit 6 calculates n2= 1, n4= (M2-m1) / m1 is stored in the second table 32 (step S20). This indicates that the current row has been determined as a reduced row.
[0096]
The arithmetic unit 6 determines whether the current line is the last line of the new file 22 (Step S22). If the current line is not the last line of the new file 22 (step S22 NO), the arithmetic unit 6 resets the current line to the line one line after the new file 22 (step S24), and returns to step S10.
[0097]
When it is determined that the current line is the last line of the new file 22 (step S22 YES), the arithmetic unit 6 sets N1= Σn1, N2= Σn2, N3= Σn3And N4= NOLD+ N1+ N3-NNEWIs calculated and stored in the third storage device 12 (step S26).
[0098]
The arithmetic unit 6 controls the output unit 14 to1Is the number of newly created rows, and N2Is the number of diverted lines, and N3Is the number of duplicate rows, and N4Is output as the number of deleted lines (step S28).
[0099]
The program development scale measuring device 1 has m1, m2, NOLDAnd NNEW, The number of newly created rows N1And the number of diverted lines N2And the number of duplicated rows N3And the number of deleted rows N4Is calculated. m1 and m2 are to match any number of lines included in the new file 22 by the number of lines included in the original file 21 and the number of lines included in the new file 22 for an arbitrary line included in the new file 22. Is calculated by According to such a calculation method, the amount of calculation is small.
[0100]
Further, according to such a program development scale measuring instrument 1, a task of recording a newly created or changed portion in a program whose development scale is to be measured by a programmer is omitted.
[Second embodiment]
[0101]
In order to measure the development scale of the new file 22 created by changing the original file 21, the development scale measuring instrument 1 according to the first embodiment replaces each line of the new file 22 with each line of the new file 22. Each line of the original file 21 was compared. In order to measure the development scale of the new file 22 created by modifying the original file 21, the development scale measuring device 1 according to the second embodiment replaces each line of the original file 21 with each line of the original file 21 and Compare with each line of the new file 22.
[0102]
The configuration of the development scale measuring instrument 1 according to the second embodiment is the same as that of the first embodiment except for the configuration of the first table 31 and the second table 32.
[0103]
Referring to FIG. 2, the first table 31 in the second embodiment has the same drawing as that in the first embodiment, but the objects indicated by row IDs 34, m1, and m2 are different from those in the first embodiment. .
[0104]
The first table 31 collates the line ID 34 identifying each line of the original file with the line of the original file 21 and the line of the original file 21 (including the line itself) for each line of the original file 21. The arithmetic unit 6 compares the line of the original file 21 with the line of the new file, and determines the number of lines m1 which is the number of lines determined to match. The number m2 of rows is stored in association with each other.
[0105]
Referring to FIG. 3, the second table 32 in the second embodiment has the same drawing as that of the first embodiment, but has row IDs 34, n1, N2, N3And n4Is different from the first embodiment.
[0106]
The second table 32 includes a line ID 34 for specifying each line included in the original file 21 and n calculated for each line included in the original file 21 by a procedure described later.1, N2, N3, N4Are stored in association with each other. The second table 32 further includes n1, N2, N3, N4Is the sum of all the lines included in the original file 211, Σn2, Σn3, Σn4Is stored.
[0107]
14 and 15 are flowcharts showing the operation of the development scale measuring device 1 according to the second embodiment.
[0108]
Referring to FIG. 14, arithmetic unit 6 sets n stored in second table 32.1, N2, N3And n4Is set to 0 (step S102).
[0109]
The arithmetic unit 6 reads the original file 21 and the new file 22 from which the development scale measuring device 1 measures the development scale from the storage device 4 (step S104).
[0110]
The arithmetic unit 6 calculates the number N of lines in the original file 21.OLDAnd the number of lines N in the new file 22NEWAre stored in the first storage device 8 (step S106).
[0111]
Arithmetic unit 6 sets the first line of original file 22 as the current line (step S108).
[0112]
Arithmetic unit 6 collates the current line with each line of original file 21 (including the current line itself), and stores the number of matched lines in first table 31 as m1 (step S110).
[0113]
The arithmetic unit 6 collates the current line with each line of the new file 22, and stores the number of matched lines in the first table 31 as m2 (step S112).
[0114]
Referring to FIG. 15, arithmetic device 6 calculates n when m2 = 0.4= 1 is stored in the second table 32 (step S114). This indicates that the current row has been determined as a deleted row.
[0115]
When m2−m1 = 0, the arithmetic unit 6 calculates n2= 1 is stored in the second table 32 (step S116). This indicates that the current row has been determined as a diverted row.
[0116]
When m2 ≠ 0 and m2−m1 <0, the arithmetic unit 6 sets n2= M2 / m1, n4= (M1-m2) / m1 is stored in the second table 32 (step S118). This indicates that the current row has been determined as a reduced row.
[0117]
When m2−m1> 0, the arithmetic unit 6 calculates n2= 1, n3= (M2-m1) / m1 is stored in the second table 32 (step S120). This indicates that the current row has been determined to be a duplicate row.
[0118]
The arithmetic unit 6 determines whether the current line is the last line of the original file 21 (step S122). When the current line is not the last line of the original file 21 (step S122 NO), the arithmetic unit 6 resets the current line to the line one line after the original file 21 (step S124), and returns to step S110.
[0119]
When it is determined that the current line is the last line of the original file 21 (step S122 YES), the arithmetic unit 6 sets N1= NNEW− (NOLD+ N3-N4), N2= Σn2, N3= Σn3And N4= Σn4Is calculated and stored in the third storage device 12 (step S126).
[0120]
The arithmetic unit 6 controls the output unit 14 to1Is the number of newly created rows, and N2Is the number of diverted lines, and N3Is the number of duplicate rows, and N4Is output as the number of deleted rows (step S128).
[0121]
Such a development scale measuring device 1 measures the development scale with a small amount of calculation especially when the number of lines included in the original file 21 is small. Such a development scale measuring device measures the development scale of a program with a small amount of calculation when a greatly enlarged program is developed under a prototype file having a small number of lines.
[0122]
【The invention's effect】
According to the present invention, a development scale measuring device and a development scale measurement program for measuring the development scale of a computer program described in an arbitrary format are provided.
[0123]
Further, according to the present invention, there is provided a development scale measuring instrument and a development scale measurement program which omit a predetermined operation required for a programmer to measure the development scale of a computer program.
[0124]
Further, according to the present invention, the development scale of a new program created by modifying the original program is divided into the number of newly created lines, the number of diverted lines, the number of duplicated lines, and the number of deleted lines. And a development scale measuring program and a development scale measurement program.
[0125]
Further, according to the present invention, there is provided a development scale measuring device and a development scale measurement program with a simple algorithm.
[0126]
Further, according to the present invention, there is provided a development scale measuring device and a development scale measurement program which require a small amount of calculation.
[Brief description of the drawings]
FIG. 1 shows a configuration of a development scale measuring instrument.
FIG. 2 shows a first table.
FIG. 3 shows a second table.
FIG. 4 shows a format.
FIG. 5 is an example of an original file and a new file.
FIG. 6 is a diagram illustrating a method of measuring a development scale.
FIG. 7 is an example of an original file and a new file.
FIG. 8 is a diagram for explaining a method of measuring the development scale.
FIG. 9 is an example of an original file and a new file.
FIG. 10 is a diagram for explaining a method of measuring the development scale.
FIG. 11 is an output screen.
FIG. 12 is a flowchart showing the operation of the development scale measuring device.
FIG. 13 is a flowchart showing the operation of the development scale measuring device.
FIG. 14 is a flowchart showing the operation of the development scale measuring device.
FIG. 15 is a flowchart showing the operation of the development scale measuring device.
[Explanation of symbols]
1: Development scale measuring instrument
4. Storage device
5. Input device
6 arithmetic unit
8. First storage device
10 second storage device
11. Format storage device
12: Third storage device
14 Output device
21: Original file
22… New file
31 ... first table
32: Second table
33 ... Auxiliary table
34 ... line ID
50 ... format
51 ... line
52 ... line number
53… Text

Claims (9)

第1文字列と第2文字列とを入力する入力部と、前記第1文字列と前記第2文字列とは所定のフォーマットによって区切られた複数のレコードを含み、
前記第1文字列が含む前記複数のレコードの各々と前記第2文字列が含む前記複数のレコードの各々とを照合することによって、前記第2文字列から前記第1文字列を開発する際の開発規模を算出する演算部と、
前記算出の結果を出力する出力部と
を具備する、
開発規模測定器。
An input unit for inputting a first character string and a second character string, wherein the first character string and the second character string include a plurality of records separated by a predetermined format;
When comparing the plurality of records included in the first character string with each of the plurality of records included in the second character string, the first character string is developed from the second character string. A calculation unit for calculating the development scale;
An output unit that outputs a result of the calculation,
Development scale measuring instrument.
第1文字列と第2文字列とを入力する入力部と、前記第1文字列と前記第2文字列とは所定のフォーマットによって区切られた複数のレコードを含み、
前記第1文字列が含む前記複数のレコードのうちの各々のレコードRに対して、前記第1文字列に含まれ前記レコードRと同一内容を有するレコードの数m1と前記第2文字列に含まれ前記レコードRと同一内容を有するレコードの数m2とを計算する演算部とを具備し、m1とm2とはRに依存する関数であり、
前記演算部は、m1とm2とを比較することによって前記第2文字列から前記第1文字列を作成する際の開発規模を算出する、
開発規模測定器。
An input unit for inputting a first character string and a second character string, wherein the first character string and the second character string include a plurality of records separated by a predetermined format;
For each record R of the plurality of records included in the first character string, the number m1 of records included in the first character string and having the same content as the record R and included in the second character string An operation unit for calculating the number m2 of records having the same contents as the record R, wherein m1 and m2 are functions dependent on R,
The calculation unit calculates a development scale when creating the first character string from the second character string by comparing m1 and m2,
Development scale measuring instrument.
請求項2において、
前記演算部は更に、前記レコードRに対してm2=0であるとき、m1を新規作成レコード数として算出し、m1>m2であるときm1−m2を複製レコード数として算出し、m2>m1であるときm2−m1を削減レコード数として算出し、m1=m2であるとき、m1を流用レコード数として算出する、
開発規模測定器。
In claim 2,
The calculation unit further calculates m1 as the number of newly created records when m2 = 0 with respect to the record R, and calculates m1-m2 as the number of duplicate records when m1> m2. At some point, m2-m1 is calculated as the number of reduced records, and when m1 = m2, m1 is calculated as the number of diverted records.
Development scale measuring instrument.
請求項1から3のうちのいずれか1項において、
前記第1文字列と前記第2文字列とはコンピュータによって実行可能なプログラムである、
開発規模測定器。
In any one of claims 1 to 3,
The first character string and the second character string are programs executable by a computer,
Development scale measuring instrument.
第1文字列と第2文字列とを入力するステップと、前記第1文字列と前記第2文字列とは所定のフォーマットによって区切られた複数のレコードを含み、
前記第1文字列が含む前記複数のレコードの各々と前記第2文字列が含む前記複数のレコードの各々とを照合することによって、前記第2文字列から前記第1文字列を開発する際の開発規模を算出するステップと、
前記算出の結果を出力するステップと
を具備する方法をコンピュータに実行させる開発規模測定プログラム。
Inputting a first character string and a second character string, wherein the first character string and the second character string include a plurality of records separated by a predetermined format;
When comparing the plurality of records included in the first character string with each of the plurality of records included in the second character string, the first character string is developed from the second character string. Calculating the development scale;
Outputting a result of the calculation to a computer.
第1文字列と第2文字列とを入力するステップと、前記第1文字列と前記第2文字列とは所定のフォーマットによって区切られた複数のレコードを含み、
前記第1文字列が含む前記複数のレコードのうちの各々のレコードRに対して、前記第1文字列に含まれ前記レコードRと同一内容を有するレコードの数m1と前記第2文字列に含まれ前記レコードRと同一内容を有するレコードの数m2とを計算するステップと、m1とm2とはRに依存する関数であり、
m1とm2とを比較することによって前記第2文字列から前記第1文字列を作成する際の開発規模を測定するステップと
を具備する方法をコンピュータに実行させる開発規模測定プログラム。
Inputting a first character string and a second character string, wherein the first character string and the second character string include a plurality of records separated by a predetermined format;
For each record R of the plurality of records included in the first character string, the number m1 of records included in the first character string and having the same content as the record R and included in the second character string Calculating the number m2 of records having the same content as the record R, wherein m1 and m2 are functions dependent on R,
measuring a development scale when the first character string is created from the second character string by comparing m1 and m2 with each other.
請求項6において、
更に、前記レコードRに対してm2=0であるとき、m1を新規作成レコード数として算出するステップと、
前記レコードRに対してm1>m2であるときm1−m2を複製レコード数として算出するステップと、
前記レコードRに対してm2>m1であるときm2−m1を削減レコード数として算出するステップと、
前記レコードRに対して、m1=m2であるとき、m1を流用レコード数として算出するステップと
を具備する方法をコンピュータに実行させる開発規模測定プログラム。
In claim 6,
And calculating m1 as the number of newly created records when m2 = 0 for the record R;
Calculating m1-m2 as the number of duplicate records when m1> m2 for the record R;
Calculating m2-m1 as the number of reduced records when m2> m1 for the record R;
When m1 = m2 for the record R, a step of calculating m1 as the number of diverted records.
第1文字列と第2文字列とを入力するステップと、前記第1文字列と前記第2文字列とは所定のフォーマットによって区切られた複数のレコードを含み、
前記第1文字列が含む前記レコードの数NNEW及び前記第2文字列が含む前記レコードの数NOLDをカウントするステップと、
前記第1文字列が含む複数のレコードのうちの各々のレコードRに対して、前記第1文字列が含む複数のレコードのうちで前記レコードRと同一内容であるレコードの数m1を算出するステップと、
前記第2文字列が含む複数のレコードのうちで前記レコードRと同一内容であるレコードの数m2を算出するステップと、
m2=0であるときn=1とするステップと、nはRに依存する関数であり、
m2−m1=0であるときn=1とするステップと、nはRに依存する関数であり、
m2≠0かつm1>m2であるとき、n=m2/m1かつn=(m1−m2)/m1とするステップと、nはRに依存する関数であり、
m2>m1であるときn=1かつn=(m2−m1)/m1とするステップと、nはRに依存する関数であり、
=Σn、N=Σn、N=Σn、N=NOLD+N+N−NNEWを計算するステップと、Σは前記第1文字列が含む全ての前記レコードについての和を表し、
を新規作成レコード数として表示し、Nを流用レコード数として表示し、Nを複製レコード数として表示し、Nを削除レコード数として表示するステップと
を具備する方法をコンピュータに実行させる開発規模測定プログラム。
Inputting a first character string and a second character string, wherein the first character string and the second character string include a plurality of records separated by a predetermined format;
Counting the number N NEW of the records included in the first character string and the number N OLD of the records included in the second character string;
Calculating, for each record R among the plurality of records included in the first character string, the number m1 of records having the same content as the record R among the plurality of records included in the first character string; When,
Calculating a number m2 of records having the same content as the record R among a plurality of records included in the second character string;
a step of setting n 1 = 1 when m2 = 0, and n 1 is a function depending on R,
a step of setting n 2 = 1 when m 2 −m 1 = 0, and n 2 is a function depending on R,
When m @ 2 ≠ 0 and m1> m @ 2, and steps to n 2 = m2 / m1 and n 3 = (m1-m2) / m1, n 3 is a function that depends on R,
the method comprising the n 2 = 1 and n 4 = (m2-m1) / m1 when a m2> m1, n 4 is a function that depends on R,
Calculating N 1 = Σn 1 , N 2 = Σn 2 , N 3 = Σn 3 , N 4 = N OLD + N 1 + N 3 -N NEW ; Σ is for all the records included in the first character string Represents the sum of
Displaying N 1 as the number of newly created records, displaying N 2 as the number of diverted records, displaying N 3 as the number of duplicate records, and displaying N 4 as the number of deleted records. Development scale measurement program.
請求項5から8のうちのいずれか1項において、
前記第1文字列と前記第2文字列とはコンピュータによって実行可能なプログラムである、
開発規模測定プログラム。
In any one of claims 5 to 8,
The first character string and the second character string are programs executable by a computer,
Development scale measurement program.
JP2003008233A 2003-01-16 2003-01-16 Development scale measuring instrument Expired - Fee Related JP4063680B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003008233A JP4063680B2 (en) 2003-01-16 2003-01-16 Development scale measuring instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003008233A JP4063680B2 (en) 2003-01-16 2003-01-16 Development scale measuring instrument

Publications (2)

Publication Number Publication Date
JP2004220411A true JP2004220411A (en) 2004-08-05
JP4063680B2 JP4063680B2 (en) 2008-03-19

Family

ID=32898095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003008233A Expired - Fee Related JP4063680B2 (en) 2003-01-16 2003-01-16 Development scale measuring instrument

Country Status (1)

Country Link
JP (1) JP4063680B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008123343A (en) * 2006-11-14 2008-05-29 Sharp Corp Software differential measurement device, software differential measurement program, and recording medium recording it

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008123343A (en) * 2006-11-14 2008-05-29 Sharp Corp Software differential measurement device, software differential measurement program, and recording medium recording it

Also Published As

Publication number Publication date
JP4063680B2 (en) 2008-03-19

Similar Documents

Publication Publication Date Title
Gardener Statistics for ecologists using R and Excel: data collection, exploration, analysis and presentation
KR102214297B1 (en) Conditional validation rules
CN110738037B (en) Method, apparatus, device and storage medium for automatically generating electronic form
US6869018B2 (en) Transcript management software and methods therefor
US9037550B2 (en) Detecting inconsistent data records
US7689578B2 (en) Dealing with annotation versioning through multiple versioning policies and management thereof
US7392243B2 (en) Using permanent identifiers in documents for change management
US11567995B2 (en) Branch threading in graph databases
JP2973913B2 (en) Input sheet system
US9116934B2 (en) Holistic database record repair
CN105824792B (en) Text comparison method and equipment
JP2010015458A (en) Program correction support system, program correction support method, and program correction support program
JP2004157927A (en) Creating system for business form input, creating program and creating method
JP2004220411A (en) Development scale meter
US7987203B2 (en) Method of processing data for a system model
US9953021B2 (en) Completeness in dependency networks
CN112560952A (en) Supplier assessment method and device, electronic equipment and storage medium
US7613709B2 (en) System and method for editing operations of a text object model
JP3567299B2 (en) Graph generation output device
JP7531254B1 (en) Program and method for generating data for generating flowcharts from source code
JP5337754B2 (en) Development support equipment
Hintze Quick start manual
JP2010061610A (en) Development scale calculation method, information processor, and program
EP1816572A1 (en) Time sharing managing device, document creating device, document reading device, time sharing managing method, document creating method, and document reading method
JP2023112454A (en) Information processing device, information processing method, and program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071023

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: 20071204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071225

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4063680

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110111

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110111

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120111

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130111

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130111

Year of fee payment: 5

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees