Software Process & Lifecycles
Overview of Software Development
Activities
Introduction to Various Lifecycles
Agenda
Team Organization Deliverable Turn-in
– Project Assignments to be posted on the web-
site
Introduction to Software Development
Activities
Survey of Lifecycle Models
Tuesday, 5 October 199 CS 3802 - Introduction to Software E 2
9 ngineering
Software Engineering
Layered Technology
– Key Process Areas
Tools
Methods
Process
Quality
[Pressman 97]
Tuesday, 5 October 199 CS 3802 - Introduction to Software E 3
9 ngineering
Software Quality
Critical Quality Other Attributes
Attributes – Completeness
[Sommerville 96] – Compatibility
– Maintainability – Portability
– Internationalization
– Dependability
– Understandability
– Efficiency – Scalability
– Usability – Robustness
– Testability
– Reusability
– Customizability
Tuesday, 5 October 199 CS 3802 - Introduction to Software E 4
9 ngineering
Capability Maturity Model
Developed by SEI
Five Process Maturity Levels
– Level 0: Chaos
– Level 1: Initial
– Level 2: Repeatable
– Level 3: Defined
– Level 4: Managed
– Level 5: Optimizing
Tuesday, 5 October 199 CS 3802 - Introduction to Software E 5
9 ngineering
Process Principles
Prescribes all major activities
Uses resources, within a set of constraints, to
produce intermediate and final products
May be composed of sub-processes
Each activity has entry and exit criteria
Activities are organized in a sequence
Has a set of guiding principles to explain goals
Constraints may apply to activity, resource or
product
Tuesday, 5 October 199 CS 3802 - Introduction to Software E 6
9 ngineering
Software Development Stages
Requirements Analysis & Specification
Conceptual/System Design
Detailed/Program Design
Implementation/Coding
Unit & Integration Testing
System Testing
System Delivery
Maintenance
Tuesday, 5 October 199 CS 3802 - Introduction to Software E 7
9 ngineering
Software Lifecycle Models
Waterfall Model
V Model
Prototyping Model
Operational Specification Model
Phased Development Model
Spiral Model
Tuesday, 5 October 199 CS 3802 - Introduction to Software E 8
9 ngineering
Waterfall Model
REQUIREMENTS
ANALYSIS
SYSTEM
DESIGN
PROGRAM
DESIGN
CODING
UNIT & INTE-
GRATION TESTING
SYSTEM
TESTING
ACCEPTANCE
TESTING
[Pfleeger 98] OPERATION
& MAINTENANCE
Tuesday, 5 October 199 CS 3802 - Introduction to Software E 9
9 ngineering
V Model
Validate requirements OPERATION
REQUIREMENTS & MAINTENANCE
ANALYSIS
ACCEPTANCE
TESTING
SYSTEM
DESIGN
SYSTEM
Verify design TESTING
PROGRAM UNIT & INTE-
DESIGN GRATION TESTING
CODING
[Pfleeger 98]
Tuesday, 5 October 199 CS 3802 - Introduction to Software E 10
9 ngineering
Prototyping Model
Listen to Build/Revise
Customer Mock-Up
Customer
Test-drives
Mock-up
[Pressman 97]
Tuesday, 5 October 199 CS 3802 - Introduction to Software E 11
9 ngineering
Prototyping Model
LIST OF LIST OF LIST OF
REVISIONS REVISIONS REVISIONS
revise user/
prototype customer
review
PROTOTYPE PROTOTYPE PROTOTYPE TEST
REQUIREMENTS DESIGN SYSTEM
DELIVERED
SYSTEM SYSTEM
REQUIREMENTS
(sometimes informal
or incomplete)
[Pfleeger 98]
Tuesday, 5 October 199 CS 3802 - Introduction to Software E 12
9 ngineering
Operational Specification Model
[Pfleeger 98]
Execute and
Revise
OPERATIONAL TRANSFORMED
SPECIFICATION SPECIFICATION TEST
(problem-oriented) (implementation-
oriented)
DELIVERED
SYSTEM
SYSTEM
REQUIREMENTS
(sometimes informal
or incomplete)
Tuesday, 5 October 199 CS 3802 - Introduction to Software E 13
9 ngineering
Phased Development Model
Development systems
Build Release 1 Build Release 2 Build Release 3
Time
Use Release 1 Use Release 2 Use Release 3
Production systems
[Pfleeger 98]
Tuesday, 5 October 199 CS 3802 - Introduction to Software E 14
9 ngineering
Boehm’s Spiral Model
DETERMINE GOALS, EVALUATE ALTERNATIVES
ALTERNATIVES, AND RISKS
CONSTRAINTS raints 4 [Pfleeger 98]
Const Risk analysis 4
ra ints 3 Risk analysis
s 4 Const 3
ve
n ati
ter
Al es
3
raints 2
tiv Const Risk analysis
na 2
ter es 2
Al ativ Co
n ns
l ter tra Risk analysis 1 Proto - Proto - Proto -
A Alte
Budget 4 rnat ints type 2 type 3 type 4
Budget 3 Budget 2 Budget ives 1 Prototype 1
1 1
start
Requirements, Concept of Detailed
sig re
ts
re en
de twa
life-cycle plan operation a design
n
m
ftw ire
f
So
De
ve So equ
Int lop r
e pla ment d
and grati date ts Code
tes on n Vali iremen d ,
tp u a t e
lan req d
Vali design
f d
ie
veri Unit test
System
Implementation Acceptance test
plan test
PLAN DEVELOP AND TEST
Tuesday, 5 October 199 CS 3802 - Introduction to Software E 15
9 ngineering
Coming Up Next...
Project Assignments by Thursday
– Should be posted to web-site earlier
Preliminary Problem Analysis & Project
Plan Assignment
– Due: 14 October
Lecture: Requirements Engineering
Tuesday, 5 October 199 CS 3802 - Introduction to Software E 16
9 ngineering