Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.

Slides:



Advertisements
Similar presentations
Requirements Engineering Process
Advertisements

Requirements Engineering Process
SWE Introduction to Software Engineering
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering Processes
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
©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.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
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 7 Slide 1 Requirements Engineering Processes 1.
Dr Suad AlRamouni. ◦ Understand some key terms used in software requirements engineering. ◦ Distinguish requirements development from requirements management.
S/W Project Management
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
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.
©Ian Sommerville Software Engineering Slide 1 Software Requirements l Definition: Description and Specifications of a system l Topics covered: Functional.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
 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.
1 / 18 CS 425/625 Software Engineering Requirements Engineering Processes Based on Chapter 6 of the textbook [Somm00] Ian Sommerville, Software Engineering,
Collecting Project Problem Requirements The ATCS Modeling Project: Informal Picture Follows.
Chapter 7 System models.
Lecture 7: Requirements Engineering
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
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 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 Validation
Requirements / Specifications. 01/18/10CS-499G2 Requirements Determine what the customer needs (wants) the software to do  What are requirements?  An.
Week 3: Requirement Analysis & specification
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.
Andreas S. Andreou CS603 – Advanced Software Engineering Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and validate.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Analysis
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
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.
 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)
CS 240, Prof. Sarwar Slide 1 CS 240: Software Project Fall 2003 Sections 1 & 2 Dr. Badrul M. Sarwar San Jose State University Lecture #6.
Requirements Analysis Requirements Engineering (CI 2323) Daniel Siahaan.
©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
Requirements Engineering Process
SNS College of Engineering Coimbatore
Requirements Engineering Process
Requirements Engineering Processes
Requirements Document
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

Requirements Elicitation

Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical factors such as political, social, and organizational issues taken into account? How will requirement documents be used and maintained, especially as requirements evolve? What processes, methods, and techniques are available, and how effective are they?

Outline Requirements Process Documents Validation Evolution Elicitation –Viewpoints and Stakeholders –Methods System Contexts Social and Organizational Issues

Requirements Engineering Process Feasibility Study Requirements Specification Requirements Definition Requirements Elicitation Feasibility Report Domain Models Requirements Document Definition of Requirements Requirements Specification Preliminary Requirements

Requirements Process (2) Feasibility Study –Quick and Cheap –Can user needs be met using current technology? –Will the proposed system be cost effective? –Is more detailed analysis warranted?

Requirements Process (3) Requirements Elicitation –Observation of existing systems, processes –Discussion with potential users, procurers –Development of problem domain models Process, State, Data flow, E/R, etc. –Prototype development

Requirements document requirements Should specify only external behavior Should specify constraints on the implementation Should be easy to change Should serve as a reference tool for system maintainers Should record forethought about life cycle Should characterize acceptable responses to undesired events.

Requirements document contents Introduction Glossary Domain models Functional requirements Non-functional requirements System evolution Requirements specification Index and table of contents

Requirements Validation Correctness –Any set of requirements is a compromise across a diverse group of users Completeness Consistency Realism –There is no point in specifying unrealistic requirements

Requirements Review (formal) Developer “walks” customer through each requirement, explaining implications. Review team checks each requirement for: –Clarity –Consistency –Verifiability: How can the requirement be tested? –Traceability: What is the source of the requirement? –Adaptability: Can the requirement be changed without major effects on other requirements?

Requirements Evolution Enduring requirements Volatile requirements –Mutable requirements Due to changes in the customer’s environment –Emergent requirements Due to customer’s increased understanding of system –Consequential requirements Due to introduction of the new system –Compatibility requirements Due to changes in customer’s business process or systems

Requirements Elicitation Process Requirements Definition Domain Understanding Requirements Collection Conflict Resolution Prioritization Classification Requirements Validation

Perspectives on Viewpoints A data source or sink –A viewpoint is responsible for producing or consuming data. A representation framework –A viewpoint is a particular type of system model. A receiver of services –A viewpoint is external to the system and receives services from it. Viewpoints may provide data or control signals.

The service oriented approach Most suitable for interactive systems. Natural to think of end-users as receivers of services Natural way to structure requirements elicitation Easy to decide if an entity is a valid viewpoint Natural way to structure non-functional requirements –The same service may have different non-functional requirements associated with different viewpoints.

Stakeholders –Current bank customers –Other cooperating banks –Branch office managers –Tellers –Database administrators –Bank security managers –Communications engineers –Bank’s marketing department –Hardware and software maintenance engineers –Bank’s personnel department Different kinds people all have some interest in system requirements, e.g. ATM system for a bank:

Stakeholders (2) End-users, managers, engineers who develop or maintain related systems, domain experts, union representatives, etc. May not know what they really want, or may find it difficult to articulate May make unrealistic demands Express requirements in their own terms with implicit knowledge of their own work May be politically motivated

Components of Elicitation Methodologies Process model –Defines the activities in the method Domain modeling notations Rules applied to domain models –Within or between models, e.g. input/output items in data flow model must appear in E/R model. Design guidelines Report templates

Viewpoint Oriented Analysis VORD (Kotonya and Sommerville, 1992) Viewpoint identification –Discover viewpoints receiving system services –Allocate system services to various viewpoints Viewpoint structuring –Group related viewpoints into an inheritance hierarchy Viewpoint documentation –Refine description of viewpoints and services

VORD Viewpoint template Reference: The viewpoint name Attributes: Providing viewpoint information Events: List of references to scenarios describing how the system reacts to viewpoint events Services: List of references to service descriptions Sub-VPs: Names of sub- viewpoints Service template Reference: The service name Rationale: Reason for providing the service Specification: List of references to service specifications (may use various notations) Viewpoints: List of viewpoints receiving the service Non-functional requirements: References to constraints on the service Provider: List of system objects which provide the service

System Contexts Determining the system boundaries –When replacing an existing system (manual or computerized), the environment for the new system is usually the same –Otherwise the decision may be fairly arbitrary ATM System Usage Database Maintenance System Account Database Counter System Branch Accounting System Security System

Social and Organizational Issues Potential influence on all viewpoints Example: System Boundaries –Can analysis be carried out on one site? –Is it necessary to consult a particular manager? –Will a larger system result in an expanded development group? Example: Requirement Elicitation –Consider a system which will allow senior managers to access information directly. An organizational factor may be the intention to reduce the numbers of middle managers. The middle managers have a vested interest in seeing the system fail, but are an important source of information about requirements.

Ethnographic Analysis Ethnography: Technique whereby a sociologist spends considerable time observing in the working environment. Does not involve people explaining what they do. Problem: Studying existing work supported by imperfect systems may lead to erroneous conclusions concerning requirements. Example: Air traffic controllers may keep the audible conflict alert turned off, because they deliberately place aircraft on conflicting paths (temporarily). One might conclude that conflict alert is not a requirement, instead of requiring an improved conflict alert system.