Reaves.dev

v0.1.0

built using

Phoenix v1.7.12

Unified Software Process

Stephen M. Reaves

::

2023-10-30

Notes about Lesson 9 of CS-6300

Summary

History

In 1997, Rational defined 6 best practices for software engineering:

Key Features

Software process model

Component based

Tightly related to UML

Distinguishing aspects

Use Case Driven

A system performs a sequence of actions in response to user input

Use cases capture this interaction and answer the question, “What is the system supposed to do for each user?”.

Architecture-centric

Use cases define the function, architecture defines the form.

Iterative and Incremental

Gproject Software Project Cycle/Increment 1InceptionIteration 1Iteration 2Iteration 3ElaborationIteration 1Iteration 2Iteration 3ConstructionIteration 1Iteration 2Iteration 3TransitionIteration 1Iteration 2Iteration 3Cycle/Increment 2InceptionIteration 1Iteration 2Iteration 3ElaborationIteration 1Iteration 2Iteration 3ConstructionIteration 1Iteration 2Iteration 3TransitionIteration 1Iteration 2Iteration 3Cycle/Increment NInceptionIteration 1Iteration 2Iteration 3ElaborationIteration 1Iteration 2Iteration 3ConstructionIteration 1Iteration 2Iteration 3TransitionIteration 1Iteration 2Iteration 3

The end of each cycle has it’s own product release

Phases within a cycle

rup

Iterations

Inception

From idea to vision of end product

Delimit project scope

Business case for product represented

Deliverables

Criteria

Stakeholder concurrence on scope, definition, and cost/schedule estimates

Requirements understanding as evidenced by the fidelity of primary uses cases

Credibility of the cost/schedule estimates, priorities, risks, and development process

Depth and breadth of any prototype that was developed

Project may be canceled or considerably re-thought if it fails to pass this milestone.

Elaboration

Analyze problem domain

Establish architectural foundation

Eliminate highest risk elements

Refine plan of activities and estimates

Deliverables

Almost complete use-case model

Supplementary requirements, including non-functional

Complete Software architecture

Design model, test cases, executable prototype

Revised project plan

Preliminary user manual

Criteria

Are vision and architecture stable?

Does the prototype show that the major risks have been addressed/resolved?

Is the plan sufficiently detailed and accurate?

Do all stakeholders agree that the vision can be achieved with the current plan?

Is the actual resource expenditure vs planned expenditure acceptable?

Project may be canceled or considerably reworked if it fails to pass this milestone.

Construction

All features are considered developed

All features are thoroughly tested

Shift from intellectual property development to product development

Deliverables

All use cases have been realized, with traceability information.

Software product integrated on adequate platforms.

Complete system test results

Complete user manual

Complete set of artifacts

Criteria

Is the product stable/mature enough to be deployed to users?

Are the stakeholders ready for the transition into the user community?

Are the actual resources expenditures vs planned expenditures still acceptable?

Transition may be postponed by one release if the project fails to pass this milestone.

Transition

Issues after deployment

Training customer service and providing help-line assistance

A new cycle may start

Deliverable

Project completed

Product in use

Lessons learned / post-mortem

Plan for next release

Criteria

Is the user satisfied?

Are actual resourced expenditures vs planned expenditures still acceptable?

Phases and Iterations

rup