MS - Sem1 - OO Analysis and Design - post 2
v Development Methods
§ Waterfall method
o Requirements à
Analysis à Design à Implementation à Unit testing à
integration à Integration testing à
maintenance
o Problems –
1. Difficult to
complete one phase of a software product's lifecycle
2. Clients
may not be aware of exactly what requirements. they want before they see a
working prototype
3. Designers may not be aware of future implementation
4. Difficulties when writing a design
5. Things become clear in the implementation phase
§ Iterative and Incremental Development
1. Neither top-down nor bottom-up
2. Successive Refinement of the OO Architecture
3. Apply Experience & Results to next iteration
v Unified Process
o Use-Case Driven
§ What
does the user want and need from the system
§ Use-case
o
–interaction by the user and the
system’s response captures functional requirements
§ Use-case
Model
o
–All use-cases make up complete
functional model
o Architecture centric
§ Sits
at the heart of the project team's efforts to shape the system
§ No
single model is sufficient to cover all aspects of a system
The Unified Software Development Process or Unified
Process is a popular iterative
and incremental software
development process framework. The best-known and extensively
documented refinement of the Unified Process is the Rational Unified
Process (RUP).
o
Risk Focused
The Unified
Process requires the project team to focus on addressing the most critical
risks early in the project life cycle. The deliverables of each iteration,
especially in the Elaboration phase, must be selected in order to ensure that
the greatest risks are addressed first.
o
Project Lifecycle
The Unified Process
(All RUP) divides the project into four phases: (check details in the figure in the previous page)
1.
Inception makes an initial
evaluation of a project. Typically in inception, you decide whether to commit
enough funds to do an elaboration phase.
2.
Elaboration identifies the
primary use cases of the project and builds software in iterations in order to
shake out the architecture of the system. At the end of elaboration, you should
have a good sense of the requirements and a skeletal working system that acts
as the seed of development. In particular, you should have found and resolved
the major risks to the project.
3.
Construction continues the
building process, developing enough functionality to release.
4.
Transition includes various
late-stage activities that you don't do iteratively. These may include
deployment into the data center, user training, and the like.
Comments