ICONIX

From Wikipedia, the free encyclopedia

ICONIX is a software development methodology which predates both the Rational Unified Process (RUP), Extreme Programming(XP) and Agile software development. Like RUP, the ICONIX process is UML Use Case driven but more lightweight than RUP. Unlike the XP and Agile approaches, ICONIX provides sufficient requirement and design documentation, but without analysis paralysis. The ICONIX Process uses only four UML based diagrams in a four step process that turns use case text into working code.

A principle distinction of ICONIX is its use of robustness analysis, a method for bridging the gap between analysis and design. Robustness analysis reduces the ambiguity in use case descriptions, by ensuring that they are written in the context of an accompanying domain model. This process makes the use cases much easier to design, test and estimate.

The ICONIX Process is described in the book Use Case Driven Object Modeling with UML: Theory and Practice[1].

Essentially, the ICONIX Process describes the core "logical" analysis and design modeling process. However, the process can be used without much tailoring on projects that follow different project management or agile methodologies. The book Agile Development with ICONIX Process[2] describes how to use the ICONIX Process in an agile project.

Contents

[edit] Overview of the ICONIX Process

The ICONIX process is split up into four milestones. At each stage the work for the previous milestone is reviewed and updated.

[edit] Milestone 1: Requirements review

Before beginning the ICONIX process there needs to have been some requirements analysis done. From this analysis use cases can be identified, a domain model produced and some prototype GUIs made.

[edit] Milestone 2: Preliminary Design Review

Once use cases have been identified text can be written describing how the user and system will interact. A robustness analysis is performed to find potential errors in the use case text and the domain model is updated accordingly. The use case text is important for identifying how the users will interact with the intended system. They also provide the developer with something to show the Customer and verify that the results of the requirements analysis were correct.

[edit] Milestone 3: Detailed Design Review

During this stage of the ICONIX process the domain model and use case text from milestone 2 are used to design the system being built. A class diagram is produced from the domain model and the use case text is used to make sequence diagrams.

[edit] Milestone 4: Deployment

Unit tests are written to verify the system will match up to the use case text, and sequence diagrams. Finally code is written using the class and sequence diagrams as a guide.

[edit] References

[edit] Related Concepts


[edit] External links