Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering 1 Evolutionary Processes Lesson 11.

Similar presentations


Presentation on theme: "Software Engineering 1 Evolutionary Processes Lesson 11."— Presentation transcript:

1 Software Engineering 1 Evolutionary Processes Lesson 11

2 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

3 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)

4 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

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

6 Software Engineering 6 Evolutionary Processes An Evolutionary Processes: the Spiral

7 Software Engineering 7 The Spiral Process Lesson 7

8 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

9 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

10 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

11 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

12 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

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

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

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

16 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

17 Software Engineering 17 Some Disadvantages costly The Spiral Process

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

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

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

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

22 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

23 Software Engineering Case Study 23 FSAP/NuSMV-SA platform IRST implementation line of ESACS project:  http://sra.itc.it/tools/FSAP/ http://sra.itc.it/tools/FSAP/  Set of tools for supporting the safety analysis process  Multiplatform, object-oriented  Built on top of NuSMV2 (http://nusmv.irst.itc.it/) model checkerhttp://nusmv.irst.itc.it/ Development notes:  Small development team (about 4 people)  June 2001 - 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, …

24 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

25 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 03 0.9.9 0.9.5 0.9.1 Feb 01 20022003

26 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

27 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

28 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)

29 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

30 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

31 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

32 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

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

34 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

35 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!


Download ppt "Software Engineering 1 Evolutionary Processes Lesson 11."

Similar presentations


Ads by Google