Download presentation
Presentation is loading. Please wait.
Published byHillary Cross Modified over 8 years ago
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?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.