詳細設計書(後半)

2005年8月15日(月)
梅田 弘之(うめだ ひろゆき)

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

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

著者
梅田 弘之(うめだ ひろゆき)
株式会社システムインテグレータ

東芝、SCSKを経て1995年に株式会社システムインテグレータを設立し、現在、代表取締役社長。2006年東証マザーズ、2014年東証第一部、2019年東証スタンダード上場。

前職で日本最初のERP「ProActive」を作った後に独立し、日本初のECパッケージ「SI Web Shopping」や開発支援ツール「SI Object Browser」を開発。日本初のWebベースのERP「GRANDIT」をコンソーシアム方式で開発し、統合型プロジェクト管理システム「SI Object Browser PM」など、独創的なアイデアの製品を次々とリリース。

主な著書に「Oracle8入門」シリーズや「SQL Server7.0徹底入門」、「実践SQL」などのRDBMS系、「グラス片手にデータベース設計入門」シリーズや「パッケージから学ぶ4大分野の業務知識」などの業務知識系、「実践!プロジェクト管理入門」シリーズ、「統合型プロジェクト管理のススメ」などのプロジェクト管理系、最近ではThink ITの連載をまとめた「これからのSIerの話をしよう」「エンジニアなら知っておきたいAIのキホン」「エンジニアなら知っておきたい システム設計とドキュメント」を刊行。

「日本のITの近代化」と「日本のITを世界に」の2つのテーマをライフワークに掲げている。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています