Presentation is loading. Please wait.

Presentation is loading. Please wait.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)

Similar presentations


Presentation on theme: "©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)"— Presentation transcript:

1 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)

2 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 2 Types of requirement l User requirements Statements in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers. l System requirements A structured document setting out detailed descriptions of the system’s functions, services and operational constraints. Defines what should be implemented so may be part of a contract between client and contractor.

3 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 3 Definitions and specifications

4 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 4 Requirements readers

5 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 5 Functional requirements l Describe functionality or system services. l Depend on the type of software, expected users and the type of system where the software is used. l Functional user requirements may be high-level statements of what the system should do but functional system requirements should describe the system services in detail.

6 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 6 Non-functional requirements l These define system properties and constraints e.g. reliability, response time and storage requirements. Constraints are I/O device capability, system representations, etc. l Process requirements may also be specified mandating a particular CASE system, programming language or development method. l Non-functional requirements may be more critical than functional requirements. If these are not met, the system is useless.

7 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 7 Non-functional requirement types

8 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 8 Requirements measures

9 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 9 Problems with natural language l Lack of clarity Precision is difficult without making the document difficult to read. l Requirements confusion Functional and non-functional requirements tend to be mixed-up. l Requirements amalgamation Several different requirements may be expressed together.

10 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 10 Guidelines for writing requirements l Invent a standard format and use it for all requirements. l Use language in a consistent way. Use shall for mandatory requirements, should for desirable requirements. l Use text highlighting to identify key parts of the requirement. l Avoid the use of computer jargon.

11 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 11 Form-based node specification

12 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 12 Sequence diagram of ATM withdrawal

13 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 13 Interface specification l Most systems must operate with other systems and the operating interfaces must be specified as part of the requirements. l Three types of interface may have to be defined Procedural interfaces; Data structures that are exchanged; Data representations. l Formal notations are an effective technique for interface specification.

14 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 14 The requirements document l The requirements document is the official statement of what is required of the system developers. l Should include both a definition of user requirements and a specification of the system requirements. l It is NOT a design document. As far as possible, it should set of WHAT the system should do rather than HOW it should do it

15 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 15 Users of a requirements document

16 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 16 IEEE requirements standard l Defines a generic structure for a requirements document that must be instantiated for each specific system. Introduction. General description. Specific requirements. Appendices. Index.

17 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 17 The requirements engineering process

18 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 18 Requirements engineering

19 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 19 Problems of requirements analysis l Stakeholders don’t know what they really want. l Stakeholders express requirements in their own terms. l Different stakeholders may have conflicting requirements. l Organisational and political factors may influence the system requirements. l The requirements change during the analysis process. New stakeholders may emerge and the business environment change.

20 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 20 The requirements spiral

21 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 21 ATM stakeholders l Bank customers l Representatives of other banks l Bank managers l Counter staff l Database administrators l Security managers l Marketing department l Hardware and software maintenance engineers l Banking regulators

22 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 22 Viewpoints l Viewpoints are a way of structuring the requirements to represent the perspectives of different stakeholders. Stakeholders may be classified under different viewpoints. l This multi-perspective analysis is important as there is no single correct way to analyse system requirements.

23 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 23 Types of viewpoint l Interactor viewpoints People or other systems that interact directly with the system. In an ATM, the customer’s and the account database are interactor VPs. l Indirect viewpoints Stakeholders who do not use the system themselves but who influence the requirements. In an ATM, management and security staff are indirect viewpoints. l Domain viewpoints Domain characteristics and constraints that influence the requirements. In an ATM, an example would be standards for inter-bank communications.

24 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 24 LIBSYS viewpoint hierarchy

25 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 25 Scenarios l Scenarios are real-life examples of how a system can be used. l They should include A description of the starting situation; A description of the normal flow of events; A description of what can go wrong; Information about other concurrent activities; A description of the state when the scenario finishes.

26 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 26 Requirements checking l Validity. Does the system provide the functions which best support the customer’s needs? l Consistency. Are there any requirements conflicts? l Completeness. Are all functions required by the customer included? l Realism. Can the requirements be implemented given available budget and technology l Verifiability. Can the requirements be checked?


Download ppt "©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)"

Similar presentations


Ads by Google