(57)【要約】【課題】本発明は、新たなソフトウェア開発工数見積もり技術の提供を目的とする。【解決手段】予め用意される複数のサービスで実行される業務機能について、どのサービスがその業務機能を実行するのかという情報と、どのサービス項目で実行するのかという情報と、それらの情報に対応付けて定義されるソフトウェアの改造規模の情報とを記憶する手段と、それらのサービスで提供するサービス項目の一覧情報に対応付ける形で記述されて、ユーザの要求するサービスがどれで、どのサービス項目を改造するのかということについて記述する情報を入力する手段と、入力した情報に基づいて、ユーザの要求するサービスを実現するために、そのサービスのどのサービス項目を改造する必要があるのかを検出する手段と、検出した情報に従って記憶手段を参照することでソフトウェア改造規模の情報を取得して、それに基づいて改造工数を見積もる手段とを備えるように構成する。【選択図】図１
2007323226.tif 000002
【特許請求の範囲】
【請求項１】
複数のサービスの実現に用いられるソフトウェアが予め用意される場合に、ユーザの要求するサービスの実現に用いられるソフトウェアの開発工数を見積もる装置であって、
前記複数のサービスで実行される業務機能について、どのサービスがその業務機能を実行するのかという情報と、どのサービス項目で実行するのかという情報と、それらの情報に対応付けて定義されるソフトウェアの改造規模の情報とを記憶する記憶手段と、
前記複数のサービスで提供するサービス項目の一覧情報に対応付ける形で記述されて、ユーザの要求するサービスがどれであるのかということと、そのサービスで提供するサービス項目の内のどれを改造する必要があるのかということについて記述する情報を入力する入力手段と、
前記入力した情報に基づいて、ユーザの要求するサービスを実現するために、そのサービスのどのサービス項目を改造する必要があるのかを検出する検出手段と、
前記検出した情報に従って前記記憶手段の記憶情報を参照することで、ユーザの要求するサービスを実現するために必要となるソフトウェア改造規模の情報を取得して、それに基づいてソフトウェアの改造工数を見積もる見積手段とを備えることを、
特徴とするソフトウェア開発工数見積装置。
【請求項２】
複数のサービスの実現に用いられるソフトウェアが予め用意される場合に、ユーザの要求するサービスの実現に用いられるソフトウェアの開発工数を見積もる装置であって、
前記複数のサービスで実行される業務機能について、どのサービスがその業務機能を実行するのかという情報と、その情報に対応付けて定義されるソフトウェアの改造規模の情報とを記憶する記憶手段と、
前記複数のサービスのそれぞれで実行される一連の業務機能の情報に対応付ける形で記述されて、ユーザの要求するサービスがどれであるのかということと、そのサービスで実行される業務機能の内のどれを改造する必要があるのかということについて記述する情報を入力する入力手段と、
前記入力した情報に基づいて、ユーザの要求するサービスを実現するために、そのサービスで実行されるどの業務機能を改造する必要があるのかを検出する検出手段と、
前記検出した情報に従って前記記憶手段の記憶情報を参照することで、ユーザの要求するサービスを実現するために必要となるソフトウェア改造規模の情報を取得して、それに基づいてソフトウェアの改造工数を見積もる見積手段とを備えることを、
特徴とするソフトウェア開発工数見積装置。
【請求項３】
複数のサービスの実現に用いられるソフトウェアが予め用意される場合に、ユーザの要求するサービスの実現に用いられるソフトウェアの開発工数を見積もる装置であって、
前記複数のサービスで実行される業務機能について、その業務機能で作成する帳票としてどのようなものがあるのかという情報と、その帳票の作成条件の情報と、それらの情報に対応付けて定義されるソフトウェアの改造規模の情報とを記憶する記憶手段と、
前記複数のサービスで作成する帳票の作成条件の情報に対応付ける形で記述されて、ユーザの要求する帳票がどれであるのかということと、その帳票の作成条件の内のどれを改造する必要があるのかということについて記述する情報を入力する入力手段と、
前記入力した情報に基づいて、ユーザの要求する帳票の作成を実現するために、その帳票のどの作成条件を改造する必要があるのかを検出する検出手段と、
前記検出した情報に従って前記記憶手段の記憶情報を参照することで、ユーザの要求する帳票の作成を実現するために必要となるソフトウェア改造規模の情報を取得して、それに基づいてソフトウェアの改造工数を見積もる見積手段とを備えることを、
特徴とするソフトウェア開発工数見積装置。
【請求項４】
複数のサービスの実現に用いられるソフトウェアが予め用意される場合に、ユーザの要求するサービスの実現に用いられるソフトウェアの開発工数を見積もる装置であって、
前記複数のサービスで実行される業務機能について、どのサービスがその業務機能を実行するのかという情報と、その情報に対応付けて定義されるソフトウェアの改造規模の情報とを記憶する第１の記憶手段と、
前記複数のサービスのそれぞれで実行される一連の業務機能の情報に対応付ける形で記述されて、ユーザの要求するサービスがどれであるのかということと、そのサービスで実行される業務機能の内のどれを改造する必要があるのかということについて記述する情報を入力する第１の入力手段と、
前記入力した情報に基づいて、ユーザの要求するサービスを実現するために、そのサービスで実行されるどの業務機能を改造する必要があるのかを検出する第１の検出手段と、
前記検出した情報に従って前記第１の記憶手段の記憶情報を参照することで、ユーザの要求するサービスを実現するために必要となるソフトウェア改造規模の情報を取得して、それに基づいてソフトウェアの改造工数を見積もる第１の見積手段と、
前記複数のサービスで実行される業務機能について、その業務機能で作成する帳票としてどのようなものがあるのかという情報と、その帳票の作成条件の情報と、それらの情報に対応付けて定義されるソフトウェアの改造規模の情報とを記憶する第２の記憶手段と、
前記複数のサービスで作成する帳票の作成条件の情報に対応付ける形で記述されて、ユーザの要求する帳票がどれであるのかということと、その帳票の作成条件の内のどれを改造する必要があるのかということについて記述する情報を入力する第２の入力手段と、
前記入力した情報に基づいて、ユーザの要求する帳票の作成を実現するために、その帳票のどの作成条件を改造する必要があるのかを検出する第２の検出手段と、
前記検出した情報に従って前記第２の記憶手段の記憶情報を参照することで、ユーザの要求する帳票の作成を実現するために必要となるソフトウェア改造規模の情報を取得して、それに基づいてソフトウェアの改造工数を見積もる第２の見積手段とを備えることを、
特徴とするソフトウェア開発工数見積装置。
【請求項５】
請求項１ないし４のいずれか１項に記載のソフトウェア開発工数見積装置において、
前記見積手段は、前記取得したソフトウェア改造規模の情報をそのソフトウェアの母体規模で補正したものを用いて、そのソフトウェアの改造工数を見積もることを、
特徴とするソフトウェア開発工数見積装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの要求するサービスの実現に用いられるソフトウェアの開発工数を見積もるソフトウェア開発工数見積装置に関する。
【背景技術】
【０００２】
あるサービスを提供している企業からの依頼を受けて、その企業の提供しているサービスを実現するソフトウェアを開発する場合、標準となるソフトウェアのパッケージを予め開発しておいて、それをカスタマイズしていくことにより、その企業の要求するソフトウェアを開発するという方法が用いられている。
【０００３】
このような場合、そのカスタマイズに要する工数を見積もることで、ソフトウェアの開発工数を見積もる必要がでてくる。
【０００４】
これまで、このようなソフトウェアの開発工数の見積もりは、そのソフトウェアを開発する設計者の経験に委ねられていた。
【０００５】
一方、ソフトウェアの開発工数を見積もるためには、ソフトウェアの規模を測定する必要がある。ソフトウェアの規模を測定する方法として、プログラムの行数を数える方法（ＬＯＣ法：Lines of Code)と、ソフトウェアの持つ機能を数える方法（ＦＰ法：ファンクションポイント法）とが知られている。
【０００６】
これらの方法を用いることで、ソフトウェアの規模を測定することが可能であることから、これらの方法を用いることで、ソフトウェアの開発工数を見積もることも行われている。
【０００７】
しかしながら、これまでに行われているＬＯＣ法やＦＰ法を使ったソフトウェアの開発工数の見積もりは、新規に開発するソフトウェアを見積対象としており、開発済みのソフトウェアの改造を見積対象としているものではない。
【０００８】
これから、これまでの従来技術に従っていると、標準となるソフトウェアのパッケージを予め開発しておいて、それをカスタマイズしていくことにより、ユーザの要求するソフトウェアを開発するという方法を用いる場合に、その開発工数を自動的に見積もることができないという問題がある。
【０００９】
このようなことを背景にして、既存のソフトウェアを再利用する場合に、ＦＰ法を使って、その見積もりを行うという発明が開示されている（例えば、特許文献１参照）。
【特許文献１】特開２００５−２６６９８７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ソフトウェアの規模を測定する方法として、ＬＯＣ法よりもＦＰ法の方が用いられるようになってきている。
【００１１】
これは、ソフトウェアの開発形態がメインフレームからクライアントサーバに移ってきている中で、プログラムレベルでは、開発方法が手続き（コード）記述ベースからビジュアル開発ツールベースにシフトしてきているためである。
【００１２】
しかしながら、ユーザと打ち合わせることで開発するソフトウェアの仕様を決めていくような場合には、ＦＰ法の扱うソフトウェア規模算出の基になるような機能よりも、ユーザがどのような業務機能を要求しているのかによりソフトウェアの開発工数が大きく左右されることになる。
【００１３】
これから、標準となるソフトウェアのパッケージを予め開発しておいて、それをカスタマイズしていくことにより、ユーザの要求するソフトウェアを開発するという方法を用いる場合には、ＦＰ法よりもＬＯＣ法を用いてソフトウェアの開発工数を見積もる方のが適切であると考えられる。
【００１４】
しかしながら、これまでに行われているＬＯＣ法を使ったソフトウェアの開発工数の見積もりは、新規に開発するソフトウェアを見積対象としており、開発済みのソフトウェアの改造を見積対象としているものではない。
【００１５】
本発明はかかる事情に鑑みてなされたものであって、標準となるソフトウェアのパッケージを予め開発しておいて、それをカスタマイズしていくことにより、ユーザの要求するソフトウェアを開発するという方法を用いる場合に、ユーザの要求するソフトウェアの開発工数を自動的かつ高精度に見積もることができるようにする新たなソフトウェア開発工数見積技術の提供を目的とする。
【課題を解決するための手段】
【００１６】
〔１〕第１の発明
前述の目的を達成するために、本発明のソフトウェア開発工数見積装置は、複数のサービスの実現に用いられるソフトウェアが予め用意される場合にあって、ユーザの要求するサービスの実現に用いられるソフトウェアの開発工数を見積もることを実現するために、（１）予め用意される複数のサービスで実行される業務機能について、どのサービスがその業務機能を実行するのかという情報と、どのサービス項目で実行するのかという情報と、それらの情報に対応付けて定義されるソフトウェアの改造規模の情報とを記憶する記憶手段と、（２）予め用意される複数のサービスで提供するサービス項目の一覧情報に対応付ける形で記述されて、ユーザの要求するサービスがどれであるのかということと、そのサービスで提供するサービス項目の内のどれを改造する必要があるのかということについて記述する情報を入力する入力手段と、（３）入力手段の入力した情報に基づいて、ユーザの要求するサービスを実現するために、そのサービスのどのサービス項目を改造する必要があるのかを検出する検出手段と、（４）検出手段の検出した情報に従って記憶手段の記憶情報を参照することで、ユーザの要求するサービスを実現するために必要となるソフトウェア改造規模の情報を取得して、それに基づいてソフトウェアの改造工数を見積もる見積手段とを備えるように構成する。
【００１７】
この構成を採るときにあって、見積手段は、記憶手段から取得したソフトウェア改造規模の情報をそのソフトウェアの母体規模で補正したものを用いて、そのソフトウェアの改造工数を見積もるように処理することがある。
【００１８】
ソフトウェアの改造規模を決める場合、ソフトウェアの母体規模を考慮した形でその改造規模の大きさを決めるよりも、ソフトウェアの母体規模を考慮しない形でその改造規模の大きさを決める方のが簡単である。しかし、それではソフトウェアの母体規模を考慮していないことから精度が劣ることになる。そこで、記憶手段にはソフトウェアの母体規模を考慮しない形で決めた改造規模の情報を記憶しておいて、見積手段がソフトウェアの母体規模を使ってそれを補正するようにしているのである。
【００１９】
ここで、以上の各処理手段はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当なコンピュータ読み取り可能な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてＣＰＵなどの制御手段上で動作することにより本発明を実現することになる。
【００２０】
このように構成される本発明のソフトウェア開発工数見積装置では、予め用意される複数のサービスで提供するサービス項目の一覧情報に対応付ける形で記述されて、ユーザの要求するサービスがどれであるのかということと、そのサービスで提供するサービス項目の内のどれを改造する必要があるのかということについて記述する情報を入力すると、その入力した情報を解析することで、ユーザの要求するサービスを実現するために、そのサービスのどのサービス項目を改造する必要があるのかを検出することができる。
【００２１】
これから、その入力した情報に基づいて、ユーザの要求するサービスを実現するために、そのサービスのどのサービス項目を改造する必要があるのかを検出して、その検出したサービス・サービス項目の情報をキーにして記憶手段の記憶情報を参照することで、ユーザの要求するサービスを実現するために必要となるソフトウェアの改造規模の情報をリストアップして、それらを累計することで、ユーザの要求するサービスを実現するために必要となるソフトウェア改造規模の情報を取得して、それに基づいてソフトウェアの改造工数を見積もる。
【００２２】
このようにして、本発明のソフトウェア開発工数見積装置によれば、ユーザが予め用意される複数のサービスで提供するサービス項目の情報に基づいて、どういうサービスを要求し、そのサービスで提供するサービス項目の内のどれを改造する必要があるのかということを入力するだけで、ユーザの要求するサービスの実現に用いられるソフトウェアの開発工数を見積もることができるようになることから、ユーザの要求するサービスの実現に用いられるソフトウェアの開発工数を自動的に見積もることができるようになる。
【００２３】
しかも、既に開発されているソフトウェアを改造するという形態でソフトウェアの開発を行うことを前提として、ソフトウェアの開発工数を見積もることから、ユーザの要求するサービスの実現に用いられるソフトウェアの開発工数を高精度に見積もることができるようになる。
【００２４】
〔２〕第２の発明
前述の目的を達成するために、本発明のソフトウェア開発工数見積装置は、複数のサービスの実現に用いられるソフトウェアが予め用意される場合にあって、ユーザの要求するサービスの実現に用いられるソフトウェアの開発工数を見積もることを実現するために、（１）予め用意される複数のサービスで実行される業務機能について、どのサービスがその業務機能を実行するのかという情報と、その情報に対応付けて定義されるソフトウェアの改造規模の情報とを記憶する記憶手段と、（２）予め用意される複数のサービスのそれぞれで実行される一連の業務機能の情報に対応付ける形で記述されて、ユーザの要求するサービスがどれであるのかということと、そのサービスで実行される業務機能の内のどれを改造する必要があるのかということについて記述する情報を入力する入力手段と、（３）入力手段の入力した情報に基づいて、ユーザの要求するサービスを実現するために、そのサービスで実行されるどの業務機能を改造する必要があるのかを検出する検出手段と、（４）検出手段の検出した情報に従って記憶手段の記憶情報を参照することで、ユーザの要求するサービスを実現するために必要となるソフトウェア改造規模の情報を取得して、それに基づいてソフトウェアの改造工数を見積もる見積手段とを備えるように構成する。
【００２５】
この構成を採るときにあって、見積手段は、記憶手段から取得したソフトウェア改造規模の情報をそのソフトウェアの母体規模で補正したものを用いて、そのソフトウェアの改造工数を見積もるように処理することがある。
【００２６】
ソフトウェアの改造規模を決める場合、ソフトウェアの母体規模を考慮した形でその改造規模の大きさを決めるよりも、ソフトウェアの母体規模を考慮しない形でその改造規模の大きさを決める方のが簡単である。しかし、それではソフトウェアの母体規模を考慮していないことから精度が劣ることになる。そこで、記憶手段にはソフトウェアの母体規模を考慮しない形で決めた改造規模の情報を記憶しておいて、見積手段がソフトウェアの母体規模を使ってそれを補正するようにしているのである。
【００２７】
ここで、以上の各処理手段はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当なコンピュータ読み取り可能な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてＣＰＵなどの制御手段上で動作することにより本発明を実現することになる。
【００２８】
このように構成される本発明のソフトウェア開発工数見積装置では、予め用意される複数のサービスのそれぞれで実行される一連の業務機能の情報に対応付ける形で記述されて、ユーザの要求するサービスがどれであるのかということと、そのサービスで実行される業務機能の内のどれを改造する必要があるのかということについて記述する情報を入力すると、その入力した情報を解析することで、ユーザの要求するサービスを実現するために、そのサービスで実行されるどの業務機能を改造する必要があるのかを検出することができる。
【００２９】
これから、その入力した情報に基づいて、ユーザの要求するサービスを実現するために、そのサービスで実行されるどの業務機能を改造する必要があるのかを検出して、その検出したサービス・業務機能の情報をキーにして記憶手段の記憶情報を参照することで、ユーザの要求するサービスを実現するために必要となるソフトウェアの改造規模の情報をリストアップして、それらを累計することで、ユーザの要求するサービスを実現するために必要となるソフトウェア改造規模の情報を取得して、それに基づいてソフトウェアの改造工数を見積もる。
【００３０】
このようにして、本発明のソフトウェア開発工数見積装置によれば、ユーザが予め用意される複数のサービスのそれぞれで実行される一連の業務機能の情報に基づいて、どういうサービスを要求し、そのサービスで実行される業務機能の内のどれを改造する必要があるのかということを入力するだけで、ユーザの要求するサービスの実現に用いられるソフトウェアの開発工数を見積もることができるようになることから、ユーザの要求するサービスの実現に用いられるソフトウェアの開発工数を自動的に見積もることができるようになる。
【００３１】
しかも、既に開発されているソフトウェアを改造するという形態でソフトウェアの開発を行うことを前提として、ソフトウェアの開発工数を見積もることから、ユーザの要求するサービスの実現に用いられるソフトウェアの開発工数を高精度に見積もることができるようになる。
【００３２】
ここで、前述した第１の発明に従う場合、ユーザは、自分の要求するサービスについて、どのサービス項目を改造するのかを入力していくだけでよいことから、その入力が簡単になるものの、そのサービス項目を提供する業務機能の中には、ユーザの要求するサービスで実行されないものもあることで、ソフトウェアの開発工数の見積もりの精度が十分でないことが起こる。
【００３３】
これに対して、この第２の発明に従う場合には、ユーザは、自分の要求するサービスについて、そのサービスで実行される一連の業務機能を理解して、その中から、どの業務機能を改造するのかを入力していかなくてはならないことから、その入力に手間がかかるものの、ユーザの要求するサービスで実行される業務機能のみを抽出して見積もりを行うことから、ソフトウェアの開発工数を高精度に見積もることができるようになる。
【００３４】
〔３〕第３の発明
前述の目的を達成するために、本発明のソフトウェア開発工数見積装置は、複数のサービスの実現に用いられるソフトウェアが予め用意される場合にあって、ユーザの要求するサービスの実現に用いられるソフトウェアの開発工数を見積もることを実現するために、（１）予め用意される複数のサービスで実行される業務機能について、その業務機能で作成する帳票としてどのようなものがあるのかという情報と、その帳票の作成条件の情報と、それらの情報に対応付けて定義されるソフトウェアの改造規模の情報とを記憶する記憶手段と、（２）予め用意される複数のサービスで作成する帳票の作成条件の情報に対応付ける形で記述されて、ユーザの要求する帳票がどれであるのかということと、その帳票の作成条件の内のどれを改造する必要があるのかということについて記述する情報を入力する入力手段と、（３）入力手段の入力した情報に基づいて、ユーザの要求する帳票の作成を実現するために、その帳票のどの作成条件を改造する必要があるのかを検出する検出手段と、（４）検出手段の検出した情報に従って記憶手段の記憶情報を参照することで、ユーザの要求する帳票の作成を実現するために必要となるソフトウェア改造規模の情報を取得して、それに基づいてソフトウェアの改造工数を見積もる見積手段とを備えるように構成する。
【００３５】
この構成を採るときにあって、見積手段は、記憶手段から取得したソフトウェア改造規模の情報をそのソフトウェアの母体規模で補正したものを用いて、そのソフトウェアの改造工数を見積もるように処理することがある。
【００３６】
ソフトウェアの改造規模を決める場合、ソフトウェアの母体規模を考慮した形でその改造規模の大きさを決めるよりも、ソフトウェアの母体規模を考慮しない形でその改造規模の大きさを決める方のが簡単である。しかし、それではソフトウェアの母体規模を考慮していないことから精度が劣ることになる。そこで、記憶手段にはソフトウェアの母体規模を考慮しない形で決めた改造規模の情報を記憶しておいて、見積手段がソフトウェアの母体規模を使ってそれを補正するようにしているのである。
【００３７】
ここで、以上の各処理手段はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当なコンピュータ読み取り可能な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてＣＰＵなどの制御手段上で動作することにより本発明を実現することになる。
【００３８】
このように構成される本発明のソフトウェア開発工数見積装置では、予め用意される複数のサービスで作成する帳票の作成条件の情報に対応付ける形で記述されて、ユーザの要求する帳票がどれであるのかということと、その帳票の作成条件の内のどれを改造する必要があるのかということについて記述する情報を入力すると、その入力した情報を解析することで、ユーザの要求する帳票の作成を実現するために、その帳票のどの作成条件を改造する必要があるのかを検出することができる。
【００３９】
これから、その入力した情報に基づいて、ユーザの要求する帳票の作成を実現するために、その帳票のどの作成条件を改造する必要があるのかを検出して、その検出した帳票・帳票作成条件の情報をキーにして記憶手段の記憶情報を参照することで、ユーザの要求する帳票の作成を実現するために必要となるソフトウェアの改造規模の情報をリストアップして、それらを累計することで、ユーザの要求する帳票の作成を実現するために必要となるソフトウェア改造規模の情報を取得して、それに基づいてソフトウェアの改造工数を見積もる。
【００４０】
このようにして、本発明のソフトウェア開発工数見積装置によれば、ユーザが予め用意される複数のサービスで作成する帳票の作成条件の情報に基づいて、どういう帳票の作成を要求し、その帳票の作成条件の内のどれを改造する必要があるのかということを入力するだけで、ユーザの要求する帳票の作成の実現に用いられるソフトウェアの開発工数を見積もることができるようになることから、ユーザの要求する帳票の作成の実現に用いられるソフトウェアの開発工数を自動的に見積もることができるようになる。
【００４１】
しかも、既に開発されているソフトウェアを改造するという形態でソフトウェアの開発を行うことを前提として、ソフトウェアの開発工数を見積もることから、ユーザの要求する帳票の作成の実現に用いられるソフトウェアの開発工数を高精度に見積もることができるようになる。
【００４２】
ここで、この第３の発明では、ユーザの要求する帳票を特定して、それを見積対象として見積もりを行うことから、前述した第２の発明と同様に、ユーザの要求する帳票の作成を実現するために必要となるソフトウェアの開発工数を高精度に見積もることができるようになる。
【００４３】
これから、本発明のソフトウェア開発工数見積装置として、前述した第２の発明とこの第３の発明の両方を備えるという構成を採ることで、ユーザの要求する帳票の作成の実現に用いられるソフトウェアを含めた形で、ユーザの要求するサービスの実現に用いられるソフトウェアの開発工数を高精度に見積もることができるようになる。
【００４４】
前述した第２の発明では、業務機能の流れ（オンライン業務機能＋バッチ業務機能）という観点に立って、帳票作成機能を除いた業務機能についてのソフトウェアの開発工数を見積もるようにしており、この第３の発明では、帳票作成機能についてのソフトウェアの開発工数を見積もるようにしているので、帳票作成機能を含む業務機能についてのソフトウェアの開発工数を見積もる場合には、本発明のソフトウェア開発工数見積装置として、前述した第２の発明とこの第３の発明の両方を備えるという構成を採ることになる。
【発明の効果】
【００４５】
本発明によれば、標準となるソフトウェアのパッケージを予め開発しておいて、それをカスタマイズしていくことにより、ユーザの要求するソフトウェアを開発するという方法を用いる場合に、ユーザの要求するソフトウェアの開発工数を自動的かつ高精度に見積もることができるようになる。
【発明を実施するための最良の形態】
【００４６】
以下、リース業向けのシステムを構築するソフトウェアの開発工数の見積もりに適用した実施の形態に従って、本発明を詳細に説明する。
【００４７】
リース業を営む企業は、リース業の他にも、レンタル業や割賦業や支払委託業や保守代理回収業など様々な業務を営むことが多い。また、リース業にも、単独でリースを行う場合や、複数の企業と協調して企業名をオープンにする形でリースを行う場合や、複数の企業と協調して企業名をブラインドにする形でリースを行う場合など様々な形態があり、さらに、オープン協調やブラインド協調でリースを行う場合にも、幹事会社となるのか非幹事会社といったように様々な形態がある。
【００４８】
ソフトウェアの開発会社は、このようなリース業を営む企業から、リース業向けのシステムを構築するソフトウェアの開発を要求されることになる。
【００４９】
このような要求に対処するために、ソフトウェアの開発会社は、リース業向けの標準となるソフトウェアのパッケージを予め開発しておいて、それをカスタマイズしていくことにより、リース業を営む企業の要求するシステムの構築に用いられるソフトウェアを開発するようにしている。
【００５０】
図１に、このようなソフトウェア開発の際に必要となるソフトウェア開発工数の見積もりを実現する本発明のソフトウェア開発工数見積装置１の一実施形態例を図示する。
【００５１】
この図に示すように、本発明のソフトウェア開発工数見積装置１は、リース業を営む企業の要求するシステムの構築に用いられるソフトウェアの開発工数の見積もりを行うために、リース商品定義チェックシート１００を入力として、モデリング改造ステップファイル１０と、改造作業工数見積ファイル１１と、入力部１２と、リース商品定義解析部１３と、リース商品定義解析結果保存部１４と、改造作業工数見積部１５と、見積結果保存部１６と、見積結果出力部１７とを備える。
【００５２】
このリース商品定義チェックシート１００は、リース業向けに開発された標準ソフトウェアのパッケージがどのようなリース業サービスを実現し、さらに、それらのリース業サービスにおけるどのようなサービス項目を実現しているのかということについて示す情報を記載するものであり、ソフトウェア開発工数の見積もりを依頼するリース業を営む企業に対して、このリース商品定義チェックシート１００を例えば電子データの形で配付して、どのリース業サービスを見積対象とするのかということと、それらのリース業サービスにおけるどのサービス項目を変更する必要があるのかということについて記入させて回収することにより、その企業の必要とするソフトウェアがどのようなものであるのかという情報を取得するために用意される。
【００５３】
図２に、リース商品定義チェックシート１００のデータ構造の一例を図示する。
【００５４】
この図に示すリース商品定義チェックシート１００は、リース業を営む企業が取り扱う可能性のある契約種類名称（リース業サービスの種類に相当するもので、これらのリース業サービスについては標準ソフトウェアのパッケージが用意されている）に対応付けて、その契約種類の商品定義（リース業サービス）を見積対象とするのか否かについての記入欄となる見積可否チェックマーク記入欄（図中に示すα）と、その契約種類の商品定義番号と、その契約種類の商品定義で提供される可能性のある商品項目（インデックス番号が割り付けられている）の一覧情報と、それらの商品項目に対応付けて設けられて、標準ソフトウェアのパッケージで用意されているその商品項目についてのソフトウェア部分を変更する必要があるのか否かについての記入欄となるカスタマイズ用チェックマーク記入欄（図中に示すβ）とについて記載する。
【００５５】
例えば、リース（単独）という商品定義を実現する標準ソフトウェアのパッケージでは、インデックス番号が“01”の営業評価対象や、インデックス番号が“02”の採算計算対象や、インデックス番号が“03”の固定資産申告などの商品項目については“Ｙ”を記録することで実現しているということについて記載し、そして、インデックス番号が“04”の固定資産申告精算区分（固申精算区分）などの商品項目については“−”を記録することで本来的に必要のないものであるということについて記載するとともに、それらの商品項目に対応付けて空白のカスタマイズ用チェックマーク記入欄を記載するのである。
【００５６】
なお、売上計上基準などにはａ，ｂ，ｃ，ｄなどを記載しているが、これは売上計上基準などには色々なやり方があるので、それを識別するためのものである。また、これらの商品項目がどのようなものを意味しているのかということについては、別途説明するようにしている。
【００５７】
ソフトウェア開発工数の見積もりを依頼するリース業を営む企業は、このようなリース商品定義チェックシート１００が配付されると、見積対象となる商品定義に対応付けて設けられている見積可否チェックマーク記入欄にチェックマークを記入するとともに、見積対象となる商品定義で提供されている商品項目の内の変更を要する商品項目に対応付けて設けられるカスタマイズ用チェックマーク記入欄にチェックマークを記入することで、自企業の必要とするソフトウェアがどのようなものであるのかという情報を記載して、配付元のソフトウェア開発会社に知らせることになる。
【００５８】
なお、リース商品定義チェックシート１００に“−”が記録されている商品項目については、本来的に必要のない商品項目であるので、通常の場合、この“−”が記録されている商品項目のカスタマイズ用チェックマーク記入欄にチェックマークが記入されることは起こらない。また、図２に示すリース商品定義チェックシート１００では記載していないが、“Ｙ”や“−”の他に、商品項目を実現していないことを示す“Ｎ”が記載されることがある。
【００５９】
次に、モデリング改造ステップファイル１０について説明する。
【００６０】
モデリング改造ステップファイル１０は、商品定義で実行される各業務機能について、その業務機能がどの商品定義のどの商品項目で実行されることになるのかということについての情報を管理するとともに、その業務機能を変更する場合に必要となるソフトウェアの改造規模の大きさの情報を管理する。
【００６１】
図３に、モデリング改造ステップファイル１０のデータ構造の一例を図示する。
【００６２】
この図に示すように、モデリング改造ステップファイル１０は、商品定義で実行される各業務機能について、その業務番号に対応付けて、商品定義番号及び商品項目のインデックス番号を管理することで、その業務機能がどの商品定義のどの商品項目で実行されることになるのかということについての情報を管理するとともに、それらの商品定義番号及び商品項目のインデックス番号に対応付けてソフトウェア（プログラム）の改造規模のステップ数を管理することで、その業務機能を変更する場合に必要となるソフトウェアの改造規模の大きさの情報を管理する。
【００６３】
例えば、業務番号が“３”の「“顧客管理”−“取引先管理”−“グループ登録／修正”」という業務機能については、商品定義番号が“S5501L00”という商品定義（図２に示すようにリース（単独）という商品定義）の、インデックス番号が“25”の商品項目（図２に示すように原価計上基準・減価償却費用ａという商品項目）で実行されることになるということを管理するとともに、その業務機能を変更する場合に必要となるソフトウェアの改造規模は２００ステップであるということを管理するのである。
【００６４】
次に、改造作業工数見積ファイル１１について説明する。
【００６５】
改造作業工数見積ファイル１１は、改造作業工数見積部１５の作業領域として用意されて、改造作業工数見積部１５が処理を進めていく途中で求めたデータを記録するためのものとして用いられる。
【００６６】
図４に、改造作業工数見積ファイル１１のデータ構造の一例を図示する。
【００６７】
この図に示すように、改造作業工数見積ファイル１１は、商品定義で実行される各業務機能について、その業務番号（モデリング改造ステップファイル１０の管理する業務番号と同じもの）に対応付けて、その業務機能を実現するソフトウェアの持つ画面／帳票数の情報と、その業務機能を実現するソフトウェアの母体規模の情報（ステップ数）とを管理するとともに、改造作業工数見積部１５のための作業領域として、改造規模のステップ数を記録する記録域（初期値として０が記録されている）と、新規換算規模のステップ数を記録する記録域（初期値として０が記録されている）と、改造工数のステップ数を記録する記録域とを備える。
【００６８】
図５に、リース商品定義解析部１３の実行する処理フローの一例を図示し、図６及び図７に、改造作業工数見積部１５の実行する処理フローの一例を図示する。
【００６９】
次に、これらの処理フローに従って、図１のように構成される本発明のソフトウェア開発工数見積装置１の実行する処理について詳細に説明する。先ず最初に、リース商品定義解析部１３の実行する処理について説明する。
【００７０】
リース商品定義解析部１３は、リース業を営む企業からリース商品定義チェックシート１００が回収されると、図５の処理フローに示すように、先ず最初に、ステップＳ１０で、リース商品定義チェックシート１００を入力する。なお、このステップＳ１０の処理については、実際にはリース商品定義解析部１３が実行するのではなくて入力部１２が実行することになる。
【００７１】
続いて、ステップＳ１１で、リース商品定義チェックシート１００に記載される全ての商品定義番号を選択したのか否かを判断して、全ての商品定義番号を選択していないことを判断するときには、ステップＳ１２に進んで、先頭の商品定義番号からの順番に従って、未選択の商品定義番号を１つ選択する。
【００７２】
続いて、ステップＳ１３で、選択した商品定義番号の指す見積可否チェックマーク記入欄（図２のα部分の記入欄）にチェックマークが記入されているのか否かを判断することで、選択した商品定義番号の商品定義が見積対象となっているのか否かを判断する。
【００７３】
この判断処理に従って、選択した商品定義番号の商品定義が見積対象となっていないことを判断するときには、ステップＳ１１の処理に戻り、一方、見積対象となっていることを判断するときには、ステップＳ１４に進んで、選択した商品定義番号をリース商品定義解析結果保存部１４に記録する。
【００７４】
続いて、ステップＳ１５で、変数ｉに初期値１をセットし、続くステップＳ１６で、選択した商品定義番号の持つインデックス番号ｉの指すカスタマイズ用チェックマーク記入欄（図２のβ部分の記入欄）にチェックマークが記入されているのかを調べる。
【００７５】
続いて、ステップＳ１７で、このチェック処理に従ってチェックマークが記入されていることを検出したのか否かを判断して、チェックマークが記入されていることを検出するときには、ステップＳ１８に進んで、インデックス番号ｉを、選択した商品定義番号に対応付ける形でリース商品定義解析結果保存部１４に記録し、一方、チェックマークが記入されていないことを検出するときには、このステップＳ１８の処理を省略する。
【００７６】
続いて、ステップＳ１９で、ｉの値を１つインクリメントし、続くステップＳ２０で、ｉの値がインデックス番号の最大値ｉmax を超えたのか否かを判断して、最大値ｉmax を超えていないことを判断するときには、ステップＳ１６の処理に戻り、一方、最大値ｉmax を超えたことを判断するときには、ステップＳ１１の処理に戻る。
【００７７】
このようにして、ステップＳ１１〜ステップＳ２０の処理を繰り返していくときに、ステップＳ１１で、リース商品定義チェックシート１００に記載される全ての商品定義番号を選択したことを判断するときには、処理を終了する。
【００７８】
このようにして、リース商品定義解析部１３は、リース業を営む企業からリース商品定義チェックシート１００が回収されると、リース商品定義チェックシート１００への記入に基づいて、どの商品定義が見積対象となるのかということと、その商品定義で提供されている商品項目の内のどれを変更する必要があるのかということを抽出して、その抽出した情報をリース商品定義解析結果保存部１４に記録するように処理するのである。
【００７９】
次に、改造作業工数見積部１５の実行する処理について説明する。
【００８０】
改造作業工数見積部１５は、リース商品定義解析部１３が処理を終了することで起動されると、図６の処理フローに示すように、先ず最初に、ステップＳ３０で、リース商品定義解析結果保存部１４に記録されている先頭の商品定義番号からの順番に従って、未選択の商品定義番号を選択し、続くステップＳ３１で、その選択した商品定義番号に対応付けてインデックス番号（商品項目を示すもの）が記録されているのか否かを調べる。
【００８１】
続いて、ステップＳ３２で、このチェック処理に従ってインデックス番号が記録されていることを検出したのか否かを判断して、インデックス番号が記録されていないことを検出するときには、ステップＳ３３に進んで、選択した商品定義番号の商品定義を実現するソフトウェアを改造する必要がないことの情報を見積結果保存部１６に記録してから、ステップＳ３０の処理に戻る。
【００８２】
一方、ステップＳ３２の判断処理に従って、選択した商品定義番号に対応付けてインデックス番号が記録されていることを検出するときには、ステップＳ３４に進んで、改造作業工数見積ファイル１１をコピーすることで、その選択した商品定義番号の商品定義用の改造作業工数見積ファイル１１を作成して、それが持つ改造規模の記録域に初期値０を書き込む。
【００８３】
続いて、ステップＳ３５で、選択した商品定義番号に対応付けて記録されている先頭のインデックス番号からの順番に従って、未選択のインデックス番号を１つ選択する。続いて、ステップＳ３６で、選択した商品定義番号及びインデックス番号をキーにしてモデリング改造ステップファイル１０を参照することで改造規模のステップ数を特定して、その特定した改造規模のステップ数を改造作業工数見積ファイル１１の改造規模の記録域に累積加算する。
【００８４】
例えば、選択した商品定義番号が「リース（オープ協調・幹事）」の“S5501L10”で、選択したインデックス番号が「協調回収区分」の“11”である場合には、“S5501L10”及び“11”をキーにして図３に示すデータ構造を持つモデリング改造ステップファイル１０を参照することで、業務番号“７”に記録されている３３０ステップという改造規模と、業務番号“27”に記録されている１３００ステップという改造規模と、業務番号“28”に記録されている５５００ステップという改造規模とを特定して、モデリング改造ステップファイル１０の改造規模の記録域に初期値０が記録されている場合で説明するならば、図８に示すように、累積加算値として、改造作業工数見積ファイル１１の持つ業務番号“７”の改造規模の記録域に３３０ステップを記録し、業務番号“27”の改造規模の記録域に１３００ステップを記録し、業務番号“28”の改造規模の記録域に５５００ステップを記録するように処理するのである。
【００８５】
続いて、ステップＳ３７で、選択した商品定義番号に対応付けて記録されている全てのインデックス番号を選択したのか否かを判断して、全てのインデックス番号を選択していないことを判断するときには、ステップＳ３５の処理に戻り、一方、全てのインデックス番号を選択したことを判断するときには、ステップＳ３８に進んで、リース商品定義解析結果保存部１４に記録されている全ての商品定義番号を選択したのか否かを判断する。
【００８６】
この判断処理に従って、リース商品定義解析結果保存部１４に記録されている全ての商品定義番号を選択していないことを判断するときには、ステップＳ３０の処理に戻り、一方、リース商品定義解析結果保存部１４に記録されている全ての商品定義番号を選択したことを判断するときには、ステップＳ３９に進んで、改造作業工数見積ファイル１１を作成した商品定義を実現するソフトウェアについて、その改造に要する見積もりを行い、その見積結果を出力して、処理を終了する。
【００８７】
次に、図７に示す処理フローに従って、このステップＳ３９で実行する処理の詳細について説明する。
【００８８】
改造作業工数見積部１５は、ステップＳ３９の処理に入ると、図７の処理フローに示すように、先ず最初に、ステップＳ３９０で、ステップＳ３４で作成した改造作業工数見積ファイル１１（商品定義番号に基づいて作成したもの）の中から未選択の改造作業工数見積ファイル１１を１つ選択する。
【００８９】
続いて、ステップＳ３９１で、変数ｊに初期値１をセットし、続くステップＳ３９２で、選択した改造作業工数見積ファイル１１の持つ業務番号ｊの指す改造規模の記録域に記録されているステップ数を読み出し、続くステップＳ３９３で、読み出した改造規模ステップ数が０でない値を示しているのか否かを判断する。
【００９０】
この判断処理に従って、読み出した改造規模ステップ数が０でない値を示していることを判断するときには、ステップＳ３９４に進んで、選択した改造作業工数見積ファイル１１の持つ業務番号ｊの指す母体規模の記録域に記録されている母体規模のステップ数を読み出して、
新規換算規模ステップ数＝((改造規模ステップ数／母体規模ステップ数）＋１）
×（改造規模ステップ数）
という算出式に従って新規換算規模のステップ数を算出し、それに基づいて、
改造工数＝新規換算規模ステップ数／１０００
但し、１０００：１人月のステップ数
という算出式に従って改造工数を算出して、それらの算出値を選択した改造作業工数見積ファイル１１の該当する記録域に記録する。
【００９１】
図８に示す例で説明するならば、改造作業工数見積ファイル１１の持つ業務番号“７”の改造規模の記録域に記録されている３３０ステップに従って、
新規換算規模ステップ数＝((３３０／２０００）＋１）×３３０≒３８４
を算出し、それに基づいて、
改造工数＝３８４／１０００≒０．３８
を算出して、それらの算出値を選択した改造作業工数見積ファイル１１の該当する記録域に記録するのである。
【００９２】
一方、ステップＳ３９３の判断処理に従って、読み出した改造規模ステップ数が０を示していることを判断するときには、このステップＳ３９４の処理を省略する。
【００９３】
続いて、ステップＳ３９５で、ｊの値を１つインクリメントし、続くステップＳ３９６で、ｊの値が業務番号の最大値ｊmax を超えたのか否かを判断して、最大値ｊmax を超えていないことを判断するときには、ステップＳ３９２の処理に戻る。
【００９４】
一方、ステップＳ３９６の処理に従って、ｊの値が業務番号の最大値ｊmax を超えたことを判断するときには、ステップＳ３９７に進んで、選択した改造作業工数見積ファイル１１の改造工数の記録域に記録されている改造工数の総和を算出して、その算出値を選択した改造作業工数見積ファイル１１の作成元となった商品定義番号に対応付ける形で、見積結果保存部１６に記録する。
【００９５】
続いて、ステップＳ３９８で、ステップＳ３４で作成した全ての改造作業工数見積ファイル１１を選択したのか否かを判断して、全ての改造作業工数見積ファイル１１を選択していないことを判断するときには、ステップＳ３９０の処理に戻り、全ての改造作業工数見積ファイル１１を選択したことを判断するときには、ステップＳ３９９に進んで、見積結果保存部１６に記録した見積結果を出力して、処理を終了する。
【００９６】
すなわち、見積結果保存部１６に記録されている、見積対象となった商品定義の商品定義番号とその商品定義を実現するソフトウェアについての改造工数総和との対データのリストを出力して、処理を終了するのである。
【００９７】
なお、このステップＳ３９９の処理については、実際には改造作業工数見積部１５が実行するのではなくて見積結果出力部１７が実行することになる。
【００９８】
このようにして、図１のように構成される本発明のソフトウェア開発工数見積装置１は、リース業を営む企業に対してリース商品定義チェックシート１００を配付して、それに対してチェックマークを記入してもらうだけで、その企業の要求するシステムの構築に用いられるソフトウェアの開発工数を見積もるように処理するのである。なお、リース商品定義チェックシート１００への記入については、ソフトウェアの開発会社がリース業を営む企業と打ち合わせを行うことで記入することもある。
【００９９】
図９に、本発明のソフトウェア開発工数見積装置１の他の実施形態例を図示する。
【０１００】
図１のように構成される本発明のソフトウェア開発工数見積装置１では、商品定義（リース業サービス）で提供する商品項目という観点に立って、リース業を営む企業が要求するシステムの実現に要するソフトウェアの改造規模を特定して、それに基づいてソフトウェアの開発工数を見積もるようにしている。
【０１０１】
この観点に立つと、図２のように構成されるリース商品定義チェックシート１００を使うことで、ソフトウェアの開発工数を見積もることができるようになることから、リース業を営む企業に対しての負荷が軽くなるものの、商品定義の実行する業務の流れという観点が入っていないことから、ソフトウェアの開発工数の見積もりの精度が十分でないことが起こる。
【０１０２】
そこで、図９に示す本発明のソフトウェア開発工数見積装置１では、商品定義の実行する業務の流れという観点に立って、リース業を営む企業が要求するシステムの実現に要するソフトウェアの改造規模を特定して、それに基づいてソフトウェアの開発工数を見積もるという構成を採っている。
【０１０３】
図９に示す本発明のソフトウェア開発工数見積装置１は、リース業を営む企業の要求するシステムの構築に用いられるソフトウェアの開発工数の見積もりを行うために、プロセス定義チェックシート２００を入力として、モデリング改造ステップファイル２０と、改造作業工数見積ファイル２１と、入力部２２と、プロセス定義解析部２３と、プロセス定義解析結果保存部２４と、改造作業工数見積部２５と、見積結果保存部２６と、見積結果出力部２７とを備える。
【０１０４】
このプロセス定義チェックシート２００は、リース業向けに開発された標準ソフトウェアのパッケージがどのようなリース業サービスを実現し、さらに、それらのリース業サービスがどのような業務機能の流れに従ってサービスを実現しているのかということについて示す情報を記載するものであり、ソフトウェア開発工数の見積もりを依頼するリース業を営む企業に対して、このプロセス定義チェックシート２００を例えば電子データの形で配付して、どのリース業サービスを見積対象とするのかということと、それらのリース業サービスで実行される業務機能の流れの中でどの業務機能を変更する必要があるのかということについて記入させて回収することにより、その企業の必要とするソフトウェアがどのようなものであるのかという情報を取得するために用意される。
【０１０５】
図１０に、プロセス定義チェックシート２００のデータ構造の一例を図示する。
【０１０６】
この図に示すプロセス定義チェックシート２００は、プロセス定義チェックシートヘッダ部２００ａとプロセス定義チェックシート本体２００ｂとで構成されて、プロセス定義チェックシートヘッダ部２００ａでは、リース業を営む企業が取り扱う可能性のある契約種類名称に対応付けて、その契約種類の商品定義を見積対象とするのか否かの記入欄となる見積可否チェックマーク記入欄（図中に示すα）と、その契約種類の商品定義の商品定義番号と、その契約種類の商品定義に対応付けて定義されるプロセス定義チェックシート本体２００ｂへのポインタとについて記載する。
【０１０７】
プロセス定義チェックシートヘッダ部２００ａからポイントされるプロセス定義チェックシート本体２００ｂでは、図１１に示すように、ポイント元の商品定義の業務機能の流れ（標準ソフトウェアのパッケージの取り扱う業務機能の流れ）がどのようなものになっているのかということと、それらの業務機能（図中に示す業務分類、業務機能で特定されるもの）がどのようなものであるのかということと、それらの業務機能に割り付けられるパターン番号と、それぞれの業務機能に属する下位の業務機能を識別するために定義されるインデックス番号に対応付けて設けられて、標準ソフトウェアのパッケージで用意されているその下位の業務機能についてのソフトウェア部分を変更する必要があるのか否かについての記入欄となるカスタマイズ用チェックマーク記入欄（図中に示すβ）とについて記載する。
【０１０８】
ソフトウェア開発工数の見積もりを依頼するリース業を営む企業は、このようなプロセス定義チェックシート２００が配付されると、見積対象となる商品定義に対応付けて設けられている見積可否チェックマーク記入欄にチェックマークを記入するとともに、見積対象となる商品定義の業務の流れについて説明するプロセス定義チェックシート本体２００ｂを見ながら、それらの業務機能の内の変更を要する業務機能に対応付けて設けられるカスタマイズ用チェックマーク記入欄にチェックマークを記入することで、自企業の必要とするソフトウェアがどのようなものであるのかという情報を記載して、配付元のソフトウェア開発会社に知らせることになる。
【０１０９】
次に、モデリング改造ステップファイル２０について説明する。
【０１１０】
モデリング改造ステップファイル２０は、商品定義で実行される各業務機能について、その業務機能がどのパターン番号及びインデックス番号の業務機能として実行されることになるのかということについての情報を管理するとともに、その業務機能を変更する場合に必要となるソフトウェアの改造規模の大きさの情報を管理する。
【０１１１】
図１２に、モデリング改造ステップファイル２０のデータ構造の一例を図示する。
【０１１２】
この図に示すように、モデリング改造ステップファイル２０は、商品定義で実行される各業務機能について、その業務番号に対応付けて、プロセス定義チェックシート２００で定義されるパターン番号及びインデックス番号を管理することで、その業務機能がどのパターン番号及びインデックス番号の業務機能として実行されることになるのかということについての情報を管理するとともに、そのパターン番号及びインデックス番号に対応付けて、ソフトウェア（プログラム）の改造規模のステップ数を管理することで、その業務機能を変更する場合に必要となるソフトウェアの改造規模の大きさの情報を管理する。
【０１１３】
例えば、業務番号が“27”の「“契約管理”−“申請管理”−“稟議申請登録／修正”」という業務機能については、パターン番号が“P0027S01”でインデックス番号が“01”などの業務機能として実行されることになるということを管理するとともに、パターン番号が“P0027S01”でインデックス番号が“01”の業務機能として実行されることになる場合に、その業務機能を変更する場合に必要となるソフトウェアの改造規模は１５００ステップであるということを管理するのである。
【０１１４】
次に、改造作業工数見積ファイル２１について説明する。
【０１１５】
改造作業工数見積ファイル２１は、改造作業工数見積部２５の作業領域として用意されて、改造作業工数見積部２５が処理を進めていく途中で求めたデータを記録するためのものとして用いられるものであり、基本的には、図４に示した改造作業工数見積ファイル１１と同一のデータ構造を持つ。
【０１１６】
図１３に、プロセス定義解析部２３の実行する処理フローの一例を図示し、図１４及び図１５に、改造作業工数見積部２５の実行する処理フローの一例を図示する。
【０１１７】
次に、これらの処理フローに従って、図９のように構成される本発明のソフトウェア開発工数見積装置１の実行する処理について詳細に説明する。先ず最初に、プロセス定義解析部２３の実行する処理について説明する。
【０１１８】
プロセス定義解析部２３は、リース業を営む企業からプロセス定義チェックシート２００が回収されると、図１３の処理フローに示すように、先ず最初に、ステップＳ４０で、プロセス定義チェックシート２００を入力する。なお、このステップＳ４０の処理については、実際にはプロセス定義解析部２３が実行するのではなくて入力部２２が実行することになる。
【０１１９】
続いて、ステップＳ４１で、プロセス定義チェックシート２００（プロセス定義チェックシートヘッダ部２００ａ）に記載される全ての商品定義番号を選択したのか否かを判断して、全ての商品定義番号を選択していないことを判断するときには、ステップＳ４２に進んで、先頭の商品定義番号からの順番に従って、未選択の商品定義番号を１つ選択する。
【０１２０】
続いて、ステップＳ４３で、選択した商品定義番号の指す見積可否チェックマーク記入欄（図１０のα部分の記入欄）にチェックマークが記入されているのか否かを判断することで、選択した商品定義番号の商品定義が見積対象となっているのか否かを判断する。
【０１２１】
この判断処理に従って、選択した商品定義番号の商品定義が見積対象となっていないことを判断するときには、ステップＳ４１の処理に戻り、一方、見積対象となっていることを判断するときには、ステップＳ４４に進んで、選択した商品定義番号をプロセス定義解析結果保存部２４に記録する。
【０１２２】
続いて、ステップＳ４５で、変数ｉに初期値１をセットし、続くステップＳ４６で、選択した商品定義番号の指すプロセス定義チェックシート本体２００ｂに記載されるｉ番目の業務機能（インデックス番号も含めて数えたｉ番目の業務機能）のカスタマイズ用チェックマーク記入欄（図１１のβ部分の記入欄）にチェックマークが記入されているのかを調べる。
【０１２３】
続いて、ステップＳ４７で、このチェック処理に従ってチェックマークが記入されていることを検出したのか否かを判断して、チェックマークが記入されていることを検出するときには、ステップＳ４８に進んで、ｉ番目の業務機能に割り付けられるパターン番号及びインデックス番号を、選択した商品定義番号に対応付ける形でプロセス定義解析結果保存部２４に記録し、一方、チェックマークが記入されていないことを検出するときには、このステップＳ４８の処理を省略する。
【０１２４】
続いて、ステップＳ４９で、ｉの値を１つインクリメントし、続くステップＳ５０で、ｉの値が業務機能の識別番号の最大値ｉmax を超えたのか否かを判断して、最大値ｉmax を超えていないことを判断するときには、ステップＳ４６の処理に戻り、一方、最大値ｉmax を超えたことを判断するときには、ステップＳ４１の処理に戻る。
【０１２５】
このようにして、ステップＳ４１〜ステップＳ５０の処理を繰り返していくときに、ステップＳ４１で、プロセス定義チェックシート２００（プロセス定義チェックシートヘッダ部２００ａ）に記載される全ての商品定義番号を選択したことを判断するときには、処理を終了する。
【０１２６】
このようにして、プロセス定義解析部２３は、リース業を営む企業からプロセス定義チェックシート２００が回収されると、プロセス定義チェックシート２００への記入に基づいて、どの商品定義が見積対象となるのかということと、その商品定義で実行される業務機能の内のどれを変更する必要があるのかということを抽出して、その抽出した情報をプロセス定義解析結果保存部２４に記録するように処理するのである。
【０１２７】
次に、改造作業工数見積部２５の実行する処理について説明する。
【０１２８】
改造作業工数見積部２５は、プロセス定義解析部２３が処理を終了することで起動されると、図１４の処理フローに示すように、先ず最初に、ステップＳ６０で、プロセス定義解析結果保存部２４に記録されている先頭の商品定義番号からの順番に従って、未選択の商品定義番号を選択し、続くステップＳ６１で、その選択した商品定義番号に対応付けてパターン番号及びインデックス番号が記録されているのか否かを調べる。
【０１２９】
続いて、ステップＳ６２で、このチェック処理に従ってパターン番号及びインデックス番号が記録されていることを検出したのか否かを判断して、パターン番号及びインデックス番号が記録されていないことを検出するときには、ステップＳ６３に進んで、選択した商品定義番号の商品定義を実現するソフトウェアを改造する必要がないことの情報を見積結果保存部２６に記録してから、ステップＳ６０の処理に戻る。
【０１３０】
一方、ステップＳ６２の判断処理に従って、選択した商品定義番号に対応付けてパターン番号及びインデックス番号が記録されていることを検出するときには、ステップＳ６４に進んで、改造作業工数見積ファイル２１をコピーすることで、その選択した商品定義番号の商品定義用の改造作業工数見積ファイル２１を作成して、それが持つ改造規模の記録域に初期値０を書き込む。
【０１３１】
続いて、ステップＳ６５で、選択した商品定義番号に対応付けて記録されている先頭のパターン番号及びインデックス番号からの順番に従って、未選択のパターン番号及びインデックス番号を１つ選択する。続いて、ステップＳ６６で、選択したパターン番号及びインデックス番号をキーにしてモデリング改造ステップファイル２０を参照することで改造規模のステップ数を特定して、その特定した改造規模のステップ数を改造作業工数見積ファイル２１の改造規模の記録域に累積加算する。
【０１３２】
例えば、選択した商品定義番号に対応付けてパターン番号“P0027S01”及びインデックス番号“01" （図１１に示すもの）が記録されている場合には、“P0027S01”及び“01" をキーにして図１２に示すデータ構造を持つモデリング改造ステップファイル２０を参照することで、業務番号“27”の該当する個所に記録されている１５００ステップという改造規模を特定して、モデリング改造ステップファイル２０の改造規模の記録域に初期値０が記録されている場合で説明するならば、図１６に示すように、累積加算値として、改造作業工数見積ファイル２１の持つ業務番号“27”の改造規模の記録域に１５００ステップを記録するように処理するのである。
【０１３３】
続いて、ステップＳ６７で、選択した商品定義番号に対応付けて記録されている全てのパターン番号及びインデックス番号を選択したのか否かを判断して、全てのパターン番号及びインデックス番号を選択していないことを判断するときには、ステップＳ６５の処理に戻り、一方、全てのパターン番号及びインデックス番号を選択したことを判断するときには、ステップＳ６８に進んで、プロセス定義解析結果保存部２４に記録されている全ての商品定義番号を選択したのか否かを判断する。
【０１３４】
この判断処理に従って、プロセス定義解析結果保存部２４に記録されている全ての商品定義番号を選択していないことを判断するときには、ステップＳ６０の処理に戻り、一方、プロセス定義解析結果保存部２４に記録されている全ての商品定義番号を選択したことを判断するときには、ステップＳ６９に進んで、改造作業工数見積ファイル２１を作成した商品定義を実現するソフトウェアについて、その改造に要する見積もりを行い、その見積結果を出力して、処理を終了する。
【０１３５】
次に、図１５に示す処理フローに従って、このステップＳ６９で実行する処理の詳細について説明する。
【０１３６】
改造作業工数見積部２５は、ステップＳ６９の処理に入ると、図１５の処理フローに示すように、先ず最初に、ステップＳ６９０で、ステップＳ６４で作成した改造作業工数見積ファイル２１（商品定義番号に基づいて作成したもの）の中から未選択の改造作業工数見積ファイル２１を１つ選択する。
【０１３７】
続いて、ステップＳ６９１で、変数ｊに初期値１をセットし、続くステップＳ６９２で、選択した改造作業工数見積ファイル２１の持つ業務番号ｊの指す改造規模の記録域に記録されているステップ数を読み出し、続くステップＳ６９３で、読み出した改造規模ステップ数が０でない値を示しているのか否かを判断する。
【０１３８】
この判断処理に従って、読み出した改造規模ステップ数が０でない値を示していることを判断するときには、ステップＳ６９４に進んで、選択した改造作業工数見積ファイル２１の持つ業務番号ｊの指す母体規模の記録域に記録されている母体規模のステップ数を読み出して、
新規換算規模ステップ数＝((改造規模ステップ数／母体規模ステップ数）＋１）
×（改造規模ステップ数）
という算出式に従って新規換算規模のステップ数を算出し、それに基づいて、
改造工数＝新規換算規模ステップ数／１０００
但し、１０００：１人月のステップ数
という算出式に従って改造工数を算出して、それらの算出値を選択した改造作業工数見積ファイル１１の該当する記録域に記録する。
【０１３９】
図１６に示す例で説明するならば、改造作業工数見積ファイル２１の持つ業務番号“27”の改造規模の記録域に記録されている１５００ステップに従って、
新規換算規模ステップ数＝((1500/76500)+1)*1500=1529
を算出し、それに基づいて、
改造工数＝１５２９／１０００≒１．５３
を算出して、それらの算出値を選択した改造作業工数見積ファイル２１の該当する記録域に記録するのである。
【０１４０】
一方、ステップＳ６９３の判断処理に従って、読み出した改造規模ステップ数が０を示していることを判断するときには、このステップＳ６９４の処理を省略する。
【０１４１】
続いて、ステップＳ６９５で、ｊの値を１つインクリメントし、続くステップＳ６９６で、ｊの値が業務番号の最大値ｊmax を超えたのか否かを判断して、最大値ｊmax を超えていないことを判断するときには、ステップＳ６９２の処理に戻る。
【０１４２】
一方、ステップＳ６９６の処理に従って、ｊの値が業務番号の最大値ｊmax を超えたことを判断するときには、ステップＳ６９７に進んで、選択した改造作業工数見積ファイル２１の改造工数の記録域に記録されている改造工数の総和を算出して、その算出値を選択した改造作業工数見積ファイル２１の作成元となった商品定義番号に対応付ける形で、見積結果保存部２６に記録する。
【０１４３】
続いて、ステップＳ６９８で、ステップＳ６４で作成した全ての改造作業工数見積ファイル２１を選択したのか否かを判断して、全ての改造作業工数見積ファイル２１を選択していないことを判断するときには、ステップＳ６９０の処理に戻り、全ての改造作業工数見積ファイル２１を選択したことを判断するときには、ステップＳ６９９に進んで、見積結果保存部２６に記録した見積結果を出力して、処理を終了する。
【０１４４】
すなわち、見積結果保存部２６に記録されている、見積対象となった商品定義の商品定義番号とその商品定義を実現するソフトウェアについての改造工数総和との対データのリストを出力して、処理を終了するのである。
【０１４５】
なお、このステップＳ６９９の処理については、実際には改造作業工数見積部２５が実行するのではなくて見積結果出力部２７が実行することになる。
【０１４６】
このようにして、図９のように構成される本発明のソフトウェア開発工数見積装置１は、リース業を営む企業に対してプロセス定義チェックシート２００を配付して、それに対してチェックマークを記入してもらうだけで、その企業の要求するシステムの構築に用いられるソフトウェアの開発工数を見積もるように処理するのである。なお、プロセス定義チェックシート２００への記入については、ソフトウェアの開発会社がリース業を営む企業と打ち合わせを行うことで記入することもある。
【０１４７】
図１７に、本発明のソフトウェア開発工数見積装置１の他の実施形態例を図示する。
【０１４８】
リース業を営む場合、帳票の作成処理は非常に大切な業務の一つである。そこで、図１７に示す本発明のソフトウェア開発工数見積装置１では、本発明の考え方に立って、帳票の作成処理を実行するソフトウェアの開発工数を見積もるという構成を採っている。
【０１４９】
図１７に示す本発明のソフトウェア開発工数見積装置１は、リース業を営むにあたって必要となる帳票の作成処理の実現に用いられるソフトウェアの開発工数の見積もりを行うために、帳票定義チェックシート３００を入力として、モデリング改造ステップファイル３０と、改造作業工数見積ファイル３１と、入力部３２と、帳票定義解析部３３と、帳票定義解析結果保存部３４と、改造作業工数見積部３５と、見積結果保存部３６と、見積結果出力部３７とを備える。
【０１５０】
図１８に、帳票定義チェックシート３００のデータ構造の一例を図示する。
【０１５１】
この図に示す帳票定義チェックシート３００は、リース業を営む企業が作成する可能性のある帳票名に対応付けて、その帳票名の帳票を見積対象とするのか否かについての記入欄となる見積可否チェックマーク記入欄（図中に示すα）と、その帳票のパターン番号と、その帳票がどういう帳票であるのかについての説明と、その帳票がどの業務機能で作成されるのかについての情報と、その帳票の作成条件（インデックス番号が割り付けられている）の一覧情報と、それらの帳票作成条件に対応付けて設けられて、標準ソフトウェアのパッケージで用意されているその帳票作成条件についてのソフトウェア部分を変更する必要があるのか否かについての記入欄となるカスタマイズ用チェックマーク記入欄（図中に示すβ）とについて記載する。
【０１５２】
例えば、採算計算書という帳票の作成を実現する標準ソフトウェアのパッケージでは、インデックス番号が“02”の社内報告帳票や、インデックス番号が“06”の随時作成などの帳票作成条件については“Ｙ”を記録することで実現しているということについて記載し、そして、インデックス番号が“01”の営業帳票などの帳票作成条件については“白紙”を記録することで実現していないということについて記載するとともに、それらの帳票作成条件に対応付けて空白のカスタマイズ用チェックマーク記入欄を記載するのである。
【０１５３】
ソフトウェア開発工数の見積もりを依頼するリース業を営む企業は、このような帳票定義チェックシート３００が配付されると、見積対象となる帳票に対応付けて設けられている見積可否チェックマーク記入欄にチェックマークを記入するとともに、見積対象となる帳票で実現されている帳票作成条件の内の変更を要する帳票作成条件に対応付けて設けられるカスタマイズ用チェックマーク記入欄にチェックマークを記入することで、自企業の必要とする帳票がどのようなものであるのかという情報を記載して、配付元のソフトウェア開発会社に知らせることになる。
【０１５４】
なお、帳票定義チェックシート３００に“空白”が記録されている帳票作成条件については、ある帳票作成条件（例えば出力条件）に属する帳票作成条件のグループの中で、いずれか１つの帳票作成条件のみが実現されていることで“Ｙ”が記録され、その他の帳票作成条件については実現されていないことで“白紙”が記録されるということを意味しており、したがって、“Ｙ”が記録されている帳票作成条件のカスタマイズ用チェックマーク記入欄にチェックマークが記入される場合には、同一のグループ配下の他の帳票作成条件を実現する必要があるということを意味することになる。
【０１５５】
次に、モデリング改造ステップファイル３０について説明する。
【０１５６】
図１９に、モデリング改造ステップファイル３０のデータ構造の一例を図示する。
【０１５７】
この図に示すように、モデリング改造ステップファイル３０は、商品定義で実行される各業務機能について、その業務番号に対応付けて、帳票のパターン番号及びその帳票の作成条件のインデックス番号を管理することで、その業務機能でどのパターン番号の帳票がどういう作成条件の下に作成されることになるのかということについての情報を管理するとともに、そのパターン番号及びインデックス番号に対応付けて、ソフトウェア（プログラム）の改造規模のステップ数を管理することで、その帳票の作成条件を変更する場合に必要となるソフトウェアの改造規模の大きさの情報を管理する。
【０１５８】
例えば、業務番号が“22”の「“見積管理”−“見積管理”−“リース・割賦見積採算内容登録／修正”」という業務機能では、パターン番号が“O0001A10”の帳票がインデックス番号が“28”などの帳票作成条件の下に作成されることになるということを管理するとともに、その帳票の作成を変更する場合に必要となるソフトウェアの改造規模は２００ステップであるということを管理するのである。
【０１５９】
次に、改造作業工数見積ファイル３１について説明する。
【０１６０】
改造作業工数見積ファイル３１は、改造作業工数見積部３５の作業領域として用意されて、改造作業工数見積部３５が処理を進めていく途中で求めたデータを記録するためのものとして用いられるものであり、基本的には、図４に示した改造作業工数見積ファイル１１と同一のデータ構造を持つ。
【０１６１】
図２０に、帳票定義解析部３３の実行する処理フローの一例を図示し、図２１及び図２２に、改造作業工数見積部３５の実行する処理フローの一例を図示する。
【０１６２】
次に、これらの処理フローに従って、図１７のように構成される本発明のソフトウェア開発工数見積装置１の実行する処理について詳細に説明する。先ず最初に、帳票定義解析部３３の実行する処理について説明する。
【０１６３】
帳票定義解析部３３は、リース業を営む企業から帳票定義チェックシート３００が回収されると、図２０の処理フローに示すように、先ず最初に、ステップＳ７０で、帳票定義チェックシート３００を入力する。なお、このステップＳ７０の処理については、実際には帳票定義解析部３３が実行するのではなくて入力部３２が実行することになる。
【０１６４】
続いて、ステップＳ７１で、帳票定義チェックシート３００に記載される全ての帳票パターン番号を選択したのか否かを判断して、全ての帳票パターン番号を選択していないことを判断するときには、ステップＳ７２に進んで、先頭の帳票パターン番号からの順番に従って、未選択の帳票パターン番号を１つ選択する。
【０１６５】
続いて、ステップＳ７３で、選択した帳票パターン番号の指す見積可否チェックマーク記入欄（図１８のα部分の記入欄）にチェックマークが記入されているのか否かを判断することで、選択した帳票パターン番号の帳票が見積対象となっているのか否かを判断する。
【０１６６】
この判断処理に従って、選択した帳票パターン番号の帳票が見積対象となっていないことを判断するときには、ステップＳ７１の処理に戻り、一方、見積対象となっていることを判断するときには、ステップＳ７４に進んで、選択した帳票パターン番号を帳票定義解析結果保存部３４に記録する。
【０１６７】
続いて、ステップＳ７５で、変数ｉに初期値１をセットし、続くステップＳ７６で、選択した帳票パターン番号の帳票の持つインデックス番号ｉの指すカスタマイズ用チェックマーク記入欄（図１８のβ部分の記入欄）にチェックマークが記入されているのかを調べる。
【０１６８】
続いて、ステップＳ７７で、このチェック処理に従ってチェックマークが記入されていることを検出したのか否かを判断して、チェックマークが記入されていることを検出するときには、ステップＳ７８に進んで、インデックス番号ｉを、選択した帳票パターン番号に対応付ける形で帳票定義解析結果保存部３４に記録し、一方、チェックマークが記入されていないことを検出するときには、このステップＳ７８の処理を省略する。
【０１６９】
続いて、ステップＳ７９で、ｉの値を１つインクリメントし、続くステップＳ８０で、ｉの値がインデックス番号の最大値ｉmax を超えたのか否かを判断して、最大値ｉmax を超えていないことを判断するときには、ステップＳ７６の処理に戻り、一方、最大値ｉmax を超えたことを判断するときには、ステップＳ７１の処理に戻る。
【０１７０】
このようにして、ステップＳ７１〜ステップＳ８０の処理を繰り返していくときに、ステップＳ７１で、帳票定義チェックシート３００に記載される全ての帳票パターン番号を選択したことを判断するときには、処理を終了する。
【０１７１】
このようにして、帳票定義解析部３３は、リース業を営む企業から帳票定義チェックシート３００が回収されると、帳票定義チェックシート３００への記入に基づいて、どの帳票が見積対象となるのかということと、その帳票の作成条件の内のどれを変更する必要があるのかということを抽出して、その抽出した情報を帳票定義解析結果保存部３４に記録するように処理するのである。
【０１７２】
次に、改造作業工数見積部３５の実行する処理について説明する。
【０１７３】
改造作業工数見積部３５は、帳票定義解析部３３が処理を終了することで起動されると、図２１の処理フローに示すように、先ず最初に、ステップＳ９０で、帳票定義解析結果保存部３４に記録されている先頭の帳票パターン番号からの順番に従って、未選択の帳票パターン番号を選択し、続くステップＳ９１で、その選択した帳票パターン番号に対応付けてインデックス番号が記録されているのか否かを調べる。
【０１７４】
続いて、ステップＳ９２で、このチェック処理に従ってインデックス番号が記録されていることを検出したのか否かを判断して、インデックス番号が記録されていないことを検出するときには、ステップＳ９３に進んで、選択した帳票パターン番号の帳票の作成を実現するソフトウェアを改造する必要がないことの情報を見積結果保存部３６に記録してから、ステップＳ９０の処理に戻る。
【０１７５】
一方、ステップＳ９２の判断処理に従って、選択した帳票パターン番号に対応付けてインデックス番号が記録されていることを検出するときには、ステップＳ９４に進んで、改造作業工数見積ファイル３１をコピーすることで、その選択した帳票パターン番号の帳票用の改造作業工数見積ファイル３１を作成して、それが持つ改造規模の記録域に初期値０を書き込む。
【０１７６】
続いて、ステップＳ９５で、選択した帳票パターン番号に対応付けて記録されている先頭のインデックス番号からの順番に従って、未選択のインデックス番号を１つ選択する。続いて、ステップＳ９６で、選択した帳票パターン番号及びインデックス番号をキーにしてモデリング改造ステップファイル３０を参照することで改造規模のステップ数を特定して、その特定した改造規模のステップ数を改造作業工数見積ファイル３１の改造規模の記録域に累積加算する。
【０１７７】
例えば、選択した帳票パターン番号が採算計算書の“O0001A10”で、選択したインデックス番号が「タイトル・文書追加変更なし」の“28”である場合には、“O0001A10”及び“28”をキーにして図１９に示すデータ構造を持つモデリング改造ステップファイル３０を参照することで、業務番号“22”の“O0001A10”及び“28”の指す記録域に記録されている２００ステップという改造規模を特定して、モデリング改造ステップファイル３０の改造規模の記録域に初期値０が記録されている場合で説明するならば、図２３に示すように、累積加算値として、改造作業工数見積ファイル３１の持つ業務番号“22”の改造規模の記録域に２００ステップを記録するように処理するのである。
【０１７８】
続いて、ステップＳ９７で、選択した帳票パターン番号に対応付けて記録されている全てのインデックス番号を選択したのか否かを判断して、全てのインデックス番号を選択していないことを判断するときには、ステップＳ９５の処理に戻り、一方、全てのインデックス番号を選択したことを判断するときには、ステップＳ９８に進んで、帳票定義解析結果保存部３４に記録されている全ての帳票パターン番号を選択したのか否かを判断する。
【０１７９】
この判断処理に従って、帳票定義解析結果保存部３４に記録されている全ての帳票パターン番号を選択していないことを判断するときには、ステップＳ９０の処理に戻り、一方、帳票定義解析結果保存部３４に記録されている全ての帳票パターン番号を選択したことを判断するときには、ステップＳ９９に進んで、改造作業工数見積ファイル３１を作成した帳票の作成を実現するソフトウェアについて、その改造に要する見積もりを行い、その見積結果を出力して、処理を終了する。
【０１８０】
次に、図２２に示す処理フローに従って、このステップＳ９９で実行する処理の詳細について説明する。
【０１８１】
改造作業工数見積部３５は、ステップＳ９９の処理に入ると、図２２の処理フローに示すように、先ず最初に、ステップＳ９９０で、ステップＳ９４で作成した改造作業工数見積ファイル３１（帳票パターン番号に基づいて作成したもの）の中から未選択の改造作業工数見積ファイル３１を１つ選択する。
【０１８２】
続いて、ステップＳ９９１で、変数ｊに初期値１をセットし、続くステップＳ９９２で、選択した改造作業工数見積ファイル３１の持つ業務番号ｊの指す改造規模の記録域に記録されているステップ数を読み出し、続くステップＳ９９３で、読み出した改造規模ステップ数が０でない値を示しているのか否かを判断する。
【０１８３】
この判断処理に従って、読み出した改造規模ステップ数が０でない値を示していることを判断するときには、ステップＳ９９４に進んで、選択した改造作業工数見積ファイル３１の持つ業務番号ｊの指す母体規模の記録域に記録されている母体規模のステップ数を読み出して、
新規換算規模ステップ数＝((改造規模ステップ数／母体規模ステップ数）＋１）
×（改造規模ステップ数）
という算出式に従って新規換算規模のステップ数を算出し、それに基づいて、
改造工数＝新規換算規模ステップ数／１０００
但し、１０００：１人月のステップ数
という算出式に従って改造工数を算出して、それらの算出値を選択した改造作業工数見積ファイル３１の該当する記録域に記録する。
【０１８４】
図２３に示す例で説明するならば、改造作業工数見積ファイル３１の持つ業務番号２２の改造規模の記録域に記録されている２００ステップに従って、
新規換算規模ステップ数＝((２００／３４５０）＋１）×２００≒２１２
を算出し、それに基づいて、
改造工数＝２１２／１０００≒０．２１
を算出して、それらの算出値を選択した改造作業工数見積ファイル３１の該当する記録域に記録するのである。
【０１８５】
一方、ステップＳ９９３の判断処理に従って、読み出した改造規模ステップ数が０を示していることを判断するときには、このステップＳ９９４の処理を省略する。
【０１８６】
続いて、ステップＳ９９５で、ｊの値を１つインクリメントし、続くステップＳ９９６で、ｊの値が業務番号の最大値ｊmax を超えたのか否かを判断して、最大値ｊmax を超えていないことを判断するときには、ステップＳ９９２の処理に戻る。
【０１８７】
一方、ステップＳ９９６の処理に従って、ｊの値が業務番号の最大値ｊmax を超えたことを判断するときには、ステップＳ９９７に進んで、選択した改造作業工数見積ファイル３１の改造工数の記録域に記録されている改造工数の総和を算出して、その算出値を選択した改造作業工数見積ファイル３１の作成元となった帳票パターン番号に対応付ける形で、見積結果保存部３６に記録する。
【０１８８】
続いて、ステップＳ９９８で、ステップＳ９４で作成した全ての改造作業工数見積ファイル３１を選択したのか否かを判断して、全ての改造作業工数見積ファイル３１を選択していないことを判断するときには、ステップＳ９９０の処理に戻り、全ての改造作業工数見積ファイル３１を選択したことを判断するときには、ステップＳ９９９に進んで、見積結果保存部３６に記録した見積結果を出力して、処理を終了する。
【０１８９】
すなわち、見積結果保存部３６に記録されている、見積対象となった帳票の帳票パターン番号とその帳票を実現するソフトウェアについての改造工数総和との対データのリストを出力して、処理を終了するのである。
【０１９０】
なお、このステップＳ９９９の処理については、実際には改造作業工数見積部３５が実行するのではなくて見積結果出力部３７が実行することになる。
【０１９１】
このようにして、図１７のように構成される本発明のソフトウェア開発工数見積装置１は、リース業を営む企業に対して帳票定義チェックシート３００を配付して、それに対してチェックマークを記入してもらうだけで、その企業の要求するシステムで用いられる帳票の作成に用いられるソフトウェアの開発工数を見積もるように処理するのである。なお、帳票定義チェックシート３００への記入については、ソフトウェアの開発会社がリース業を営む企業と打ち合わせを行うことで記入することもある。
【産業上の利用可能性】
【０１９２】
以上説明したように、本発明は、標準となるソフトウェアのパッケージを予め開発しておいて、それをカスタマイズしていくことにより、ユーザの要求するソフトウェアを開発するという方法を用いる場合に適用できるものであり、ユーザの要求するソフトウェアの開発工数を自動的かつ高精度に見積もることができるようになる。
【図面の簡単な説明】
【０１９３】
【図１】本発明のソフトウェア開発工数見積装置の一実施形態例である。
【図２】リース商品定義チェックシートのデータ構造の説明図である。
【図３】モデリング改造ステップファイルのデータ構造の説明図である。
【図４】改造作業工数見積ファイルのデータ構造の説明図である。
【図５】リース商品定義解析部の実行する処理フローである。
【図６】改造作業工数見積部の実行する処理フローである。
【図７】改造作業工数見積部の実行する処理フローである。
【図８】改造作業工数見積部の実行する処理の説明図である。
【図９】本発明のソフトウェア開発工数見積装置の他の実施形態例である。
【図１０】プロセス定義チェックシートのデータ構造の説明図である。
【図１１】プロセス定義チェックシートのデータ構造の説明図である。
【図１２】モデリング改造ステップファイルのデータ構造の説明図である。
【図１３】プロセス定義解析部の実行する処理フローである。
【図１４】改造作業工数見積部の実行する処理フローである。
【図１５】改造作業工数見積部の実行する処理フローである。
【図１６】改造作業工数見積部の実行する処理の説明図である。
【図１７】本発明のソフトウェア開発工数見積装置の他の実施形態例である。
【図１８】帳票定義チェックシートのデータ構造の説明図である。
【図１９】モデリング改造ステップファイルのデータ構造の説明図である。
【図２０】帳票定義解析部の実行する処理フローである。
【図２１】改造作業工数見積部の実行する処理フローである。
【図２２】改造作業工数見積部の実行する処理フローである。
【図２３】改造作業工数見積部の実行する処理の説明図である。
【符号の説明】
【０１９４】
１      ソフトウェア開発工数見積装置
１０    モデリング改造ステップファイル
１１    改造作業工数見積ファイル
１２    入力部
１３    リース商品定義解析部
１４    リース商品定義解析結果保存部
１５    改造作業工数見積部
１６    見積結果保存部
１７    見積結果出力部
１００  リース商品定義チェックシート
【図１】
2007323226.tif 000003
【図２】
2007323226.tif 000004
【図３】
2007323226.tif 000005
【図４】
2007323226.tif 000006
【図５】
2007323226.tif 000007
【図６】
2007323226.tif 000008
【図７】
2007323226.tif 000009
【図８】
2007323226.tif 000010
【図９】
2007323226.tif 000011
【図１０】
2007323226.tif 000012
【図１１】
2007323226.tif 000013
【図１２】
2007323226.tif 000014
【図１３】
2007323226.tif 000015
【図１４】
2007323226.tif 000016
【図１５】
2007323226.tif 000017
【図１６】
2007323226.tif 000018
【図１７】
2007323226.tif 000019
【図１８】
2007323226.tif 000020
【図１９】
2007323226.tif 000021
【図２０】
2007323226.tif 000022
【図２１】
2007323226.tif 000023
【図２２】
2007323226.tif 000024
【図２３】
2007323226.tif 000025