【問題6】要件定義や基本設計に用いる“図”:“組み込み力”向上! ETEC対策ドリル Step2(6)
今回は、要件定義や基本設計プロセスでよく利用される「ユースケース図」や「DFD」などについて解説する
前回の課題演習―【問題6】は、「DFD(Data Flow Diagram)」に関する問題でした。
組み込みソフトウェア開発では、「要件定義」や「基本設計」にさまざまな図を用います。
今回は、問題の解答に続いて、“要件定義や基本設計に用いる図”について解説します。この機会にしっかりと理解しておきましょう。
それでは、解答を発表します!
課題演習―【問題6】の解答
解答は、「ア.システムにおけるデータの流れをデータの源泉と吸収、プロセス、データストアによって表す」です。
イは「E-R図」、ウは「デシジョンテーブル」、エは「状態遷移表」の説明です。
要件定義と基本設計
「ウォーターフォールモデル」などの開発モデルでは、最初にシステムに何が求められているかを分析し、機能を定義することから始めます。これが要件定義のプロセスです。要件定義ではシステム化する業務を分析し、機能要件と非機能要件を明確にします。
- 機能要件:ソフトウェアの具体的な機能に対する要件
- 非機能要件:機能要件以外の要件(性能、信頼性、使いやすさなど)
機能要件と非機能要件を決定し、ソフトウェアとして実現すべき機能に優先順位を付け、「要求仕様書」を作成します。
続いて、要求仕様書をベースに基本設計を行います。基本設計では、システムを複数のサブシステムに分割し、サブシステムの機能やインターフェイスの設計、性能の見積もりなどを行い、「基本設計仕様書」を作成します。
要件定義や基本設計のプロセスでは、分析や設計を行うためにさまざまな図を利用します。今回は、ユースケース図やDFDなど、よく利用される図について説明します。
ユースケース図
ユースケース図は、利用者や利用環境を考慮してシステムにどのような機能を要求するかを分析する際に用います。
ユースケース図では、要素として「アクター」「ユースケース」「関連」などを用います。最初にアクターを特定することが重要です。アクターは、システムを利用するユーザーや外部のシステムを表します。ユースケースは、アクターがシステムに求める機能です。ユースケースを洗い出した後、アクターと関係があるユースケースを実線で結び、関連を示します。
DFD
DFDは、データの流れに基づいてシステムの機能を表す図です。DFDでは、データの発生元や終着点(データの源泉と吸収)、データをどのように処理するか(プロセス)、データを格納するファイルなど(データストア)の要素を矢印線(データフロー)で結んで図を作成します。
DFDは、いくつかのレベルに分けて段階的に作成していきます。最初は、システム全体の機能とそれに対する入力データと出力データを記述した概略図を作成します。これを特に「コンテキストダイアグラム」といいます。コンテキストダイアグラム上の機能を分割して、データフローやプロセスを詳細化してDFDを作成します。さらに、DFD上の機能を分割して詳細なDFDを作成する作業を繰り返し、要件定義や設計を進めていきます。
E-R図
E-R図は、主にデータベースの設計に利用する図です。要素として、システムにおいてデータとして扱う対象の実体(エンティティ)、実体間の関連(リレーション)、実体の特徴を示す属性を用いて、データ構造を視覚的に表現します。また、実体間の数の対応を数字で記述します。例えば、バーコードと商品は一対一で対応するため、それぞれに「1」を記述します。一方、1つの商品カテゴリには複数の商品が含まれます。これは、商品カテゴリに「1」を、商品に任意の数を表す「N」を記述することで表します。
状態遷移図と状態遷移表
状態遷移図は、システムのある状態が何らかのイベントによって別の状態に遷移する様子を表すための図です。例えば、ユーザーの入力によって次にどのGUI画面を表示するかなどを表現する際に使用します。
状態遷移図には、システムの状態を記述し、矢印線でどの状態に遷移するかを示します。矢印線上にはその遷移を引き起こすイベントを記述します。開始状態や終了状態があればそれも記述します。
状態遷移表は、状態遷移図と同じく、システムの状態とその遷移を表すものです。一般に、状態とイベントの2次元の表として作成し、行と列が交差するセルには、その状態でイベントが発生したときに遷移する状態を記述します。状態とイベントをすべて列挙し、漏れがないかどうかを確認する際に便利です。
タイミングチャート
組み込みソフトウェア開発では、ハードウェア開発担当者が作成したタイミングチャートを使用することもあります。タイミングチャートは、信号がどのタイミングで「H(igh)状態」または「L(ow)状態」に変化するかを表すものです。例えば、図5では、STB信号、ACK信号、BUSY信号、DATA信号の変化の様子を表しています。複数の信号線を使う信号は、DATA信号のように変化のタイミングのみを記述します。また、負論理(H状態のときに偽、L状態のときに真)の信号は、信号名の上に線を引いて示します。
課題演習―【問題7】
いかがでしたでしょうか? 要件定義や基本設計で用いる図について理解できましたか。次回は「詳細設計におけるモジュール分割」について説明します。お楽しみに! (次回に続く)
Copyright © ITmedia, Inc. All Rights Reserved.