CSC2073 - Lecture 03 (Software Process, Waterfall Model)
CSC2073 - Lecture 03 (Software Process, Waterfall Model)
Fundamentals
CSC-2073
Lecture No. 03
Dr. Muhammad Adeel
Department of Computer Science
National Textile University
[email protected]
Last Lecture Review
What is Software?
What is Engineering?
Software Engineering
Difference between Computer Science and
Software Engineering
Software Crisis
Well-Engineered Software
Scope of a S/W Life-Cycle Model
Software
Process
Plan- Agile-
Driven Driven
Software Specification
– The functionality of the software and constraints on its
operation must be defined
Software Design & Implementation
– The software to meet the specification must be
produced
Software Validation
– The software must be validated to ensure that it does
what the customer wants
Software Evolution
– The software must evolve to meet changing customer
8 needs Software Engineering - CSC2073
Software Process Models
Integration
Testing
System Testing
Milestone and
deliverable at Acceptance
each step. (Artifacts Test
such as Design
document, Requirement Maintenance
Specification. etc.)
System Design
Program Design
Implementation
Integration
Testing
System Testing
Danger! e.g. a performance
problem can result in a Acceptance
major requirements change. Test
Very expensive rollback...
Maintenance
Integration
Testing
Requirements
Requirements
System Testing
System
System Design
Design
Program
Program Design
Design
Implementation
Implementation
Acceptance
Integration
Test
Integration
Testing
Testing
Input to the
System
System Testing
Testing
Acceptance
Acceptance Test
Test
phases in the Maintenance
Maintenance
Maintenance
second round
Software Process
– S/W Process - Fundamentals Activities
– Software Process Models
The Waterfall Model
– The Waterfall Model - Pros
– The Waterfall Model - Cons
– Can We Improve the Model?
– Do It Twice?