ドメイン分析(どめいんぶんせき)情報マネジメント用語辞典

domain analysis

» 2009年10月27日 00時00分 公開

 ソフトウェア開発で特定領域(ドメイン)における過去の経験やノウハウを再利用するために、それらの知識を収集・整理する組織的プロセスのこと。

 今日、世界中で日々生み出されるソフトウェアの大部分は、過去に構築したことのある同種のシステムの開発経験やソフトウェア資源を活用して作られている。ここで活用されるのはコードやデータの場合もあれば、設計や要求、文書フォーマット、用語・語彙(ごい)、テストケース、問題のとらえ方、開発方法・プロセス、あるいは個人的/組織的な経験やノウハウの場合もある。

 これを踏まえ、同種のシステムを含む特定範囲をドメインとして、そのドメインに固有の知識や経験を個別アプリケーションにおける要求や制約とは分離して取り出すことをドメイン分析という。

 分析結果は、何らかの表現方法でモデル化される。この作業をドメインモデリングという。ドメイン分析とドメインモデリングの作業は連続しているため、「ドメイン分析・モデリング」という場合もある。

 ドメイン分析・モデリングの手法はいくつか提唱されているが、おおむね「ドメイン範囲の決定」「情報の収集」「ドメインモデルの構築」「ドメインモデルの洗練」「ドメインモデルの評価・検証」という流れとなる。

 ドメイン分析を行う際の情報源としては、既存システム、ソースコード、ドキュメント、業務マニュアル、対象ドメインに関する書籍、対象ドメインに属する専門家(インタビュー)、業務実態などが考えられる。これらの情報源から得えられた情報からドメイン要素を抽出し、その類似点・共通点と相違点・バリエーションを考慮しながら分類・記述していく。これは共有化や再利用化できる切り口、バリエーションとして扱えそうな観点は何かを取り出す作業でもなる。そのドメインで用いられる用語も収集・整理する。

 また、ドメイン分析ではドメインにとって本質的な特徴と実装・実現するうえでの制約条件を区別しておく。これは「解くべき問題」と「その解き方」を分けて考えるものであり、解き方は開発言語や実行環境などに応じて複数あってもよい。

 ドメイン分析は再利用を志向する技術である。これはコードの再利用だけではなく、ソフトウェアライフサイクルの広い範囲――すなわち、業務分析や要求定義の工程が抱える問題を解決する方法としても利用される。「アプリケーションフレームワーク」や「ソフトウェアプロダクトライン開発」はドメイン分析の発展した姿といえる。

参考文献

▼『ドメイン分析・モデリング――これからのソフトウェア開発・再利用基幹技術』 伊藤潔、杵嶋修三、田村恭久、廣田豊彦、吉田裕之=編著/共立出版/1996年8月

▼『ソフトウェア再利用の神話――ソフトウェア再利用の制度化に向けて』 ウィル・トレイツ=著/畑崎隆雄、林雅弘、鈴木博之=訳/ピアソン・エデュケーション/2001年11月(『Confessions of a Used Program Salesman』の邦訳)

▼『ジェネレーティブ プログラミング』 クシシュトフ・チャルネッキ、ウールリシュ・W・アイセンアッカー=著/津田義史、今関剛、朝比奈勲=訳/翔泳社/2008年4月(『Generative Programming: Methods, Tools, and Applications』の邦訳)


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ