Chapter 7 Requirements Engineering. Software Engineering: A Practitioner s Approach, 6th edition by Roger S. Pressman

Similar documents
Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

Sofware Requirements Engineeing

Use Case Diagram. Tom Polanski, Analex Corporation CSCI Object-Oriented Analysis and Design (Spring 2001) Homework #3 Use Cases

Applying Use Cases to Microcontroller Code Development. Chris Gilbert Cypress Semiconductor

A GUIDE TO PROCESS MAPPING AND IMPROVEMENT

Requirements Engineering Process

W E B B A S E D M E E T I N G S C H E D U L E R S Y S T E M

Requirements Engineering Processes. Feasibility studies. Elicitation and analysis. Problems of requirements analysis

Fourth generation techniques (4GT)

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur. School of Computing, Department of IT

SOFTWARE REQUIREMENTS

Using Use Cases for requirements capture. Pete McBreen McBreen.Consulting

Course Outline. Foundation of Business Analysis Course BA30: 4 days Instructor Led

Software Requirements Specification (SRS)

To be used in conjunction with the Invitation to Tender for Consultancy template.

Ten steps to better requirements management.

Develop Project Charter. Develop Project Management Plan

Business Requirements Guidelines

Nicholas Mezei CSCI 6448 OOA&D Homework #3: Use Cases. Use Case Diagram: Home Security System. Alarm System

Residential & Commercial Alarm Systems by Gross Security, LLC

Workflow and Process Analysis for CCC

Stakeholder analysis CHAPTER 25 : HATCHED. Will Allen and Margaret Kilvington

CS 6361, SPRING 2010 Advanced Requirements Engineering Web Based Meeting Scheduler- Project Plan

STRATEGIC APPROACH TO INTERVIEWING BEST PRACTICES FOR THE MBA MARKET

Module 0. Facilitating Adult Learning. (September 2004)

SECURITY SYSTEM MANUAL

Skills Knowledge Energy Time People and decide how to use themto accomplish your objectives.

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Software Requirements Specification

Software Requirements Engineering: What, Why, Who, When, and How By Linda Westfall

Galaxy Flex SECURITY THAT FITS WITH YOUR BUSINESS AND LIFESTYLE. Protect your property

Introduction to Systems Analysis and Design

A Consumer s Awareness Guide To Choosing The Right Home Security System

Use Cases. Massimo Felici. Massimo Felici Use Cases c

Project Management. Software Projects vs. Engineering Projects

<project name> COMMUNICATIONS PLAN

IDS. Users Guide to Keypad Functions S E C U R I T Y MANUAL NO B ISSUED AUG 2002 VERSION 1.18

Requirements Analysis that Works!

Software Quality Assurance Plan

Welcome to Bell Aliant NextGen Home Security

2.1 Initiation Phase Overview

(Refer Slide Time: 01:52)

Quality Meets the CEO

Building an Effective Business Architecture & Metrics Capability

GSM Alarm System User Manual

MENTAL HEALTH ACT - SECTION 5(2)

Test Plan Template (IEEE Format)

BUSINESS OCR LEVEL 3 CAMBRIDGE TECHNICAL. Cambridge TECHNICALS BUSINESS PROJECT MANAGEMENT CERTIFICATE/DIPLOMA IN K/502/5459 LEVEL 3 UNIT 18

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

AGILE SOFTWARE TESTING

PROJECT MANAGEMENT PLAN CHECKLIST

Effective Business Requirements (Virtual Classroom Edition)

An Introduction to PRINCE2

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

JAD Guidelines. Description

Job Description Head of CRM

AGILE - QUICK GUIDE AGILE - PRIMER

15 Most Typically Used Interview Questions and Answers

Writing a Requirements Document For Multimedia and Software Projects

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

Software Process for QA

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Netstar Strategic Solutions Practice Development Methodology

Lecture 9: Requirements Modelling

TDWI strives to provide course books that are content-rich and that serve as useful reference documents after a class has ended.

Mind Mapping to Gantt Charts

Some of the prime advantages of having a good project management team for a company are as follows:

Then a web designer adds their own suggestions of how to fit the brand to the website.

ICT Project Management

Senior Information Technology Systems Analyst

Object-oriented design methodologies

Darshan Institute of Engineering & Technology Unit : 10

The Competent Communicator Manual

Name Chapter 1: Introduction to Project Management Description Instructions

Partnering for Project Success: Project Manager and Business Analyst Collaboration

Issues in Internet Design and Development

Hardware and Logic Implementation of Multiple Alarm System for GSM BTS Rooms

IO4PM - International Organization for Project Management

Fire Alarm Engineering Best Practices. CFAA NCA Technical Seminar 2014

Customer Relationship Team reporting to Product Manager

Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti

HDI Certified Instructor Program. A document of understanding for HDI Certified Instructors

Rogers Smart Home Monitoring QUICK START GUIDE ROG_6093_QST_GDE_EN.indd 1 9/22/12 8:29 AM

New GSM Alarm System. User s Manual. Profile For a better understanding of this product, please read this user manual thoroughly before using it.

Setting SMART Objectives Checklist 231

The Job of the Project Manager. Robert Youker World Bank (retired) 5825 Rockmere Drive Bethesda, Md. USA

The University of Adelaide Business School

How PRINCE2 Can Complement PMBOK and Your PMP Jay M. Siegelaub Impact Strategies LLC. Abstract. About PRINCE2

4.4 What is a Requirement? 4.5 Types of Requirements. Functional Requirements

Advanced Software Test Design Techniques Use Cases

A Case study based Software Engineering Education using Open Source Tools

44-76 mix 2. Exam Code:MB Exam Name: Managing Microsoft Dynamics Implementations Exam

4180: Defined Processes, Evidence, and Rescuing Corporate Knowledge: Achieving Standards Compliance in Agile and Lean Environments

Business Analyst Work Plan. Presented by: Billie Johnson, CBAP CSM

Using Use Cases on Agile Projects

Potential Interview Questions

CODE OF CONDUCT April 2014

AN INTERNET OF THINGS (IOT) BASED SECURITY ALERT SYSTEM USING RASPBERRY PI

REQUIREMENTS SPECIFICATION AND MANAGEMENT. Requirements Analysis and Specification

Transcription:

Chapter 7 Requirements Engineering Software Engineering: A Practitioner s Approach, 6th edition by Roger S. Pressman 1

What is requirement engineering? Requirement engineering helps software engineers to better understand the problem they will work to solve. It encompasses the set of tasks that lead to an understanding of what the business impact of the software will be, what the customer wants, and how end users will interact with the software. 2

Why is it important? Designing and building an elegant computer program that solves the wrong problem serves no one s needs. That s why it is important to understand what the customer wants before you begin to design and build a computer based system. 3

What are the steps? 1 Requirements engineering begins with inception: A task that defines the scope and nature of the problem to be solved. It moves onward to elicitation A task that helps the customer to define what is required, and them elaboration Where basic requirements are refined and modified. As the customer defines the problem, negotiation occurs 4

What are the steps? 2 What are the priorities, what is essential, when is it required? Finally, the problem is specified in some manner and then reviewed or validated to ensure that your understanding of the problem and the customers understanding of the problem coincide. 5

Requirements Engineering Inception Establish a basic understanding of the problem and the nature of the solution. Elicitation Draw out the requirements from stakeholders. Elaboration Create an analysis model that represents information, functional, and behavioral aspects of the requirements. Negotiation Agree on a deliverable system that is realistic for developers and customers. Specification Describe the requirements formally or informally. Validation Review the requirement specification for errors, ambiguities, omissions, and conflicts. Requirements management Manage changing requirements. 6

Inception Ask context free questions Who is behind the request for this work? Who will use the solution (product/system)? What will be the economic benefits? How would you characterize good output from the system? What problems does this solution address? What environment will the product be used in? Are you the right person to answer these questions? Are these question relevant? Can anyone else provide additional information? Should I be asking you anything else? 7

Getting Requirements Right The hardest single part of building a software system is deciding what to build. No part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later. Fred Brooks The seeds of major software disasters are usually sown within the first three months of commencing the software project. Capers Jones We spend a lot of time the majority of project effort not implementing or testing, but trying to decide what to build. Brian Lawrence 8

Eliciting Requirements Why is it so difficult to clearly understand what the customer wants? Scope The boundary of the system is ill defined. Customers/users specify unnecessary technical detail that may confuse rather than clarify objectives. Understanding Customers are not completely sure of what is needed. Customers have a poor understanding of the capabilities and limitations of the computing environment. Customers don t have a full understanding of their problem domain. Customers have trouble communicating needs to the system engineer. Customers omit detail that is believed to be obvious. Customers specify requirements that conflict with other requirements. Customers specify requirements that are ambiguous or untestable. Volatility Requirements change over time. 9

Collaborative Requirements Gathering Meetings are attended by all interested stakeholders. Rules established for preparation and participation. Agenda should be formal enough to cover all important points, but informal enough to encourage the free flow of ideas. A facilitator controls the meeting. A definition mechanism (blackboard, flip charts, etc.) is used. During the meeting: The problem is identified. Elements of the solution are proposed. Different approaches are negotiated. A preliminary set of solution requirements are obtained. The atmosphere is collaborative and non threatening. 10

Quality Function Deployment Function deployment determines the value (to the customer) of each function required of the system. Information deployment identifies data objects and events. Task deployment examines the behavior of the system. Value analysis determines the priority of requirements. 11

Elicitation Work Products Statement of need and feasibility. Statement of scope. List of participants in requirements elicitation. Description of the system s technical environment. List of requirements and associated domain constraints. List of usage scenarios. Any prototypes developed to refine requirements. 12

Use Cases A use case scenario is a story about how someone or something external to the software (known as an actor) interacts with the system. Each scenario answers the following questions: Who is the primary actor, the secondary actor(s)? What are the actor s goals? What preconditions should exist before the story begins? What main tasks or functions are performed by the actor? What exceptions might be considered as the story is described? What variations in the actor s interaction are possible? What system information will the actor acquire, produce, or change? Will the actor have to inform the system about changes in the external environment? What information does the actor desire from the system? Does the actor wish to be informed about unexpected changes? 13

Elements of the Analysis Model Scenario based elements Use case How external actors interact with the system (use case diagrams; detailed templates) Functional How software functions are processed in the system (flow charts; activity diagrams) Class based elements The various system objects (obtained from scenarios) including their attributes and functions (class diagram) Behavioral elements How the system behaves in response to different events (state diagram) Flow oriented elements How information is transformed as if flows through the system (data flow diagram) 14

Use Case Diagram 15

Activity Diagram for RE 16

Class Diagram 17

State Diagram 18

Analysis Patterns Pattern name: Captures the essence of the pattern. Intent: What the pattern accomplishes or represents. Motivation: A scenario that illustrates how the pattern solves a problem. Forces and context: External issues (forces) that affect how the pattern is used, and external issues resolved when the pattern is applied. Solution: How the pattern is applied to solve the problem; emphasizes structural and behavioral issues. Consequences: What happens when the pattern is applied; what trade-offs exist during its application. Design: How the pattern can be achieved via known design patterns. Known uses: Examples of uses within actual systems. Related patterns: Patterns related to the named pattern because (1) they are commonly used with the named pattern; (2) they are structurally similar to the named pattern; (3) they are a variation of the named pattern. 19

Negotiating Requirements Identify the key stakeholders These are the people who will be involved in the negotiation Determine each of the stakeholders win conditions Win conditions are not always obvious Negotiate Work toward a set of requirements that lead to win win 20

Validating Requirements Is each requirement consistent with the objective of the system? Have all requirements been specified at the proper level of abstraction? Is the requirement really necessary? Is each requirement bounded and unambiguous? Does each requirement have attribution? Do any requirements conflict with other requirements? Is each requirement achievable in the system s technical environment? Is each requirement testable, once implemented? Does the model reflect the system s information, function and behavior? Has the model been appropriately partitioned? Have appropriate requirements patterns been used? 21

Example CRG Meeting First CRG meeting of the SafeHome project. After Q&A session (inception meeting), stakeholders write a two page product request, which is delivered to those attending the first CRG meeting. Attendees are asked to make a rough list of objects, services, constraints, and performance criteria for the product. At the meeting, a combined list is created in each topic. Subgroups write mini specifications for each list item. Relevant features in mini specifications are added to the list. 22

Example CRG Meeting Our research indicates that the market for home management systems is growing at a rate of 40 percent per year. The first SafeHome function we bring to market should be the home security function. Most people are familiar with alarm systems so this would be an easy sell. The home security function would protect against and/or recognize a variety of undesirable situations such as illegal entry, fire, flooding, carbon monoxide levels, and others. It ll use our wireless sensors to detect each situation, can be programmed by the homeowner, and will automatically telephone a monitoring agency when a situation is detected. 23

Example CRG Meeting Objects control panel, smoke detectors, window and door sensors, motion detectors, an alarm, an event (sensor has been activated), a display, a PC, telephone numbers, a telephone call, Services configuring the system, setting the alarm, monitoring the sensors, dialing the phone, programming the control panel, reading the display, Constraints System must recognize when sensors are not operating, must be user friendly, must interface directly to a standard phone line, Performance criteria Sensor event should be recognized within one second, an event priority scheme should be implemented, 24

Example CRG Meeting Mini specification for Control Panel The Control Panel is a wall mounted unit that is approximately 9 x 5 inches in size. The control panel has wireless connectivity to sensors and a PC. User interaction occurs through a keypad containing 12 keys. A 2 x 2 inch LCD display provides user feedback. Software provides interactive prompts, echo, and similar functions. 25