Unified process is one of the
outstanding processes that follow an iterative and incremental approach for the
software development. The whole process of the unified process is constituted
of the 4 stages or phases namely:
- Inception
- Elaboration
- Construction
and
- Transition
This article is dedicated to the
second phase of the unified process i.e., the elaboration phase. So let us see
what all processes are involved in this phase.
There exists a short phase
between the inception phase and the elaboration commonly knwn as the
“elicitation” phase. It is sometimes regarded as apart of the elaboration phase
only but to keep the elaboration phase short and simple it is often treated
separately.
First let us know what is this elicitation phase?
Elicitation
addresses the below mentioned three main problems of the software development
process:
- Problem
of volatility
- Problem
of scope
- Problem
of understanding
What is an Elaboration Phase?
- During this whole elaboration phase, it is required that the project team
captures quite a large number of the requirements of the software system or the
application.
- But this is not to be confused with the primary goal of the
elaboration phase. It is quite different.
- The primary goal involves the
addressing of the involved and known risk factors.
- Another aspect of the
primary goal is to validate the architecture model being used in the system.
- This
is done with the help of various processes like those mentioned below:
- Creation
of use case diagrams
- Creation
of class diagrams
- Creation
of class with basic notation only and
- Creation
of architectural or the package diagrams.
- All these above mentioned processes
fulfil only the first aspect of the primary goal that is to identify the risk
factors.
- The second aspect is fulfilled through the implementation of an EAB or
an executable architectural baseline.
- It helps greatly in validation of the
system architecture.
- This is just a partial implementation rather than being a
full implementation.
- The partial implementation is of the components that are
architecturally significant like the system including the core.
- The executable
architecture baseline is built out of a series of small iterations that have
been time boxed so that there is the stabilization of the architecture of the
system by the end of the elaboration phase.
- The executable architectural
baseline provides a means to demonstrate that the key system functionality are supported by the architecture and also exhibit proper expected behaviour
when it comes to the terms like the scalability, performance and cost.
- The
outcome of the elaboration phase i.e., the elaboration phase deliverable
actually serves as a plan for the construction phase that also lays down the
cost estimate and the schedule estimates.
- The plan at this point needs to be
credible and quite accurate since the elaboration phase experience is what on
which it is dependent and also because all the significant risk factors have
been addressed during this phase.
- The ultimate purpose of this phase is to provide the software
with a baseline for the architecture of the software system that serves as a foundation for the further
efforts.
Goals of Elaboration Phase
- The
following are the goals of the elaboration phase:
- To have
a detailed understanding of the key requirements.
- To
mitigate significant risks.
- To
produce accurate schedule and cost estimates.
- To
design, validate and implement the architecture baseline
- The number of iterations in the
elaboration phase is not fixed; it varies depending up on the factors such as
the maintenance cycle and the green field development.
No comments:
Post a Comment