Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.

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.
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 17 Slide 1 Rapid software development.
©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.
Chapter 3 Software Processes.
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, 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.
©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 Chapter 2 Software Processes1 CS 425 September 10, 2015 Ian Sommerville, Software Engineering, 10 th Edition Pearson Education,
Chapter 2 – Software Processes 1Chapter 2 Software Processes.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
Chapter 2 Software Processes (2/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
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.
Objectives To introduce software process models To describe three generic process models and when they may be used To explain the Rational Unified Process.
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
Chapter 2 – Software Processes
Chapter 2 – 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
Presentation transcript:

Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes

Topics covered  Software process models  Process activities  Coping with change  The Rational Unified Process  An example of a modern software process. 2Chapter 2 Software Processes

Coping with change  Change is inevitable in all large software projects.  Business changes  New technologies  Changing platforms  Change leads to rework  re-analyze requirements  implement new functionality 3Chapter 2 Software Processes

Reducing the costs of rework  Change avoidance  activities that anticipate changes before significant rework is required.  e.g., a prototype system to show key features to customers.  Change tolerance  the process is designed so that changes can be accommodated at relatively low cost.  incremental development. Proposed changes may be implemented in increments that have not yet been developed. 4Chapter 2 Software Processes

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:  The requirements engineering process to help with requirements elicitation and validation;  In design processes to explore options and develop a UI design;  In the testing process to run back-to-back tests. 5Chapter 2 Software Processes

The process of prototype development 6Chapter 2 Software Processes

Prototype development  based on rapid prototyping languages or tools  involve leaving out functionality  focus on areas of the product that are not well-understood;  Error checking and recovery not included  functional rather than non-functional requirements such as reliability and security Chapter 2 Software Processes7

Throw-away prototypes  Prototypes should be discarded after development  impossible to tune the system to meet non-functional requirements;  Prototypes are normally undocumented;  The prototype structure is degraded through rapid change;  The prototype probably will not meet quality standards. 8Chapter 2 Software Processes

Incremental delivery  development and delivery broken into increments  each increment delivers part of the required functionality.  User requirements are prioritised  highest priority requirements included in early increments.  Once the development of an increment is started, requirements for the increment are frozen. 9Chapter 2 Software Processes

Incremental development and delivery  Incremental development  Develop the system in increments  evaluate each increment before development of the next increment;  This is the approach used in agile methods;  Evaluation done by user/customer proxy.  Incremental delivery  Deploy an increment for use by end-users;  More realistic evaluation about practical use of software;  Difficult to implement for replacement systems increments have less functionality than the system being replaced. Chapter 2 Software Processes10

Incremental delivery 11Chapter 2 Software Processes

Incremental delivery advantages  Customer value can be delivered with each increment so system functionality is available earlier.  Early increments act as a prototype to help elicit requirements for later increments.  Lower risk of overall project failure.  The highest priority system services tend to receive the most testing. 12Chapter 2 Software Processes

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 the software.  conflicts with the procurement model of many organizations complete system specification is part of the system development contract 13Chapter 2 Software Processes

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. 14Chapter 2 Software Processes

Boehm’s spiral model of the software process 15Chapter 2 Software Processes

Spiral model sectors  Objective setting  Specific objectives for the phase are identified.  Risk assessment and reduction  Risks are assessed and activities put in place to reduce the key risks.  Development and validation  A development model for the system is chosen which can be any of the generic models.  Planning  The project is reviewed and the next phase of the spiral is planned. 16Chapter 2 Software Processes

Spiral model usage  Very influential  helped define iteration in software processes  introduced the risk-driven approach to development.  rarely used in practice Chapter 2 Software Processes17

Key points  Processes should include activities to cope with change. This may involve a prototyping phase that helps avoid poor decisions on requirements and design.  Processes may be structured for iterative development and delivery so that changes may be made without disrupting the system as a whole. 18Chapter 2 Software Processes