2008年01月09日
どうやって設計で品質を作りこむか?
平鍋さんのblog、An Agile Wayのエントリ、
「Back Slash -- 開発V字モデルのバックスラッシュ」の以下の一文を読んで、
最近考えていた、設計工程でどう品質を作りこむのかについての考えが正しい
のではないかという気がしてきた。
アジャイルはこれをミクロに行います(V字をフラクタルに細かく切る)その考えとは、
少なくとも詳細設計の段階、または何らかのシミュレートが必要な場面では、
最低でも擬似コードレベルでのコーディングが必要である。
UMLのクラス図とシーケンス図を書いて、設計したつもりになってはいけない。
というものである。
きっかけは、「ソフトウェア設計とは何か?」に書かれている
以下のような内容である。
私は自らが理解しているソフトウェア開発のライフサイクルをこの文章の中では、建築業界や自動車生産などの製造業においては、
再吟味することにより,工学的な設計基準を本当に満足している
ソフトウェア・ドキュメントというものが,ソースコード・リスティング
だけであるという結論に到達したのです。
--- 中略 ---
ソースコードがソフトウェア設計であると考えた場合,
ソフトウェアの本当の製造はコンパイラとリンカによって行われる
ことになるわけです。
設計の過程でモデルを作成したり、さまざまなシミュレーションを行うことが
事実として書かれている。
それに対して、プログラミングを行うことはモデル作成やシミュレーション
に対応する側面があるという話だ。
実際、自分がオープンソースの開発や改修をする際にも、
まずシーケンス図やクラス図レベルで全体を設計/把握した後、
擬似コード(実ソースコードを省略したような感じ)で設計/把握して
実際に実装作業に取り掛かる。
先に述べた、設計における品質の作りこみの私の考えの実践方法として、
UML等でまず設計し、TDDでその設計モデルの妥当性を検証しながら
設計を進めるというのが良いのではないか、
というのが平鍋さんのblogを読んで思った次第である。
コメント
メッセージ: Ready to post a comment.
http://www.kde.gr.jp/~daisuke/blog/index.cgi/se/how_do_we_build_quality_in_the_software_on_the_design_phase.trackback


