Saturday, March 2, 2013

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
§  Unified Process supports multiple architectural models and views

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.

No comments: