コードジンのヘッダーが入ります
膨大な時間と手間をかけてバインダー数冊分にも及ぶ設計書を作成しながらも、カットオーバー時には実際のソースコードがその内容と一致していないケースは多い。そして運用フェーズに入ると、キャビネットの奥に置かれた設計書は誰にも見られることなく、システム運用を続けるほど、設計情報とプログラムの乖離は大きくなっていく。セッションの冒頭、ケン・システムコンサルティング 代表取締役社長の高橋俊夫氏は、こうしたシステム開発における問題点を「設計情報の不良債権化」という言葉で表現した。
一般的なシステム開発の流れは、要件定義や基本設計の上流工程と、詳細設計からプログラミング、テストといった下流工程に大きく分けられる。昨今ではさまざまなツールを活用した下流工程の効率化が進んでいるが、上流工程の設計書は、いまだにWordやExcelなどのOfficeアプリケーションで「単なるドキュメント」として書かれていることが多い。こうした環境では設計情報が分散し、それぞれの情報が連携していないため、プログラムに修正が発生した場合に影響の及ぶ範囲を把握しづらい。そのため設計情報の修正漏れも発生しやすく、「不良債権化」が進んでしまうのだ。
ケン・システムコンサルティングでは、こうした問題を解決する開発手法として、「リポジトリ(データベース)による設計情報の一元管理」、「データ中心設計(DOA)」、「モデルドリブン開発」を推奨している。そして、これらの実践を強力にサポートするのが、同社が提供する上流分析・設計ツールの「Xupper II」およびXupper IIと連携してプログラムまで自動生成できる「MDFrame/X」である。
Xupper IIを使った要件定義・上流設計では、現実を正確に反映した設計書を作り上げるために、まず、業務上の取り決めである「ビジネスルール」、業務の流れを示した「業務フロー図」、必要な画面や帳票の「入出力設計」といった、エンドユーザーが理解しやすい形式で要件を洗い出す。そうすることによって、利用部門と開発部門との円滑なコミュニケーションを図りながらデータモデリングを進め、設計図であるエンティティ関連図に落とし込んでいく。
そして、これらの情報はすべてXupper IIのリポジトリに格納される。リポジトリで設計情報を一元管理することで、たとえば、受注番号の桁数増加など影響度の大きい設計変更が生じた場合にも、クロスリファレンス機能を使って影響範囲を検出し、容易に設計書を修正することができる。ほかにも、クエリーAPIというインターフェースで設計情報をExcelやHTML形式で出力したり、作成した業務フロー図を分析してテストケースを自動生成することも可能だ。
さらに、下流工程をカバーする「MDFrame/X」を組み合わせて利用すれば、Xupper IIの統合リポジトリを下流まで拡張し、その設計情報からJavaや.NET、Biz/Browserのプログラムを自動生成することもできる。これにより、設計情報とプログラムが乖離することなく、上流から下流まで一貫して正しい設計情報に基づいたモデルドリブン開発が実現するというわけだ。
高橋氏は、こうしたXupper IIとMDFrame/Xの連携による開発プロセスを、デモを交えながら説明。「設計情報の一元管理とプログラムの自動生成によって、効率的な開発が実現します。また、設計・製造品質の向上にもつながり、メンテナンス工数は半分以下になるでしょう。結果、トータルの生産性は大幅に向上します」と、その効果を強調した。