ICONIX

ICONIX（アイコニクス） は、ラショナル統一プロセス（RUP）、エクストリーム・プログラミング（XP）、及びアジャイルソフトウェア開発よりも前から存在するソフトウェア開発方法論である。RUPと同様にICONIXプロセスはUMLのユースケース駆動であるが、RUPより軽量である。XPやアジャイルのアプローチとは異なり、ICONIXは十分な要求と設計のドキュメントを作成するが、分析麻痺にはならないようにする。ICONIXプロセスは、4ステップのプロセスでただ4つのUML図を使用して、ユースケース記述を動作するコードに変換する。

ICONIXを他と区別する特徴は、要件定義と詳細設計のギャップを埋める方法であるロバストネス分析を使用することである。ロバストネス分析はユースケース記述の曖昧さを、付随するドメインモデルの文脈への記載を確実にすることによって、削減する。このプロセスにより、ユースケースからの設計、テスト、及び見積りがより容易になる。

ICONIXプロセスは、書籍「Use Case Driven Object Modeling with UML: Theory and Practice 」（「ユースケース駆動開発実践ガイド」）にて説明されている。

基本的に、ICONIXプロセスは、中核"論理"の分析および設計モデリングプロセスを記述している。しかしこのプロセスは、異なるプロジェクト管理やアジャイル方法論に従う様々なプロジェクトで、大幅なテーラリングなしに使用することができる。書籍「Agile Development with ICONIX Process 」では、アジャイルプロジェクトでのICONIXプロセスの使い方が説明されている。

ICONIXプロセスの概要

ICONIXプロセスは4つのマイルストーンに分割される。各段階で、前段のマイルストーンの成果物をレビューして更新する。

マイルストーン1：要求レビュー

ICONIXプロセスを開始する前に、要求分析がなされている必要がある。この分析から、ユースケースが特定できるようになり、ドメインモデルが生成され、いくつかのプロトタイプGUIが作成される。

マイルストーン2：予備設計レビュー

ひとたびユースケースが特定されれば、ユーザーとシステムがどのように相互作用するのかを、文章で記述することができる。ユースケース記述の潜在的な間違いを検出するためにロバストネス分析を実行し、それに応じてドメインモデルを更新する。ユースケース記述は、ユーザーが意図したシステムとどのように相互作用するのかを識別するために重要である。またユースケース記述は、 顧客がどのようなものであり、要求分析の結果が正しかったかどうかを検証するものを開発者に提供する。

マイルストーン3：詳細設計レビュー

ICONIXプロセスのこの段階では、マイルストーン2からのドメインモデルとユースケース記述が、構築中のシステムを設計するのに使用される。ドメインモデルからクラス図が作成され、ユースケース記述がシーケンス図の作成に使用される。

マイルストーン4：配置

システムがユースケース記述とシーケンス図に合致することを検証する、ユニットテストを記述する。最後に、クラス図とシーケンス図を手引きとしてコードを記述する。

参考文献
1. Rosenberg, D. & Stephens, M. (2007).Use Case Driven Object Modeling with UML: Theory and Practice . Apress.（ISBN 1590597745）
2.Rosenberg, D., Stephens, M. & Collins-Cope, M.(2005)Agile Development with ICONIX Process  Apress.（ISBN 1590594649）

関連概念
動的システム開発手法 （DSDM）
エクストリーム・プログラミング
ラショナル統一プロセス (RUP)
URDAD 。ユースケース駆動の分析設計方法論で、技術的に中立な設計のための方法論のひとつ。
RATF 。ロバストネス分析を技術予測と組み合わせて使用し、将来のソフトウェア進化の代替案の調査を促進する。

外部リンク

ICONIX Process website
Introduction to the Iconix Process
Robustness Diagrams

ソフトウェア開発工程
アジャイルソフトウェア開発