An Overview of Software Processes

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
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.
CMSC 345, Version 1/03 An Overview of Software Processes Reference: Software Engineering, by Ian Sommerville, 6 th edition, Chapter 3.
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.
©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 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.
©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.
Chapter 2: Software Processes
Chapter 2 – Software Processes
Software Processes (a)
Chapter 2 SW Process Models
Software Engineering–CSC 365D
Software Processes.
An Overview of Software Processes
Software Processes.
Presentation transcript:

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

Objectives To introduce the general phases of the software (development) life cycle To describe various generic software process models and their pros and cons CMSC 345, Version 1/03

Software Life Cycle The phases necessary to develop and maintain a software system. These phases include: Requirements (Specification) Design Implementation (Coding) Testing (Validation) Maintenance (Evolution) A software process model is an abstract representation of how these phases can be addressed. CMSC 345, Version 1/03

Requirements The process of establishing what services are required of the system the constraints on the system’s operation and development The “what” of the software life cycle CMSC 345, Version 1/03

A Generic Requirements Process CMSC 345, Version 1/03

Design The process of converting the system specification (requirements) into a software structure that realizes that specification The “how” of the software life cycle CMSC 345, Version 1/03

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

Implementation Translating a design into a program and removing errors from that program Programming is a personal activity - there is no generic programming process. Programmers carry out some program testing to discover faults in the program and remove these faults in the debugging process. The activities of design and implementation are closely related and may be interleaved. CMSC 345, Version 1/03

Testing Verification and validation is intended to show that a system conforms to its specification and meets the requirements of the system customer. Involves checking and review processes and system testing 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 Software is inherently flexible and can change (as opposed to hardware). 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. 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 Waterfall model (Royce, 1970) Prototyping Throwaway Evolutionary Incremental development Spiral model (Boehm, 1988) CMSC 345, Version 1/03

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

Observations The following phase should not start until the previous phase has finished. In practice, Phases overlap May return to a previous phase Still widely used, especially on very large projects CMSC 345, Version 1/03

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

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

Observations Used for requirements elicitation and validation A “working” model (prototype) of the final system is developed during requirements Is an iterative process Prototype can be thrown away or evolved into the final system (evolutionary prototyping) CMSC 345, Version 1/03

Prototyping Pros and 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 Development and delivery is broken down into increments with each increment delivering part of the required functionality. User requirements are prioritised and the highest priority requirements are included in early increments. Is an iterative process CMSC 345, Version 1/03

Incremental Pros and Cons CMSC 345, Version 1/03

Spiral Model CMSC 345, Version 1/03

Observations Process is represented as a spiral rather than as a sequence of activities with backtracking Each loop in the spiral represents a phase in the process. No fixed phases such as specification or design -- loops in the spiral are chosen depending on what is required Risks are explicitly assessed and resolved throughout the process. Uses prototyping CMSC 345, Version 1/03

Things to Think About What about modifying existing software? What about using existing software? In-house modules COTS (Commercial Off-The-Shelf) CMSC 345, Version 1/03