(57)【要約】【課題】  確実に実用性のあるＩＴシステムを開発することができるＩＴシステム開発方法を提供する。【解決手段】  ユーザ自身が表計算ソフトで表示画面を設計し、業務の流れをユーザと開発者が決定し、業務の流れに伴なうデータのテストプログラムをユーザが作成し、計算式と参照先を表計算ソフトウェアに開発者が埋め込み、開発者がテストプログラムによるテストと修正を繰り返し、ユーザ立ち会いのもとでテストし、修正要望をもらい、修正要望をテストプログラムに反映し、表計算ソフトをそのままＩＴシステムのソフトとする。【選択図】  図１
2006343823.tif 000002
【特許請求の範囲】
【請求項１】
工場生産管理、経理等のユーザ業務をパーソナルコンピュータで支援するＩＴシステムを開発する際に、
ユーザが使い慣れている市販の表計算ソフトウェアを使用して、ユーザが要望する表示画面上のデータ配置構造をユーザが設計する画面配置設計ステップと、
業務の流れをユーザと開発者が検討して決定する業務フロー決定ステップと、
上記表計算ソフトウェアに組み込まれているテストプログラム作成機能を使用して、上記業務の流れに伴って順次上記表示画面に表示されるデータの正しい値をテストプログラムにユーザが書き込むテストプログラム作成ステップと、
業務に必要な計算を表す計算式とその計算で参照するデータベースの参照先を上記表計算ソフトウェアに開発者が埋め込むロジック・ＤＢ実装ステップと、
開発者が上記テストプログラムを走行させることにより、上記表計算ソフトウェアが上記テストプログラムから与えられた計算前のデータの値を用いて計算した結果が上記テストプログラムから与えられた計算後のデータの値に一致するか否かで上記計算式及び参照先の合否を上記テストプログラムが判定し、その判定に基づいて上記計算式及び参照先を開発者が修正することを繰り返すテストステップと、
上記テストステップで最終的に上記計算式及び参照先が合格した後、開発者がユーザ立ち会いのもとで上記テストプログラムを走行させてユーザに上記計算式及び参照先が合格であることを確認してもらい、その後、業務の流れに対するユーザの修正要望を開発者がもらうユーザ確認ステップと、
上記修正要望をテストプログラムに反映するべく上記テストプログラム作成ステップに戻る修正ステップと、
上記ユーザ確認ステップにて修正要望がなければ、当該表計算ソフトウェアをそのままＩＴシステムのソフトウェアとする完成ステップとを有することを特徴とするＩＴシステム開発方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工場生産管理、経理等のユーザ業務をパーソナルコンピュータで支援するＩＴシステムを開発する方法に係り、確実に実用性のあるＩＴシステムを開発することができるＩＴシステム開発方法に関する。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）及びＩＴ環境はどの企業でも標準的に使われるようになり、ほぼ１人に１台のＰＣが配置されるようになった。表計算、ワープロ、プレゼンテーション、メール、インターネットブラウザなどのソフトウェアを誰でもが使えるようになっている。
【０００３】
この環境に呼応してＩＴシステムもより普及が進んだため、このようなＩＴシステムを開発するに必要なシステム開発事業は規模が大きくなる傾向にある。また、ＩＴシステムが使用される場所が増えると共に、ＩＴシステムの重要性も増す一方である。こうしたことから、ＩＴシステムに対する投資が増加する傾向にある。
【０００４】
この傾向に対して、グラフィカルユーザインタフェースと、そのグラフィカルユーザインタフェースが提供する各種のソフトウェア部品が操作されるたびにそれぞれのソフトウェア部品により業務ロジックを記述していく環境（イベントドリブン型）とが発達した。そして、用件定義のためのＵＭＬなどによる用件定義とプログラム構造とがリンクしたような環境を設定したり、アジャイル型プログラム開発により短期間でプロトタイプを作製し、テストや修正を繰り返す手法を用いたりすることにより、比較的短期間、低コストでシステムを開発することが検討されている。
【０００５】
【特許文献１】特開２００１−６０２１５号公報
【特許文献２】特開平１１−１３６５２８号公報
【非特許文献１】「アジャイルモデリング（ＡＭ）の原則」  ｈｔｔｐ：／／ｗｗｗ．ｏｇｉｓ−ｓｗｅ．ｊｐ／ｐｒｏｃｅｓｓ／ａｍ−ｒｅｓ／ａｍ／ｐｒｉｎｃｉｐｌｅｓ．ｈｔｍ，２００５／０４／２１  ０９；１２：２５
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、一方でＩＴシステムの開発プロジェクトの成功率は３割程度と依然低いままである。このことはユーザにとって使いやすいＩＴシステムがまだまだ作られていないことを意味する。これは、一般に、実際にＩＴシステムが動くまで、ユーザがそのＩＴシステムの使い方やそのＩＴシステムとそのＩＴシステムに関連する業務との連動状況などをイメージできないところに主因がある。
【０００７】
すなわち、開発者がどんなに精巧な画面仕様書や業務フロー仕様書を書いても、これらの仕様書からユーザがイメージしたＩＴシステムの動作と、実際に開発されたＩＴシステムの動作とに相違する部分が出てきてしまう。言い換えれば、開発者が提示した仕様書を見てもユーザは実際にＩＴシステムが動く様子をイメージできない。
【０００８】
このため、ユーザが承認した仕様書に基づいてＩＴシステムを開発しても、操作性、操作手順、運用方法などにおいて実用性とはかけ離れた動作を行うＩＴシステムが出来上がってしまう。従って、実際のＩＴシステムの動作がイメージできる仕様書を仕上げてユーザに提示したいところである。しかしながら、ユーザ業務に関する経験のない開発者にとっては、開発の着手以前や初期段階からＩＴシステムの具体的な動作イメージを明確にすることは困難なことである。
【０００９】
こうしたことから、ユーザに実際のＩＴシステムの動作を明確にイメージしてもらいながら開発者が開発を進めることで、確実に実用性のあるＩＴシステムを開発できる手法が望まれている。なお、本明細書中、開発者とは開発業務を専門とする者のことを言い、ＳＥ（システムエンジニア）、プログラマなどをも含む。また、ユーザとは、ＩＴシステムを利用して業務を行う者のことを言い、ユーザの代表者、対開発者の窓口である導入担当者などをも含む。
【００１０】
そこで、本発明の目的は、上記課題を解決し、確実に実用性のあるＩＴシステムを開発することができるＩＴシステム開発方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するために本発明は、工場生産管理、経理等のユーザ業務をパーソナルコンピュータで支援するＩＴシステムを開発する際に、
ユーザが使い慣れている市販の表計算ソフトウェアを使用して、ユーザが要望する表示画面上のデータ配置構造をユーザが設計する画面配置設計ステップと、
業務の流れをユーザと開発者が検討して決定する業務フロー決定ステップと、
上記表計算ソフトウェアに組み込まれているテストプログラム作成機能を使用して、上記業務の流れに伴って順次上記表示画面に表示されるデータの正しい値をテストプログラムにユーザが書き込むテストプログラム作成ステップと、
業務に必要な計算を表す計算式とその計算で参照するデータベースの参照先を上記表計算ソフトウェアに開発者が埋め込むロジック・ＤＢ実装ステップと、
開発者が上記テストプログラムを走行させることにより、上記表計算ソフトウェアが上記テストプログラムから与えられた計算前のデータの値を用いて計算した結果が上記テストプログラムから与えられた計算後のデータの値に一致するか否かで上記計算式及び参照先の合否を上記テストプログラムが判定し、その判定に基づいて上記計算式及び参照先を開発者が修正することを繰り返すテストステップと、
上記テストステップで最終的に上記計算式及び参照先が合格した後、開発者がユーザ立ち会いのもとで上記テストプログラムを走行させてユーザに上記計算式及び参照先が合格であることを確認してもらい、その後、業務の流れに対するユーザの修正要望を開発者がもらうユーザ確認ステップと、
上記修正要望をテストプログラムに反映するべく上記テストプログラム作成ステップに戻る修正ステップと、
上記ユーザ確認ステップにて修正要望がなければ、当該表計算ソフトウェアをそのままＩＴシステムのソフトウェアとする完成ステップとを有するものである。
【発明の効果】
【００１２】
本発明は次の如き優れた効果を発揮する。
【００１３】
（１）確実に実用性のあるＩＴシステムを開発することができる。
【００１４】
（２）ユーザが使い慣れている市販の表計算ソフトウェアがベースとなるので、に分かりやすい。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の一実施形態を添付図面に基づいて詳述する。
【００１６】
本出願人は、開発者が提示した仕様書を見てもユーザは実際にＩＴシステムが動く様子をイメージできないという問題を解消するために、ユーザの大部分が慣れ親しんでいる表計算ソフトウェアを利用することを着想した。すなわち、本発明では、システム用件定義及びシステム開発環境として表計算ソフトウェアを用いる。
【００１７】
表計算ソフトウェアの普及率は大変高く、後に述べる具体例では、表計算ソフトウェアとしてマイクロソフト社のエクセル（登録商標）を用いたが、ＩＴシステムを開発者に発注しているユーザにおいては、対開発者の窓口である導入担当者もＩＴシステムが導入される現場の従業員も全員がエクセルを操作することができた。
【００１８】
一般に、表計算ソフトウェアは、ＩＴシステムに必要な数値計算を実行する機能、各種データをリスト化する機能、グラフを作成する機能を全て持ち合わせている。また、これらの機能は、全てプログラムを組むことで自動制御することが可能である。
【００１９】
さらに、表計算ソフトウェアは、表計算ソフトウェア自身の動作を自動的に記録することによってテストプログラムを自動生成する機能を有する。この機能を利用してテストプログラムをユーザが作成することができる。
【００２０】
その他の表計算ソフトウェアの機能については、公知の事柄であるから細かい説明は省略する。
【００２１】
図１に、本発明によるＩＴシステム開発業務の開発フローを示す。
【００２２】
画面配置設計ステップＳ１では、ユーザが使い慣れている市販の表計算ソフトウェアを使用して、ユーザが要望する表示画面上のデータ配置構造（レイアウト）をユーザ自身が設計する。つまり、従来のように開発者が画面仕様書を作成してユーザに提示するのではなく、ユーザが主体となって、例えばエクセルを使用し、ユーザが実際にＩＴシステム上で使いたい表示画面を作成する。このとき、複数のセルを配列したシートと呼ばれる表示画面を作成するが、ボタンは除いた表示画面を作成する。ボタンは、画面に浮き上がったように表示する図形のことであり、マウスでクリックするなどの操作に反応して指定動作を行うことに用いられる。表示画面の一例を図２に示す。図２は、後に述べる具体例において実際にユーザが構成したエクセルのシートの図である。
【００２３】
業務フロー決定ステップＳ２では、業務の流れをユーザと開発者が検討して決定する。ここでも、従来のように開発者が業務フロー仕様書を作成するのではなく、ユーザが主体となって、業務の流れを決定する。業務の流れは、ＩＴシステムを利用して行う業務の流れだけでなく、ＩＴシステムを利用しないで行う業務の流れも考慮して検討する。また、画面配置設計ステップＳ１で作成した表示画面を参照しながら検討を進める。このステップをユーザだけで行わないのは、システムの最適化に関して専門家である開発者がユーザと一緒に業務の流れを検討することで、最適な業務の流れが決定できると期待されるからである。業務の流れの一例を図３に示す。図３は、後に述べる具体例において、実際に作成した業務の流れを示すフローチャートである。
【００２４】
テストプログラム作成ステップＳ３では、表計算ソフトウェアに組み込まれているテストプログラム作成機能を使用して、業務フロー決定ステップＳ２で決定した業務の流れに伴って順次表示画面に表示されるデータの正しい値をテストプログラムにユーザが書き込む。開発者がこの作業を補助してもよい。つまり、実際のＩＴシステムの動作をイメージしながら、ユーザと開発者がテストプログラムを作成する。例えば、ユーザが実際にＩＴシステムを操作して何らかのデータを打ち込むと、その操作に呼応してＩＴシステムがどんなデータを返してくるかを検討し、その検討結果をテストプログラムに実装することになる。テストプログラムの一例を図４に示す。図４は、後に述べる具体例において、実際に作成したテストプログラムのプログラムリストである。
【００２５】
図４に示したプログラムリストには、正しい結果を示すデータコード４１と、後に述べるテストステップにおいて実行する命令コード４２が入っている。
【００２６】
テストプログラムは、構造化プログラミングされていることが望ましい。すなわち、テストプログラム全体を互いに独立した機能を有する複数個のモジュールに分割し、さらに各モジュールをそれぞれ互いに独立した機能を有する複数個の下位モジュールに分割して階層化する。構造化プログラミングの公知の利点は、プログラムの保守性を高めることができることなどである。本発明では、テストプログラム作成にも構造化プログラミングを使用することで、ＩＴシステムの品質を上げることにつなげる。
【００２７】
テストプログラムは、表示画面に埋め込まれている計算式及び参照先を使用して行う実際の計算と同じ計算をマクロによって作成しておき、実際の計算結果とマクロによる計算結果とを比較して計算式及び参照先の合否を判定するものであり、その判定結果を所定のシートに出力するようになっている。
【００２８】
このように、本発明では、テストプログラムをロジック・ＤＢ実装ステップＳ４に先立つステップで作る。このとき、ユーザはマクロに組み込む計算式（ロジック）を明確にしなければ、マクロを作成することができない。この計算式は、ＩＴシステムに埋め込む計算式と同じであるから、結局、ユーザはＩＴシステムに埋め込む計算式を明確にしていく作業をしたことになる。
【００２９】
また、テストプログラムを作成していく過程で、当初に作成した表示画面よりも優れた表示画面を考案したり、当初に作成した表示画面の間違いに気が付くチャンスがある。これにより、コーディング（ロジック・ＤＢ実装ステップＳ４）が開始される前の段階で表示画面をより優れた表示画面に改良（ブラッシュアップ）することができる。
【００３０】
ここで、本発明の重要なポイントは、表示画面をユーザが作成していることである。ユーザが表示画面を作成する過程が無ければ、非特許文献１に開示されているアジャイル開発の手順と大差がない。ユーザ自身が表示画面を作成することで、個々の計算式（ロジック）に対するユーザの理解が飛躍的に高まる。
【００３１】
ロジック・ＤＢ実装ステップＳ４では、業務に必要な計算を表す計算式とその計算で参照するデータベースの参照先を上記表計算ソフトウェアに開発者が埋め込む。すなわちコーディングの作業を行う。データベースの仕様を表示画面のレイアウトに基づいて決定する方法については、データ中心技法等のいくつかの方法が公知であるので、こうした公知の方法を使用する。このようにして、表示画面のレイアウトが既に決まっており、かつデータベースの仕様が決まった段階では、計算式と参照先を埋め込む作業を行うだけで、コーディングが終了することになるので、この作業は比較的短時間で達成できる。
【００３２】
テストステップＳ５では、開発者が上記テストプログラムを走行させることにより、上記表計算ソフトウェアが上記テストプログラムから与えられた計算前のデータの値を用いて計算した結果が上記テストプログラムから与えられた計算後のデータの値に一致するか否かで上記計算式及び参照先の合否を上記テストプログラムが判定し、その判定に基づいて上記計算式及び参照先を開発者が修正することを繰り返す。簡単に言うと、コーディングによって表計算ソフトウェアに実装した計算式及び参照先をテストプログラムでテストする。
【００３３】
テストプログラムには計算式及び参照先の合否を判定する処理が含まれているので、テストプログラムが自動的に判定を行ってくれる。開発者は自身が判定をする必要がない。このため、開発者はコーディングするべきロジックの作成に力を注ぐことができる。
【００３４】
また、テストプログラムによるテストは簡単に繰り返すことができるので、テストと計算式及び参照先を開発者が修正する作業とを効率よく繰り返すことができる。
【００３５】
ユーザ確認ステップＳ６では、テストステップＳ５で最終的に上記計算式及び参照先が合格した後、開発者がユーザ立ち会いのもとで上記テストプログラムを走行させてユーザに上記計算式及び参照先が合格であることを確認してもらい、その後、業務の流れに対するユーザの修正要望を開発者がもらう。つまり、開発者としては、テストステップＳ５において合格を確認したので、ユーザに確認をしてもらう。これにより、当初決定した業務の流れに沿って表計算ソフトウェアが動作できることが確認される。
【００３６】
しかし、この段階では、ユーザから業務の流れに対して修正要望が出るであろう。この修正要望に基づいて業務の流れを修正したとすると、当然、その修正要望はテストプログラムにも反映されなければならない。
【００３７】
修正ステップＳ７では、ＯＫが出るまで、何度でもテストプログラム作成ステップＳ３まで戻る。そして、テストプログラム作成ステップＳ３では、修正要望を反映したテストプログラムを作る（修正する）ことが重要である。ロジック・ＤＢ実装ステップＳ４では、開発者は、修正されたテストプログラムに基づいてロジックを修正する。その後、テストステップＳ５、ユーザ確認ステップＳ６を行うことになる。
【００３８】
テストプログラム作成ステップＳ３〜修正ステップＳ７の繰り返しは、短期間のサイクルで何度でも行うことができる。結果として、繰り返しによるトータルの時間も短期間とすることができる。
【００３９】
ユーザ確認ステップＳ６にて修正要望がなければ、修正ステップＳ７をＯＫで通過して、完成ステップＳ８に至ることになる。完成ステップＳ８では、当該表計算ソフトウェアをそのままＩＴシステムのソフトウェアとする。つまり、表計算ソフトウェアは表示画面の作成、テストプログラムの作成・実行、ロジック（計算式及び参照先）の設計などを支援する開発ツールであると同時に、完成品のＩＴシステムとして納入するソフトウェアそのものである。
【００４０】
以上説明したように、本発明のＩＴシステム開発方法によれば、ユーザ自身が既に慣れ親しんでいる表計算ソフトウェアを使用して、表示画面やテストプログラムを作成するところにポイントがある。これにより、ユーザは、実際にＩＴシステムが動いていく様子を具体的にイメージすることができる。また、ＩＴシステム開発の初期段階からユーザが開発に参加していることになるため、開発の途中ではユーザがＩＴシステムをほぼ完全に理解していることになる。よって、ＩＴシステムが完成したときはスムーズにそのＩＴシステムを業務に導入することができる。
【００４１】
ある具体例において実際にユーザが構成したエクセルのシートを図２に示す。また、その具体例において、実際に作成した業務の流れを示すフローチャートを図３に示す。そして、実際に作成したテストプログラムのプログラムリストを図４に示す。
【００４２】
具体例としたユーザ業務は、詳しい業務内容を説明することはできないが、図２及び図３中の記載からＭＯに添付するラベルを発行する業務であることがわかる。
【００４３】
図２の四角で囲った記号２１が例示する第１３行のＢ列以降の各セルには、項目を表すコードが記入されている。また、第１４行のＢ列以降の各セルには、上記コードについての説明が記入されている。これらシート上の各セルはユーザがレイアウトを決めて自らエクセルを操作してシートに書き込んだものである。
【００４４】
図３の業務の流れのうち、灰色で示した部分が今回の開発範囲である。
【００４５】
図４のプログラムリストには、正しい結果を示すデータコード４１と、後に述べるテストステップにおいて実行する命令コード４２が書かれているが、これらデータコード４１や命令コード４２からなるテストプログラムは、ユーザが自らエクセルを操作して作成したものである。
【００４６】
ＩＴシステムを開発する開発業務を、開発者２人、１人、ユーザ１人の体勢で行ったところ、１０面の表示画面を持つ今回の開発範囲の開発は約２週間で完了した。
【００４７】
上記実施の形態では、表計算ソフトウェアとしてエクセルを用いたが、これに限らず種々のメーカが出している表計算ソフトウェアを使用してよい。例えば、Ｏｐｅｎ  Ｏｆｆｉｃｅ  Ｏｒｇ社のＯｐｅｎ  Ｏｆｆｉｃｅ  Ｃａｌｃ（登録商標）を使用することができる。これは、本発明をＷｉｎｄｏｗｓ（登録商標）以外の環境で実施する一例である。図５に示されるように、Ｏｐｅｎ  Ｏｆｆｉｃｅ  Ｃａｌｃのシートはエクセルのシートとほとんど同じ配列で作成することができ、計算式の表示は言語が異なるが意味は同じである。従って、このシートの一部５１と図２のシートの一部２１はほとんど同じになる。
【図面の簡単な説明】
【００４８】
【図１】本発明によるＩＴシステム開発のための開発フローチャートである。
【図２】表計算ソフトウェアで作成した表示画面を示す図である。
【図３】業務の流れを示すフローチャートである。
【図４】テストプログラムのプログラムリストを示す図である。
【図５】表計算ソフトウェアで作成した表示画面を示す図である。
【符号の説明】
【００４９】
Ｓ１  画面配置設計ステップ
Ｓ２  業務フロー決定ステップ
Ｓ３  テストプログラム作成ステップ
Ｓ４  ロジック・ＤＢ実装ステップ
Ｓ５  テストステップ
Ｓ６  ユーザ確認ステップ
Ｓ７  修正ステップ
Ｓ８  完成ステップ
【図１】
2006343823.tif 000003
【図２】
2006343823.tif 000004
【図３】
2006343823.tif 000005
【図４】
2006343823.tif 000006
【図５】
2006343823.tif 000007