Requirements Engineering Lecture 10 Good Practices of Requirements
































- Slides: 32
Requirements Engineering Lecture 10 Good Practices of Requirements Eng. Jerzy. Nawrocki@put. poznan. pl www. cs. put. poznan. pl/jnawrocki/mse/require/ J. Nawrocki, Requirements Eng. , 10 Copyright, 2000 © Jerzy R. Nawrocki
Plan of the lecture Introduction Basic guidelines Intermediate guidelines Advanced guidelines J. Nawrocki, Requirements Eng. , 10
Overview of RE guidelines Basic Interm Adv 36 21 9 The requirements document 8 - - Requirements elicitation Reqs analysis & negotiation Describing requirements System modelling Requirements validation Requirements management RE for critical systems 6 5 4 3 6 2 1 3 1 1 - 4 4 2 3 3 3 1 2 4 J. Nawrocki, Requirements Eng. , 10
Scoring 3 0 3 - standardised: documented standard followed and checked as part of the quality management process; 2 - normal use: widely followed but not mandatory; 1 - discretionary use: used at discretion of project manager; 0 - never: never or very rarely used; J. Nawrocki, Requirements Eng. , 10
Maturity levels for RE Defined > 85 Basic & > 40 Interm & Adv Repeatable > 55 Basic & < 40 Interm & Adv Initial < 55 Basic J. Nawrocki, Requirements Eng. , 10
Legend for RE quidelines • Responsibility of Project Managers • Responsibility of SDS Senior Managers or Quality Assurers • At a discretion of Project Managers J. Nawrocki, Requirements Eng. , 10
Plan of the lecture Introduction Basic guidelines Intermediate guidelines Advanced guidelines J. Nawrocki, Requirements Eng. , 10
Basic guidelines Requirements document • Define a standard document structure • Explain how to use the document • Include a summary of the requirements (purpose of the system, main actors, titles of main use cases) • Make a business case for the system (usage scenarios: problem descriptions & improvement proposals) J. Nawrocki, Requirements Eng. , 10
Basic guidelines Requirements document • • Define specialised terms (glossary) Lay out the document for readability Help readers find information (? ) Make the document easy to change J. Nawrocki, Requirements Eng. , 10
Basic guidelines Requirements elicitation Give me a crocodile! • Assess system feasibility • Be sensitive to organisational & political considerations • Identify and consult stakeholders • Record requirement sources • Define operating environment • Use business concerns to drive requirements elicitation (planning game) J. Nawrocki, Requirements Eng. , 10
Basic guidelines Analysis and negotiation • Define system boundaries (use case diagrams; interaction diagrams) • Use checklists for requirements analysis (reading scenarios? ) • Provide software to support negotiations (email, Clear. Quest) • Plan for conflicts and conflict resolution (FAST & inspections) • Prioritise requirements (planning game) J. Nawrocki, Requirements Eng. , 10
Basic guidelines Describing requirements • Define standard templates for describing requirements • Use language simply & concisely • Use diagrams appropriately • Supplement natural language with other descriptions of requirements (UML diagrams) J. Nawrocki, Requirements Eng. , 10
Basic guidelines System modelling • Develop complementary system models (UML diagrams) • Model the system’s environment • Model the system architecture (deployment diagrams) J. Nawrocki, Requirements Eng. , 10
Basic guidelines Requirements validation • Check that the requirements document meets your standard • Organise formal requirements inspections • Use multidisciplinary teams to review requirements • Define validation checklists J. Nawrocki, Requirements Eng. , 10
Basic guidelines Requirements management • Uniquely identify each requirement • Define policies for requirements management • Define traceability policies • Maintain a traceability manual (Requisite. Pro) J. Nawrocki, Requirements Eng. , 10
Basic guidelines RE for critical systems • Create safety requirements checklists • Involve external reviewers in the validation process J. Nawrocki, Requirements Eng. , 10
Plan of the lecture Introduction Basic guidelines Intermediate guidelines Advanced guidelines J. Nawrocki, Requirements Eng. , 10
Intermediate guidelines Requirements elicitation Give me a crocodile! • Record requirements rationale • Use scenarios J. Nawrocki, Requirements Eng. , 10
Intermediate guidelines Analysis and negotiation • Classify requirements using a multidimensional approach • Use interaction matrices to find conflicts and overlaps J. Nawrocki, Requirements Eng. , 10
Intermediate guidelines Describing requirements • Specify requirements quantitatively J. Nawrocki, Requirements Eng. , 10
Intermediate guidelines System modelling • Use structured methods for system modelling • Use a data dictionary • Document the links between stakeholder requirements and system models J. Nawrocki, Requirements Eng. , 10
Intermediate guidelines Requirements validation • Use prototyping to animate requirements • Write a draft user manual • Propose requirements test cases J. Nawrocki, Requirements Eng. , 10
Intermediate guidelines Requirements management • Use a database to manage requirements (Requisite. Pro) • Define change management policies (Clear. Case LT, Clear. Quest) • Identify global system requirements J. Nawrocki, Requirements Eng. , 10
Intermediate guidelines RE for critical systems • Identify and analyse hazards • Derive safety requirements from hazard analysis • Cross-check operational and functional requirements against safety requirements J. Nawrocki, Requirements Eng. , 10
Plan of the lecture Introduction Basic guidelines Intermediate guidelines Advanced guidelines J. Nawrocki, Requirements Eng. , 10
Advanced guidelines Requirements elicitation Give me a crocodile! • Reuse requirements J. Nawrocki, Requirements Eng. , 10
Advanced guidelines Analysis and negotiation • Assess requirements risks (exploration & planning game) J. Nawrocki, Requirements Eng. , 10
Advanced guidelines Requirements validation • Paraphrase system models J. Nawrocki, Requirements Eng. , 10
Advanced guidelines Requirements management • Identify volatile requirements • Record rejected requirements J. Nawrocki, Requirements Eng. , 10
Advanced guidelines RE for critical systems • Specify systems using formal specification • Collect incident experience • Learn from incident experience • Establish an organisational safety culture J. Nawrocki, Requirements Eng. , 10
Further readings • I. Sommerville, P. Sawyer, Requirements Engineering, John Wiley & Sons, Chichester, 1997. J. Nawrocki, Requirements Eng. , 10
Quality assessment 1. What is your general impression? (1 - 6) 2. Was it too slow or too fast? 3. What important did you learn during the lecture? 4. What to improve and how? J. Nawrocki, Requirements Eng. , 10