Presentation is loading. Please wait.

Presentation is loading. Please wait.

SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 1 Software engineering for real-time systems Section 3 Requirements.

Similar presentations


Presentation on theme: "SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 1 Software engineering for real-time systems Section 3 Requirements."— Presentation transcript:

1 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 1 Software engineering for real-time systems Section 3 Requirements analysis and specification

2 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 2 Objectives To:  Distinguish between mythical and realistic software life cycle models.  Show where requirements analysis and software specification (the requirements stage) fits into the life cycle.  Highlight the importance of the requirements stage.  Introduce the topic of software prototyping. Introduction From system requirements to software specifications

3 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 3 The software life cycle - From problem to solution

4 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 4 The mythical software life cycle

5 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 5 Project effort distribution - another myth

6 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 6 Formulating the user statement of requirements (SOR)

7 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 7 A more realistic software life-cycle model

8 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 8 Distribution of software effort

9 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 9 Project effort distribution - reality

10 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 10 The development process - a layered approach

11 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 11 Incremental development of software

12 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 12 The importance of requirements capture - Mistakes and their consequences

13 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 13 Making mistakes

14 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 14 Sources of software errors

15 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 15 Cost of rectifying software errors

16 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 16 The impact of requirements errors Error sourceNo. of errors Correction cost Overall impact Percentage impact Requirements560.8245.9285 Design270.13 6.5 Coding70.10.71.2 Other100.44.07.4 For every 100 errors

17 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 17 Developing the software specification

18 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 18 Overall system description

19 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 19 Software specification features

20 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 20 Where mistakes are made in defining requirements

21 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 21 Practical requirements capture methods Defining system requirements - Practical requirements capture methods: 1.Use cases. 2.Prototyping.

22 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 22 Use Case Fundamentals Use case fundamentals Use Cases are a technique for organizing and presenting requirements. They can be used to: Analyse clients requirements. Minimize confusion and misunderstanding between clients and suppliers. Validate system-level designs. Develop specifications for the software system itself. Define the outlines of system acceptance tests.

23 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 23 Library Bookshop Bank The starting point: System requirements are related to the whats, whens and hows of system usage. People are USERS of systems. Systems are also users of systems. Setting the scene

24 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 24 John Jim Alex Bookshop Library Many people. Many systems. Exactly why are people using the system? What are we interested in? Systems and their users

25 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 25 Order book John Jim Customer Bookshop Order book (a)(b) Basics of the use case diagram

26 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 26 Order Book Diagram symbol (icon) "The customer places a telephone order for a book. It will be dispatched within 24 hours" Text description What goes on when a customer tries to order a book? The diagram symbol for a use case is an ellipse. Inside this is written the name of the use case. But this doesn’t give any detail of the use case. Thus a description of the use case must be provided. The components of a use case

27 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 27 Actors Use Case 1 Use Case 2 Use Case 3 Use cases Text for use case 1 Text for use case 2 Text for use case 3 Use case descriptions Each system has its own use case model This model consists of actors, use cases and use case descriptions. Actors depict the ‘roles’ performed by users. The reasons why actors use the system are shown as a set of use cases. Use case descriptions add detail. The components of the use case model

28 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 28 Navigator Pilot Nav/Was systemAir data system Get Navigation Waypoints Set Airfield Altitude Navigator Pilot (a)(b) Example use case diagrams

29 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 29 The navigator enters new values for the airfield altitude. This is displayed on the pilot's head-down display START 1. Navigator enters airfield altitude data. 2. System checks data range validity. 3. New values displayed to the navigator. Conformation required 4. Navigator confirms values. 5. New values displayed on pilot's head-down display. FINISH (a) Initial (b) Expanded Describing and structuring use cases Use cases: text description

30 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 30 Use case scenarios ‘A particular sequence of interactions’ Use case scenarios

31 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 31 Both scenarios apply to the same use case. In practice a use case could have a number of scenarios. As the paperwork expands it becomes more difficult to apply use case techniques effectively. Scenarios - text descriptions

32 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 32 Combining scenarios Simplifying the paperwork - combine the individual scenarios Presentation style 1 Presentation style 2 A ‘mini’ use case description

33 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 33 Navigator Air data system Set Airfield Altitude Validate Data Range > Pilot Use case diagram for previous slide - the include relationship The separate text can be treated as a use case in its own right The include relationship

34 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 34 The extend relationship

35 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 35 Air Electronics Officer Generating system Check Alarm Status Set Alarm Limits > The base use case - ‘Check Alarm Status’ - is complete. It describes what happens when the AEO checks out the generating system alarms. Most of the time this is the only action required. However, sometimes it may be necessary to set the alarm limits. Thus extra functions must be performed. These are defined in the use case ‘Set Alarm Limits’. The extend relationship (more)

36 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 36 Set airfield altitude Set autopilot mode Validate data range > Check alarm status Maintain generating systems Set alarm limits > (b) (a) Comparing the include and extend relationships

37 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 37 External systems as actors

38 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 38 Introduction to protoyping Prototyping within the software life cycle

39 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 39 Prototyping within the software life cycle

40 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 40 Elements of a prototyping tool

41 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 41 Screen prototype proposed avionics cockpit instrument layout

42 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 42 Building the animation model

43 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 43 Animation prototyping typical development environment

44 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 44 Methods for developing the behavioural/temporal model

45 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 45 Review of ‘Requirements analysis and specification’


Download ppt "SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Requirements - slide 1 Software engineering for real-time systems Section 3 Requirements."

Similar presentations


Ads by Google