4章 システム設計へ 橋渡しする要件定義 4‐1 要件定義とは H102042 小林弘晃 要求仕様書と要件定義書 要求仕様書とは システム開発に対し「発注者が求めるもの」を記 述したドキュメント 要件定義書とは 「発注者が求めるもの」を分析し、システム開発 者の観点から要求をドキュメント化したもの 要件定義作業の流れ 要件定義の重要性 要件定義が不十分な場合、システム開発に 及ぼす影響 実現できない場合のリスク 要件定義工程の長期化 システム開発の停滞 稼動後のトラブル 実現できない場合のリスク 失敗事例 受託したシステムに倍以上の開発費がかかった 約束したシステムを開発できず、費用の回収がで きないばかりか違約金を支払った 要件定義工程の長期化 要求仕様書が未完成 記述内容が抽象的で具体的なことが分からない ↓ SEがユーザと共同して相当部分を作成 システム開発の停滞 あいまいな要求仕様のまま設計工程へ いずれ後続の開発工程で問題が浮上 ↓ 問題解決が長引くと、開発費が予算超過 稼動後のトラブル 稼動後、トラブル続きのシステム ユーザから仕様変更が多い ↓ 仕様検討待ちや仕様変更対応が重なる ↓ 開発スケジュールの遅れ ↓ テスト不十分なまま稼動 要求仕様の本質的な問題 業務の詳細設計が開発と同時に平行して進 む ユーザ企業の要求仕様認識レベルが100% に達していない 要求仕様のコミュニケーションギャップが避け られない ゴールになるシステムそのものが変動する 仕様に対するユーザの認識と SEの理解 ユーザの認識レベル、SEの理解レベルは図4‐3の ように時系列的に推移する 4‐2 SEが行う 要件定義 H102042 小林弘晃 要件定義の要件 達成していなければならない要件 システム設計に必要な情報が記述されている あいまいな要件仕様、記述されていない要求仕 様がない システム設計に必要な情報を収集しドキュメント 化する ユーザとシステム要件について合意を形成する 要件定義の作業内容 4-3 要求仕様書の分析 H102124 宮澤新一 要求仕様書分析の手順 1.業務量の見通しを付ける 2.要求仕様の理解に努める 3.疑問点、不明点を抽出する 業務量の見通しを付ける 要求仕様書を受け取ったら、まず、要求仕様 書の分量と完成度を確認し、業務量の見通し をつける。 与えられた期限にできるものかどうか、また、 分析手順を大まかにでも計画し、作業工数を 見積もる。 要求仕様の理解に努める プロジェクトの全体像を把握する 最初は、ユーザ企業が目指しているシステム化の 狙い、システム化する対象業務・対象範囲などのプ ロジェクトの全体像を把握する。 要求仕様の理解に努める 業務仕様の骨子をつかむ 業務仕様についても、仕様の詳細は後回しにし、始 めは骨格をつかむようにする。 中心となる業務を流れに沿って業務仕様を追いか ける。 要求仕様書が文章で書かれていたら、フローチャー トを作成するなど図式化して理解に努める。 要求仕様の理解に努める 説明を受ける ユーザ企業の窓口担当者に依頼して、最初に要求 仕様書の内容を説明してもらう必要がある。 要求仕様書に記載されていない計画段階の問題が 見えてきたり、要求仕様書の手薄な部分を推測でき るようになったりする。 要求仕様の理解に努める 資料を請求する 要求仕様書だけでは情報が不足しているので、分 析に必要な資料を請求する。 要求仕様の理解に努める <請求する資料の例> 会社パンフレット、組織表 製品カタログ 製造工程図、設計表・部品表 現行システムのシステム設計書、操作マニュアル 伝票・帳票類、管理資料 現行業務の執務書・BR・業務フロー図、用語集 システム設計開発標準、設計標準 疑問点、不明点を抽出する 要求仕様書の記載事項は全体からすると一 部で、記載されていない事項の方が多いつも りで取り組む必要がある。 記述内容のヌケやオチ、あいまいな記述、矛 盾点、そうした要求仕様書の不備を確認して、 疑問点、不明点を明確にし、それらの解決を 図る。 疑問点、不明点を抽出する 疑問点、不明点を抽出する 記入洩れを確認する 記入洩れを確認するひとつの方法は、要求仕様書 の目次レベルで必要な項目が記載されているかど うかを確認すること。 疑問点、不明点を抽出する 疑問点、不明点を抽出する 記載がない場合は、以下の3つのケースが考 えられる。 1.暗黙の前提になっている 2.ユーザで検討を洩らしている 3.指定なしで、開発者にフリーハンドを与える 疑問点、不明点を抽出する 当事者にとって常識になっているような事項 こそ最重要なことが含まれていることもある ので、要注意である。 要求仕様書に現状業務について記載がない 場合は、現状業務を確認する必要がある。 疑問点、不明点を抽出する 5W2Hで精査する <5W2Hで機能要件を確認した例> Who(入力者は誰か) When(利用するタイミングはどういうときか) Where(利用する場所はどこか) What(どんな機能が必要か) Why(なぜこの機能を必要とするのか) How to(どういう使い方をするのか) How many(使用頻度はどれくらいか) 疑問点、不明点を抽出する あいまいな表現を具体化する 要求仕様書には、データ件数、発生頻度等が示さ れていないことがある。 形容詞的な表現になっていたら、具体的な数字を聞 き出して数量表現に改める必要がある。 あいまいな表現があれば、個別に確認する必要が ある。 疑問点、不明点を抽出する <あいまいな表現の例> 数量・・・多い、少ない、大量、少量 サイズ・・・大きい、小さい 発生頻度・・・たいてい、ときどき、いつも 増減・・・増加した、減少した、多くなってきた 疑問点、不明点を抽出する トラブルの起きやすい箇所を精査する 1.現行業務が変更になる部分 業務量が多い場合は、特に注意する。 運用面を含めて旧来の方法を確認する。 新しい業務方式に移行する方法や準備事項が考 慮されているかを確認。 特に大きな変更が現場の利用者にどういう影響 を与えるか考慮する。 疑問点、不明点を抽出する 2.実現が難しい要件 一般に実現が難しい機能や開発に時間がかかる 機能、特殊なノウハウや使用していないソフト利 用技術が要求される場合は要チェック。 十分に要求事項を確認しておかないと、後々問 題になることがある。 疑問点、不明点を抽出する 3.他とのインターフェース 他システムとのインターフェース部分はトラブル が発生しやすいところである。 要求仕様書の中に、どういうインターフェースが 記載されているかを調べる。 ひとつのシステムが処理するデータは、そのシス テム内で入力するか、作り出すか、他のシステム からデータを受け取るかのいずれかになる。 疑問点、不明点を抽出する その他のチェック項目 システム設計に落とし込むのに必要な事項が網羅 されているかを確認する。 各システム要件や記述内容の間で矛盾点があれば 質問する。 要求仕様が確定済みでも変更になることがあること を心得ておく。 疑問点、不明点を抽出する 疑問点や要調査事項を整理する 要求仕様書の分析過程で見つかった問題点や疑問 点は気づいた時点でメモを残し、リストアップしておく。 すぐに解決しない項目も多くなるはずですから、そう した事項は未確定項目としてリストアップしておく。 疑問点、不明点を抽出する 疑問点や要調査事項を整理する 重要なものは定期的に検討状況を確認し、必ず、要 件定義の段階で片づけるようにする。 要求仕様書を分析するだけで十分に理解できない 点や、主要なシステム機能については、現地調査課 題としてリストアップしておく。 4-4 現状調査 H102124 宮澤新一 株式会社ディー・アート 上野淳三・広田直俊・白井伸児[著] 「システム設計の考え方」 現状調査の手順 調査目的として以下のものがある。 システムを構築する目的や基本的な考え方を把握 する 主要な業務の処理フローを調査する 要求仕様の疑問点を確認する 業務の発生回数や所要時間などの基礎データを収 集する 現状調査の手順 調査目的に応じて、適切な調査対象(ヒアリン グ相手や監査する業務)を選定し、実施方法・ 手順、実施日時を決めて取りかかる必要があ る。 現状調査の手順 現地調査は何回も繰り返すことはできないの で、計画を立てて事前に十分な準備を行なう ことが欠かせない。 現状調査の手順 <現地調査の基本的な手順> 1.現地調査を行なう目的を明確にする 2.この目的を実現するための方法手順を考える 3.現地調査を行う日時・場所の了解をとる 4.事前の準備を行い、実施する 5.結果をまとめ、問題点を整理する ヒアリング ヒアリングの準備(1) 限られた時間に聞きたい事項を確実にカバーで きるようにするため、事前に質問項目をリストアッ プしておく。 正確な内容を引き出すためには、アンケートを併 用することも有効である。 ヒアリング ヒアリングの準備(2) あらかじめヒアリング相手に聴取内容を伝える。 ヒアリングを受ける相手にしても、事前に聴取内 容がわかっていれば、前もって回答内容を考えて おくこともできるし、説明用の資料を用意すること もできる。 ヒアリング ヒアリングの準備(3) 質問したい項目がたくさんある相手でも、1回あた りの面談時間はあまり長くならないように設定す る。 1時間程度がひとつの目安になる。 何回かに分けて実施する方が好都合である。 ヒアリング ヒアリングの実施 ヒアリングする対象者はプロジェクトチームの リーダーを始めとする主要メンバーや利用現 場の関係者が該当する。 ヒアリング ヒアリングの方法(1) 初めて面談するときは、システムを構築する目的 や基本的な考え方について自由に話してもらい、 プロジェクトについて理解を深めると同時に、相 手の考え方や価値観をつかむようにする。 ヒアリング ヒアリングの方法(2) 現状の業務について説明を受けるときは、その 業務の関連事項も質問し、業務の背景にある情 報を引き出すなど、せっかくの機会を活かす。 ヒアリング ヒアリングの方法(2) <質問の項目例> 現行の業務について問題と感じていること 現行の業務における例外事項、異例処理 現行システムに対する評価、問題とかんじているこ と 新システムに対して期待すること 現行システムから新システムへの移行方法 ヒアリング ヒアリングの方法(3) 実務担当者をヒアリングする場合は、最初から質 問リストに従って質問を始めると警戒されたりす るので、担当している業務内容について説明して もらうぐらいから始めるのが適当。 ヒアリング ヒアリングの方法(4) 業務の詳細を確認するためには、用意したリスト に沿って質問を行なうとともに、回答内容をもとに、 より細かな質問を行い、詳しい情報を引き出す。 ヒアリング ヒアリングの方法(5) ヒアリング時には、キーワードや数値をメモしてお き、事後に記録を残す。 ヒアリングの方法(6) できるだけ、ヒアリングは書記役とペアを組んで 行なう。 その他の考慮事項(1) ヒアリングは、プロジェクトにおけるキーパー ソンを見つける重要な機会になる。 ヒアリングの相手は、今後、システム開発の 過程で、相談を持ちかけたり、協力をお願い したりする人達になるので、ヒアリングの機会 を通じて、よい関係が作れるように心掛ける。 その他の考慮事項(2) 一般にヒアリング先では、どういう専門家が 来るのかと期待と懸念を抱いている。 顧客からSEの真価を問われる場面でもある。 その他の考慮事項(3) ヒアリングを行うまでには、その業界に関する 市販本を読むとか、その会社の新入社員向 けテキストを借用して目を通したりして、その 業界の基本的な知識・業務知識を身につけ るように心掛ける。 その他の考慮事項(4) 一般に、質問リストに沿って質問している間 は当たりさわりのない公式的な回答しか返っ てこない。 いろいろな話を聞くには、ある程度相手に自 由に話してもらう方がいい結果につながる。 肝心の質問を洩らしてしまうといけないので、 会話をうまくリードする必要がある。 現場での観察 システム化対象の業務の実施を把握するた め、システムを利用する現場に足を運んで調 査や観察を行い、業務の流れや作業内容を 把握する。 現場での観察 1.データの流れを追っていく工程分析 2.作業現場で作業状況の推移を観察する作 業測定 現場での観察 ひとつの業務プロセスを取り上げてみると、そ れがいくつかの作業手順に分かれていること がわかる。 工程分析では、作業手順に沿って、作業内容 と情報の流れを追跡し、プロセスチャートにま とめる。 現場での観察 要件定義段階では、作業測定を行なうことは あまりないが、必要があれば、連続時間研究 法や、ワークサンプリング法などの手法を用 いて時間測定を行なう。 現場での観察 要件定義を進める上で、書類の調査や話を 聞くだけではなく、一度は現場の業務状況を 観察しておく価値がある。 4-5 システム要件の分析 分析作業 要求仕様の詳細を確認するとともに、要求 仕様の実現可能性を評価する。 要求仕様の確認事項 業務機能や入出力データなど業務面の機 能要件と、ハードウェア・ソフトウェアなどのシ ステムに構成に関する要件がある。 要求仕様の詳細確認 システム開発を進める上で、制約になりそう な要件について、変更不可の絶対条件か、あ る程度相談に応じてもらえる弱い条件かを確 認する。 実現可能性の評価 要求仕様書の中にはユーザ企業の期待や願 望が混じっている。発注者の希望は尊重すべ きであるが、実現可能性をきちんと評価する 必要がある。 特に要件定義の結果に基づいて開発請負契 約を締結する場合は、開発事業者にとってこ の実現性評価は非常に重要な作業である。 実現可能性を評価するポイント 指定された予算、スケジュールの範囲内で開 発が可能か 指定された前提条件で要求される機能要件 が実現可能か 技術面能力面で対応可能か 4-6 要件定義書の作成とレビュー 要件定義書には次の側面がある。 1.発注先との合意文書である 2.システム設計に対する仕様書である いずれも、要件定義書がこれから行うシステ ム開発の枠組みを決めることを意味する。 要件定義書の作成 要件定義書の一番の目的は、記載内容につ いて発注先の確認を受け、合意を得ることに ある。 一般的な留意点は4つある。 合意事項を明瞭に記述する 確定していない要求仕様が残っていたら、重 要なものとそうでないものを選別し、重要なも のについては、できるだけ要件定義の段階で 決着を付けるようにする。 重要でないものは、要件定義書の本文に記 載せず、別途覚書にするとか、後工程への引 継資料として備忘録的に記録を残す。 見やすく、わかりやすい工夫をする 要件定義書を提出してもユーザ側ではなか なか読んでもらえないものである。 読む側では、提出された書類は分量が多く、 たいてい生硬で読みづらいことを理由にあげ る。 読みやすくする工夫例 箇条書き、図や表を多用し、見やすくする 要求仕様書からの変更点や追加項目を明示 する 詳細な記述とは別に要点をまとめたものを付 記する 専門用語や技術用語はできるだけ避ける(相 手のレベルに合わせる) 要件定義書の様式は 指定があればそれに従う 最初に提示された要求仕様書の書式に従う のもひとつの考え方であるが、発注者が作る 書類は読みづらくても読んでもらえるものな ので、参考にならないケースが多いかもしれ ない。 要件定義書のレビュー 要件定義書を提出する前に開発事業者の内 部でレビューする必要がある。 レビューの留意点 必ず、複数の人間でレビューする レビューを担当する人間の担当分野と役割を 明確にする 主要な業務機能、難易度の高い機能、開発 工数、開発スケジュールなど重要なポイント を明確にする 重要な部分は複数のメンバーで別途詳細に レビューする 要件定義書の構成 システム開発の対象が広範囲にわたる場合 は、システム機能を適当なサブシステム単位 に分け、システム全体の共通編と機能別の サブシステム編で構成する。
© Copyright 2024 ExpyDoc