©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Lecture # 2 : Process Models
Unit 2. Software Lifecycle
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Processes Modified by Randy K. Smith
Chap 2. Software Processes
What is software? Computer programs and associated documentation
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
CSE 470 : Software Engineering The Software Process.
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.
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.
 © Ian Sommerville A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective.
Software Engineering COMP 201 1COMP201 - Software Engineering Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP.
Chapter 2 – Software Processes
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.
SYSC System Analysis and Design
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
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.
©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,
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.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
An Introduction to Software Engineering
Chapter 2 Software Processes (2/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
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.
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.
September 30, 2010COMS W41561 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Module Code: CST 240 / BIT 233 Chapter 1: Introduction to Software Development Al Khawarizmi International College, Abu Dhabi, U.A.E.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
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.
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.
Software Processes (a)
Chapter 2 SW Process Models
Software Processes.
An Overview of Software Processes
An Overview of Software Processes
Software Processes.
Software Engineering Lecture 17.
Presentation transcript:

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 2 Software life cycle and process model

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 3 Software processes l Although there are many software processes, some fundamental activities are common to all software processes:- 1. Software specification :- The functionality of the software and constraints on its operation must be defined. 2. Software design and implementation :- The software to meet the specification must be produced. 3. Software validation:- The software must be validated to ensure that it does what the customer wants. 4. Software evolution :- The software must evolve to meet changing customer needs

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 4 Generic software process models l The waterfall model l Evolutionary development l Component-based software engineering

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 5 Waterfall model phases The principal stages of the model onto fundamental development activities :- 1- Requirements analysis and definition :- 2- System and software design :- 3- Implementation and unit testing:- 4- Integration and system testing:- 5-Operation and maintenance :-

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 6 1- Requirements analysis and definition l The system’s services, constraints and goals are established by consultation with system users. They are then defined in detail and serve as a system specification

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 7 2- System and software design l The systems design process partitions the requirements to either hardware or software systems. It establishes an overall system architecture. Software design involves identifying and describing the fundamental software system abstractions and their relationships

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 8 Implementation and unit testing l During this stage, the software design is realized as a set of programs or program units. Unit testing involves verifying that each unit meets its specification.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 9 4- Integration and system testing l The individual program units or programs are integrated and tested as a complete system to ensure that the software requirements have been met. After testing, the software system is delivered to the customer

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 10 5-Operation and maintenance l this is the longest life-cycle phase. The system is installed and put into practical use. Maintenance involves correcting errors which were not discovered in earlier stages of the life cycle, improving the implementation of system units and enhancing the system’s services as new requirements are discovered

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 11 The advantages of the waterfall model l are that documentation is produced at each phase and that it fits with other engineering process models

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 12 The disadvantages of the waterfall model l Is the difficulty of accommodating change after the process is underway.one phase has to be complete before moving on to the next phase Applicability :- Only appropriate when the requirement are well understood

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 13 Waterfall model phases

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 14 Evolutionary development There are two fundamental types of evolutionary development: l 1 - Exploratory development :- Objective is to work with customers and to evolve a final system from an initial outline specification. Should start with well-understood requirements and add new features as proposed by the customer. l 2- Throw-away prototyping Objective is to understand the system requirements. Should start with poorly understood requirements to clarify what is really needed.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 15 Evolutionary Model

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 16 Evolutionary Model Advantages :- l this evolutionary approach to software development is often more effective than the waterfall approach in producing systems that meet the immediate needs of customers that can be developed incrementally.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 17 Evolutionary Model Disadvantages :- from an engineering and management perspective, the evolutionary approach have two problems: 1- Systems are often poorly structured:- Continual change tends to corrupt the software structure 2- Systems are often poorly structured :- Continual change tends to corrupt the software

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 18 Incremental development

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 19 Incremental development The specifications :- 1- Define requirements 2- Design system increment 3- Assign requirements to increment 4- Develop system increment 5- Test increment

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 20 Incremental development 6- Integrate system increment 7- Validate system 8- Final system

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 21 Incremental development

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 22 Incremental development advantages 1- Customers do not have to wait until the entire system but use the software immediately 2- Customers can use the early increments as prototypes and gain experience that informs their requirements for later system increments 3-There is a lower risk of overall project failure. Although problems may be encountered in some increments, it is likely that will be successfully delivered to the customer 4- the highest priority services are delivered first, This means that customers are less likely to encounter software failures in the most important parts of the system

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 23 Spiral development

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 24 Spiral development l Process is represented as a spiral rather than as a sequence of activities with backtracking. l Each loop in the spiral represents a phase in the process. l No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required. l Risks are explicitly assessed and resolved throughout the process.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 25 Spiral model of the software process

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 26 Spiral model sectors l Objective setting Specific objectives for the phase are identified. l Risk assessment and reduction Risks are assessed and activities put in place to reduce the key risks. l Development and validation A development model for the system is chosen which can be any of the generic models. l Planning The project is reviewed and the next phase of the spiral is planned.