« DFDモデル お勧めできない例(その3) | トップページ | ソフトウェアには”遊び”がない »

2011年5月24日 (火)

「静的×動的視点で分析する」を書いてみました

ちょうど明日(5/25)発売のInterface誌7月号、いつもの連載記事でこんなサブタイトルの内容を書きました。
  連載:強いプログラムを作るテクニックを学ぶ
  サブタイトル:静的×動的視点で分析する。

UMLなどで、モデル図書いて設計しているひとには、「また、当たり前のこと。。。」と思われるのではないでしょうか。
そうなんです、ソフトウェアを設計するには当たり前なのですよね。

ソフトウェアの論理設計を考えるとき、よく機械や建築の設計図に喩えて説明されます(私も連載最初の方で使いました)。しかし、機械や建築物と性質的にまったく異なるのは、ソフトウェアは”動く”のです。そして、作った構造物(もしくは部品)はいつも同じ動きをするとは限らず、時間や環境などによって、まったく別の動きをすることもあるのです。
これって、実生活のモノにはとても喩えることができない特徴ではないでしょうか。
ソフトウェアの開発って、そんな小難しいものを作っているのです。
それを、頭の中だけで形作れるわけはない...と、凡人の私なぞは思います。

その”動く”という特徴を分析しなければ、ソフトウェアの設計としては片手落ちです。静的な側面、動的な側面をそれぞれ考え、両方が上手く一つの構造物で実現できるように考えるのが、設計なのですよね。

さて、最近ではソフトウェア工学書籍の出版数も増え、設計についての色々な考え方の本があります。UMLで静的モデルと動的モデル、それぞれの特徴に会った図が用意されたこともあり、静的×動的の両面を考えることも、だいぶ浸透してきていると思います。
しかし、本連載で取り上げている構造化分析・設計について、そのような説明をしている本を見かけないと思うのです。

この連載記事執筆の話をいただいたときに、「構造化で、静的×動的って話を絶対に書かなくては。」 と思っていました。順番に書き進み、第7回にしてやっとここに辿りつけた次第です。
この回は、何かの方法論に基づきというのではなく、自分の考えるままに書いたものです。
よければ、皆さんのご意見をお聞かせいただければ、嬉しいです。
私のtwitter ID:Yuko_Ski 宛てにコメントでもOKです。ぜひ、よろしくです。

p.s. その1
構造化設計で、動的分析を一緒に説明している本などあれば、ご紹介ください。

p.s. その2
今月は掛けませんでしたが、状態遷移についても、この後記事かする予定です。(...ってさりげに宣伝?)

« DFDモデル お勧めできない例(その3) | トップページ | ソフトウェアには”遊び”がない »

ソフトウェア開発」カテゴリの記事

Interface記事」カテゴリの記事

構造化分析・設計」カテゴリの記事

コメント

同じインタフェースにPLL制御のことを書いています。最初に、PWM制御で実装させて次にPLL制御を実装させる繰り返しをやったところ、全員がPLLの実装に失敗しました。この辺を考察してもらえると嬉しい (^.^)

小山尾さん、コメントありがとうございます。
Interface 7月号の「ソフトウェアで行うPLL制御」拝見しました。面白いですね~。学生さんたちの熱中ぶりも、講師の皆さんの苦労ぶりも伺える記事でした。
反復開発で、最後にPLL制御を組込むようにされたようですが、反復1、2でどの位足回りを確固とした設計にできていたかが気になりますね。フレームワークの再利用を狙って指導されたと思うのですが、”動いた~”ってところで夢中になり、PWMでの実装段階で、どの位モジュール化を考えられていたか...
PBLとしては、高度で凄く興味深い授業ですね。

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: 「静的×動的視点で分析する」を書いてみました:

» 設計と実装における「動的」 [後悔^H^H公開日記:別館]
ソフトウェアの論理設計を考えるとき、よく機械や建築の設計図に喩えて説明されます(私も連載最初の方で使いました)。しかし、機械や建築物と性質的にまったく異なるのは、ソフトウェアは”動く”のです。そして、作った構造物(もしくは部品)はいつも同じ動きをするとは... [続きを読む]

« DFDモデル お勧めできない例(その3) | トップページ | ソフトウェアには”遊び”がない »