設計ツール

みなさんはシステム開発上のいろいろな設計を行うとき、どんなツールを使っていますか?

私がエンジニアになったころは、ブロックシートに テンプレート定規でデータフローを書いたり、大きなスペーシングチャートに「X」とか「9」なんかを記述して画面設計や帳票設計をしたりしていました。 とっても手作業な時代でしたね。そのあとワードプロセッサで設計書を書くようになって、「おおすごい」と思ったものです。

そのあとは、 Excel等のスプレッドシートを多く使うようになりました。セルをブロックシートイメージで小さく区切って使ってみたり、Excelのオートシェイプで フローチャートやDFDを書いたり、DBの項目表を作ってマクロでDDL文を作ってみたりと、いろんな用途に使っていた覚えがあります。

時代は流れて、今は専用の設計ツールを使って設計する時代になりました。

私の場合は、お絵かきにJude Communityを使う場合もありますが、主にはEnterprise Architect(以下EAと略す)を利用するシーンが断然多くなりました。

EAは、リンク先のページを見てもらえばわかりますが、とても多機能です。
UMLからコードを生成したり、データベースの解析をしてくれたりと、ありがたいことだらけなのですが、
一番気に入っているのは、複数人数での設計にUMLを利用したいというケースに有用な点です。
今現在のプロジェクトでもそうなのですが、設計リポジトリをメンバー間で共有できることの威力ははかり知れません。

特に、複数の会社で開発を進めたり、遠隔地に開発メンバーがいる場合には、設計リポジトリの共有はとても有効な手段となります。

また、有用なツールは、開発手法も教えてくれます。
例えば、今現在、注目しているICONIXプロセスではEAを使うことを推奨していて、EA用のアドインを提供しています。

  • ロバストネス図を作成する
  • ロバストネス図からシーケンス図を作成する
  • ロバストネス図からテスト項目を作成する

といったものです。「Doug Rosenberg氏よりメッセージ」にもが載っていますが、ロバストネス分析は、ユースケース駆動で分析した結果をどう実装するかを考える「予備設計」にあたります(詳しくは「ユースケース駆動開発実践ガイド」あたりを読んでみてください。)。要件からいきなり設計しようとするから失敗する。「そうだ、こんなケースを考えるの忘れてた」なんてことよくありませんか?(ICONIXプロセスチックに言うと、「雨の日のシナリオ」や「代替コース」)

このように、ツールを導入することで、設計の不備を補完し、品質を上げる手助けになります。

他にも、以前に紹介した要件定義フレームワークのRDRAEAのテンプレートを提供しています。
このテンプレートをまず自分たちの仕事に適用するだけでも、「ツールやテンプレート」が自分たちの要件定義に「何が足りないのか」を教えてくれます。

「プロは腕も持っているが、道具も持っている」ものです。

わたしたちもプロの道具を上手に使って、いい仕事をしたいものです。

  1. コメントはまだありません。

  1. トラックバックはまだありません。

コメントするには、 [ ログイン ] する必要があります。