Requirements Engineering Processes, York EngD Programme, 2009Slide 1 Requirements engineering processes Prof Ian Sommerville.

Slides:



Advertisements
Similar presentations
Requirements Engineering Process
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
SWE Introduction to Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering Processes
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 61 Requirements Engineering Processes l Processes used to discover, analyse and validate system.
Soft. Eng. II, Spr. 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 1 (cont ’d) Title : Client requirements (Review) Mandatory reading: I.
Requirements Engineering Processes
Overview of Software Requirements
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
1 SWE Introduction to Software Engineering Lecture 11 - Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes 1.
Requirements Engineering Processes
Dr Suad AlRamouni. ◦ Understand some key terms used in software requirements engineering. ◦ Distinguish requirements development from requirements management.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
7. Requirements Engineering Processes
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Chapter 5: Requirement Engineering Process Omar Meqdadi SE 2730 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyze and.
Requirements Engineering Process
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
Requirements Engineering Requirements Elicitation Requirements Analysis Requirements Validation Requirements Management.
 To describe the principal requirements engineering activities and their relationships  To introduce techniques for requirements elicitation and analysis.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Chapter 4 Requirements Engineering Processes Objectives l To describe the principal requirements engineering activities and their relationships l To.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
SOFTWARE REQUIREMENT ANALYSIS AND SPECIFICATION. What is a requirement? It may range from a high-level abstract statement of a service or of a system.
Software Engineering, 8th edition. Chapter 7 1 Courtesy: ©Ian Sommerville 2006 March 20 th, 2008 Lecture # 12 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering. Requirements engineering processes The processes used for RE vary widely depending on the application domain, the people involved.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering Process
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
CS223: Software Engineering Lecture 8: Requirement Engineering.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
Chapter 4 – Requirements Engineering Part 2 1Chapter 4 Requirements engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes The goal of the requirements engineering process.
Requirements Engineering, York EngD programme, 2009Slide 1 Requirements Engineering Professor Ian Sommerville St Andrews University.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
CHAPTER 5 REQUIREMENTS ENGINEERING PROCESSES 1. Objectives  To describe the principal requirements engineering activities and their relationships  To.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini VI. Requirements Engineering Processes.
REQUIREMENTS ENGINEERING PROCESSES Chapter 6. Activities in Requirements Engineering processes  Requirements elicitation;  Requirements analysis; 
Requirements Engineering Processes
Chapter 4 Requirements engineering
Chapter 7 Review Requirements Engineering Processes
Requirement Management
SNS College of Engineering Coimbatore
EKT 421 SOFTWARE ENGINEERING
Chapter 2 – Software Processes
Requirements Engineering Process
Requirements Engineering Processes
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

Requirements Engineering Processes, York EngD Programme, 2009Slide 1 Requirements engineering processes Prof Ian Sommerville

Requirements Engineering Processes, York EngD Programme, 2009Slide 2 Objectives To introduce the activities in requirements engineering processes To discuss the reasons why there RE processes vary significantly from one organisation to another To introduce the activity of requirements management

Requirements Engineering Processes, York EngD Programme, 2009Slide 3 RE process perspectives Different views of requirements engineering processes

Requirements Engineering Processes, York EngD Programme, 2009Slide 4 Perceptions of requirements engineering Requirements engineering (RE) means different things to different people –It’s about problem analysis, and –It’s about solution specification, and –It’s the baseline for design, and –It’s what you do at the start of the life-cycle. RE is all of these things so, as a consequence, there cannot be a single, definitive RE process RE processes vary dramatically depending on the type of system being developed and the maturity of the organisation procuring the system

Requirements Engineering Processes, York EngD Programme, 2009Slide 5 Goals of requirements engineering Specify a product that satisfies the stakeholders and constraints Specify how that satisfaction is to be verified Enable project planning and cost estimation Manage change Write a description of the requirements in a form that is suitable for the customer for the system and for the system developer

Requirements Engineering Processes, York EngD Programme, 2009Slide 6 RE process interactions

Requirements Engineering Processes, York EngD Programme, 2009Slide 7 A staged model of a requirements engineering process

Requirements Engineering Processes, York EngD Programme, 2009Slide 8 A spiral view of the RE process

Requirements Engineering Processes, York EngD Programme, 2009Slide 9 Process variability The factors that lead to variability in requirements engineering processes

Requirements Engineering Processes, York EngD Programme, 2009Slide 10 Process activities Requirements discovery –Interacting with stakeholders to discover their requirements. Domain requirements are also discovered at this stage. Requirements classification and organisation –Groups related requirements and organises them into coherent clusters. Prioritisation and negotiation –Prioritising requirements and resolving requirements conflicts. Requirements documentation –Requirements are documented and input into the next round of the spiral.

Requirements Engineering Processes, York EngD Programme, 2009Slide 11 Problem understanding Understanding the problem when developing requirements for a system is not a simple technical issue. Requirements engineers have to understand –The product –The process –The customer (s) –The developer (s) of the software –The deployment environment

Requirements Engineering Processes, York EngD Programme, 2009Slide 12 Is the product... An information system? –Understanding the organisational environment is crucial; –The organisation may change radically; An embedded or hybrid system? –Operational environment needs to be understood; –Solution architecture fixed early and hard to change; –Production problems tend to migrate to the software. A custom-built system or a software product –Do customers for know what their requirements are? –Who supplies the requirements for a software product?

Requirements Engineering Processes, York EngD Programme, 2009Slide 13 Is the process... Customer-driven? –Customer is principal stakeholder; –Typically a document-driven process. Market-driven? –Time-to-market is the dominant constraint; –Developer is principal stakeholder; –Driven by product vision for first release. Subsequent releases need to balance developer’s strategic goals and customers’ requirements.

Requirements Engineering Processes, York EngD Programme, 2009Slide 14 Is the customer… Homogeneous? –Need to understand their business and strategic objectives. Heterogeneous? –Need to trade off conflicting requirements, This is the normal situation. Merely potential? –Need a proxy to represent the actual customer

Requirements Engineering Processes, York EngD Programme, 2009Slide 15 Has the developer... A document culture? –Documentation may be an overhead for small start-ups - but a creeping requirement as product and customer base grows. A quality culture? –RE ‘products’ perceived to have only an indirect relationship to software products; –Classical view of quality conflicts with short development cycles. A RAD culture? –No experience of dealing with requirements documents but works on the basis of prototyping and rapid evolution

Requirements Engineering Processes, York EngD Programme, 2009Slide 16 Is the deployment environment... An existing environment with established processes and equipment? –How should the system integrate with the existing equipment? Will existing processes be resistant to change? Flexible and geared to change? –Are the people in the environment used to change or will they resist the system? –Is the management tradionally hierarchical? Disciplined? –Do the people in the environment work according to a process or do they set their own tasks?

Requirements Engineering Processes, York EngD Programme, 2009Slide 17 Why is RE hard to get right? The world is complex –The problem is not always tractable to analysis. The world changes –The problem will change … and the solution may change the problem. Resources are scarce –RE is always tightly time- and money-bound; –Required effort will exceed budget.

Requirements Engineering Processes, York EngD Programme, 2009Slide 18 Typical process problems Requirements elicitation –Failure to consider all important stakeholders and therefore critical requirements are not included in the system Requirements analysis –Failure to carry out a detailed analysis of the requirements –System and problem models become inconsistent Requirements validation –Failure to identify requirements tests –Insufficient validation of requirements Requirements management –Failure of change control and management of requirements

Requirements Engineering Processes, York EngD Programme, 2009Slide 19 Symptoms of RE process problems Product problems –Customer dissatisfaction –Delays in implementing changes to products –Unused product features People problems –System stakeholders feel excluded –Meetings failing to reach agreement Schedule problems –Requirements changes take a long time to negotiate –Extensive rework causes schedule delays

Requirements Engineering Processes, York EngD Programme, 2009Slide 20 Requirements management The process of managing changes to system requirements

Requirements Engineering Processes, York EngD Programme, 2009Slide 21 Requirements management Requirements management is the process of managing changing requirements during the requirements engineering process and system development. 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.

Requirements Engineering Processes, York EngD Programme, 2009Slide 22 Requirements change The priority of requirements from different viewpoints changes during the development process. System customers may specify requirements from a business perspective that conflict with end-user requirements. The business and technical environment of the system changes during its development.

Requirements Engineering Processes, York EngD Programme, 2009Slide 23 Requirements evolution

Requirements Engineering Processes, York EngD Programme, 2009Slide 24 Enduring and volatile requirements Enduring requirements. Stable requirements derived from the core activity of the customer organisation. E.g. a hospital will always have doctors, nurses, etc. May be derived from domain models Volatile requirements. Requirements which change during development or when the system is in use. In a hospital, requirements derived from health-care policy

Requirements Engineering Processes, York EngD Programme, 2009Slide 25 Requirements classification

Requirements Engineering Processes, York EngD Programme, 2009Slide 26 Requirements management planning During the requirements engineering process, you have to plan: –Requirements identification How requirements are individually identified; –A change management process The process followed when analysing a requirements change; –Traceability policies The amount of information about requirements relationships that is maintained; –CASE tool support The tool support required to help manage requirements change;

Requirements Engineering Processes, York EngD Programme, 2009Slide 27 Requirements identification A scheme has to be devised for requirements identification so that requirements can be unambiguously identified The most common scheme is a nested numbering scheme e.g However, such schemes are a problem –The top level classification (the first number) has to be fixed in advance –There are problems when requirements are changed Major problem is ensuring that stakeholders use the requirements identification scheme in a consistent way

Requirements Engineering Processes, York EngD Programme, 2009Slide 28 Change management

Requirements Engineering Processes, York EngD Programme, 2009Slide 29 Traceability Traceability is concerned with the relationships between requirements, their sources and the system design Source traceability –Links from requirements to stakeholders who proposed these requirements; Requirements traceability –Links between dependent requirements; Design traceability –Links from the requirements to the design;

Requirements Engineering Processes, York EngD Programme, 2009Slide 30 Tool support Requirements storage –Requirements should be managed in a secure, managed data store. Change management –The process of change management is a workflow process whose stages can be defined and information flow between these stages partially automated. Traceability management –Automated retrieval of the links between requirements.

Requirements Engineering Processes, York EngD Programme, 2009Slide 31 Key points A staged requirements engineering process includes a feasibility study, requirements elicitation and analysis, requirements specification and requirements management. Social and organisational factors influence system requirements, resulting in variations in RE processes Business changes inevitably lead to changing requirements. Requirements management includes planning and change management.