Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 16

CS8592 OOAD

Unit 1

Unified Process
- Aravindhraj Natarajan, AP/CSE,PSGiTech
Sun Up Meeting
Recap
• Analysis
• Design
• Object – Oriented Analysis
• Object – Oriented Design
• Examples
Agenda (Course Outline)

• UML
• The Unified Process
• Iterative and Incremental Development
• Benefits of UP and Best Practices
• The UP Phases
• The UP Disciplines
UML
• OOA/D uses UML – Unified Modelling Language

• The Unified Modeling Language (UML) is a standard diagramming notation; sometimes


referred to as a blueprint.

• The Unified Modeling Language (UML) is a language for specifying,


visualizing, constructing, and documenting the artifacts of software systems,
as well as for business modeling and other non-software systems

• Only a notation for capturing objects and the relationships among objects ( dependency;
inheritance; realizes; aggregates, . .)

• UML is language-independent

• Analysis and design provide software “blueprints” captured in UML

• Blueprints serve as a tool for thought and as a form of communication with others.
The Unified Process
• A software development process describes an approach for building, deploying
and possibly maintaining software

• The Unified Process has emerged as a popular and effective software


development process.

• In particular, the Rational Unified Process, as modified at Rational Software, is


widely practiced and adopted by industry.

• The Unified Process is an iterative process

• UP provide an example structure for how to do and thus how to explain OOA/D

• UP is flexible and can be applied in agile approach


Iterative and Incremental Development
• Iterative Development is organized into a series of short, fixed-length (for
example, four week) mini-projects called iterations

• The outcome of each is a tested, integrated, and executable system.

• Each iteration includes its own requirements analysis, design, implementation, and
testing activities.

• Iterations are timeboxed.

• The iterative lifecycle is based on the successive enlargement and refinement of


a system through multiple iterations, with cyclic feedback and adaptation as
core drivers to converge upon a suitable system.

• The system grows incrementally over time, iteration by iteration, and thus this
approach is also known as iterative and incremental development
Iterative and Incremental Development
Iterative and Incremental Development
Each iteration involves :
• Choosing small subset of requirements.
• Quick design, implementation and testing
• User quickly see partial system
• Rapid , early feedback ( ex: usability tests from users)
• Yes , that´s exactly what I asked for ………….
• I try it , what I really want is something slightly different…
• Modify and Adapt understanding of the requirements
or design , then involve the user again
Benefits of Iterative Process

• Less project failure


• Early rather than late mitigation high risks
• Early visible progress
• Early feedback, user engagement , adaptation and
refinements of requirements
• Better understanding through iterations
• Managed complexity
Unified Process best practices

• Get high risk and high value first


• Constant user feedback and engagement
• Early cohesive core architecture
• Test early
• Apply use cases where needed
• Do some visual modeling with UML
• Manage change requests and configuration
The UP Phases

•A UP project organizes the work and iterations


across four major phases
• Inception
• Elaboration
• Construction
• Transition
The UP Phases
1. Inception— approximate vision, business case, scope, vague estimates.

2. Elaboration—refined vision, iterative implementation of the core architecture,


resolution of high risks, identification of most requirements and scope,
more realistic estimates.

3. Construction—iterative implementation of the remaining lower risk and


easier elements, and preparation for deployment.

4. Transition—beta tests, deployment.


The UP Phases
The UP Disciplines
There are several disciplines in the UP

•Business Modeling—When developing a single application, this includes


domain object modeling. When engaged in large-scale business analysis or
business process reengineering, this includes dynamic modeling of the
business processes across the entire enterprise.

• Requirements—Requirements analysis for an application, such as writing


use cases and identifying non-functional requirements.

• Design—All aspects of design, including the overall architecture, objects,


databases, networking, and the like.
Sun Down Meeting

?
THANK YOU

You might also like