Requirements Engineering Lecture 10 Good Practices of Requirements

  • Slides: 32
Download presentation
Requirements Engineering Lecture 10 Good Practices of Requirements Eng. Jerzy. Nawrocki@put. poznan. pl www.

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

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

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

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

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

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

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

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

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

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)

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

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

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 •

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

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

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

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

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

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 Describing requirements • Specify requirements quantitatively J. Nawrocki, Requirements Eng. , 10

Intermediate guidelines System modelling • Use structured methods for system modelling • Use a

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

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) •

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

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

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

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.

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 validation • Paraphrase system models J. Nawrocki, Requirements Eng. , 10

Advanced guidelines Requirements management • Identify volatile requirements • Record rejected requirements J. Nawrocki,

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

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,

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

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