Ch7: Software Production Process. 1 Waterfall models  Invented in the late 1950s for large air defense systems, popularized in the 1970s  Main characteristics:

Slides:



Advertisements
Similar presentations
Chapter 7: Software production process Refers to the activities that are used for building, delivering, deploying, and evolving a software product, from.
Advertisements

Prescriptive Process models
1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Diane Pozefsky. Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will start)
Software Development Life Cycle
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
Unit 2. Software Lifecycle
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
Software Project Management
IS2210: Systems Analysis and Systems Design and Change
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
MADALINA CROITORU Software Engineering week 1 Madalina Croitoru IUT Montpellier.
Software Engineering Software Engineering is the science and art of building significant software systems that are: 1) on time 2) on budget 3) with acceptable.
CSE 470 : Software Engineering The Software Process.
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.
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
29 September Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will.
CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.
1 CS 425/625 Software Engineering CS 425/625 Software Engineering Software Processes Based on Chapter 4 of the textbook [SE-7] Ian Sommerville, Software.
CS 425/625 Software Engineering Software Processes
Software lifecycle. CS351 - Software Engineering (AY2004)2 Software lifecycle “student view” Design & Specification Coding Testing (optional) Hand it.
Ch7: Software Production Process. 1 Questions  What is the life cycle of a software product?  Why do we need software process models?  What are the.
Chapter 2- Software Process Lecture 4. Software Engineering We have specified the problem domain – industrial strength software – Besides delivering the.
CMSC 345, Version 1/03 An Overview of Software Processes Reference: Software Engineering, by Ian Sommerville, 6 th edition, Chapter 3.
Software Life Cycle Model
Chapter 3 Software Processes.
University of Toronto Department of Computer Science CSC444 Lec04- 1 Lecture 4: Software Lifecycles The Software Process Waterfall model Rapid Prototyping.
Objectives:  To define RAD  Describe RAD as a system development method  List the advantages of RAD as a method  List the disadvantages of RAD  State.
Ch. 71 The software production process. Ch. 72 Questions What is the life cycle of a software product? Why do we need software process models? What are.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
OHT 7.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Chapter 7.1.
Software Engineering Management Lecture 1 The Software Process.
University of Virginia Software Development Processes (CS340 John Knight 2005) 1 Software Development Processes.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
1 SWE Introduction to Software Engineering Lecture 4.
Software Engineering MCS-2 Lecture # 6
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Engineering II Lecture 3 Fakhar Lodhi. Software Life-Cycle Steps Life-cycle model (formerly, process model) –Requirements phase –Specification.
KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
CC20O7N Software Engineering 1 CC2007N Software Engineering 1 Part 1 Introduction to Software Engineering.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Lectures 2 & 3: Software Process Models Neelam Gupta.
A framework that describes the activities performed at each stage of a software development project. A life-cycle or a software process is the organisational.
Topic:- At the end we will be able to explain:- Why it is called Meta Model ?? Spiral Model Its Advantages & Disadvantages… Phases of Spiral Model...
10 September Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
1 slc5 TTYP – C++ revisited 1 Which of the following statements are reasonable after the following statement: char* fred = new char[5]; a. fred = bill;
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Project Management Software development models & methodologies
Software Development.
Unit 6 Application Design KLB Assignment.
Software Engineering Management
Lecture 3 Prescriptive Process Models
Integrating Quality Activities in the Project Life Cycle
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Software Myths Software is easy to change
CS 425/625 Software Engineering Software Processes
Models of Software Development Life Cycle (SDLC)
Software life cycle models
An Overview of Software Processes
An Overview of Software Processes
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Information system analysis and design
Presentation transcript:

Ch7: Software Production Process

1 Waterfall models  Invented in the late 1950s for large air defense systems, popularized in the 1970s  Main characteristics:

2 Waterfall models (contd..) Feasibility study Requirements Design Coding and module testing Integration and system testing Delivery, deployment, and maintenance

3 Waterfall models (contd..)  Organizations adopting waterfall models:  Example: Military Standard (MIL-STD-2167)

4 Evaluation of the waterfall model  Contributions to the understanding of software process:  Characteristics of a strict waterfall model:.

5 Evaluation of the waterfall model (contd..)  Problems with the waterfall model:

6 Evaluation of the waterfall model (contd..)  Characteristics of the waterfall model potentially lead to high maintenance costs:  In summary, software evolution is not anticipated or planned.

7 Waterfall model with feedback Feasibility study Requirements Design Coding and module testing Integration and system testing Delivery, deployment, and maintenance

8 Evolutionary models  Brooks advocates building a product twice:  Evolutionary or incremental approach:  Evolutionary model has several different versions

9 Evolutionary models (contd..)  Evolutionary process model (Boehm):  Delivered increment:  Development strategy (Glib, 1988):  Must use waterfall process discipline.

10 Evolutionary models (contd..)  Incremental implementation model: Waterfall model used until the implementation phase.

11 Evolutionary models (contd..)  Incremental development and delivery model: Incremental approach expanded to all stages of life cycle.  Achieves finer granularity in the process.  Waterfall model is followed for different portions.  Increments developed after feedback received from the user.  Allows users to understand what they actually need leading to changes in requirements.

12 Evolutionary models (contd..)  Evolutionary prototype:  Evolutionary models and maintenance:

13 Evaluation of evolutionary models  Problems with evolutionary models:  Advantages to evolutionary models:

14 Transformation model  Transformation model has roots in formal specifications.  Views software development as a sequence of steps that transform a specification into an implementation:  Transformation may be done manually or by a software engineer.  Still a theoretical reference model.

15 Transformation model (contd..)

16 Transformation model (contd..)  Two main stages:  Requirements analysis:  Optimization:  Transformation controlled by software engineering  Before transformation, specifications are verified against user expectations.  Transformation model supported by software development environment. Tools for:

17 Transformation model (contd..)  Major advantage over waterfall model:  Problems:  Transformation model has been studied for small programs as a way of proving correctness.

18 Spiral model  Purpose:  Metamodel:  Guiding principles:  Risk:  Risk management (Boehm):

19 Spiral model (contd..)  Focuses on identifying and eliminating high-risk problems by careful process design.  Cyclic model with four stages:  Allows unstated requirements to become part of next specification cycle:

Spiral model (contd..)

21 Assessment of process models  Historical evolution:  Waterfall:  Evolutionary:  Transformation:  Spiral:

22 Assessment of process models (contd..)  No detailed comparison of models.  Initial comparison of waterfall vs. evolutionary shows:  Flexibility needed to reduce risks  Waterfall may be useful as a reference structure for documentation

23 Assessment of process models (contd..)  In general, waterfall model is too rigid and should be replaced by a model that adopts some features of evolutionary approach.  Factors influencing evolution of software production process

24 Software evolution: Legacy software  Existing software must evolve because requirements change  Re-engineering  Reverse engineering