Software Life Cycle

17
Using UML, Patterns, and Java Object-Oriented Software Engineering Software Life Cycle

description

Software Life Cycle. Software development. « include ». « include ». « include ». Problem definition. System development. System operation. Client. Project manager. Developer. Administrator. End user. Simple life cycle for software development. System. development. activity. - PowerPoint PPT Presentation

Transcript of Software Life Cycle

Page 1: Software Life Cycle

Usi

ng U

ML

, Pat

tern

s, a

nd J

ava

Ob

ject

-Ori

ente

d S

oftw

are

En

gin

eeri

ng

Software Life Cycle

Page 2: Software Life Cycle

Software Life Cycle

Simple life cycle for software development

«include»«include»

«include»

Client End userDeveloperProject manager

Software development

System developmentProblem definition System operation

Administrator

Page 3: Software Life Cycle

Software Life Cycle

Another simple life cycle.

Systemoperationactivity

Systemdevelopmentactivity

Problemdefinitionactivity

Systemupgrade

activity

Marketcreationactivity

Systemdevelopment

activity

Page 4: Software Life Cycle

Software Life Cycle

Entity-centered view of software development.

Lessons learneddocument

System specificationdocument

Executable system

Market surveydocument

Software Development

Page 5: Software Life Cycle

Software Life Cycle

Activities and products of the simple life cycle of Figure 15-2.

Specification

Executable system

Lessons learned

Market survey

Problem definition

System development

System operation

Activity Work product

consumes

produces

consumes

produces

consumes

produces

activity

activity

activity

document

document

document

Page 6: Software Life Cycle

Software Life Cycle

Model of the software life cycle

Process Group

Activity Work Product

Resource

Task

Process

Money

Time

Participant

consumed by

produces

Work Unit

*

*

*

*

Software Life Cycle

*

*

Page 7: Software Life Cycle

Software Life Cycle

Process interrelationships in the IEEE 1074 standard.

Verification& Validation

Process

ConfigurationManagementProcess

DocumentationDevelopmentProcess

TrainingProcess

ProjectMonitoring

&Ctrl Process

S/W QualityManagementProcess

ProjectInitiationProcess

Operation& SupportProcess

MaintenanceProcess

DesignProcess

Concept Exploration Process

System Allocation Process

RequirementsProcess

ImplementationProcess

InstallationProcess

RetirementProcess

Development processes Management processes Integral processes

Page 8: Software Life Cycle

Software Life Cycle

RequirementsProcess

SystemAllocationProcess

ProjectInitiationProcess

ConceptExploration

Process

DesignProcess

ImplementationProcess

InstallationProcess

Operation &Support Process

Verification& Validation

Process

The waterfall model of software development is an activity-centered view of the software life cycle.

Page 9: Software Life Cycle

Software Life Cycle

V-Model of software development.

SystemRequirements

Analysis

Implementation

PreliminaryDesign

DetailedDesign

SoftwareRequirementsElicitation

Operation

ClientAcceptance

RequirementsAnalysis

UnitTest

SystemIntegration

& Test

ComponentIntegration

& Test

Page 10: Software Life Cycle

Software Life Cycle

Boehm’s spiral model (Adapted from [Boehm, 1987]).

Determine objectiv es,alternatives, & constr aints

Evaluate alter natives,identify & resolv e r isks

Develop & ver ifynext level productPlan next phase

Requirements

Development

Integration

plan

plan

plan

Requirements

Design

validation

validation

SoftwareSystem

Product

Riskanalysis

Riskanalysis

Prototype1Prototype2

Prototype3

Riskanalysis

Concept ofoperation

RequirementsDesign

Code

Unit Test

Integration & TestAcceptance

DetailedDesign

P1

P2

Test

Page 11: Software Life Cycle

Software Life Cycle

Workflows in the unified software life cycle used by Royce.

*

releases

*

Design

Requirements

Implementation

Deployment

Unified ProcessSoftware Life Cycle

Management

*

Environment

Assessment

Workflow

Artifact Iteration Transition

Construction

Inception

ElaborationPhase

4

Cycle

*Product

Page 12: Software Life Cycle

Software Life Cycle

States of a Software System called phases in the Unified Process.

Inception Elaboration

ConstructionTransition

Page 13: Software Life Cycle

Software Life Cycle

The seven workflows in the Unified Process.

Implementation Workflow

Management Workflow

Requirements Workflow

Design Workflow

Deployment Workflow

Inception Elaboration ConstructionTransition

Assessment Workflow

Environment Workflow

Time

Iter.#1 Iter.#2 Iter.#1 Iter.#2 Iter.#3 Iter.#1 Iter.#2 Iter.#1 Iter.#2

Page 14: Software Life Cycle

Software Life Cycle

Entity-centered life cycle view of the models of the Unified Process.

Use case model

Analysis model

Design model

Deployment model

Test model

Implementation model

specified by

realized by

distributed by

implemented by

verified by

Page 15: Software Life Cycle

Software Life Cycle

Snapshot of a project issue base. Issues i1 and i5 have been resolved, whereas all other issues are still open. Dependencies among issues indicate that the resolution of an issue can constraint the alternatives for dependent issues.

i1:Issue

status={Closed}

i2:Issue

i7:Issue

i6:Issue

i5:Issue

status = {Open}

i3:Issue

status = {Open}

status = {Open}

status={Closed}

status = {Open}

Page 16: Software Life Cycle

Software Life Cycle

The waterfall model as a special case of the issue-based life cycle model. All issues that belong to the same issue category are contained in the same UML package. In the project status shown in the figure, all the requirements elicitation and analysis issues have been closed; that is, the requirements elicitation and analysis activities have been completed.

Analysis

System Design

Req. Elicitation

i1:Issue

status={Closed}

i2:Issuei7:Issue

i6:Issue

i5:Issue

status={Closed}

i3:Issue

status={Closed}

status={Closed}

status={Closed}

status = {Open}

Page 17: Software Life Cycle

Software Life Cycle

In a complex project state, all activities can still have some open issues, which means that all activities need to be managed concurrently.

Analysis

System Design

Req. Elicitation

i1:Issue

status={Open}

i2:Issuei7:Issue

i6:Issue

i5:Issue

status={Closed}

i3:Issue

status={Closed}

status={Open}

status={Closed}

status = {Open}