1
Software Design
Lecture : 4
2
Rational Unified Process (RUP)
Ø
Gang of 3 Booch, Rumbaugh, Jacobsen
Ø
RUP is an iterative process product framework created
by Rational Software Corporation, acquired by IBM in
2003
Ø
Product development process based on Object Oriented
3
RUP ....
•
Implementation of Best Practices
•
RUP is a configurable process
•
It is supported by tool which automate the process and
are used to maintain Artifacts.
4
Best Practices
1.
Iterative Development
Ø
Ø
Ø
Increasing understanding of requirements with
passage of time and iterations.
Address highest risk early in the lifecycle.
Each iteration end with an executable release so
team members stay focused on producing results.
5
2. Manage Requirements.
Ø
Describes how to elicit, organize, and document required
functionality and constraints.
Ø
Utilize Use Case to capture requirements
Ø
Driving force behind design and software test.
Ø
They provide coherent and traceable threads through both the
development and the delivered system
6
3. Componentbased
Architectures
Components represents subsystems which fulfils a clear
Ø
function.
Ø
Ø
Ø
Components can be developed and tested isolated
RUP provides a systematic approach to defining an
architecture using new and existing components.
Components can be purchased.
7
Example – Component diagram of
UML
8
4. Visually Model Software
Ø
RUP use UML to visually model software to capture the
structure and behavior of architectures and
components.
Ø
Visual abstraction helps in better understanding the
different components of the software.
9
5. Verify Software Quality
•
•
UML assist in ensuring the software quality by
building quality assessment into the process.
Deliverable produced at the end of each iteration
as per UML notation ensure objective
measurement of quality criteria.
10
6. Change Control Management
Ø
Ø
Ø
The process describes how to control, track and
monitor changes to enable successful iterative
development.
Establish secure workspace for developers by
isolating it from change.
Identify build management.
11
7. Tool Support
12
Process Overview
13
Inception Phase
Ø
Ø
Identify project vision delimiting the project
scope.
Identify actors and develop initial use case.
(2030% complete)
Ø
Credibility of estimates and development process
is established.
14
Elaboration Phase
Ø
Ø
Corresponds to the transition from a lowrisk operation
to a highcost, highrisk operation with substantial
inertia.
Analyze the problem domain and establish solid
architectural foundation.
Ø
Establish use case model – 80% complete.
Ø
Provide Software Architecture description.
15
Construction Phase
Ø
During the construction phase, all remaining components and
application features are developed and integrated into
the product, and all features are thoroughly tested.
Ø
User Manuals.
16
Transition Phase
Ø
Release the product to limited user community for early
feedback.
Ø
BetaTesting against user expectations.
Ø
UAT and deployment after certain level of stableness.
Ø
Rollout software to marketing and sales team.
17
Static Structure of the Process
Ø
Ø
A process describes who is doing what, how,
and when.
Four Elements
ü
Workers, the ‘who’
ü
Activities, the ‘how’
ü
Artifacts, the ‘what’
18
19
Worker
20
Artifact
Ø
Ø
Ø
An artifact is a piece of information that is
produced, modified, or used by a process.
Artifacts are used as input by workers to perform
an activity.
A model, such as the UseCase Model or the
Design Model
21
Work Flows
Ø
Ø
A workflow is a sequence of activities that produces a
result of observable value.
In UML terms, a workflow can be expressed as a
sequence diagram, a collaboration diagram, or an activity
diagram.
22
Work Flow Example
23
Workflow Name
UML Diagram
Business Modelling
Business Object Model
Requirement
Use Case Model
Analysis and Design
Activity and sequential
diagrams, Classes and
Packages
Implementation
Classes and Objects
Test
Iterative Testing
Deployment
Deployment Diagram