Software Design Patterns subject for BS Software Engineering
RUP is a type of Software Process Models
1 of 22
Download to read offline
More Related Content
Lec_Rational Unified Process
1. 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
Model
Iterative, Incremental and Architecture centric.
1
2. 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.
Represent the effective usage of UML
2
3. 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.
3
4. 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
4
5. 3. Component-based 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.
5
7. 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.
It provide blue print for software construction.
7
8. 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.
8
9. 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.
9
12. Inception Phase
Identify project vision delimiting the project
scope.
Identify actors and develop initial use case.
(20-30% complete)
Credibility of estimates and development
process is established.
Develop Lifecycle objective as milestone.
12
13. Elaboration Phase
Corresponds to the transition from a low-risk operation
to a high-cost, high-risk operation with substantial
inertia.
Analyze the problem domain and establish solid
architectural foundation.
Establish use case model 80% complete.
Provide Software Architecture description.
13
14. 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.
14
15. Transition Phase
Release the product to limited user community for early
feedback.
Beta-Testing against user expectations.
UAT and deployment after certain level of stableness.
Rollout software to marketing and sales team.
Product release as Milestone.
15
16. 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
Workflows, the when
16
19. 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 Use-Case Model or the
Design Model
19
20. 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.
20
22. 22
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