Requirements Elicitation. Software Requirements and Design CITS 4401 Lecture 17

Similar documents
Requirements Elicitation. Software Requirements & Project Management CITS3220

Requirements Engineering

Change is constant. Obstacle to RE: Why requirement study? Limitation of the designers Different knowledge domains Not expertise Ubiquitous nature

Requirements Engineering Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 1

Requirements Engineering

REQUIREMENTS ENGINEERING

Requirements Analysis

version NDIA CMMI Conf 3.5 SE Tutorial RE - 1

Organising Requirements

Requirements Engineering: Part I. Software Requirements & Project Management CITS3220

Requirements Analysis and Design Definition. Chapter Study Group Learning Materials

! To solve problems. ! To take up new opportunities. ! Requirements - descriptions of. " Behavior. " Data. " Constraints (eg. cost and schedule)

Object-Oriented Software Engineering! Using UML, Patterns, and Java! Chapter 1: Introduction!

Requirements Validation and Negotiation

Requirements engineering

Requirements Elicitation

Domain Understanding and Requirements Elicitation (2)

Chapter 8. Systems Development. Ralph M. Stair George W. Reynolds

Systems Analysis and Design in a Changing World, Fourth Edition

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

Product Requirements. Requirements. Get it Right ASAP. Why Requirements are Difficult. Types of S/W Requirements. Levels of S/W Requirements

Requirements Engineering. Massimo Felici Room 1402, JCMB, KB

System Engineering and Analysis. system environments. Lecture Objectives. System Elements. Definition of System. Information system types

Introduction to Software Engineering

Use Cases and User Stories for Agile Requirements

Chapter 2 Analyzing the Business Case

Role of Requirement Engineering Processes in Software Development

Project Management Context Outline

PMP Exam Preparation Course Project Scope Management

Requirements Verification and Validation

Lecture Objectives. Example system. What data to gather? What data to gather? CSE Information Systems 1

IIBA Ottawa-Outaouais Chapter

Quizzes for 1 st Study Group Session

DETERMINING SYSTEM REQUIREMENTS. Systems Analysis and Design

The Systems Development Lifecycle

Systems Analysis and Design Methods Chapter 3: Information Systems Development

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

Software Engineering

CS360. Business Information Systems Analysis and Modeling. Project Management, JAD, Agile. LJ Waguespack, Ph.D Unit 09: 1

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

CCU 2010 / Identifying User Needs and Establishing Requirements. Lesson 7. (Part1 Requirements & Data Collection)

Requirements Engineering

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1

Strategy Analysis. Chapter Study Group Learning Materials

Scope and Coverage. Learning Outcomes. V1.0 Visuals Handout Page 1. This topic will cover: By the end of this topic, students will be able to:

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis

Object-Oriented Software Engineering! Using UML, Patterns, and Java! Chapter 3, Project Organization and Communication

8/30/2010. Lecture 1. Topics covered. Functional and non-functional requirements The software requirements document Requirements specification

Requirement Engineering. L3 The requirement study. Change is constant. Communication problem? People are hard to understand!

Soft Systems Methodology for Hard Systems Engineering - The Case of Information Systems Development at LIT/INPE/BRAZIL

PMP Exam Preparation Workshop. Chapter # 5 Project Scope Management

CSEB233: Fundamentals of Software Engineering. Software Requirements Part 1 Understanding Requirements Engineering

Foundation Certificate in Business Analysis

Product Requirements. Requirements. Get it Right ASAP. Why Requirements are Difficult. Levels of S/W Requirements. Types of S/W Requirements

Chapter 1. What is Software Engineering. Shari L. Pfleeger Joanne M. Atlee. 4 th Edition

Solution Evaluation. Chapter Study Group Learning Materials

Introduction to Software Engineering: Project Management ( Highlights )

Management of Projects

Functional and non functional requirements. Requirements elicitation Requirements analysis Requirements validation Requirements management

The software process

Technical Systems & Delivery

Full file at

Scope Management. 2. Meetings 2. Requirements Management Plan 3. EEF 4.OPA

Chapter 3, Project Organization and Communication

1) Introduction to Information Systems

POSITION DESCRIPTION

BAA Level 4 Extended Diploma in Business Management 120 Credits

Objectives. Rapid software development. Topics covered. Rapid software development. Requirements. Characteristics of RAD processes

Object-Oriented Software Engineering. Using UML, Patterns, and Java. Functional Modeling

Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 21 st, Requirements Engineering

Chapter 1. Contents. What is Software Engineering 9/9/13. Shari L. Pfleeger Joanne M. Atlee. 4 th Edition

Requirements Elicitation

Software Architecture and Engineering Requirements Elicitation Peter Müller

Object-Oriented Software Engineering Using UML, Patterns, and Java. Chapter 1: Introduction

Introduction and Key Concepts Study Group Session 1

Global Journal of Engineering Science and Research Management

L2 The requirement study. Requirement Engineering. Fang Chen

SUBJECT OUTLINE DETAILS. 2. Management unit - Department: Information Systems - College: Information and Communication Technology

B/AWP2/YT Reading University, UK

Software Engineering Fall 2014

Software Engineering Fall 2014

CHAPTER 2 LITERATURE SURVEY

Introduction to Systems Analysis and Design

Software Architecture and Engineering Requirements Elicitation Peter Müller

7. Project Management

BABOK v2.0 Snapshots

BUSINESS MANAGEMENT & FINANCIAL MANAGEMENT (BMFM)

WNR Approach: An Extension to Requirements Engineering Lifecycle

A Systemic Investigation of Complex IS Framing and Specification. Dr. Susan Gasson Assistant Professor College of IS & T Drexel University

JOB DESCRIPTION. Senior Business Analyst.docx. Proposed band

MTAT Enterprise System Integration

[Name] [ ID] [Contact Number]

INFORMATION PLAN WORKBOOK

Requirements Organisation, Analysis. Software Requirements & Project Management CITS3220

Software Lifecycle Activities

POSITION DESCRIPTION

Question 2: Requirements Engineering. Part a. Answer: Requirements Engineering Process

JOB DESCRIPTION. Senior Business Analyst Proposed band

MTAT Enterprise System Integration. Lecture 6 Service-Oriented Architecture Basic Concepts

Transcription:

Requirements Elicitation Software Requirements and Design CITS 4401 Lecture 17

Lecture Overview What is requirements elicitation? Underlying difficulties Generic Techniques Specific Techniques Requirements Elicitation Guidelines Requirements and Design 2

What is Requirements Elicitation? The process through which the customers, buyers, users, regulators and any others who are stakeholders in the development of a software system discover, reveal, articulate and understand their requirements. Requirements and Design 3

Requirements vs Specifications Requirements is probably the most misused word in our industry. Required means nonnegotiable, yet in almost every project we see changed, bartered, and negotiated requirements I propose using the word specification instead. Specifications are changeable and are understood as the current state of our understanding. W.Royce, IEEE Software, Sep/Oct 2005 Get a copy from http://ieeexplore.ieee.org/ via UWA Requirements and Design 4

Underlying Difficulties Articulation Problems Communication Barriers Knowledge and Cognitive Limitations Human Behaviour Issues Technical Issues Requirements and Design 5

Generic Overview of Techniques Asking Observing and Inferring Discussing and Formulating Negotiating with respect to a standard set Studying and Identifying Problems Discovering through creative processes Postulating Requirements and Design 6

A General Elicitation Procedure Identify relevant sources of requirements Ask appropriate questions to gain an understanding of their needs Analyse the gathered information, looking for implications, inconsistencies or unresolved issues Confirm your understanding of the requirements with the users Synthesize appropriate statements of the requirements Requirements and Design 7

Goal-Directed Requirements Engineering

What is a goal? An objective that the system under consideration should achieve Goals are optative (express a wish) rather than indicative (stating a thing as fact), e.g., serve more passengers acceleration command is delivered on time Notice the different levels of abstraction Requirements and Design 9

Vision Statement (Royce 2005) is a user s need which captures the contract between the development group and the user (or buyer) Represent it in a format that the user can understand Ad hoc format could include text, mockups, use cases, spreadsheets, use cases all in user terms Requirements and Design 10

Why are goals needed? Goals are a basic driving force (with scenarios) for identifying requirements help achieve requirements completeness help to avoid irrelevant requirements help explain requirements to stakeholders help explore alternatives help to manage conflicts help to separate stable and volatile requirements the higher level the goal, the more stable it is Requirements and Design 11

Where do goals come from? Stakeholders wishes Refinement of other goals but goals can be extracted from bottom up as well as top down approaches Instrumenting elite athletes example 5 whys see http://www.olympic.org/documents/elite_athle tes/problem_solving_5_whys.pdf 12

Incoming mail Non-orders Cashier s cage Work stations: sort, code, punch, verify, batch Master card file New master file Tab runs orders cards Bills, labels, notices Scientific American Invalid inputs Order Processing Problems: labourintensive, slow, expensive, unreliable, unable to manage peak demands Solution 1: Replace Tab runs with automated master file processing and updating system Requirements and Design 13

Problems with Solution 1 Costs up Reliability and quality of service down More clerical staff required Employee morale down Employee turnover up Why? Programming solution overlooked some key operational elements of the problem To be continued Requirements and Design 14

Solution 2 - first ask some questions 1. What objectives do we try to achieve? 2. What decisions do we control which affect those objectives? 3. What items dictate constraints on our range of choices? 4. What criteria should we use to evaluate candidate solutions? 5. What decision provides with the most satisfactory outcome with respect to those criteria? Requirements and Design 15

Solution 2 some answers 1. What objectives do we try to achieve? * Objectives: increase subscription speed and reliability, reduce costs, staff level and turnover, and reduce customer complaints * Need to Analyse: primary sources of costs, errors, delays, frustrations 2. What decisions do we control which affect those objectives? * Decisions we control: computers, PO box number sorting into post boxes Requirements and Design 16

Solution 2 some answers 3. What items dictate constraints on our range of choices? * Constraints: need to preserve audit trails 4. What criteria should we use to evaluate candidate solutions? * Criteria: cost of processing, time required to respond, errors rates, personnel levels and turnover Requirements and Design 17

Solution 2 some answers 5. What decision provides with the most satisfactory outcome with respect to those criteria? * Best solution (according to these criteria) Separate PO box numbers for different types of orders Interactive terminal, immediate validation of entries Service bureau processed tape cassettes of daily orders Requirements and Design 18

Interviewing

Interviewing An interview is a systematic attempt to collect information from a person. Interviewing success depends on ability to identify: work flows, factors that influence the operations of systems, and the elements (documents, procedures, policies, etc.) that make up systems. Poorly performed interviews may: lead to systems which do not meet the needs of the organization affect the attitudes of the users and have a negative effect on the entire project effort 20

5 Steps of the Interview Process 1. Preparing for the interview 2. Planning and scheduling the interview 3. Opening and closing the interview 4. Conducting the interview 5. Following up for clarification Requirements and Design 21

Observation An Introduction to Ethnography

Ethnography An analyst immerses him/herself in the working environment where the system will be used Observes the day-to-day work and notes the actual tasks in which participants are involved This helps discover implicit system requirements that reflect the actual rather than formal processes in which people are involved Observer is detached: end-user based, nonjudgemental, so not appropriate for discovering organisational or domain requirements Requirements and Design 23

Vineyard Sensor Network Case Study we looked at people s roles across the entire value chain of wine production, with the belief that each role represents a different relationship with the vineyard and winery and different information and interaction needs. Requirements and Design 24

Joint Application Design

Joint Application Design (JAD) Technique for promoting co-operation, understanding and teamwork among buyers, users and developers The process facilitates the creation of a shared vision of what the system should be Work done in single workshop session (1 week) Developed at IBM in the late 1970s Requirements and Design 26

JAD Activities 1. Project Definition JAD facilitator interviews managers and clients to determine objectives and scope. Forms a team of users, clients and developers; all stakeholders are represented; participants are able to make binding decisions 2. Research JAD facilitator interviews present and future users, gathers domain info and describes work flows Starts a list of issues to be addressed during the session Requirements and Design 27

JAD Activities 3. Preparation Create the Working Doc., a first draft of Final Doc. Make an agenda for the Session Make overheads, flip charts etc. to represent information gathered during 2. Research 4. Session Over 3-5 days guide teams in creating the system specification Teams define and agree on work flow, data elements, screens and reports All decisions documented by a scribe in JAD forms Requirements and Design 28

JAD Activities 5. Final Document JAD facilitator prepares the Final Document from the draft and decisions made during 4.Session Final document distributed to session participants for review Participants meet for 1-2 hour meeting to discuss the reviews and finalise the document Requirements and Design 29

Project definition Management definition guide Research Preliminary specification Session agenda Preparation Figure 4-12. Activities of JAD (UML activity diagram). The heart of JAD is the Session activity during which all stakeholders design and agree to a system specification. The activities prior to the Session maximizes its efficiency. The production of the Final document ensures that the decisions made during the Session are captured. Working document Session script Scribe forms Final document preparation Session Final document Requirements and Design 30 Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 9

Brainstorming

Brainstorming A simple group technique for generating ideas Allows people to suggest and explore ideas in an atmosphere free of criticism or judgement Works best with 4 to 10 people 1 person to get the session started, but not constrain it Requirements and Design 32

Brainstorming Generation Phase: participants encouraged to offer as many ideas as possible without discussion of the merits of ideas Consolidation Phase: ideas are discussed, revised and organised Q: Which of the difficulties identified earlier will be addressed by brainstorming? Requirements and Design 33

Pulling this all Together Some Guidelines

Sommerville & Sawyer Elicitation Guidelines 1. Assess system feasibility 2. Be sensitive to organisational and political considerations 3. Identify and consult system stakeholders 4. Record Requirements Sources 5. Define the system s operating environment 6. Use business concerns to drive requirements elicitation Requirements and Design 35

Elicitation Guidelines (cont) 7. Look for Domain Constraints 8. Record Requirements Rationale 9. Collect Requirements from Multiple Viewpoints 10. Prototype poorly understood requirements 11. Use scenarios to elicit requirements 12. Define operational processes 13. Reuse requirements Requirements and Design 36

References R. S. Pressman, Software Engineering: A Practitioner s Approach, 6 th ed., McGraw Hill 2005 Chapter 4 Requirements Eliclitation B. Bruegge and A. H. Dutoit, Object-Oriented Software Engineering Using UML, Patterns, and Java, 3 rd ed., Prentice Hall, 2010 Section 4.3.1 Software Specification Section 7.2 Requirements Elicitation and Analysis Requirements and Design 37