Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
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
1 / 24
Department of Computer Engineering
Object-Oriented Design
Lecturer: Raman Ramsin
Lecture 2: USDP Overview
Department of Computer Engineering
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
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
Unified Software Development Process
Time
Vision Baseline Architecture Initial Capability (^) Product Release
Department of Computer Engineering
Phases and Iterations
Prelim Iteration
Arch Iteration
Dev Iteration
Trans Iteration
Dev Iteration
Release Release Release Release Release Release Release Release
Department of Computer Engineering
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.
it e r.
it e r.
it e r.
it e r.
it e r.
i t e r.
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
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
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
Inception Elaboration Construction Transition
Iteration 1 Iteration 2 Iteration 3
Iteration Planning Rqmts Capture Analysis & Design Implementation Test Prepare Release
Use Cases Drive the Iteration Process
Department of Computer Engineering
Department of Computer Engineering
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
Inception – Postconditions and Deliverables
Department of Computer Engineering
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
Department of Computer Engineering
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
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
Elaboration – Postconditions and Deliverables
Department of Computer Engineering
Department of Computer Engineering
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
Construction – Postconditions and Deliverables
Department of Computer Engineering
Department of Computer Engineering
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
Transition – Postconditions and Deliverables
Department of Computer Engineering
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.