Domain Understanding and Requirements Elicitation

Similar documents
WG food contact materials

Boundary Objects as a Framework to Understand the Role of Systems Integrators*

Issues and Challenges in Coupling Tropos with User-Centred Design

CS 350 COMPUTER/HUMAN INTERACTION

User requirements. Unit 4

Socio-cognitive Engineering

SOFT 423: Software Requirements

Requirements Analysis aka Requirements Engineering. Requirements Elicitation Process

Specific Matter for Comment 1 Do you generally agree with the proposals in the ED? If not, please provide reasons.

Software LEIC/LETI. Lecture 21

A Boundary Object Model to Analyze Communication Interfaces

Designing for recovery New challenges for large-scale, complex IT systems

Modeling support systems for multi-modal design of physical environments

Years 5 and 6 standard elaborations Australian Curriculum: Design and Technologies

CHAPTER 23 MASS COMMUNICATION SPECIALIST (MC) NAVPERS C CH-73

Developing a VR System. Mei Yii Lim

Proposed Curriculum Master of Science in Systems Engineering for The MITRE Corporation

UML and Patterns.book Page 52 Thursday, September 16, :48 PM

ETP4HPC ESD Workshop, Prague, May 12, Facilitators Notes

ISO ISO is the standard for procedures and methods on User Centered Design of interactive systems.

Architectural Design Process

Object-oriented Analysis and Design

Introduction to Software Engineering (Week 1 Session 2)

UNIT VIII SYSTEM METHODOLOGY 2014

Requirements Engineering I

CC532 Collaborative System Design

EXERGY, ENERGY SYSTEM ANALYSIS AND OPTIMIZATION Vol. III - Artificial Intelligence in Component Design - Roberto Melli

SWEN 256 Software Process & Project Management

SECTION SHOP DRAWINGS, PRODUCT DATA, AND SAMPLES

Process Book Jolee Nebert Spring 2016

Lecture 13: Requirements Analysis

Understanding Requirements. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only

Design Science Research Methods. Prof. Dr. Roel Wieringa University of Twente, The Netherlands

Unit 5: Unified Software Development Process. 3C05: Unified Software Development Process USDP. USDP for your project. Iteration Workflows.

Participatory backcasting: A tool for involving stakeholders in long term local development planning

UNIT-III LIFE-CYCLE PHASES

Lecture 9: Estimation and Prioritization" Project Planning"

Requirements Engineering I

F. Tip and M. Weintraub REQUIREMENTS

Lean Enablers for Managing Engineering Programs

What is BIM and why should construction lawyers care about it? Dr. Carrie Sturts Dossick, P.E. Bita Astaneh Asl

COURSE TITLE: Architectural Drafting LENGTH: Full Year Grades DEPARTMENT: Technology Education Barbara O Donnell, Supervisor SCHOOL:

Goals for this Lecture. Lecture 5: Introduction to Analysis. Requirements Engineering. IEEE definition of requirement

Knowledge, Policy and Mental Health

2020 Census Local Update of Census Addresses Operation (LUCA)

PRINCIPAL INVESTIGATOR: Bartholomew O. Nnaji, Ph.D. Yan Wang, Ph.D.

Contextual Design Observations

Fundamentals of Systems Engineering. Human-Systems Engineering

Empirical Research on Systems Thinking and Practice in the Engineering Enterprise

6 panelists and 1 moderator

MANAGING HUMAN-CENTERED DESIGN ARTIFACTS IN DISTRIBUTED DEVELOPMENT ENVIRONMENT WITH KNOWLEDGE STORAGE

IBM Software Group. Mastering Requirements Management with Use Cases Module 2: Introduction to RMUC

Introduction to Systems Engineering

CSCI 445 Laurent Itti. Group Robotics. Introduction to Robotics L. Itti & M. J. Mataric 1

Model Based Systems Engineering (MBSE) Business Case Considerations An Enabler of Risk Reduction

Department of Architectural Technology Spring 2018

Years 9 and 10 standard elaborations Australian Curriculum: Design and Technologies

IECI Chapter Japan Series Vol. 5 No. 2, 2003 ISSN

Inst it ut e fo r Humane Educat io n Grades: 9, 10, 11, 12 St at es: Common Core State Standards Subje ct s: So cial Studies

Getting the evidence: Using research in policy making

Use of forecasting for education & training: Experience from other countries

SECTION ADMINISTRATIVE REQUIREMENTS SECTION ADMINISTRATIVE REQUIREMENTS

About Software Engineering.

Problems with TNM 3.0

Recommender Systems TIETS43 Collaborative Filtering

LL assigns tasks to stations and decides on the position of the stations and conveyors.

Skylands Learning is your trusted learning advisor. That is our promise your trusted learning advisor. Four simple words.

ITC108 Assignment 2 - Game Analysis

White paper The Quality of Design Documents in Denmark

Experiences from a Living Lab trialling a mobile participation platform

Meeting Notes Responsible Leather Stakeholder Meeting

Systems. Professor Vaughan Pomeroy. The LRET Research Collegium Southampton, 11 July 2 September 2011

The Tool Box of the System Architect

SOFT 423: Software Requirements

SELF OPTIMIZING NETWORKS

VCE Systems Engineering: Administrative information for Schoolbased Assessment in 2019

CSE 190: 3D User Interaction. Lecture #17: 3D UI Evaluation Jürgen P. Schulze, Ph.D.

What Are Submittals?

CSE - Annual Research Review. From Informal WinWin Agreements to Formalized Requirements

Federico Forti, Erdi Izgi, Varalika Rathore, Francesco Forti

ABSTRACT I. INTRODUCTION

INDIGO LAKES HOA ARCHITECTURAL REVIEW COMMITTEE REQUEST FOR MODIFICATION

Cooperation and Control in Innovation Networks

Software Life Cycle Models

Chapter 7 Requirements Engineering

The Corporation of the City of Nelson Office of the Finance and Purchasing Manager Telephone : (250) Fax : (250)

Erwin Mlecnik 1,2. Keywords: Renovation, Supply Chain Collaboration, Innovation, One Stop Shop, Business models. 1. Introduction

VCE Product Design and Technology: Administrative information for Schoolbased Assessment in 2018

Economic Clusters Efficiency Mathematical Evaluation

JOURNAL OF OBJECT TECHNOLOGY

Systems Engineering Overview. Axel Claudio Alex Gonzalez

Moonzoo Kim. KAIST CS350 Intro. to SE Spring

What We Heard Report Inspection Modernization: The Case for Change Consultation from June 1 to July 31, 2012

ISA 315 (Revised) Identifying and Assessing the Risks of Material Misstatement through Understanding the Entity and Its Environment

Design thinking, process and creative techniques

May 15, 2012 Hugh Anderson Legal Counsel to the Engineers Joint Contract Documents Committee

CHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING DESIGN

Stanford Center for AI Safety

A Job Description. Library Systems Analyst I 271 THOMAS MINDER

Integrating analyses of data to discover facts and/or develop knowledge, concepts and interpretations. 1 Co-ordinating

Transcription:

and Requirements Elicitation CS/SE 3RA3 Ryszard Janicki Department of Computing and Software, McMaster University, Hamilton, Ontario, Canada Ryszard Janicki 1/24

Previous Lecture: The requirement engineering process 1 Domain understanding and elicitation 2 Evaluation and agreement 3 Specification and documentation 4 Validation and verification The entire process can (and usually is) repeated many times! The Requirement Engineering process alternative proposals domain understanding & elicitation evaluation & agreement consolidated requirements validation & verification start agreed requirements specification & documentation documented requirements

Types of Projects Rabbit - the most agile project frequent iterations, each iteration delivers a small increment to the working functionality learning but not much writing (official) requirements using scenarios and prototypes for delivering the requirements to developers have relatively short live Horse - fast, strong, dependable most common corporate projects there is a need for some documentation as requirements are shared between departments a few stakeholders = consistent documentation some degree of formality in the development process medium longevity Ryszard Janicki 3/24

Types of Projects Elephant - solid, strong, long life and long memory a need for a complete requirements specification contractual arrangements as outsourcing often the regulators demand not only full specification but also a detailed description of the process (so they can audit it) many stakeholders and developers requirements extremely important formal methods are often used Ryszard Janicki 4/24

: Scenarios : Prototypes Objectives and Knowledge Acquisition Objectives Understand the system-as-is and its context Identify the problems and opportunities calling for a new system Discover the real needs of stakeholders with respect to the new system Explore alternative ways in which the new system could address those needs. Knowledge Acquisition Knowledge about the organization - its structure, business objectives, policies, roles and responsibilities Knowledge about the domain in which the problem world is rooted - the concepts involved in this domain, the objectives specific to it, the regulations that may be imposed on it. Knowledge about the system-as-is - its objectives, the actors (i.e. active entities) and resources involved the tasks and workflows, and the problems raised in this context Ryszard Janicki 5/24

: Scenarios : Prototypes Identifying stakeholders and interacting with them Stakeholder analysis Relevant position in the organization Effective role in making decision about the system-to-be Level of domain expertise Exposure to perceived problems Influence in system acceptance Personal objectives and conflict of interests Ryszard Janicki 6/24

: Scenarios : Prototypes Identifying stakeholders and interacting with them Handling obstacles to effective knowledge acquisition Distributed and conflicting knowledge sources Difficult access to sources Obstacle to good communication - important, often underestimated! Tacit knowledge and hidden needs - important, difficult to get! Socio-political factors Unstable conditions Interacting with stakeholders - difficult, important, often underestimated! Communication skills Knowledge reformulation Culture barriers (i.e. nurses vs information technology people, etc.) Ryszard Janicki 7/24

Elevator System : Scenarios : Prototypes Example (More Specific Case) Assume the system-to-be is an elevator system in 15 floors five stars hotel with an outdoor swimming pool on the last floor, two restaurants on 14 floor, spa, gym and indoor pool on floor -1, shops and reception on ground floor, conference rooms on floor 2 and parkings on floors -2 and -3. The chain does not have a similar hotel, the closes one that can be used as a system-as-is has only 6 floors, indoor swimming pool on 6th floor, restaurant on ground floor, gym and spa in the basement and parking is outdoor. Ryszard Janicki 8/24

: Scenarios : Prototypes Example (Stakeholders Identification) Stakeholders are people, groups, organizations that might be affect by the outcome of a project. At the hotel, the installment of new elevator system can result in some massive changes in terms of management. Hence the stakeholders include: Hotel Owner/ manager the person who will be approving the new project The architect of the building An architect plays a vital role in installing the elevator system in any hotel or a building. They are helpful providing with the current status of the load on an elevator and can tell the maximum amount weight a single elevator could carry without harming the structure or the tower. Restaurant manager find out the estimated traffic for the restaurant floor Ryszard Janicki 9/24

: Scenarios : Prototypes Example (Stakeholders Identification) Stakeholders are people, groups, organizations that might be affect by the outcome of a project. At the hotel, the installment of new elevator system can result in some massive changes in terms of management. Hence the stakeholders include: Front desk / Community Relations Manager / Business analysts knows how many people would check in every day and what the peak season occupancy is Head maid knows the times the maids need the lift Restaurant manager knows the times the restaurant workers need the elevators Security head / Elevator repair contractor / Maintenance manager Knows the relevant safety details for the elevator system Ryszard Janicki 10/24

: Scenarios : Prototypes Background study Data collection, questionnaires Scenarios, storyboards for problem world exploration Prototypes, mock-ups for early feedback Ryszard Janicki 11/24

Background study : Scenarios : Prototypes Collect, read, synthesize documents about: the organization: organizational charts, business plans, financial reports, meeting minutes, etc the domain: books, surveys, articles, regulations, reports on similar systems in the same domain the system-as-is: documented workflows, procedures, business rules; exchanged documents; defect/complaint reports, change requests, etc. Provides basics for getting prepared before meeting stakeholders = prerequisite to other techniques Data mining problem: huge documentation, irrelevant details, outdated info Solution: use meta-knowledge to prune the document space know what you need to know and what you don t need to know Ryszard Janicki 12/24

Data collection : Scenarios : Prototypes Gather undocumented facts and figures marketing data, usage statistics, performance figures, costs, etc. by designed experiments or selection of representative data sets from available sources (use of statistical sampling techniques) May complement background study Helpful for eliciting non-functional requirements on performance, usability, cost etc. Difficulties: Getting reliable data may take time Data must be correctly interpreted Ryszard Janicki 13/24

Questionnaires : Scenarios : Prototypes Submit a list of questions to selected stakeholders, each with a list of possible answers (+ brief context if needed) Multiple choice question: one answer to be selected from answer list Weighting question: list of statements to be weighted... qualitatively ( high, low,...), or quantitatively (percentages) to express perceived importance, preference, risk etc. Effective for acquiring subjective info quickly, cheaply, remotely from many people Helpful for preparing better focused interviews Ryszard Janicki 14/24

Scenarios and storyboards : Scenarios : Prototypes Probably the most important technique! Goal: acquire or validate info from concrete examples through narratives how things are running in the system-as-is how things should be running in the system-to-be Storyboard: tells a story by a sequence of snapshots Snapshot = sentence, sketch, slide, picture, etc. Possibly structured with annotations: WHO are the players, WHAT happens to them, WHY this happens, WHAT IF this does / does not happen, etc Passive mode (for validation): stakeholders are told the story Active mode (for joint exploration): stakeholders contribute Ryszard Janicki 15/24

Scenarios : Scenarios : Prototypes Illustrate typical sequences of interaction among system components to meet an implicit objective Widely used for: explanation of system-as-is exploration of system-to-be + elicitation of further info... e.g. WHY this interaction sequence? WHY among these components? specification of acceptance test cases Represented by text or diagram (formal or informal) Ryszard Janicki 16/24

Scenarios Scenario example: meeting scheduling 1. The initiator asks the scheduler for planning a meeting within some date range. The request includes a list of desired participants. 2. The scheduler checks that the initiator is entitled to do so and that the request is valid. It confirms to the initiator that the requested meeting is initiated. 3. The scheduler asks all participants in the submitted list to send their date and location constraints back within the prescribed date range. 4. When a participant returns her constraints, the scheduler validates them (e.g., with respect to the prescribed date range). It confirms to the participant that the constraints have been safely received. 5. Once all valid constraints are received, the scheduler determines a meeting date and location that fit them. 6. The scheduler notifies the scheduled meeting date and location to the initiator and to all invited participants

Types of scenario : Scenarios : Prototypes Positive scenario = one behavior the system should cover (an example) Negative scenario = one behavior the system should exclude ( a counter-example), e.g. 1 A participant returns a list of constraints covering all dates within the given date range 2 The scheduler forwards this message to all participants asking them for alternative constraints within extended date range Normal scenario: everything proceeds as expected Abnormal scenario = a desired interaction sequence in exception situation (still positive) e.g. meeting initiator not authorized participant constraints not valid Ryszard Janicki 18/24

Elevator System : Scenarios : Prototypes Example (Positive or Normal Scenario) 1 The user request for an up-elevator from the ground floor by pressing the button. Up button illuminates. 2 The elevator visits the ground floor and the doors open. The up button s illumination is cancelled. The user steps into the elevator. The doors close. 3 The user requests to go to the 10th floor by pressing button 10. The button 10 illuminates. 4 The elevator visits the 10th floor and the door open. The button 10 s illumination is cancelled the user step out of the elevator. The door close. Ryszard Janicki 19/24

Elevator System : Scenarios : Prototypes Example (Negative Scenario) 1 The user requests for an up-elevator from the ground floor by pressing the up button. Up button illuminates. 2 The elevator visits the ground floor and the door open. The up button s illumination is cancelled. The user steps into the elevator. The door close. 3 The user request to go to the 10th floor by pressing button 10. The button 10 illuminates 4 The elevator visits the 9th floor and the doors open. The button 10th illumination is cancelled. The user step out of the elevator. The doors close. Ryszard Janicki 20/24

Example (Abnormal Scenario) 1 The elevators must switch to out of service in the case of fire. Only firemen should be able to operate the elevators in this condition. 2 The user requests for an elevator from the 10th floor by pressing the up button. Up button illuminates. 3 The elevator visits the ground floor and doors open. The Up buttons illumination is cancelled. The user step into the elevator. There is already a second user in the elevator with the button 13 illuminated. The door closed. 4 The first user requests to o to ground floor by pressing button G. The button G illuminates 5 The elevator visits the 13th floor and the doors open. The button 13th illumination is cancelled. The second user step out of the elevator when the doors close. 6 The elevator visits the ground floor and the doors open. The button G s illumination is cancelled. The first user steps out of the elevator when the doors close.

Scenarios: pros and cons Scenarios: pros & cons Concrete examples/counter-examples Narrative style (appealing to stakeholders) Yield animation sequences, acceptance test cases Inherently yp partial (cf. test coverage problem) Combinatorial explosion (cf. program traces) Potential overspecification: unnecessary sequencing, premature software-environment boundary May contain irrelevant details, incompatible granularities from different stakeholders Keep requirements implicit cf. confidentiality req in negative scenario example Concrete scenarios naturally jump in anyway... invaluable as initial elicitation vehicles

Prototypes : Scenarios : Prototypes Goal: check req adequacy from direct user feedback, by showing reduced sketch of software-to-be in action focus on unclear, hard-to-formulate requirements to elicit further Prototype = quick implementation of some aspects Functional prototype: focus on specific functional requirements e.g. initiating meeting, gathering participant constraints User interface prototype: focus on usability by showing input-output forms, dialog patterns e.g. static/dynamic interaction to get participant constraints Quick implementation: by use of very high-level programming language, executable spec language, generic services, etc. Ryszard Janicki 23/24

Prototypes: pros and cons Prototypes: pros & cons Concrete flavor of what the software will look like => clarify reqs, elicit hidden ones, improve adequacy, understand implications,... Other uses: user training, stubb for integration testing,... Does not cover all aspects missing functionalities ignores important non-functional reqs (performance, cost,...) Can be misleading, set expectations too high Quick-and-dirty code, hard to reuse for sw development Potential inconsistencies between modified code and Potential inconsistencies between modified code and documented reqs