Download presentation
Presentation is loading. Please wait.
Published byRoss Waters Modified over 9 years ago
1
CMSC 345, Version 1/03 An Overview of Software Processes Reference: Software Engineering, by Ian Sommerville, 6 th edition, Chapter 3
2
CMSC 345, Version 1/03 Objectives l To introduce the general phases of the software (development) life cycle l To describe various generic software process models and their pros and cons
3
CMSC 345, Version 1/03 Software Life Cycle l The phases necessary to develop and maintain a software system. These phases include: Requirements (Specification) Design Implementation (Coding) Testing (Validation) Maintenance (Evolution) l A software process model is an abstract representation of how these phases can be addressed.
4
CMSC 345, Version 1/03 Requirements l The process of establishing what services are required of the system the constraints on the system’s operation and development l The “what” of the software life cycle
5
CMSC 345, Version 1/03 A Generic Requirements Process
6
CMSC 345, Version 1/03 Design l The process of converting the system specification (requirements) into a software structure that realizes that specification l The “how” of the software life cycle
7
CMSC 345, Version 1/03 A Generic Software Design Process
8
CMSC 345, Version 1/03 Implementation l Translating a design into a program and removing errors from that program l Programming is a personal activity - there is no generic programming process. l Programmers carry out some program testing to discover faults in the program and remove these faults in the debugging process. l The activities of design and implementation are closely related and may be interleaved.
9
CMSC 345, Version 1/03 Testing l Verification and validation is intended to show that a system conforms to its specification and meets the requirements of the system customer. l Involves checking and review processes and system testing l System testing involves executing the system with test cases that are derived from the specification of the real data to be processed by the system.
10
CMSC 345, Version 1/03 A Generic Testing Process
11
CMSC 345, Version 1/03 V-Model of Test Planning
12
CMSC 345, Version 1/03 System Maintenance l Software is inherently flexible and can change (as opposed to hardware). l In the past, there has been a demarcation between development and evolution (maintenance). This is increasingly irrelevant as fewer and fewer systems are completely new. l Software engineering should be thought of as an evolutionary process where software is continually changed over its lifetime in response to customer needs.
13
CMSC 345, Version 1/03 Software Process Models l Waterfall model (Royce, 1970) l Prototyping Throwaway Evolutionary l Incremental development l Spiral model (Boehm, 1988)
14
CMSC 345, Version 1/03 Waterfall Model Requirements Design Implementation Maintenance Testing
15
CMSC 345, Version 1/03 Observations l The following phase should not start until the previous phase has finished. l In practice, Phases overlap May return to a previous phase l Still widely used, especially on very large projects
16
CMSC 345, Version 1/03 Waterfall Model Pros and Cons Pros Cons
17
CMSC 345, Version 1/03 Prototyping Requirements Implementation Design Testing Design Implementation Testing Maintenance
18
CMSC 345, Version 1/03 Observations l Used for requirements elicitation and validation l A “working” model (prototype) of the final system is developed during requirements l Is an iterative process l Prototype can be thrown away or evolved into the final system (evolutionary prototyping)
19
CMSC 345, Version 1/03 Prototyping Pros and Cons Pros Cons
20
CMSC 345, Version 1/03 Throwaway vs. Evolutionary Throwaway pros Evolutionary pros
21
CMSC 345, Version 1/03 Incremental Development
22
CMSC 345, Version 1/03 Observations l Development and delivery is broken down into increments with each increment delivering part of the required functionality. l User requirements are prioritised and the highest priority requirements are included in early increments. l Is an iterative process
23
CMSC 345, Version 1/03 Incremental Pros and Cons Pros Cons
24
CMSC 345, Version 1/03 Spiral Model
25
CMSC 345, Version 1/03 Observations l Process is represented as a spiral rather than as a sequence of activities with backtracking l Each loop in the spiral represents a phase in the process. l No fixed phases such as specification or design -- loops in the spiral are chosen depending on what is required l Risks are explicitly assessed and resolved throughout the process. l Uses prototyping
26
CMSC 345, Version 1/03 Things to Think About l What about modifying existing software? l What about using existing software? In-house modules COTS (Commercial Off-The-Shelf)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.