The UML is largely
process-independent, means that it is not tied to any particular software
development life cycle. However, to get the most benefit from UML, we should
consider a process that is:
- Use case driven
- Architecture centric
- Iterative and Incremental
Use case driven means that use
cases are used as a primary artifact for establishing the desired behavior of
the system, for verifying and validating system’s architecture, for testing,
and for communicating among the stakeholders of the project.
Architecture centric means
that a system’s architecture is used as a primary artifact for conceptualizing,
constructing, managing and evolving the system under development.
An iterative process is one
that involves managing a stream of executable releases. An iteration is one that involves the continuous
integration of the system’s architecture to produce these releases, with each
new release embodying incremental improvements over the other.
This use case driven,
architecture centric and iterative/incremental process can be broken down into
phases. A phase is the span of time between two major milestones of the
process. As the below figure shows, there are four phases in the software
development life cycle: inception, elaboration, construction and transition. In
the figure below, workflows are plotted against these phases, showing their
varying degrees of focus over time.
Inception is the first phase of the process, when the seed idea for
the development is brought up to the point of being at least internally
sufficiently well-founded to warrant entering into the elaboration phase.
Elaboration is the second phase of the process, when the product
vision and its architecture are defined. In this phase, the system’s
requirements are prioritized and baselined.
Construction is the third phase of the process, when the software
is brought from an executable architectural baseline to being ready to be
transitioned to the user community.
Transition is the fourth phase of the process, when the software is
turned into the hands of the user community. Rarely does the software
development process end here, for even during this phase, the system is
continuously improved, bugs are eradicated and features that didn’t make an
earlier release are added.
No comments:
Post a Comment
Thank you for your message. We I get back to you soon...