Download presentation
Presentation is loading. Please wait.
Published byBerenice Cannon Modified over 9 years ago
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!
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.