• No results found

Software Production and Lifecycle Models

N/A
N/A
Protected

Academic year: 2021

Share "Software Production and Lifecycle Models"

Copied!
27
0
0

Loading.... (view fulltext now)

Full text

(1)

ICS 121

and Lifecycle Models

Personnel

Basic Phases

Potential Difficulties

Validation, Verification, and

Testing Problem Definition Validation Requirements Change Validation Operation Revalidation Requirements Specification Validation Architectural Design Specification Verification Implementation and Integration Testing

(2)

ICS 121

Problems: Essence and Accidents

Software is conceptual (intangible)

Essence: difficulties inherent in the intrinsic nature of

software

Accidents: difficulties encountered today, but not

inherent in software production

Accidents are amenable to research breakthroughs

Essence constitutes those problems that are unsolvable

complexity

conformity

changeability

invisibility

(3)

ICS 121

Software Production Personnel

Client – individual or organization that want product to

be developed

Developer(s) – (members of) organization producing

product

User – person on whose behalf client has commissioned

developer, person(s) who will utilize software in

operation

internal software development: client = developer

(4)

ICS 121

THROUGH PROCESS

Quality Software Products developed through

systematic software processes

with explicit product quality requirements

Effective testing and analysis must be included

incremental analysis activities

to complement synthesis activities

Powerful tools and processes are essential to

assure effectiveness

• Process Models

• Processes

(5)

ICS 121

What is a Process?

Device for producing a product (getting job done)

Indirect nature

Process description (program) created to describe wide class of

instances

Humans create process descriptions (models or

programs) to solve classes of problems

Software Processes:

devices for creating and evolving software

products

(6)

ICS 121

The Lifecycle Approach

Major Components of a Lifecycle Model:

• Phases

• Reviews

• Intermediate Products

Phasing promotes manageability and provides

organization

Reviews assure ultimate satisfaction of requirements

Intermediate products promote visibility and assure

(7)

ICS 121

Intermediate Software Products

Objectives:

Demarcate end of phases

Enable effective reviews

Specify requirements for next phase

Form:

Rigorous

Machine processible

Content:

Specifications

Tests

Documentation

(8)

ICS 121

Phases of a SW Lifecycle Model

Requirements Change Validation Operation and Revalidation Validation Verification Implementation and Integration Testing Requirements Analysis + Specification Design Maintenance

(9)

ICS 121

Requirements Analysis and Specification

Problem Definition —> Requirements Specification

determine exactly what client (and user) wants and process

constraints

develop a contract with client

what task the product is to do

Difficulties

client asks for wrong product

client is computer/software illiterate

specifications may be ambiguous, inconsistent, incomplete

Validation

extensive specification reviews to check that requirements

specification satisfies client needs

look for ambiguity, consistency, incompleteness

check for feasibility, testability

(10)

ICS 121

Design

Requirements Specification —> Design

develop architectural design (system structure): decompose

software into modules with module interfaces

develop detailed design (module specifications): select algorithms

and data structures

maintain record of design decisions and traceability

how the product is to do its task

Difficulties

miscommunication between module designers

design may be inconsistent, incomplete, ambiguous

Verification

extensive design reviews (inspections with checklists) to

determine that design conforms to requirements

check module interactions

(11)

ICS 121

Implementation and Integration

Design —> Implementation

implement modules and verify they meet their specifications

combine modules according to architectural design

how the product does its task

Difficulties

module interaction errors

order of integration has a critical influence on product quality and

productivity

Verification and Testing

extensive code reviews (inspections with checklists) to determine

that implementation conforms to requirements and design

develop and test on unit/module test plan: focus on individual

module functionality

test on integration test plan: focus on module interfaces

test on system test plan: focus on requirements and determine

(12)

ICS 121

Operation and Maintenance

Operation —> Change

maintain software after (and during) user operation

integral part of process

determine whether product as a whole still functions correctly

Difficulties

design not extensible

lack of up-to-date documentation

personnel turnover

Verification and Testing

extensive review to determine that change is made correctly and

all documentation updated

test to determine that change is correctly implemented

test to determine that no inadvertent changes were made to

compromise system functionality (check that no affected software has regressed)

(13)

ICS 121

Lifecycle Models

Over time different lifecycle models were developed, e.g.,

build-and-fix model

waterfall model

prototyping model

incremental model

spiral model

....

Different lifecycle models decompose software

engineering activities in different ways

(14)

ICS 121

Build and Fix Approach

Build entire product; deliver to client who requires changes; change until

client feels software can be used productively

O pe ra tion B u ild Firs t Ve rsion D e velo pm e nt M a int en an c e I nt erm e dia te P ro du ct M od ified P ro du ct (un til c lie nt is sat isf ie d )

(15)

ICS 121

Stagewise Development

Software developed in successive stages (lifecycle phases)

P ro ble m De fin it io n Va lida tio n I nt eg ra tion I nt eg ra tio n a nd S y s t em Te s tin g R e qu ire m e nt s C h an ge Valida tio n P h a ses O p e rat io n Re va lid at io n D e tailed D e s ig n S p e cific a tion Ve rificat io n Re qu irem e n ts Sp e cif ic a tio n Va lid a tion A rc h it ectu ra l De s ign S p ec ific at io n

Ve rif ica tio n

Im p lem e n ta tion U nit/ M od u le Te s ting M a int en a nc e Re vie w s In term e d ia te P rod uct V & V S o ft wa re De ve lo p m en t

(16)

ICS 121

Waterfall Model [Royce,1970]

Includes feedback confined between successive phase to minimize impact

Pro ble m Defin it io n

Va lidatio n I nt eg ration I nt eg ra tion a nd S yst em Testin g R e qu ire m e nt s C h an ge Validatio n Ph a ses Op e rat io n Re va lid at io n D e taile d D e sig n S p ecif ication Ve rificat io n Re qu irem en ts

Spe cif ica tio n

Va lida tion

Arch it ect ura l De sign Sp ecifica tio n

Ve rif ica tio n

I m ple me n ta tion

U nit/ Mod ule Te sting Maint en a nce Review s In term ed iat e P rod u ct V& V Sof tw are D eve lop m e nt

(17)

ICS 121

Test Development

Develop Test Plans in conjunction with each lifecycle phase

P ro ble m De fin it io n Va lid at io n In te gra tion I nt eg ra tion a nd S y s t em Tes tin g O p e rat io n R ev a lid at io n D e ta ile d D e s ig n S p e c if ic a tio n V erific at io n Re q uire m en ts S pe c ific at io n Valida tio n A rc h it ec t ura l De s ign S p ec ific a tion Ve rifica tio n U n it Te s t P lan In te g ratio n Te s t P la n S y s tem / A c c e pta n c e Te s t P la n M o du le I nt erf ac e Te st P lan Re v iew s In te rm ed ia te P rod u ct V erific at io n S o ft wa re D eve lo p m en t Tes t D ev e lo p m en t Te s t P lan Tes t Us e I m ple m en ta tion U nit/ M od u le Te s ting

(18)

ICS 121

Exploratory Programming

Develop outline specification because full requirements are not known,

build system and expose to user review, modify system until performance is adequate Build Software System O peration Development Maintenance Intermediate Product Develop Outline Specificaiton U se

(19)

ICS 121

Prototyping Model

Develop prototype implementation to establish requirements, then

follow traditional lifecycle (could also have feedback)

R ap id Pro totype Va lid at ion In te gra tion I nt eg ra tion a nd Syst em Testing R e qu irem e n ts C h an g e Va lida tion D e tailed D e sig n S p ecif ica tion

Verificat ion Re q uire m en ts

Spe cificat io n

Valida tio n

Archit ect ura l De sign Sp ecification

Ve rifica tio n

I m ple men ta tion

U nit/ M odu le Te sting Ma int en a nce Review s In te rm ediat e P rod u ct V &V S of twa re D eve lop m e nt

Op e rat io n

(20)

ICS 121

Evolutionary/Incremental Model

Develop first implementation, develop successive increments of an

operational product until complete, direction of evolution determined by operational experience (development process should use waterfall

model) O p era tion D e v e lo p F i r s t B u i ld Te s t I n t e g r a te a n d Te s t D e v e l o p m e n t M a i n t e n a n c e I n t e r m e d ia te P r o d u c t Develop Increment

(21)

ICS 121

Transformation Model

Develop formal specification,transform into implementation using

correctness-preserving transformations

Pro ble m De fin it io n

Validatio n In te gratio n Te sting R equ ireme n ts C han ge Va lidatio n Transfo rm ation a nd Op timizat io n Ve rif icatio n F orm al Spe cification Ve rificat ion R e qu irem ents

Specif ica tion

Va lid at io n

Op erat io n

R eva lid at ion M a int en a nce

In term ed iat e Prod uct

Sof tware D eve lop me nt

(22)

ICS 121

Simplistic View of Spiral Model

Include risk analysis with each development phase

Opera tion Re validat io n R isk Analysis R e qu iremen ts Specificat io n Validation Verification D esign Specificat io n R isk Ana lysis Ra pid

Prot otype Validation R isk Ana lysis

Imp leme ntation and I ntegrat ion

Testin g R isk Analysis

Maint enance Soft ware Develop men t

Interme diate Product V&V R isk Analysis R eviews R isk Analysis R e qu iremen ts Ch ange Valida tion

(23)

ICS 121

The Spiral Model [Boehm,1988]

Concept of Operation Requirements Plan Requirements OAC Risk Assessment

Risk Item Set

Risk Management Plan

Requirements Risk Control Requirements Validation Abstract Specification Plan Abstract Specifcation OAC Risk Assessment Risk Control Abstract Specification Abstract Specification Validation Concrete Specification Plan Concrete Specification OAC Concrete Specification Concrete Specification Validation and Verification Software Development Plan Risk Assessment Risk Control Progress through steps Cumulative cost Evaluate alternatives, identify, resolve risks

Develop, verify next-level product Plan next phases

Commit Review partition Determine objectives, alternatives, constraints (OAC)

(24)

ICS 121

Capability Maturity Model (CMM)

[Watts Humphrey,1989]

CMM is not a software lifecycle model

Strategy for improving the software process regardless

of the process model followed

Basic premise: the use of new software methods alone will not improve

productivity and quality, but rather software management is in part the cause of problems

CMM assists organizations in providing the infrastructure required for

achieving a disciplined and mature process

Includes both,

technical and

(25)

ICS 121

Capability Maturity Model - 2

Five maturity levels

1. initial – ad hoc process

2. repeatable process – basic project management 3. defined process – process modeling and definition 4. managed process – process measurement

5. optimizing process – process control and dynamic improvement

to aid in maturation, the SEI has a series of

questionnaires and conducts process assessments that

highlight current shortcomings

(26)

ICS 121

ISO 9000

Further attempt to improve software quality based on

International Standards Organization (ISO)

ISO 9000 = series of five related standards

within ISO 9000 standard series ISO 9000-3 focuses on software and

software development

Basic features:

stress on documenting the process in both words and pictures

requires management commitment to quality

requires intensive training of workers

emphasizes measurement

Adopted by over 60 countries (e.g., USA, Japan,

European Union, ...)

Company needs to be certified that its process complies

(27)

ICS 121

ICS 121 Lifecycle Model

References

Related documents

We undertake a systematic review of the different biological, operational and chemical hazards within the agri-food industry using a dataset of 2,070 registered

By this we mean that the wages of university staff that serve as a base of economic impact studies cannot be simply connected to first, second and third mission

The raw data set for this study consists of daily data from January 1, 1987 to March 26, 2013 for end-of-day settlement prices for all futures and American options on WTI crude oil

Iodine was the primary antimicrobial used on the Space Shuttle Program with applications ranging from crew potable water to EMU cooling and feed-water loops.. A

The plenary indulgence is granted to the faithful under the usual conditions (sacramental Confession, Eucharistic Communion, and prayer for the Pope’s intentions) to Christians

tion of labor market experience of men and women may contribut to a decrease in migration rates of married couples, as well as to an increase in marital. instability of migrants as

Among the further tasks to be done we find: improving the efficiency of the PCG by adaptive selection of φ, the number of terms in the preconditioner, using the estimation of ρ by

In the international context, one might query whose policy the WTO should take into consideration when deciding a dispute between two or more nations that have