Tải bản đầy đủ (.pdf) (23 trang)

Software design: Lecture 4 - Sheraz Pervaiz

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (453.08 KB, 23 trang )

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. 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.


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.

    (20­30% complete)


Ø

Credibility of estimates and development process 
is established.


14

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.


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.

Ø

Beta­Testing 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 Use­Case 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



×