Chapter 2 Software Processes (2/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

Chapter 2 – Software Processes Fall Chapter 2 – Software Processes Lecture 1 2Chapter 2 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
SE Fundamentals: 1. Software Processes
Unit 2. Software Lifecycle
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
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.
Chapter 2 – Software Processes
 © 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.
©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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
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.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©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.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
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.
Lecture 1 Overview TopicsOverview Readings: Chapter 1 August 18, 2011 CSCE 740 Software Engineering.
CSc 461/561 Software Engineering Lecture 2 – Software Processes.
Chapter 2 – Software Processes 1Chapter 2 Software Processes.
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
Chapter 2 – Software Processes Software Engineering Lecture 1 Summer 2013/2014 Dr. Nouh Alhindawi Department of Computer Science and Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
Chapter 2 – Software Processes 1Chapter 2 Software Processes Ian Sommerville, Software Engineering, 9 th Edition Pearson Education, Addison-Wesley Note:
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 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.
Software engineering 1.  Software process models  Process activities  Software change  The Rational Unified Process  An example of a modern software.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
Chapter 2 – Software Processes 1Chapter 2 Software Processes Ian Sommerville, Software Engineering, 9 th Edition Pearson Education, Addison-Wesley Note:
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
Chapter 2 – Software Processes
CS390: Software Engineering
Chapter 2 – Software Processes
CS 389 – Software Engineering
Chapter 2: Software Processes
Software Processes (a)
Chapter 2 – Software Processes
SOFTWARE ENGINEERING PRESENTATION
Chapter 2 – Software Processes
Software Processes.
Chapter 2 Software Processes
Chapter 2 – Software Processes
An Overview of Software Processes
Software Processes.
SE Fundamentals: 1. Software Processes
Chapter 2 – Software Processes
Chapter 2 – Software Processes
Chapter 2 – Software Processes
Software Design and Development Processes
Presentation transcript:

Chapter 2 Software Processes (2/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park

Coping with Change  Change is inevitable in all large software projects  Business changes lead to new and changed system requirements  New technologies open up new possibilities for improving implementations  Changing platforms require application changes  Change leads to rework so the costs of change include both rework (e.g. re-analyzing requirements) as well as the costs of implementing new functionality

Reducing the Costs of Rework  Change avoidance, where the software process includes activities that can anticipate possible changes before significant rework is required (e.g., prototype system)  Change tolerance, where the process is designed so that changes can be accommodated at relatively low cost (e.g., incremental development)

Software Prototyping  A prototype is an initial version of a system used to demonstrate concepts and try out design options  A prototype can be used:  In requirements engineering process to help with requirements elicitation and validation  In design process to check the feasibility of a proposed design and to support user interface design

Process of Prototype Development

Prototype Development  May be based on rapid prototyping languages or tools  May involve leaving out functionality  Prototype should focus on areas of the product that are not well-understood  Error checking and recovery may not be included in the prototype  Focus on functional rather than non-functional requirements such as reliability and security

Throw-away Prototypes  Prototypes should be discarded after development as they are not a good basis for a production system  It may be impossible to tune the system to meet non-functional requirements  Prototypes are normally undocumented  The prototype structure is usually degraded through rapid change  The prototype probably will not meet normal organizational quality standards

Incremental Delivery  Rather than deliver the system as a single delivery, the development and delivery is broken down into increments with each increment delivering part of the required functionality  User requirements are prioritized and the highest priority requirements are included in early increments  Once the development of an increment is started, the requirements are frozen though requirements for later increments can continue to evolve

Incremental Delivery

Incremental Delivery Advantages  Customers can use the early increments as prototypes and gain experience that informs their requirements for later system increments  Customers do not have to wait until the entire system is delivered before they can gain value from it  Lower risk of overall project failure  The highest priority system services tend to receive the most testing

Incremental Delivery Problems  Most systems require a set of basic facilities that are used by different parts of the system  As requirements are not defined in detail until an increment is to be implemented, it can be hard to identify common facilities that are needed by all increments  The essence of iterative processes is that the specification is developed in conjunction with software  However, this conflicts with the procurement model of many organizations, where the complete system specification is part of the system development contract

Boehm’s Spiral Model  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

Four Sectors in Each Loop  Objective setting  Risk assessment and reduction  Development and validation  Planning