Software Requirements and the Requirements Engineering Process

Slides:



Advertisements
Similar presentations
Requirements Engineering Process
Advertisements

Software Requirements and the Requirements Engineering Process Chapters 5 and 6.
SWE Introduction to Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
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.
Software Requirements and the Requirements Engineering Process Chapters 5 and 6.
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes 1.
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 The requirements engineering process.
SOFTWARE DESIGN AND ARCHITECTURE
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
 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.
Requirements Engineering Requirements Elicitation Process Lecture-8.
Chapter 4 Requirements Engineering Processes Objectives l To describe the principal requirements engineering activities and their relationships l To.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa REQUIREMENT SPECIFICATION Today: Requirements Specification.
Lecture 7: Requirements Engineering
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
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.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
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 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering Process
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Analysis
CS223: Software Engineering Lecture 8: Requirement Engineering.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
©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.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
CHAPTER 5 REQUIREMENTS ENGINEERING PROCESSES 1. Objectives  To describe the principal requirements engineering activities and their relationships  To.
REQUIREMENTS ENGINEERING PROCESSES Chapter 6. Activities in Requirements Engineering processes  Requirements elicitation;  Requirements analysis; 
Pepper modifying Sommerville's Book slides
Requirements Engineering Processes
Chapter 4 Requirements engineering
An Overview of Requirements Engineering Tools and Methodologies*
Requirements Engineering Process
Recall The Team Skills Analyzing the Problem (with 5 steps)
Chapter 7 Review Requirements Engineering Processes
Recall The Team Skills Analyzing the Problem
Requirement Management
SNS College of Engineering Coimbatore
EKT 421 SOFTWARE ENGINEERING
Abstract descriptions of systems whose requirements are being analysed
Requirements Analysis
Requirements Engineering Process
Object oriented analysis and design
Requirements Engineering Processes
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Use Case Modeling Part of the unified modeling language (U M L)
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Software Requirements and the Requirements Engineering Process Chapters 5 and 6

References Software Engineering. Ian Sommerville. 6th edition. Pearson. Code Complete. Steve McConnell. (CC) The art of requirements triage. Alan M. Davis. Computer. IEEE. March 2003. Testing whether requirements are right. Robin F. Goldsmith, JD. Go Pro Management Inc. NYC Spin Meeting. December 2004. (RG) Software Requirements. Karl E. Wieger. Windows Press. Dr. Gotel’s research web page Dr. Barrett slides, NYU

Requirements elicitation and analysis Stakeholder: Person or group of persons who will be affected by the system (directly or indirectly) All stakeholders should be involved in requirements elicitation and analysis Stakeholders don’t know what they really want Stakeholders express requirements in their own terms Different stakeholders may have conflicting requirements Organisational and political factors may influence the system requirements The requirements change during the analysis process. New stakeholders may emerge and the business environment change

Different techniques for requirements elicitation and analysis Different techniques for elicitation: Brainstorming Stories Prototyping Questionnaires Interviewing Viewpoint Scenarios Use cases

Requirements analysis Read the paper ‘The Art of Requirements Triage’, Alan Davis, IEEE computer, March 2003 Prioritization, estimation of the resources to satisfy the requirements, subset of requirements that optimizes the probability of the system’s success MoSCoW Criteria for requirements triage: M – Must have – mandatory requirements that are fundamental to the system S – Should have – important requirements that could be omitted C – Could have – optional requirements W – Want to have – the requirements really can wait

Interviewing and questionnaires Interviewing: synchronous elicitation technique Questionnaires: asynchronous elicitation technique Based on: Ask questions and listening/reading the answers Be prepared to ask follow-up questions Ask for documents you need Log the answers (to support, complete or contradict what was said/written) Involve all the stakeholders

Viewpoints Viewpoints permits us to classify stakeholders and other sources of requirements Multi-perspective analysis / diversity of source of information are important 3 categories of viewpoints Interactor viewpoints: People or other systems that interact with the system Indirect viewpoints: Stakeholders who do not use the system directly but who influence the requirements in some ways Domain viewpoints: Domain characteristics and constraints

Viewpoints More specific viewpoints: Providers and receivers of system services Systems interfacing with the new system Regulations and standards applying to the system Sources of business and non-functional requirements Engineering viewpoints: developing, managing, maintaining the system Marketing viewpoints

The VORD method This method implements a viewpoint-oriented approach for requirements elicitation VORD = Viewpoint Oriented Requirements Definition It is based on: Viewpoint identification Discovering the viewpoints, services and constraints Viewpoint structuring Allocating services to viewpoints Viewpoint data/control Group the viewpoints into a hierarchy Viewpoint documentation Refine the description of the viewpoints, services and constraints Use of a template Viewpoint system mapping Transform the analysis to an object-oriented design

VORD template

Example: ATM Viewpoint identification

Example: ATM Viewpoint structuring: Allocating services to viewpoints

Example: ATM Viewpoint structuring: Viewpoint data/control

Example: ATM Viewpoint structuring: Viewpoint hierarchy

Example: ATM Viewpoint documentation

Scenarios If it often easier for people to relate on real-life example rather than abstract statements Scenarios are descriptions – sequences of events - of how the system is used in practice. Scenarios are composed of: A description of the initial state of the system A description of the normal flow of events in the scenario A description of what can go wrong and how it is handled Information on other activities that might be going on concurrency A description of the final state of the system

Use cases Use cases are a scenario-based technique for describing requirements Use cases identify the users of the system (actors) Use cases identify the tasks (use cases) Use cases relate the users and the tasks Use cases are typically illustrated with UML as stick figures or similar diagrams A set of use cases should describe all possible interactions with the system Use cases are more effective in capturing functional requirements

Example: Flights reservation system

Use-cases relationships Use cases have relationships Inclusions: A use case contain the behavior from another use case (unconditional) Can be seen as a factorization Introduced by the <<include>> keyword Extensions: A use case conditionally interrupts the execution of another use case to augment its functionality An extension point may specify a precondition for the extending behavior Introduced by the <<extends>> keyword Inheritance

Flights reservation system

Requirements specification Examples of templates (Available in the Blackboard): Microsoft template. Karl E. Wiegers. Software Requirements. Windows Press. Volere template http://www.volere.co.uk

Textual descriptions of a use-cases The textual description of a use case includes: Use case ID Use case name Actors Description Pre-condition Post-condition Normal course Alternative course Exceptions Includes Priority See also template of Karl E. Wiegers, Microsoft

Requirements validation Requirements must be checked for: Validity, comprehensibility, traceability (source, dependency between requirements) consistency, completeness, realism and verifiability Validation techniques: Requirements reviews Expert review, two independent reviews Formal/informal Involvement of the stakeholders necessary Test-case generation Tests are developed for the requirements Prototyping Mini-definitions of the requirements A team redefine the requirements and compare them with the list of produced requirements There are lots of validation techniques (more than 21). Dr. Goldsmith’s presentation.

Requirements management Requirements management deals with the process of managing changes in the requirements during the requirements engineering process and system development Requirements traceability is concerned with the relationships between requirements (dependencies), their sources and the system design CASE tools are necessary for the requirements storage and management

Traceability matrix A traceability matrix permits us to see the relationships/dependencies between requirements U: Uses W: Weak relationship