CMSC 345, Version 1/03 An Overview of Software Processes Reference: Software Engineering, by Ian Sommerville, 6 th edition, Chapter 3.

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Unit 2. Software Lifecycle
Lectures 2 & 3 Software Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
Software Processes Modified by Randy K. Smith
CEN nd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Software Process Models.
Chap 2. Software Processes
What is software? Computer programs and associated documentation
1 Chapter 2 Software Processes An overview of conventional software process models, Rational Unified Process, and CASE tools.
EE6421/ED5031Software Engineering Slide 1 Section # 2 (Read Sommerville Ch (3 or 4) and Pressman Ch 2) Software Processes.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Software Processes Overview
 © Ian Sommerville A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective.
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
Software Process Models
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 3Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
L ECTURE 2 S OFTWARE P ROCESSES 1. O BJECTIVES To describe outline process models for requirements engineering, software development, testing and evolution.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Process Activities. Process activities Real software processes are inter-leaved sequences of technical, collaborative and managerial activities.
Chapter 3 Software Processes.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Lecture 2 Software Processes CSC301-Winter 2011 Hesam C. Esfahani
Software Processes Sumber dari : cc.ee.ntu.edu.tw/~farn/courses/SE/ch4.ppt.
Software Processes. Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline.
Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Chapter 3 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Processes Software and Its Engineering - adopted & adapted from I. Sommerville, 2004.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
Lecture 3 Software Engineering Models (Cont.)
1 SWE Introduction to Software Engineering Lecture 4.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
An Introduction to Software Engineering
4. Software Processes Software Engineering. Objectives To introduce software process models To describe three generic process models and when they may.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
September 30, 2010COMS W41561 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
1 SYS366 Week 2 - Lecture Visual Modeling and Process.
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
Software engineering Software Processes.
Chapter3:Software Processes
Software Process Activities.
Software Processes (a)
Software Processes.
An Overview of Software Processes
An Overview of Software Processes
Software Processes.
Presentation transcript:

CMSC 345, Version 1/03 An Overview of Software Processes Reference: Software Engineering, by Ian Sommerville, 6 th edition, Chapter 3

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

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.

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

CMSC 345, Version 1/03 A Generic Requirements Process

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

CMSC 345, Version 1/03 A Generic Software Design Process

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.

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.

CMSC 345, Version 1/03 A Generic Testing Process

CMSC 345, Version 1/03 V-Model of Test Planning

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.

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)

CMSC 345, Version 1/03 Waterfall Model Requirements Design Implementation Maintenance Testing

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

CMSC 345, Version 1/03 Waterfall Model Pros and Cons Pros Cons

CMSC 345, Version 1/03 Prototyping Requirements Implementation Design Testing Design Implementation Testing Maintenance

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)

CMSC 345, Version 1/03 Prototyping Pros and Cons Pros Cons

CMSC 345, Version 1/03 Throwaway vs. Evolutionary Throwaway pros Evolutionary pros

CMSC 345, Version 1/03 Incremental Development

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

CMSC 345, Version 1/03 Incremental Pros and Cons Pros Cons

CMSC 345, Version 1/03 Spiral Model

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

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)