Download presentation
Presentation is loading. Please wait.
Published byLorin Harmon Modified over 8 years ago
1
Requirements Engineering, York EngD programme, 2009Slide 1 Requirements Engineering Professor Ian Sommerville St Andrews University
2
Requirements Engineering, York EngD programme, 2009Slide 2 Objectives To explain what is meant by a requirement and requirements engineering To present the requirements engineering process from a number of different viewpoints To discuss problems of requirements engineering, requirements engineering methods and challenges to traditional approaches of requirements engineering
3
Requirements Engineering, York EngD programme, 2009Slide 3 Introduction Frequently asked questions about requirements engineering
4
Requirements Engineering, York EngD programme, 2009Slide 4 What are requirements? Requirements are defined during the early stages of a system development as a specification of what should be implemented or as a constraint of some kind on the system. They may be: –a user-level facility description, –a detailed specification of expected system behaviour, –a general system property, –a specific constraint on the system, –information on how to carry out some computation, –a constraint on the development of the system.
5
Requirements Engineering, York EngD programme, 2009Slide 5 Examples of requirements Functional requirements “If a patient is known to be allergic to a particular medication, then prescription of that medication shall result in a warning message being issued to to the prescriber” Non-functional requirements “The system shall be available to all clinics during normal working hours (Mon-Fri, 0830-1730). Downtime during normal working hours shall not exceed 5 seconds in any one day” Domain requirements “The system shall implement patient privacy provisions as set out in the 1998 Data Protection Act”
6
Requirements Engineering, York EngD programme, 2009Slide 6 What is requirements engineering? Requirements engineering covers all of the activities involved in discovering, documenting, and maintaining a set of requirements for a computer- based system. The use of the term ‘engineering’ implies that systematic and repeatable techniques should be used to ensure that system requirements are complete, consistent, relevant, etc.
7
Requirements Engineering, York EngD programme, 2009Slide 7 Are requirements important? European Software Process Improvement Training Initiative (1996) “The principal problem areas in software development and production are the requirements specification and the management of customer requirements” In a study of errors in embedded systems, it was found that: “... difficulties with requirements are the key root- cause of the safety-related software errors that have persisted until integration and system testing”
8
Requirements Engineering, York EngD programme, 2009Slide 8 What happens if the requirements are wrong? The system may be delivered late and cost more than originally expected. The customer and end-users are not satisfied with the system. They may not use its facilities or may even decide to scrap it altogether. The system may be unreliable in use with regular system errors and crashes disrupting normal operation. If the system continues in use, the costs of maintaining and evolving the system are very high.
9
Requirements Engineering, York EngD programme, 2009Slide 9 Why is requirements engineering difficult? Businesses operate in a rapidly changing environment so their requirements for system support are constantly changing. Multiple stakeholders with different goals and priorities are involved in the requirements engineering process. System stakeholders do not have clear ideas about the system support that they need. Requirements are often influenced by political and organisational factors that stakeholders will not admit to publicly.
10
Requirements Engineering, York EngD programme, 2009Slide 10 Can we get the requirements for an LSCITS ‘right’? Almost certainly not. The complexity of the interactions within an LSCITS and between the LSCITS and the wider STS is such that the notion of ‘correct’ requirements does not really make sense LSCITS requirements will inevitably be: –An uneasy compromise between the requirements of different sets of LSCITS stakeholders –Out of date as soon as they are agreed Nevertheless, we need requirements to serve as a basis for discussion about the system features and to define what is to be implemented. Progress without requirements is practically impossible
11
Requirements Engineering, York EngD programme, 2009Slide 11 Requirements engineering processes Different views of the processes involved in requirements engineering
12
Requirements Engineering, York EngD programme, 2009Slide 12 The systems engineering process
13
Requirements Engineering, York EngD programme, 2009Slide 13 RE process context
14
Requirements Engineering, York EngD programme, 2009Slide 14 RE process inputs and outputs
15
Requirements Engineering, York EngD programme, 2009Slide 15 RE process activities
16
Requirements Engineering, York EngD programme, 2009Slide 16 RE process iteration
17
Requirements Engineering, York EngD programme, 2009Slide 17 Requirements engineering problems Fundamental issues that mean that establishing requirements for complex systems will always be a difficult technical and organisational problem
18
Requirements Engineering, York EngD programme, 2009Slide 18 Requirements change System requirements reflect the world outside of the system. As this is constantly changing then the requirements will inevitably also change –Technology changes –Organisational changes –Market changes –Economic changes –Political and legal changes It is often difficult to understand the implications of changes for the requirements as a whole
19
Requirements Engineering, York EngD programme, 2009Slide 19 Stakeholder perspectives The problem and the required system Social perspective Technical perspective Objects Functions Roles... User perspective Interactions Usability Management perspective Certification perspective Customer perspective
20
Requirements Engineering, York EngD programme, 2009Slide 20 Stakeholder uncertainty Key stakeholders have other jobs to do! –Developing detailed requirements for future systems often cannot be given a high priority by the senior people who will be affected by these requirements. –They therefore are unable to express their requirements except as vague, high-level descriptions There are no objective ways to compare alternative sets of requirements –The impact of a system on a business is very hard to understand so therefore we cannot tell which might be the ‘best’ system for any particular business
21
Requirements Engineering, York EngD programme, 2009Slide 21 Process variability The level of detail required in a requirements specification differs greatly depending on the type of product that is being developed –A railway signalling system is a very detailed specification that can be validated by authorities outside of the organisation procuring the software –A computer game specification is a storyboard with pictures and examples They use completely different processes involving different types of people to derive these specifications Scope for process standardisation and support is therefore limited
22
Requirements Engineering, York EngD programme, 2009Slide 22 Politics and people Many system requirements are influenced by the politics in an organisation. Decisions on requirements are not made on a rational basis but are made because of the personal goals of stakeholders Requirements engineers may not understand the politics and, even when they do, they may not be able to challenge the ‘political’ requirements People providing requirements for a system may not be convinced that the system is necessary or may feel that other systems should have a higher priority. They may actively or passively refuse to cooperate in the requirements engineering process
23
Requirements Engineering, York EngD programme, 2009Slide 23 Requirements methods and tools Techniques and CASE tools that may be used in the requirements engineering process
24
Requirements Engineering, York EngD programme, 2009Slide 24 Scenarios What are scenarios? –Scenarios are descriptions of typical ways that a particular end-user task might be carried out. By understanding what is done then requirements for computer support can be developed Applicability –They are primarily useful during requirements elicitation Maturity –This approach to requirements elicitation is becoming increasingly widely used. Use-cases in the UML process are closely related to scenarios Problems –Time consuming to develop scenarios –Focused on end-user stakeholders
25
Requirements Engineering, York EngD programme, 2009Slide 25 Viewpoints What are viewpoints –Ways of identifying stakeholders and organising the requirements from different stakeholders Applicability –Different types of viewpoint have been proposed that are applicable during requirements elicitation and the development of detailed system requirements Maturity –Methods have existed for many years but have not been extensively used Problems –Too many viewpoints lead to an unmanageable amount of data –Lack of tool support
26
Requirements Engineering, York EngD programme, 2009Slide 26 Structured analysis methods What are structured analysis methods –Methods of deriving detailed models of the problem or of the system to be developed in some well-defined notation Applicability –Methods of structured analysis, such as object-oriented analysis, are applicable when developing detailed requirements from user requirements Maturity –These are the most mature techniques for requirements analysis Problems –End-users often do not relate to the models or have time to be involved in the process of model development
27
Requirements Engineering, York EngD programme, 2009Slide 27 Tools for requirements engineering Tool support for requirements engineering is mostly limited to two areas –Requirements analysis using structured methods Developing a set of user requirements into detailed system requirements that are expressed using different system models UML tools for object-oriented analysis –Requirements management Supporting the process of managing requirements change DOORS for managing text-based requirements The critical areas of requirements elicitation, understanding and negotiation are not well-supported by CASE tools.
28
Requirements Engineering, York EngD programme, 2009Slide 28 Requirements management tool
29
Requirements Engineering, York EngD programme, 2009Slide 29 Requirements challenges Some challenges for requirements engineering in the 21st century
30
Requirements Engineering, York EngD programme, 2009Slide 30 E-commerce and globalisation E-commerce systems that are designed to serve a global customer base have new types of requirement –Aesthetic requirements What image is the company trying to convey through its software systems? –Marketing requirements How can the system be used to reinforce the brand and the marketing goals of the company? –Multicultural requirements How can the system be designed to take into account different cultural traditions and sensitivities?
31
Requirements Engineering, York EngD programme, 2009Slide 31 Accelerated system development The need for organisations to be more responsive means that there is increasing pressure for faster delivery of all types of system Increasing competition means that the business costs of delivering unsuitable systems are increasing Therefore –The time to deliver requirements must be reduced –The requirements must be a better reflection of the business needs
32
Requirements Engineering, York EngD programme, 2009Slide 32 Off-the-shelf systems Many business systems and an increasing number of other types of system are being developed by integrating existing off-the-shelf systems How can we decide if an existing system meets a business need and what are the costs of using an existing system rather than developing detailed requirements for a custom system? How can we decide whether or not the integration of several systems meets a set of requirements especially if these include security, performance and reliability requirements?
33
Requirements Engineering, York EngD programme, 2009Slide 33 Summary Requirements engineering is a key component of system development processes. If we pay attention to requirements, we reduce later problems in system development and operation Requirements engineering will always be difficult because the requirements are reflections of a rapidly changing business environment ‘Traditional” requirements engineering processes will have to evolve for new types of software system and business needs
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.