1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
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.
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 المحاضرة الثانية.
Chap 2. Software Processes
Software Process Model
What is software? Computer programs and associated documentation
Chapter 2 Software Processes (1/2) Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
CSE 470 : Software Engineering The Software Process.
Adaptive Processes Software Processes Adaptive Processes.
Soft. Eng. II, Spring 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter II Chap1: Software Engineering Models (Review) Mandatory reading: chapter.
1 Chapter 2 Software Processes An overview of conventional software process models, Rational Unified Process, and CASE tools.
COMP 474 Software Engineering Professor William L. Honig.
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 Engineering Process
Software Engineering COMP 201 1COMP201 - Software Engineering Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP.
Chapter 2 – Software Processes
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Sommerville, I., Software Engineering, Pearson, 9th Ed., 2010.
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
©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.
Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 3 Software Processes.
Software Process Model
1 Chapter 3 Critical Systems (cont.). 2 Safety Safety is a property of a system that reflects the system’s ability to operate, normally or abnormally,
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, 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)
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
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,
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
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 Lecture 1 Chapter 2 Software Processes1.
CSC 480 Software Engineering Lecture 2 August 26, 2002.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 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.
Software Engineering Saeed Akhtar The University of Lahore Lecture 3 Originally shared for: mashhoood.webs.com.
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.
1 SYS366 Week 2 - Lecture Visual Modeling and Process.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
Chapter3:Software Processes
CS 389 – Software Engineering
Software Processes (a)
Chapter 2 SW Process Models
Software Processes.
Chapter 2 – Software Processes
Chapter 2 Software Processes
CS310 Software Engineering Lecturer Dr.Doaa Sami
Software Processes.
Presentation transcript:

1 Chapter 4 - Part 1 Software Processes

2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing, testing and evolution software systems

3 The software process A set of activities required to develop a software system such as: –Specification, functionality and constraints must be defined. –Design and implementation, software meet the specification must be produced. –Validation, it does what the customer wants. –Evolution, must evolve to meet changes.

4 software process model A software process model is an abstract representation of a process. It presents a description of a process.

5 Generic software process models The waterfall model –Separate and distinct phases of specification and development Evolutionary development –Specification and development are interleaved Formal systems development –A mathematical system model is formally transformed to an implementation Reuse-based development –The system is assembled from existing components

6 Waterfall model

7 Waterfall model phases (activities) Requirements definition: services, constraints, and goals are established. System and software design: partitions requirements, identifying and describing the subsystems of the software and their relationships. Implementation and unit testing: construction of programs and programs testing.

8 Integration and system testing: integrate and test the complete system. Operation and maintenance: install the system, correct errors, and enhance the system performance and services. (This is the longest phase.) Waterfall model phases (activities), cont…

9 Waterfall model Linear sequential model Distinct stages with deliverables at the end of each phase The main advantage : Each phase is terminated with the approval of a document. high process visibility—it is easy to see where in the process you are.

10 Waterfall model problems The drawback of the waterfall model is the difficulty of making changes after the process is underway Therefore, this model is only appropriate when the requirements are well-understood The waterfall model is mostly used when the project is part of a larger systems engineering projects where a system is developed at several sites.

11 Evolutionary development Is based on the idea of developing an initial implementation, exposing this to user and refining it through many versions until a system has been developed.

12 Evolutionary development

13 Evolutionary development-types Exploratory development –Should start with well-understood requirements, and work with the customer to explore their requirements to deliver a final system. –The system evolves by adding a new feature proposed by the customer. Throw-away prototyping –Objective is to understand the customer’s requirements and develop a better requirements for the system. Should start with poorly understood requirements

14 Evolutionary development, advantages More effective than waterfall because it meets the immediate needs of customers. The specification can be developed incrementally.

15 Evolutionary development Problems –Lack of process visibility(manager needs a regular deliverables to measure progress) –Systems are often poorly structured (continual changes tend to corrupt the software structure ) Applicability –For small or medium-size interactive systems –For parts of large systems (e.g. the user interface)

16 –For large system, it is better to use a mixed process between waterfall and evolutionary. How?  We develop a system using throw-away prototyping to resolve the uncertainties in the system specification  then re-implement using waterfall for a parts of the system that are well understood  and other parts (user interface ) should be developed using the exploratory approach.

17 Formal systems development Based on the transformation of a mathematical specification through different representations to an executable program Transformations are ‘correctness- preserving’ so the program conforms to its specification

18 Formal systems development

19 This approach differs from the waterfall model: - The software requirements specification is refined into a detailed formal specification using math notation. - The processes of design, implementation, and unit testing are replaced by a series of transformation. - In this transformation process, the math notation will be converted into a more detail, but still mathematically correct.

20 Formal transformations The following will illustrate this process: (each step adds more detail until you come up with a complete program):

21 Formal transformations

22 Formal systems development Problems –Need for specialized skills and training to apply the technique –Difficult to formally specify some aspects of the system such as the user interface –Time consuming and expensive. Applicability –Critical systems (medical devices)

23 Reuse-oriented development Based on systematic reuse where systems are integrated from existing components or COTS (Commercial-off-the-shelf) systems Process stages –Component analysis –Requirements modification –System design with reuse –Development and integration This approach is becoming more important

24 Reuse-oriented development

25 Reuse-oriented development Advantages: reduce the amount of software to be developed then reduce the cost and risk. Lead to faster delivery of software.