Presentation is loading. Please wait.

Presentation is loading. Please wait.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.

Similar presentations


Presentation on theme: "©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes."— Presentation transcript:

1 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes

2 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 2 Requirements engineering processes l The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements. l However, there are a number of generic activities common to all processes Requirements elicitation; Requirements analysis; Requirements validation; Requirements management.

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

4 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 4 Feasibility studies l A feasibility study decides whether or not the proposed system is worthwhile. l A short focused study that checks If the system contributes to organisational objectives; If the system can be engineered using current technology and within budget; If the system can be integrated with other systems that are used.

5 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 5 Elicitation and analysis l Sometimes called requirements elicitation or requirements discovery. l Involves technical staff working with customers to find out about the application domain, the services that the system should provide and the system’s operational constraints. l May involve end-users, managers, engineers involved in maintenance, domain experts, trade unions, etc. These are called stakeholders.

6 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 6 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.

7 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 7 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

8 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 8 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.

9 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 9 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.

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

11 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 11 Interviewing l In formal or informal interviewing, the RE team puts questions to stakeholders about the system that they use and the system to be developed. l There are two types of interview Closed interviews where a pre-defined set of questions are answered. Open interviews where there is no pre-defined agenda and a range of issues are explored with stakeholders.

12 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 12 Interviews in practice l Normally a mix of closed and open-ended interviewing. l Interviews are good for getting an overall understanding of what stakeholders do and how they might interact with the system. l Interviews are not good for understanding domain requirements Requirements engineers cannot understand specific domain terminology; Some domain knowledge is so familiar that people find it hard to articulate or think that it isn’t worth articulating.

13 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 13 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.

14 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 14 Use cases l Use-cases are a scenario based technique in the UML which identify the actors in an interaction and which describe the interaction itself. l A set of use cases should describe all possible interactions with the system. l Sequence diagrams may be used to add detail to use-cases by showing the sequence of event processing in the system.

15 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 15 Article printing use-case

16 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 16 LIBSYS use cases

17 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 17 Article printing

18 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 18 Print article sequence

19 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 19 Ethnography l A social scientists spends a considerable time observing and analysing how people actually work. l People do not have to explain or articulate their work. l Social and organisational factors of importance may be observed. l Ethnographic studies have shown that work is usually richer and more complex than suggested by simple system models.

20 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 20 Ethnography and prototyping

21 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 21 Requirements validation l Concerned with demonstrating that the requirements define the system that the customer really wants. l Requirements error costs are high so validation is very important Fixing a requirements error after delivery may cost up to 100 times the cost of fixing an implementation error.

22 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 22 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?

23 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 23 Requirements validation techniques l Requirements reviews Systematic manual analysis of the requirements. l Prototyping Using an executable model of the system to check requirements. Covered in Chapter 17. l Test-case generation Developing tests for requirements to check testability.

24 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 24 Requirements reviews l Regular reviews should be held while the requirements definition is being formulated. l Both client and contractor staff should be involved in reviews. l Reviews may be formal (with completed documents) or informal. Good communications between developers, customers and users can resolve problems at an early stage.

25 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 25 Review checks l Verifiability. Is the requirement realistically testable? l Comprehensibility. Is the requirement properly understood? l Traceability. Is the origin of the requirement clearly stated? l Adaptability. Can the requirement be changed without a large impact on other requirements?

26 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 26 Requirements management l Requirements management is the process of managing changing requirements during the requirements engineering process and system development. l Requirements are inevitably incomplete and inconsistent New requirements emerge during the process as business needs change and a better understanding of the system is developed; Different viewpoints have different requirements and these are often contradictory.

27 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 27 Key points l The requirements engineering process includes a feasibility study, requirements elicitation and analysis, requirements specification and requirements management. l Requirements elicitation and analysis is iterative involving domain understanding, requirements collection, classification, structuring, prioritisation and validation. l Systems have multiple stakeholders with different requirements.

28 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 28 Key points l Social and organisation factors influence system requirements. l Requirements validation is concerned with checks for validity, consistency, completeness, realism and verifiability. l Business changes inevitably lead to changing requirements. l Requirements management includes planning and change management.


Download ppt "©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes."

Similar presentations


Ads by Google