Software Engineering 1 Evolutionary Processes Lesson 11.

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

Prescriptive Process models
©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.
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 المحاضرة الثانية.
Software Project Management
Software Processes Modified by Randy K. Smith
 2004 by SEC Chapter 2 Software Development Process Models.
CSE 470 : Software Engineering The Software Process.
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 Processes Overview
 © 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.
Software Process Models
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
1 CS 691z/791z Topics on Software Engineering CS 691z/791z Topics on Software Engineering Software Processes Based on Chapter 4 of the book [SE-8] Ian.
CS 501: Software Engineering
©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.
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
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.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
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.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©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,
Prescriptive Process Models
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.
An Introduction to Software Engineering
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
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 Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
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 slc5 TTYP – C++ revisited 1 Which of the following statements are reasonable after the following statement: char* fred = new char[5]; a. fred = bill;
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 engineering Software Processes.
Methodologies and Algorithms
Lecture 3 Prescriptive Process Models
Software Processes (a)
Software Process Models
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Processes.
Process Models Coming up: Prescriptive Models.
Software Process Models
Software Processes.
Presentation transcript:

Software Engineering 1 Evolutionary Processes Lesson 11

Software Engineering 2 Software Development Processes: Quick RECAP Code & Fix: a disaster!!! Waterfall not reliable: too few meetings with final users RAD: works fine only for Standard Applications Mainteance is never inserted in the Process Evolutionary Processes

Software Engineering 3 Evolutionary Processes Evolutionary Processes: work with future users and evolve a final system from an initial outline specification (Should start with poorly understood requirements)

Software Engineering 4 How to find the requirements: interviews to the future users writing and validation of a requirements document Use Cases develop a prototype (i.e. software with only a subset of functionalities implemented) Evolutionary Processes

Software Engineering 5 Evolutionary Processes Throw-away prototyping Incremental prototyping Example: mock-up

Software Engineering 6 Evolutionary Processes An Evolutionary Processes: the Spiral

Software Engineering 7 The Spiral Process Lesson 7

Software Engineering 8 The Spiral Process The Spiral Process: 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

Software Engineering 9 The Spiral Process 1. Project Planning 2.Requirements Analysis 3.Design Analysis 4.Software Implemen- tation 5.V&V 6.Comparison with the future users 1. Project Planning 2.Requirements Analysis 3.Design Analysis

Software Engineering 10 The Spiral Process First loops: A lot of Project Planning A lot of Requirements Analysis A little of Design No Implementation No V&V

Software Engineering 11 The Spiral Process Intermediate loops: A little of Project Planning A little of Requirements Analysis A lot of Design A lot of Implementation A lot of V&V

Software Engineering 12 The Spiral Process Final loops: no Project Planning no Requirements Analysis A lot of Design A lot of Implementation A lot of V&V A lot of Comparison with the future users

Software Engineering 13 The Spiral Process At the end of each loop we have a version of the System

Software Engineering 14 The Spiral Process We can have many loops (or infinity)

Software Engineering 15 The Spiral Process The Maintness is one or more loops (the final loops)

Software Engineering 16 Some Benefits more comparisons with the future users risks are explicitly assessed and resolved throughout the process the maintenance is part of the development process The Spiral Process

Software Engineering 17 Some Disadvantages costly The Spiral Process

Software Engineering 18 Software Engineering Spiral Processes: Case Study by Gabriele Zacco Lesson 11

Software Engineering Case Study 19 Life-cycle of FSAP/NuSVM-SA a Safety Analysis platform

Software Engineering Case Study 20 Speaker dr. Gabriele ZACCO ITC-irst SRA Division (Automated Reasoning System) Formal methods Web services Software engineering

Software Engineering Case Study 21 ESACS A E R O N A U T I C A JAA

Software Engineering Case Study 22 ESACS: goals Enhanced Safety Analysis for Complex Systems  Methodology  Establish formal link between System Design and Safety Analysis  Process integration (tool-supported exchange of info between Design Engineer and Safety Engineer)  Technical  Development of Safety Analysis tools  Case Studies

Software Engineering Case Study 23 FSAP/NuSMV-SA platform IRST implementation line of ESACS project:   Set of tools for supporting the safety analysis process  Multiplatform, object-oriented  Built on top of NuSMV2 ( model checkerhttp://nusmv.irst.itc.it/ Development notes:  Small development team (about 4 people)  June November 2003  9 official releases (plus some internal releases)  ~30K lines of C++ code: interface and safety process management  ~7K lines of C code: safety analysis algorithms  ~80K lines of C code: “legacy” from NuSMV model checker  Development environment: Rational Rose, MinGW/Cygwin (WINDOWS), gcc (LINUX)  External tools: FLTK graphic toolkit, Expat XML parser, TCL/TK, …

Software Engineering Case Study 24 ESACS: FSAP/NuSMV-SA tool Components Failure Modes System Description Model Checker (NuSMV-SA) Safety Analysis Manager (FSAP) Safety Requirement s Fault Trees Traces

Software Engineering Case Study 25 FSAP & Spiral: overview 3 cycles delivering 3 milestone prototypes  Cycle I  Cycle II  Cycle III Other partial prototypes delivered within cycles Nov Feb

Software Engineering Case Study 26 FSAP & Spiral: discussion Why a spiral process?  Prototype development (interactive, end-user application)  Risk assessment  Evolution of the requirements  End-user validation  Well-understood general objectives Some “anomalies”  Not a large project  Not a software intensive system  Not a commercial tool

Software Engineering Case Study 27 FSAP & Spiral: implementation Strategy:  Allocation of objectives to spiral cycles  Allocation of functionalities to evolutionary cycles inside each spiral cycle Methodology:  Vision document:  Just one – before the beginning of the spiral  Strategic directions at the meta level  Release Plan document  One at the beginning of each cycle  Allocation of objectives to different releases (functionalities, bug fixes, …)  Development:  Loops: – Requirement Analysis and Specification – Architectural Design – Coding – Testing  Stakeholder review

Software Engineering Case Study 28 FSAP & Spiral: cycle I Objective:  Project setup  Basic prototype Activities:  Risk analysis:  Object level: critical features (Extended System Model, Fault Tree Construction)  Meta level: development environment, tools  Planning  Requirements Analysis  Review with end-users Results:  Prototype including only basic critical features (Model Extension, Fault Tree Computation)

Software Engineering Case Study 29 FSAP & Spiral: cycle II Objective:  Working prototype including all main features Activities:  Planning  Requirement analysis and specification  Design  Implementation  Review with end-users (test on case study) Results:  4 prototypical releases  1 milestone release

Software Engineering Case Study 30 FSAP & Spiral: cycle III Objective:  Refined prototype  Get through final ESACS test Activities:  Requirement specification  Design  Implementation  Comparison with end-users (test on case study) Results:  3 prototypical releases  1 milestone release

Software Engineering Case Study 31 FSAP & Spiral: impact Spiral life-cycle impact on FSAP/NuSMV-SA is two-fold:  Extension of the architecture/interface  Through spiral cycles  By addition of new functionalities  Revision of architecture/interface  Within spiral cycles  By improvement of existing functionalities Example:  Analysis Task module

Software Engineering Case Study 32 FSAP & Spiral: Analysis Task module (I) Interface Prototype Interface Refined Interface Cycle ICycle IICycle III First class diagram Final class diagram Architecture evolution Interface evolution

Software Engineering Case Study 33 FSAP & Spiral: Analysis Task module (II)

Software Engineering Case Study 34 ESACS: FSAP/NuSMV-SA tool Components Failure Modes System Description Model Checker (NuSMV-SA) Safety Analysis Manager (FSAP) Safety Requirement s Fault Trees Traces

Software Engineering Case Study 35 Future (ESACS  ISAAC) ISAAC is a European project that extends ESACS FSAP/NusMV-SA  Features  New general features: Graphical Input Language, Integration with (parts of) UML  New safety assessment features: Dynamic Fault Trees/Causality, Quantitative Analysis, FMEA, …  Application (Industrial Case Studies)  Safety Analysis, Mission Analysis, Zonal Analysis, Common Cause Analysis, Testability, …  Dissemination  Content management (Web) Spiral  New development/maintenance cycles Join FSAP team!