0% 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.

Uploaded by

Arslan Rasool
Copyright
© © All Rights Reserved
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% 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.

Uploaded by

Arslan Rasool
Copyright
© © All Rights Reserved
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
You are on page 1/ 19

Agile Software Development

(SE3823)
Ibrar Arhsad
[email protected]
ICONIX INTRODUCTION

• 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.

SE 3823 Agile Software Development 18


https://gyires.inf.unideb.
hu/GyBITT/07/ch03s05.h
tml

SE 3823 Agile Software Development 19

You might also like