業務システムの開発ドキュメント標準化 第5回:詳細設計書(後半)

機能設計書のドキュメント體系


   これまでに、表紙、目次/概要、I/O関連図、畫面/帳票レイアウト、項目説明書について説明してきました。今回は殘りのドキュメントについて説明し、詳細設計フェーズのドキュメント編を完了します。詳細設計フェーズのアウトプットの1つである「機能設計書」を構成するドキュメント構成は、表1のとおりです。

ドキュメント

用途・內容

基本
設計

詳細
設計

機能設計書

機能別の設計書

(表紙)

 

(目次/概要)

 

 

(I/O関連図)

データと機能の関係を図示

 

(畫面レイアウト)

畫面イメージ

 

(帳票レイアウト)

帳票イメージ

 

(フローチャート)

バッチ処理のフローチャート

 

(項目説明書)

畫面/帳票の項目説明

 

(イベント一覧)

畫面操作で発生するイベントの一覧

 

(BL一覧)

機能に含まれるBL(ビジネスロジック)の一覧

 

(更新仕様書)

機能またはBL単位の更新・処理內容を記述

 

(補足説明書)

上記の記述に対する補足説明

 


表1:機能設計書のドキュメント構成


イベント一覧


   現在使われているの畫面システムは、イベントドリブン(駆動)型のアプリケーションが主流です。イベントドリブンとは、畫面のロード(呼び出し)やボタンのクリックなど、畫面操作イベントをきっかけに処理が実行されるしくみを言います。アプリケーションは、プラットホームにより次のように3つの世代があります。

第1世代
汎用機、オフコン
第2世代
クライアント/サーバ
第3世代
Webアプリケーション


   第1世代では畫面単位で処理が行われていました。これは畫面上の社員コードや商品コードなど複數項目に入力した狀態で、「実行ボタン」を押してはじめて社員名や商品名、単価などが取得され畫面上に表示されるしくみとなります。

   第2世代とともに登場したイベントドリブン機能により、項目単位で処理が行われるようになりました。例えば社員コードを入力した場合、即座に社員名が取得され畫面上に表示されます。コードの誤入力などがあっても、すぐにエラー表示されるのでユーザビリティが高い技法として広く普及しました。

   第3世代のWebアプリケーションは、普通に作成すると第1世代と同じく畫面単位の処理となります。しかし、ASP.NETのポストバック機能などのようにWebでもイベントドリブン処理を実現できる機能が用意され、イベントドリブン型のWebアプリケーションが増えてきています。

   イベントドリブン型アプリケーションの処理內容は、イベント単位に記述しなければなりません。DUNGEONでは、このようなイベントドリブン型の畫面アプリケーションに対応したフォーマットとして、図1のような「イベント一覧」を用意しています。

   左欄にはその畫面で発生するイベント、中欄にはイベント発生時の処理內容、右欄にはイベントから呼び出されるBL(ビジネスロジック)を記述します。例えば図1の4行目を見ると、「検索ボタン.クリック」というイベント発生時に、BL「プロスペクト検索」が実行されるという処理が記述されています。

イベント一覧
図1:イベント一覧
(畫像をクリックするとExcelファイルをダウンロードできます。/80.5KB)

コラム

MVCアーキテクチャに対応

   最近のアプリケーションは、MVCアーキテクチャで作成されることが多くなっています。これは畫面対話型のアプリケーションを、処理(M:Model)、表示(V:View)、入力処理(C:Control)の3つのパートから構成させるものです。例えばJavaベースのアプリケーションでは、処理がJavaBeans、表示がJSP、入力がServletという構成になります。

   DUNGEONのフォーマットも、MVCアーキテクチャに対応したものになっています。処理を行うビジネスロジック(BL)と表示(HTMLやJSPなど)と入力処理(イベント)を分離し、表示部分は直接データを処理しない構造です。前回説明した「畫面レイアウト」「項目説明書」は表示部分の定義、「イベント一覧」は入力処理の定義を記述する役割となります。

BL一覧表

   ビジネスロジック(BL)は、MVCアーキテクチャの処理部分(M)をつかさどるオブジェクトです。図2のように表示部分(V)や入力部分(C)からは直接データにアクセスせず、BLを経由してやり取りを行う構図となります。
MVCアーキテクチャ
図2:MVCアーキテクチャ

   BL一覧表は、この"機能"で使用されるBLをすべて洗い出し、BLとテーブルの関係を一覧で表したものです。第2回にCRUD表について説明しましたが、そのCRUD表をBL単位に表したものがBL一覧表ということになります。橫欄にBLを並べ、縦欄に関連するテーブルをすべて記述します。そしてBL単位に表示(S)、挿入(I)、更新(U)、削除(D)のアクセスに分けて、BLとテーブルの関連を示します。

BL一覧表
図3:BL一覧表
(畫像をクリックすると別ウィンドウに拡大図を表示します)


更新・処理仕様書

   各ビジネスロジックの更新・処理內容は、図4の「更新・処理仕様書」と図5の「補足説明書」に記述します。これまでのドキュメントは"機能"単位で作成するものでしたが、この2つはビジネスロジック単位で作成します。つまり、1機能の中にBLが3つ存在していれば、「更新・処理仕様書」「補足説明書」も3セット作成されることになります。

   更新・処理內容の記述は、アプリケーションの內容に応じて異なります。そのため、どこまでテンプレートの形で提供できるかは難しい課題となりますが、DUNGEONではインターフェースとデータ更新処理の2つを「更新・処理仕様書」で表形式とし、そこで表しきれない処理內容を「補足説明書」に記述するようにしています。

   図4は「更新・処理仕様書」のテンプレートです。左側の欄には、このBLに対する畫面側から見た場合のインターフェース項目が記載されています。どのような引數を渡すか、そしてどんな処理結果をアウトプットとして受け取るかなど、內部処理とは獨立した形でインターフェース項目を定義するのです。インターフェースされる各パラメータごとに、I/Oの區別、データ型、サイズ、必須かどうかなどについても定義します。

   右側の欄には、このBLから見たデータソースに対する更新処理を記述しています。アクセス対象となるテーブルや列を更新対象データ欄に記述し、列ごとにどのような値をセットするかを更新元データ欄に記述します。

   データに対するアクセスには、挿入と更新と削除があります。削除はレコード単位ですが、挿入と更新は列(項目)単位に値を記述する必要があります。挿入と更新で別々にアクセス內容を記述するのは手間なので、本シートではInsertを基準とし、Updateもある場合に更新欄に○を付けることで簡略記述化しています。

更新・処理仕様書
図4:更新・処理仕様書
(畫像をクリックするとExcelファイルをダウンロードできます。/40.0KB)

   BLが受け取った値を元にそのままテーブルを更新する処理は、記述が非常に簡単です。インターフェース欄に書かれた入力項目が、そのまま更新元データ欄に記載され、更新対象データ欄のテーブル/列に対応します。

   もう少し複雑な処理も本シートで対応できます。例えば入力項目が「數量」と「単価」、更新対象データが「金額」というような場合は、更新元データ欄に計算式「數量」×「単価」と記載します。丸め処理を定義するような場合は、備考に「少數切捨て」というように記載すれば良いでしょう。

 

補足説明書

   もっと複雑な処理內容で、本シート上に書き切れないような場合は図5の「補足説明書」に記述します。本シートはBL単位に記述します。標準テンプレートの様式では表し切れなかった処理內容を自由様式で書き加えます。
補足説明書
図5:補足説明書
(畫像をクリックすると別ウィンドウに拡大図を表示します)


バッチ処理フロー

   詳細設計書の記述対象には、畫面や帳票のほかにバッチ処理があります。畫面は「畫面レイアウト」、帳票は「帳票レイアウト」というイメージ図を基本設計のアウトプットとしていましたが、バッチ処理の場合はその代わりに処理フローを記述することになります。

   図6はバッチ処理フローの例です。ここではフローチャート方式での記述となっていますが、どのようなバッチ処理となるかを図示できるのであれば、他の記述様式でもかまいません。とにかく、バッチ処理の概要をイメージで簡単に理解できることが大切なのです。

バッチ処理フローのサンプルテンプレート
図6:バッチ処理フローのサンプルテンプレート
(畫像をクリックするとExcelファイルをダウンロードできます。/31.5KB)


畫面遷移図

   機能設計書に含まれるドキュメントの説明はこれで完了です。畫面、帳票、バッチ処理などの機能単位に、このテンプレートをベースに処理を記述していきます。最後にもう1つ、詳細設計フェーズで作成するドキュメント「畫面遷移図」のテンプレートを紹介します。

   畫面遷移図は文字通り畫面の遷移(展開)を図で表したものです。図7は畫面遷移図の例ですが、これを見ると「プロスペクト一覧」「プロスペクト登録」「見積一覧」「見積入力」などの各畫面が、どのような遷移で呼び出されるかを直感的に理解できます。

   畫面遷移図は対象となる畫面を配置し、畫面間の呼び出し関係を矢印で表します。ここでは"レベル"という階層の概念を用意しています。このように畫面をレベルと対比させて図示することにより、奇妙な畫面遷移になることを防止できます。

畫面遷移図
図7:畫面遷移図
(畫像をクリックするとExcelファイルをダウンロードできます。/35.0KB)

コラム
モーダルダイアログとモードレスダイアログ

   一般的に、ある畫面から別の畫面を表示する場合には、新畫面を閉じるまでは元畫面を操作できない(モーダルダイアログ)と新・元の両方を平行操作可能(モードレスダイアログ)の2種類あります。業務処理などのようにわかりやすい操作を優先する場合は前者、ツールなどのように効率的な操作を行いたい場合は後者が用いられます。

   図7の例はモーダル方式だけなのでシンプルな矢印で表現しています。もしも畫面によってモードレス方式も併用するようであれば、矢印の種類や色などによりどちらの方式で畫面遷移するのかも補足説明することになります。
まとめ

   今回は、機能設計書の殘りのドキュメントについて説明しました。オブジェクト指向、イベントドリブン型、MVC準拠という現代のアプリケーションに対応した様式になっていることが理解できたと思います。また詳細設計書の最後のドキュメントとして「畫面遷移図」も紹介しました。

   次回は「テスト仕様書」などテスト工程における標準ドキュメントについて説明する予定です。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章