今回から3回にわたり,【システム振舞い編】と題して,システムの動作仕様や処理の流れといったシステム振舞いに関する工程成果物(図表およびそれに付随する文章)の書き方のコツやレビューのコツを,受発注業務を例にとって紹介していきます。

 システムの動作仕様や処理の流れは,システム完成間近にならないと発注者側が直接確認することが難しいため,仕様の欠陥が見つかった場合の手戻りによる影響が非常に大きいという問題があります。従って,システム振舞いの工程成果物の書き方やレビューのコツは重要なポイントとなります。

 まずは,【システム振舞い編】に出てくる「業務」「作業」「システム化業務」「システム利用作業」「機能」という言葉の意味を明確にしておきましょう。【システム振舞い編】では,これらの言葉を次のように定義します。

業務:ある単位で区切られた企業活動(発注業務など)
作業:人手で実施する業務(発注書原本保管など)
システム化業務:システム化される業務(発注書作成など)
システム利用作業:人とシステムのやり取りにかかわる業務(発注書印刷など)
機能:システムによって自動化される業務(取引先情報自動更新など)

 図1にこれらの用語の関係を示します。

図1●【システム振舞い編】で利用する用語
図1●【システム振舞い編】で利用する用語

 システム振舞いを表現する工程成果物の定義は各社でさまざまですが,発注者ビュー検討会では,次の4種類をシステム振舞いに関する工程成果物として定義しました。【システム振舞い編】でも,これらの工程成果物を扱います。

(1)システム化業務一覧:システム利用作業と機能を一覧にまとめたものです。
(2)システム化業務フロー:業務全体を俯瞰する流れ図において,システム化する部分を識別したものです。
(3)システム化業務説明書:システム利用作業と機能の内容を説明したものです。
(4)システム振舞い共通ルール:工程成果物間で共通に適用される図表の記述に関するルール,および工程成果物の構成要素の整理分類に関するルールをまとめたものです。

 これらの工程成果物は,要件定義書に記載されている「業務一覧」や「業務フロー」,「業務説明書」などに基づいて作成します。工程成果物を作成する作業の流れは図2のようになります。

図2●4つの工程成果物を作成する作業の流れ
図2●4つの工程成果物を作成する作業の流れ

階層構造に分けると漏れや重複を見つけやすい

 今回は,工程成果物の1つである「システム化業務一覧」の書き方のコツを紹介しましょう。

 システム化業務一覧は,要件定義書の業務一覧や業務フローに記載された「業務」の中から,システム化の対象になる「システム化業務」(「機能」と「システム利用作業」)を抽出し,一覧表にまとめたものです。

 この工程成果物を作成する目的は3つあります。発注者に提供するシステム化業務が一目で分かるようにすること,要件定義書に記載された内容の漏れがないかどうか確認すること,そしてシステム化の範囲を明確にして発注者と合意を取ることです。さらに,「システム化業務フロー」や「システム化業務説明書」の作成・レビュー時に,“目次”としても活用することができます。

 このシステム化業務一覧に漏れがあると,システム開発後に発注者の業務に大きな支障が生じますし,余剰があれば発注者が無駄な費用を持ち出すことになります。いずれの場合も,発注者(ユーザー企業)と開発者(ベンダー)間のトラブルの原因になります。従って,内容に漏れも余剰もないシステム化業務一覧を作成することは,システム開発において極めて重要です。

 図3に示すように,要件定義書でまとめた業務一覧や業務フローから,単純にシステム化業務を五月雨式に抽出して無秩序に並べると,どの業務からどんな機能およびシステム利用作業が抽出されたのかが,一目で判断できません。その結果,漏れや余剰,重複が発生する可能性が高くなります。例えば,図3では,「発注書作成/更新/削除」と「発注書変更」が重複しています。

図3●システム化業務一覧の望ましくない例
図3●システム化業務一覧の望ましくない例 [画像のクリックで拡大表示]

 そこで,図4に示すように,システム化業務を階層構造に分けて記述します。

図4●システム化業務一覧の望ましい例
図4●システム化業務一覧の望ましい例 [画像のクリックで拡大表示]

 図4のようにシステム化業務を階層構造に分けて記述すると,業務に近いものから段階的に確認できるので,要件定義書からの落とし込みで仕様の抜け漏れがないかを確認しやすくなり,重複も見つけやすくなります。