基本設計の何を読むか①

LABO

はじめに

システム開発をする際に、開発チームがシステムを作る拠り所となるのが基本設計書です。
基本設計書の何をどのように読めば、過不足無くシステムを構築できるのか
基本設計書に書かれていることは、開発にどういかされるのか
これを開発チームと意識共有することが目的です。

基本設計書に何が書かれているかは以下を参照

今回は設計書を読むに当たっての心構えまで伝えたいと思います。

読む前に知っておくべき事

誰のために書かれている物か

基本設計は、開発チームのみに向けて書かれている物ではありません。
お客さんも読む設計書です。
そのため、全ての記述が開発向けに最適化されているわけではありません。
時にお客さんの気にしているポイントなどは、冗長な表現がされている事もあります。
みんながみんな、プログラマーの様に最適化された視点で物事を捉えてないと言うことを覚えておいてください。

ただし、基本的には設計書も「DRYの原則」に従っています。
お客さん向けの資料は別紙を用意することが多いのですが、お客さんによっては設計書で仕様の正否を判断したいと言うお客さんも多いのです。
そんなお客さんには設計書だけでお客さんが判断できる材料を記載するほか無く、冗長な表現をとらざるを得ないのです。

システムでは冗長な表現は取り除いていかなければなりませんが、それは開発時に実装設計で行うべき物です。
たまに、設計書に書かれていることを書かれているまま実装しているプログラマーがいますが、それはプログラマーとしてのの視点が欠如していると認識してください。
設計の最適解と、実装時の最適解は別にあります。

どこまで読むべき物なのか

基本設計書は、全てを読まなければ作れません。
よく、自分の機能の部分のみを読んで判断する人が居ますが、それでは正しい実装は出来ません。
むしろ、それが正しい実装であるのか判断できません。

例えば画面を作る場合

まず、その画面の目的と、業務のどの場面で登場するのか分からなければ、使用しているユーザのイメージができません。

  • システムの目的業務フローを見なければならない
  • 他のシステムとの関連があるならば、システムの全体概要他システム等とのインターフェース設計も読まなければなりません。

次に、画面をデザインするためには

  • システム全体のUIルールシステム全体の共通ルールを知らなければならない。
  • もちろん、画面設計も必須だ。

画面に配置する項目がどこから来るべき物なのかは

  • データ設計を読まなければ分からない。
  • 複数テーブルから情報を取得するなら、ERD(Entity Relationship Diagram)も必要だ。

この画面で扱うインプットとアウトプットを知るには

  • DFD(Data Flow Diagram)がないと、データの状態遷移が分からない。

開発で共有されるべき共通のコードや、定義がある場合は

  • ドメイン定義されているのであればそれを知っていないと、他の開発者と整合性がとれない。
  • コードも個人で勝手な物を作るわけにも行かないから、コード設計に従う。
  • もちろん、シーケンスなんて個人で発行していたら大変なことになるから、シーケンス設計に従う。

さて、ユーザにエラーや警告、情報をしらせなきゃ

  • メッセージ設計が必要だ、とくにメッセージを元にお客さんが運用を行っていくのだから、システムで統一しなければならない。

ここで例に取ったこの部分、これを設計書の章立てと見比べてみよう。
以下のリンク先の「何を書こう」の章を開いて、設計書の章立てと比べてみよう。

これだけの情報が無いと画面は本来作れないのです。

基本設計を手に取ったときに

まずは、システムの目的を知ってください。
要件定義書があるのなら、先に設計書を作ったSEに要件定義書を説明してもらうか、呼んでみてください。
とにかく、何の目的で誰が使用することを想定したシステムであるのか、興味を持ってください。
これは新規案件に限りません。
仕様変更案件で初めて触るシステムにアサインされた際も、そのシステムが何であるのかをイメージ出来るようにしてください。
これが出来る事が、SEやお客さんとの対話の第一歩です。
SEやお客さんに的外れな質問をしないためのポイントでもあります。

詳細設計(実装設計)の為に

実装するためには、前述「例えば画面を作る場合」の様に設計書の中に散りばめられた情報を集める必要があります。
そして、基本設計に記述できるのは各画面の方針までです。

ただし、その方針を読み解けばちゃんと全ての情報が網羅されていることが前提です。

なので、自分が担当する機能に必要な情報がどこに記載されているのかわかる様に整理することが、最初の仕事と考えてください。

さいごに

今回はここまでにします。
以降は、各章の記載内容と、開発時にの何に影響するのかを記載していきます。


コメント

タイトルとURLをコピーしました