Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Unified Software Development Process-Object-Oriented Design-Lecture 2 Slides-Computer Engineering, Slides of Object Oriented Analysis and Design

Unified Software Development Process, USDP, Software Development Methodology, SDM, Unified Software Development Process, Phases, Iterations, Workflows, Iterative approach, Iterative Development Process, Inception Phase, Postconditions, Deliverables, Inception Timeline, Elaboration Phase, Construction Phase, Transition Phase, Object-Oriented Design, Lecture Slides, Raman Ramsin, Department of Computer Engineering, Sharif University of Technology, Iran.

Typology: Slides

2011/2012

Uploaded on 02/18/2012

hester
hester 🇮🇷

4.5

(13)

85 documents

1 / 24

Toggle sidebar

Related documents


Partial preview of the text

Download Unified Software Development Process-Object-Oriented Design-Lecture 2 Slides-Computer Engineering and more Slides Object Oriented Analysis and Design in PDF only on Docsity!

Department of Computer Engineering

Sharif University of Technology

Object-Oriented Design

Lecturer: Raman Ramsin

Lecture 2: USDP Overview

Department of Computer Engineering

Sharif University of Technology

Software Development Methodology (SDM)

 A framework for applying software engineering practices with the specific aim of providing the necessary means for developing software-intensive systems

 Consisting of two main parts:

 A set of modeling conventions comprising a Modeling Language (syntax and semantics)

 AProcess, which

 provides guidance as to the order of the activities,

 specifies what artifacts should be developed using the Modeling Language,

 directs the tasks of individual developers and the team as a whole, and

 offers criteria for monitoring and measuring a project’s products and activities

Department of Computer Engineering

Sharif University of Technology

Unified Software Development Process (USDP)

 Also known as Unified Process (UP)

 First introduced in 1999

 A refined, simplified, and non-proprietary version of the Rational Unified Process (RUP)

 UML-Based

 Use-Case-Driven

 Architecture-centric

 Iterative and Incremental

Department of Computer Engineering

Sharif University of Technology

Unified Software Development Process

 Software lifecycle is decomposed over time in four sequential phases

 Inception (Vision Milestone)

 Define the vision of the product, scope of the project and the business case

 Elaboration (Architecture Milestone)

 Refine the definition of the product

 Define and baseline an architecture

 Develop a more precise plan for its development and deployment

 Construction (Initial Operational Capability Milestone)

 Build the product to the point where it can be delivered to its end-users for

the first time

 Transition (Product Release Milestone)

 Transition the product to the user community; this includes manufacturing,

delivering, training, supporting and maintaining the product

Inception Elaboration Construction Transition

Time

Vision Baseline Architecture Initial Capability (^) Product Release

Department of Computer Engineering

Sharif University of Technology

Phases and Iterations

Inception Elaboration Construction Transition

Prelim Iteration

Arch Iteration

Dev Iteration

Trans Iteration

Dev Iteration

Release Release Release Release Release Release Release Release

Department of Computer Engineering

Sharif University of Technology

Iterations and Workflows

P r e l i m i n a r y I t e r a t io n ( s )

it e r.

1

it e r.

2

it e r.

n

it e r.

n + 1

it e r.

n + 2

it e r.

m

i t e r.

m + 1

Inception Elaboration Construction Transition

Phases Workflows

An ite ration in the elabo ration p hase

Requirements

Design

Implementation

Test

Analysis

Iterations

Department of Computer Engineering

Sharif University of Technology

 Continuous integration

 Not done in one lump near the delivery date

 Frequent, executable releases

 Some internal; some delivered

 Attack risks through demonstrable progress

 Progress measured in products, not documentation or

engineering estimates

Features of the iterative approach

Department of Computer Engineering

Sharif University of Technology

Risk

Inception

Elaboration

Construction

P reliminary Iteration

Architect. Iteration

Architect. Iteration

Devel. Iteration

Devel. Iteration

Devel. Iteration

Transition Iteration

Transition Iteration

P ost- deployment

Waterfall

Time

Risk Profile of an Iterative Development Process

Transition

Department of Computer Engineering

Sharif University of Technology

Inception Elaboration Construction Transition

Iteration 1 Iteration 2 Iteration 3

Iteration Planning Rqmts Capture Analysis & Design Implementation Test Prepare Release

“Mini-Waterfall” Process

Use Cases Drive the Iteration Process

Department of Computer Engineering

Sharif University of Technology

Inception Phase

 The purpose of Inception is to "get the project

off the ground":

 establishing feasibility - this may involve some

technical prototyping to validate technology decisions

or proof of concept prototyping to validate business

requirements;

 creating a business case to demonstrate that the

project will deliver quantifiable business benefit;

 capturing essential requirements to help scope the

system;

 identifying critical risks.

Department of Computer Engineering

Sharif University of Technology

Inception – Concerns

 The inception phase is a preparatory stage that

attempts to answer the following questions:

 What is the purpose and objectives of the project? Is it worth the effort?

 Is the project feasible (e.g. technologically, financially, with current personnel)?

 Should we buy the system, or build it?

 Will it be developed now, or built from an existing system?

 What are the estimated costs and risks?

 Should we proceed with the project?

 This phase also deals with project planning and

project management

 This includes Gantt charts and plans, budgets, etc.

Department of Computer Engineering

Sharif University of Technology

Inception – Postconditions and Deliverables

Department of Computer Engineering

Sharif University of Technology

Inception Timeline

 An important idea with Inception is that we do

not yet know if a project will take place!

 Often 1 or 2 iterations are required for Inception

 Therefore, since a project may be rejected, it

makes sense that the Inception phase should be

very short

 Therefore, if the project gets scrapped, little time

(and money) would have been wasted

 It is not uncommon for Inception to last a few days

to a few weeks, maximum

Department of Computer Engineering

Sharif University of Technology

Elaboration Phase

 The purpose of Inception is to understand the problem,

whereas Elaboration explores the solution:

 create an executable architectural baseline;

 refine the risk assessment;

 define quality attributes (defect discovery rates, acceptable

defect densities, and so on);

 capture use cases to 80% of the functional requirements;

 create a detailed plan for the construction phase;

 formulate a bid that includes resources, time, equipment,

staff, and cost.

Department of Computer Engineering

Sharif University of Technology

Elaboration and the Workflows

 In the Elaboration phase, the focus in each of

the core workflows is as follows:

 requirements - refine system scope and

requirements;

 analysis - establish what to build;

 design - create a stable architecture;

 implementation - build the architectural baseline;

 test - test the architectural baseline.

Department of Computer Engineering

Sharif University of Technology

Elaboration - Concerns

 After Elaboration, project risks are essentially

eliminated

 The Architecture and UI have been approved by customers and managers

 Technically difficult software components have been implemented, or proof-of-concept code has been created to prove it was possible

 Cost estimates are finalized, so budgets can be approved

 Preliminary user manuals have been created and analyzed

 Analysis, architecture and design well underway

after Elaboration

Department of Computer Engineering

Sharif University of Technology

Elaboration – Postconditions and Deliverables

Department of Computer Engineering

Sharif University of Technology

Construction Phase

 The purpose of Construction is to iteratively

enhance and evolve the previously created

artefacts into the target system:

 complete all requirements, analysis, and design

 evolve the architectural baseline generated in

Elaboration into the final system.

Department of Computer Engineering

Sharif University of Technology

Construction and the Workflows

 We can summarize the kind of work undertaken

in each workflow during Construction as follows:

 requirements - uncover any requirements that had

been missed;

 analysis - finish the analysis model;

 design - finish the design model;

 implementation - build the Initial Operational

Capability;

 test - test the Initial Operational Capability.

Department of Computer Engineering

Sharif University of Technology

Construction – Postconditions and Deliverables

Department of Computer Engineering

Sharif University of Technology

Transition Phase

 The purpose of Transition is the ultimate deployment of

the software produced at the end of Construction:

 conduct beta test and acceptance test, and correct defects;

 prepare the user sites for the new software;

 tailor the software to operate at the user sites;

 modify the software if unforeseen deployment problems

arise;

 create user manuals and other documentation;

 provide user consultancy;

 conduct a post-project review.

Department of Computer Engineering

Sharif University of Technology

Transition and the Workflows

 We can summarize the kind of work undertaken

in each workflow during Transition as follows:

 Requirements - not applicable.

 Analysis - not applicable.

 Design - modify the design if problems emerge in

testing.

 Implementation - tailor the software for the user site

and correct problems uncovered in testing.

 Test - beta testing and acceptance testing at the user

site.

Department of Computer Engineering

Sharif University of Technology

Transition – Postconditions and Deliverables

Department of Computer Engineering

Sharif University of Technology

References

 Jacobson, I., Booch, G. and Rumbaugh, J. The Unified

Software Development Process, Boston, MA: Addison-

Wesley, 1999.

 Arlow, J., Neustadt, I., UML 2 and the Unified Process:

Practical Object-Oriented Analysis and Design, 2nd^ Ed.

Addison-Wesley, 2005.