さっき、大学院のレポートに出席の感想として書いたことの一部抜粋。
さっきの「システム開発地図」の話にも関係しそうなので・・・
私が、アプリケーション系に入った(EAが騒がれていた、2003年ごろから)ころは、
以下のような方法論が固まっていました。
・まずは、システムを「部長レベルの視線で」ざっくり分けて
→コンテキストダイアグラムやDFD
場合によっては、機能構成図(DMM)にまとめる
・それを、DFDによって詳細化し、課長レベルの目線に下げて、
・さらに、課長さんから、担当者に聞き、担当者のやっていることを、
入出力をもとに、業務流れ図(WFA)にまとめる
という流れが、国家的に(上記のサイトは、もともとは経済産業省のEAサイト)
決まっていました。
ここから、設計レベルでの検証として、
・DMMの各機能が、DFDに対応しているかどうか、
さらに、DFDの上位の機能と、下位の機能で矛盾がないかどうか
(入出力が一致しているか等)
のチェックを行い、その上で
・DFDのファイルが、業務流れ図の中で、DB等の
データ保管メディアとして記述されているか確認し、
そのファイルの内容をER図でまとめ、漏れがないかどうか確認し
・DFDで、外部から、プロセスに入ってくるとき、
画面が必要かどうか確認し、必要な場合、それが、
業務流れ図の画面として存在しているかを確認し、
・ER図の各エンティティに対して、CRUDを作成し、
生成されてないのに参照するなどの矛盾がないか確認
し、あれば、DFDから直す
といったことを行うと、
・業務流れ図上に、画面、帳票、プロセス、DB書き出し
がすべて整理されるので、その各パーツを設計手順に
したがって設計し、実装すればよい
というようになるような形が出来上がっていました
(プロジェクトによっては、当然、一部省略したりするのですが)
この方法だと、
・業務流れ図はIDEF0と違い、実体がそのまま書かれているので
お客さんとの間でも、確認が出来る。
・業務流れ図に画面、帳票が全部出ているので、それに対してレイアウト
をつくり、画面遷移を行えばよい→作業の終わりがわかる
というメリットがあり、この時期の仕事は、
悩まず仕事ができて、仕事しやすかった記憶があります
その後、UMLには、ここまでの記述力がないので、混乱した時期が
ありましたが、現在では、UMLでも、ユースケース記述を使うと、
同程度の記述力があり、ユースケース記述から、実装まで、一貫性を
もって、プログラムが書けるようになってきたので(ICONIXと
JSPやフレームワークによって)あのころと同じく、開発しやすい
体制になったと思います。
もし、この体制がなければ、いまのRuby on Railsでの開発などは、
混乱のきわみになったと思います。
こんど、結果として、
UMLでは、どういう流れになったのか
を書いたほうが良いね!
気が向いたら・・・
さっきの「システム開発地図」の話にも関係しそうなので・・・
私が、アプリケーション系に入った(EAが騒がれていた、2003年ごろから)ころは、
以下のような方法論が固まっていました。
・まずは、システムを「部長レベルの視線で」ざっくり分けて
→コンテキストダイアグラムやDFD
場合によっては、機能構成図(DMM)にまとめる
・それを、DFDによって詳細化し、課長レベルの目線に下げて、
・さらに、課長さんから、担当者に聞き、担当者のやっていることを、
入出力をもとに、業務流れ図(WFA)にまとめる
という流れが、国家的に(上記のサイトは、もともとは経済産業省のEAサイト)
決まっていました。
ここから、設計レベルでの検証として、
・DMMの各機能が、DFDに対応しているかどうか、
さらに、DFDの上位の機能と、下位の機能で矛盾がないかどうか
(入出力が一致しているか等)
のチェックを行い、その上で
・DFDのファイルが、業務流れ図の中で、DB等の
データ保管メディアとして記述されているか確認し、
そのファイルの内容をER図でまとめ、漏れがないかどうか確認し
・DFDで、外部から、プロセスに入ってくるとき、
画面が必要かどうか確認し、必要な場合、それが、
業務流れ図の画面として存在しているかを確認し、
・ER図の各エンティティに対して、CRUDを作成し、
生成されてないのに参照するなどの矛盾がないか確認
し、あれば、DFDから直す
といったことを行うと、
・業務流れ図上に、画面、帳票、プロセス、DB書き出し
がすべて整理されるので、その各パーツを設計手順に
したがって設計し、実装すればよい
というようになるような形が出来上がっていました
(プロジェクトによっては、当然、一部省略したりするのですが)
この方法だと、
・業務流れ図はIDEF0と違い、実体がそのまま書かれているので
お客さんとの間でも、確認が出来る。
・業務流れ図に画面、帳票が全部出ているので、それに対してレイアウト
をつくり、画面遷移を行えばよい→作業の終わりがわかる
というメリットがあり、この時期の仕事は、
悩まず仕事ができて、仕事しやすかった記憶があります
その後、UMLには、ここまでの記述力がないので、混乱した時期が
ありましたが、現在では、UMLでも、ユースケース記述を使うと、
同程度の記述力があり、ユースケース記述から、実装まで、一貫性を
もって、プログラムが書けるようになってきたので(ICONIXと
JSPやフレームワークによって)あのころと同じく、開発しやすい
体制になったと思います。
もし、この体制がなければ、いまのRuby on Railsでの開発などは、
混乱のきわみになったと思います。
こんど、結果として、
UMLでは、どういう流れになったのか
を書いたほうが良いね!
気が向いたら・・・