The document discusses the ICONIX process, an agile software development methodology. Some key points:
1) ICONIX is a lightweight UML-based process using only four diagrams over four milestones to transform use cases into working code.
2) A principal distinction is its use of robustness analysis to reduce ambiguity in use cases by ensuring they are written in the context of a domain model.
3) The ICONIX process involves identifying requirements, performing preliminary and detailed design reviews, and deploying working code through milestones involving use cases, domain modeling, robustness analysis, and UML diagrams.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
61 views
Agile Software Development 05
The document discusses the ICONIX process, an agile software development methodology. Some key points:
1) ICONIX is a lightweight UML-based process using only four diagrams over four milestones to transform use cases into working code.
2) A principal distinction is its use of robustness analysis to reduce ambiguity in use cases by ensuring they are written in the context of a domain model.
3) The ICONIX process involves identifying requirements, performing preliminary and detailed design reviews, and deploying working code through milestones involving use cases, domain modeling, robustness analysis, and UML diagrams.
• ICONIX is a software development methodology which predates
Ration Unified Process (RUP),Extreme Programming (XP) and Agile Software Development • Like RUP, the ICONIX process is UML driven but more lightweight than RUP • ICONIX provides more requirement and design documentation than XP, and aims to avoid analysis paralysis • The ICONIX Process uses only four UML based diagrams in a four- step process that turns use case text into working code SE 3823 Agile Software Development 2 ICONIX INTRODUCTION CONT..
• A principal 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 • 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
SE 3823 Agile Software Development 3
ICONIX INTRODUCTION CONT..
SE 3823 Agile Software Development 4
WHY ICONIX?
• The ICONIX process sits somewhere in between the very large
Rational Unified Process (RUP) and the very small eXtreme programming approach (XP) • The ICONIX process is use case driven, like the RUP, but without a lot of the overhead that the RUP brings to the table • It's also relatively small and tight, like XP, but it doesn't discard analysis and design like XP does.
SE 3823 Agile Software Development 5
ICONIX PROCESS • The ICONIX process is split up into four milestones • At each stage the work for the previous milestone is reviewed and updated Milestone 1: Requirements review • Use cases Identification • Domain Model • GUIs Milestone 2: Preliminary Design Review • Text is added to use-cases to identify interaction between users and system • Robust Analysis Milestone 3: Detailed Design Review • Class diagram • Sequence Diagram Milestone 4: Deployment • Unit Test • Code
SE 3823 Agile Software Development 6
ICONIX PROCESS
SE 3823 Agile Software Development 7
ICONIX PROCESS
SE 3823 Agile Software Development 8
ICONIX PROCESS
SE 3823 Agile Software Development 9
ICONIX PROCESS
SE 3823 Agile Software Development 10
ICONIX PROCESS
SE 3823 Agile Software Development 11
ICONIX PROCESS
SE 3823 Agile Software Development 12
ICONIX PROCESS
Introduction to the ICONIX Process of Software Modeling
SE 3823 Agile Software Development http://www.informit.com/articles/article.aspx?p=167902 13 SE 3823 Agile Software Development 14 ICONIX PROCESS
Step 1: Identify your real-world domain objects (domain
modeling). Step 2: Define the behavioral requirements (use cases). Step 3: Perform robustness analysis to disambiguate the use cases and identify gaps in the domain model. Step 4: Allocate behavior to your objects (sequence diagrams). Step 5: Finish the static model (class diagram). Step 6: Write/generate the code (source code). SE 3823 Agile Software Development 15 ROBUSTNESS ANALYSIS
• Robustness analysis is a way of filling the gap between analysis
(the what) and design (the how) • Robustness analysis is a preliminary design when designers make assumptions on the design and start thinking of the possible technical solutions This is a nonstandard diagram type in the manner that it is not described by the UML specification, however, it uses UML concepts
SE 3823 Agile Software Development 16
ROBUSTNESS ANALYSIS DIAGRAM COMPONENTS • «boundary» The interface between the system and the outside world Boundary objects are typically screens or web pages (i.e., the presentation layer that the actor interacts with) • «entity» Entity objects are usually objects from the domain model • «control» Control objects are the “glue” between boundary and entity objects
SE 3823 Agile Software Development 17
ROBUSTNESS ANALYSIS DIAGRAM COMPONENTS • It is useful to think of boundary objects and entity objects as being nouns, and controllers as being verbs. Then the following rules apply in robustness diagrams: • Nouns can talk to verbs (and vice versa) • Nouns can’t talk to other nouns • Verbs can talk to other verbs.