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

Similar documents
Chapter 7 Requirements Engineering

Moonzoo Kim. KAIST CS350 Intro. to SE Spring

Software Engineering: A Practitioner s Approach, 7/e. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman

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

F. Tip and M. Weintraub REQUIREMENTS

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

Requirements Analysis aka Requirements Engineering. Requirements Elicitation Process

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

CHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING DESIGN

Object-oriented Analysis and Design

UNIT-III LIFE-CYCLE PHASES

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

National Coalition for Core Arts Standards. Visual Arts Model Cornerstone Assessment: Secondary Accomplished

UNIT IV SOFTWARE PROCESSES & TESTING SOFTWARE PROCESS - DEFINITION AND IMPLEMENTATION

Conflict Resolution. -- be prepared to deal with it when it happens. S t e v e H u c k, P M P E 3 P r a c t i c e D i r e c t o r

Introduction to Software Requirements and Design

Developing a VR System. Mei Yii Lim

A New - Knot Model for Component Based Software Development

A Mashup of Techniques to Create Reference Architectures

Cyber-Physical Systems: Challenges for Systems Engineering

INTEGRATING DESIGN AND ENGINEERING, II: PRODUCT ARCHITECTURE AND PRODUCT DESIGN

TRACEABILITY WITHIN THE DESIGN PROCESS

Mid Term Exam SES 405 Exploration Systems Engineering 3 March Your Name

An introduction to software development. Dr. C. Constantinides, P.Eng. Computer Science and Software Engineering Concordia University

Software Maintenance Cycles with the RUP

Argumentative Interactions in Online Asynchronous Communication

Understanding User Privacy in Internet of Things Environments IEEE WORLD FORUM ON INTERNET OF THINGS / 30

Software-Intensive Systems Producibility

Technical Data Standards Development & Implementation

Serious Games production:

Domain Understanding and Requirements Elicitation

System of Systems Software Assurance

Convergent Strategy for M2M Networks and Opportunities

Software Life Cycle Models

SOFT 423: Software Requirements

IS 525 Chapter 2. Methodology Dr. Nesrine Zemirli

SKA Five-Year Plan Discussion Summary

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

Bulletin 509 Three Phase Full Voltage NEMA Starters Size 9 Series A. Renewal Parts

A Knowledge-Centric Approach for Complex Systems. Chris R. Powell 1/29/2015

Eurocodes evolution - what will it mean to you?

Grundlagen des Software Engineering Fundamentals of Software Engineering

QUALITY AND RISK MANAGEMENT, COMPLEMENTARY MANAGEMENT TECHNIQUES TO ASSIST PIPELINE LIFE CYCLE INTEGRITY

Conflict Resolution. The Three Things Participants Will Take Away from this Session. Be prepared to deal with it when it happens. Chet Anderson, PMP

M&S Requirements and VV&A: What s the Relationship?

FEE Comments on EFRAG Draft Comment Letter on ESMA Consultation Paper Considerations of materiality in financial reporting

STANDARDS DEVELOPMENT NEGOTIATION

Smart Grid Maturity Model: A Vision for the Future of Smart Grid

A Case Study on Improvement of Conceptual Product Design Process by Using Quality Function Deployment

Allied Radio Matrix for Emergency Response (ARMER) Standards, Protocols, Procedures

MATRIX SAMPLING DESIGNS FOR THE YEAR2000 CENSUS. Alfredo Navarro and Richard A. Griffin l Alfredo Navarro, Bureau of the Census, Washington DC 20233

Graphic Communication Assignment General assessment information

24 Challenges in Deductive Software Verification

University of Massachusetts Amherst Libraries. Digital Preservation Policy, Version 1.3

GUIDE TO SPEAKING POINTS:

Update Implementation of IMO s e-navigation Strategy CAPT. SIMON PELLETIER

Lecture 6: HCI, advanced course, Design rationale for HCI

2009 New Jersey Core Curriculum Content Standards - Technology

DARPA-BAA Next Generation Social Science (NGS2) Frequently Asked Questions (FAQs) as of 3/25/16

About Software Engineering.

Implementation of Stage I

Release: 1. MEM30031A Operate computer-aided design (CAD) system to produce basic drawing elements

JOURNAL OF OBJECT TECHNOLOGY

SPE A software tool based on this methodology has been developed for a gas storage field in Ohio.

5 Secrets for Making the Model-Based Enterprise a Reality

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Now I m not looking for absolution Forgiveness for the things I do But before you come to any conclusions Try walking in my shoes Try walking in my

Introduction to Systems Engineering

Issues and Challenges in Coupling Tropos with User-Centred Design

Lesson 17: Science and Technology in the Acquisition Process

The Impact of Conducting ATAM Evaluations on Army Programs

Ars Hermeneutica, Limited Form 1023, Part IV: Narrative Description of Company Activities

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

Tuning-CALOHEE Assessment Frameworks for the Subject Area of CIVIL ENGINEERING The Tuning-CALOHEE Assessment Frameworks for Civil Engineering offers

Technical Debt Analysis through Software Analytics

ENHANCED HUMAN-AGENT INTERACTION: AUGMENTING INTERACTION MODELS WITH EMBODIED AGENTS BY SERAFIN BENTO. MASTER OF SCIENCE in INFORMATION SYSTEMS

Issues and Challenges in Ecosystems of Federated Embedded Systems

Abstract. Justification. Scope. RSC/RelationshipWG/1 8 August 2016 Page 1 of 31. RDA Steering Committee

CSC2106S Requirements Engineering

The Semantics of Innovation Exploring the deep nature of innovation IC3K, Rome, October 2014

THE METHODOLOGY: STATUS AND OBJECTIVES THE PILOT PROJECT B

Defense Microelectronics Activity (DMEA) Advanced Technology Support Program IV (ATSP4) Organizational Perspective and Technical Requirements

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

GOALS TO ASPECTS: DISCOVERING ASPECTS ORIENTED REQUIREMENTS

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

Stanford University CS261: Optimization Handout 9 Luca Trevisan February 1, 2011

TECHNICAL DESCRIPTION

Rapid Prototyping of Computer Systems , , A, , Units Carnegie Mellon University. Course Syllabus Spring 2005

Module 5 Design for Reliability and Quality. IIT, Bombay

Chapter 2 Soft and Hard Decision Decoding Performance

Intelligent Decision Support for Road Mapping A Technology Transfer Case Study with Siemens Corporate Technology

Formal Report. Assignment

A FORMAL METHOD FOR MAPPING SOFTWARE ENGINEERING PRACTICES TO ESSENCE

SR&ED for the Software Sector Northwestern Ontario Innovation Centre

An Integrated Approach Towards the Construction of an HCI Methodological Framework

GLOSSARY for National Core Arts: Media Arts STANDARDS

Software Project Management 4th Edition. Chapter 3. Project evaluation & estimation

Herts Valleys Clinical Commissioning Group. Review of NHS Herts Valleys CCG Constitution

Fundamentals of Digital Forensics

Item 4.2 of the Draft Provisional Agenda COMMISSION ON GENETIC RESOURCES FOR FOOD AND AGRICULTURE

Transcription:

Chapter 8 Understanding Requirements Slide Set to accompany Software Engineering: A Practitioner s Approach, 8/e by Roger S. Pressman and Bruce R. Maxim Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman For non-profit educational use only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach, 8/e. Any other reproduction or use is prohibited without the express written permission of the author. All copyright information MUST appear if these slides are posted on a website for student use. (McGraw-Hill, 2014). Slides copyright 2014 by Roger Pressman. 1

Requirements Engineering-I Inception ask a set of questions that establish basic understanding of the problem the people who want a solution the nature of the solution that is desired, and the effectiveness of preliminary communication and collaboration between the customer and the developer Elicitation elicit requirements from all stakeholders Elaboration create an analysis model that identifies data, function and behavioral requirements Negotiation agree on a deliverable system that is realistic for developers and customers (McGraw-Hill, 2014). Slides copyright 2014 by Roger Pressman. 2

Requirements Engineering-II Specification can be any one (or more) of the following: A written document A set of models A formal mathematical A collection of user scenarios (use-cases) A prototype Validation a review mechanism that looks for errors in content or interpretation areas where clarification may be required missing information inconsistencies (a major problem when large products or systems are engineered) conflicting or unrealistic (unachievable) requirements. Requirements management (McGraw-Hill, 2014). Slides copyright 2014 by Roger Pressman. 3

Inception Identify stakeholders who else do you think I should talk to? Recognize multiple points of view Work toward collaboration The first questions Who is behind the request for this work? Who will use the solution? What will be the economic benefit of a successful solution Is there another source for the solution that you need? (McGraw-Hill, 2014). Slides copyright 2014 by Roger Pressman. 4

Eliciting Requirements meetings are conducted and attended by both software engineers and customers rules for preparation and participation are established an agenda is suggested a "facilitator" (can be a customer, a developer, or an outsider) controls the meeting a "definition mechanism" (can be work sheets, flip charts, or wall stickers or an electronic bulletin board, chat room or virtual forum) is used the goal is to identify the problem propose elements of the solution negotiate different approaches, and specify a preliminary set of solution requirements (McGraw-Hill, 2014). Slides copyright 2014 by Roger Pressman. 5

Elicitation Work Products a statement of need and feasibility. a bounded statement of scope for the system or product. a list of customers, users, and other stakeholders who participated in requirements elicitation a description of the system s technical environment. a list of requirements (preferably organized by function) and the domain constraints that apply to each. a set of usage scenarios that provide insight into the use of the system or product under different operating conditions. any prototypes developed to better define requirements. (McGraw-Hill, 2014). Slides copyright 2014 by Roger Pressman. 6

Quality Function Deployment Function deployment determines the value (as perceived by 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 relative priority of requirements (McGraw-Hill, 2014). Slides copyright 2014 by Roger Pressman. 7

Non-Functional Requirements Non-Functional Requirment (NFR) quality attribute, performance attribute, security attribute, or general system constraint. A two phase process is used to determine which NFR s are compatible: The first phase is to create a matrix using each NFR as a column heading and the system SE guidelines a row labels The second phase is for the team to prioritize each NFR using a set of decision rules to decide which to implement by classifying each NFR and guideline pair as complementary, overlapping, conflicting, or independent (McGraw-Hill, 2014). Slides copyright 2014 by Roger Pressman. 8

Use-Cases A collection of user scenarios that describe the thread of usage of a system Each scenario is described from the point-of-view of an actor a person or device that interacts with the software in some way 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 extensions 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? (McGraw-Hill, 2014). Slides copyright 2014 by Roger Pressman. 9

Use-Case Diagram Arms/ disarms syst em Accesses syst em via Int ernet sensors homeow ner Responds to alarm event Encounters an error condition syst em administ rat or Reconf igures sensors and relat ed system features (McGraw-Hill, 2014). Slides copyright 2014 by Roger Pressman. 10

Building the Analysis Model Elements of the analysis model Scenario-based elements Functional processing narratives for software functions Use-case descriptions of the interaction between an actor and the system Class-based elements Implied by scenarios Behavioral elements State diagram Flow-oriented elements Data flow diagram (McGraw-Hill, 2014). Slides copyright 2014 by Roger Pressman. 11

Eliciting Requirements Conduct FA ST m eetings Make lists of functions, classes Make lists of constraints, etc. Elic it requirem ent s yes form al prioritization? no Use QFD to prioritize requirem ents inform ally prioritize requirem ents define actors draw use-case diagram write scenario Create Use-cases complete template (McGraw-Hill, 2014). Slides copyright 2014 by Roger Pressman. 12

Class Diagram From the SafeHome system Sensor name/id type location area characteristics identify() enable() disable() reconfigure() (McGraw-Hill, 2014). Slides copyright 2014 by Roger Pressman. 13

State Diagram Reading Commands System status = ready Display msg = enter cmd Display status = steady Entry/subsystems ready Do: poll user input panel Do: read user input Do: interpret user input State name State variables State activities (McGraw-Hill, 2014). Slides copyright 2014 by Roger Pressman. 14

Analysis Patterns Pattern name: A descriptor that captures the essence of the pattern. Intent: Describes what the pattern accomplishes or represents Motivation: A scenario that illustrates how the pattern can be used to address the problem. Forces and context: A description of external issues (forces) that can affect how the pattern is used and also the external issues that will be resolved when the pattern is applied. Solution: A description of how the pattern is applied to solve the problem with an emphasis on structural and behavioral issues. Consequences: Addresses what happens when the pattern is applied and what trade-offs exist during its application. Design: Discusses how the analysis pattern can be achieved through the use of known design patterns. Known uses: Examples of uses within actual systems. Related patterns: On e or more analysis patterns that are related to the named pattern because (1) it is commonly used with the named pattern; (2) it is structurally similar to the named pattern; (3) it is a variation of the named pattern. (McGraw-Hill, 2014). Slides copyright 2014 by Roger Pressman. 15

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 winwin (McGraw-Hill, 2014). Slides copyright 2014 by Roger Pressman. 16

Requirements Monitoring Especially needes in incremental development Distributed debugging uncovers errors and determines their cause. Run-time verification determines whether software matches its specification. Run-time validation assesses whether evolving software meets user goals. Business activity monitoring evaluates whether a system satisfies business goals. Evolution and codesign provides information to stakeholders as the system evolves. (McGraw-Hill, 2014). Slides copyright 2014 by Roger Pressman. 17

Validating Requirements - I Is each requirement consistent with the overall objective for the system/product? Have all requirements been specified at the proper level of abstraction? That is, do some requirements provide a level of technical detail that is inappropriate at this stage? Is the requirement really necessary or does it represent an addon feature that may not be essential to the objective of the system? Is each requirement bounded and unambiguous? Does each requirement have attribution? That is, is a source (generally, a specific individual) noted for each requirement? Do any requirements conflict with other requirements? (McGraw-Hill, 2014). Slides copyright 2014 by Roger Pressman. 18

Validating Requirements - II Is each requirement achievable in the technical environment that will house the system or product? Is each requirement testable, once implemented? Does the requirements model properly reflect the information, function and behavior of the system to be built. Has the requirements model been partitioned in a way that exposes progressively more detailed information about the system. Have requirements patterns been used to simplify the requirements model. Have all patterns been properly validated? Are all patterns consistent with customer requirements? (McGraw-Hill, 2014). Slides copyright 2014 by Roger Pressman. 19