Lecture 9 Requirements Engineering II

Similar documents
Lecture 8 Requirements Engineering

Lecture 6: Requirements Engineering

Software specification and modelling. Requirements engineering

Lecture 19 Engineering Design Resolution: Generating and Evaluating Architectures

Lecture 17 Engineering Design Resolution: Generating and Evaluating Architectures

Sofware Requirements Engineeing

Lecture 13 Introduction to Software Architecture

Requirement Analysis

Lecture 16: (Architecture IV)

Ch 4: Requirements Engineering. What are requirements?

Lesson 06. Requirement Engineering Processes

Natural Language Specification

Requirements Engineering: Specification & Validation. Software Requirements and Design CITS 4401 Lecture 18

Lecture 2 Software Engineering and Design

Requirements engineering

Scenario-Based Analysis. Scenario-Based Analysis (example) Form analysis

Requirements Elicitation

Lecture 13: Analysis Modeling

Chapter 4 Objectives

Vragen. Use case analysis. Use-Cases: describing how the user will Use cases

Darshan Institute of Engineering & Technology for Diploma Studies

Quality Software Requirements By J. Chris Gibson

UNIT-II REQUIREMENTS ANALYSIS AND SPECIFICATION

Basics : the Requirements Engineering Process

Requirements Analysis. SE 555 Software Requirements & Specification

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/17/2015

(c) Addison Wesley Chapter 3. ! Interviewing customers and domain experts. ! Questionnaires. ! Observation. ! Study of documents and software systems

SE351a: Software Project & Process Management. 13 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa

Software Engineering Unit 4- Requirement Analysis and Specification

CIS 890: Safety Critical Systems

REQUIREMENTS ENGINEERING LECTURE 2017/2018. Dr. Jörg Dörr. Conceptual Modelling. Fraunhofer IESE

The software lifecycle and its documents

Requirements Engineering

Requirements Engineering. Establishing what the customer requires from a software system. Requirements Engineering. What is a Requirement?

Software Engineering. Lecture 10

SE 1: Software Requirements Specification and Analysis

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa

System context. Usage facet. IT system facet. Core activities

350 Index 2005 GOAL/QPC

XIV. The Requirements Specification Document (RSD)

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3)

Introduction to Software Specifications and Data Flow Diagrams. Neelam Gupta The University of Arizona

ITEC420: Software Engineering Lecture 3: Recap OO/UML Requirement Workflow

CS603 - Software Architecture and Design (Handouts)

Systems Analysis and Design in a Changing World, Fourth Edition

Requirements Engineering. Version October 2016

OE-PM Project Charter Document

Restricted Use Case Modeling Approach

Requirements. CxOne Standard

Requirements Specifications & Standards

Marking Guidelines for MVK Projects. MVK12. Version 6.2 (PPD, URD, RURD, ADD and software demo)

Requirements. Requirements. Types of Requirement. What Is a Requirement?

Chapter 4 Requirements Elicitation (Recueil des éxigences)

Enterprise Architect Training Courses

Lecture 5: Requirements Specifications

Requirements Engineering. Contents. Functional requirements. What is a requirement?

Chapter 4 Requirements Elicitation

Business Analysis in Practice

Enterprise Architect. User Guide Series. Requirement Models. Author: Sparx Systems Date: 15/07/2016 Version: 1.0 CREATED WITH

Lecture 8: Goals and Scenarios. Pohl K., Requirements Engineering: Fundamentals, Principles, and Techniques, Springer, 2010, 814p.

copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc.

Index. brief description section (Use Case Specification documents), 138 Browser window (Rational Rose), 257 Business Rules document, 212

HL7 V3 User Model. The V3 Editing Team. April 9, Ockham Information Services LLC

Quality Software Requirements By J. Chris Gibson

RE Process. Lawrence Chung Department of Computer Science The University of Texas at Dallas

Chapter 4 Requirements Engineering

Product. e ss. P roc. so get the right requirements. Garbage in garbage out,

1: Specifying Requirements with Use Case Diagrams

IBM Software Group. Mastering Requirements Management with Use Cases Module 10: Structure the Use-Case Model

Requirements Validation and Negotiation

SE 2730 Final Review

SE351a: Software Project & Process Management. 11 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa

Software design descriptions standard

Professor Hausi A. Müller PhD PEng FCAE Department of Computer Science Faculty of Engineering University of Victoria

Human Error Taxonomy

Process Improvement Proposals in System Requirements Management - an Industrial Case Study

for TOGAF Practitioners Hands-on training to deliver an Architecture Project using the TOGAF Architecture Development Method

UNIT II Requirements Analysis and Specification & Software Design

COMPUTER FLOOD STANDARDS

Answer: D. Answer: B. Answer: B

Rules of Writing Software Requirement Specifications

Administrivia. Wednesday: Requirements and Specification. CS169 Lecture 4. We assign teams and you start on Monday. Determining Stakeholders and Needs

REQUIREMENTS. Michael Weintraub Spring, 2016

Outline of Unified Process

User-centered design and the requirement process

Building UAE s cyber security resilience through effective use of technology, processes and the local people.

TEXAS DEPARTMENT OF INFORMATION RESOURCES. Test Scenario. Instructions. Version DEC 2006

Modeling Issues Modeling Enterprises. Modeling

Introduction to Software Engineering. ECSE-321 Unit 9 Architectural Design Approaches

ITSS Model Curriculum. - To get level 3 -

Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD

Fundamentals: Software Engineering. Objectives. Last lectures. Unit 2: Light Introduction to Requirements Engineering

Security Risk Management Domain Model

Design Proposal. Cover and binding o Binding can be spiral, comb, velo or a loose-leaf binder o Stapled document is unacceptable

Prototyping. Lecture # 21

Software Architectures. Lecture 6 (part 1)

IBM Software Group. Mastering Requirements Management with Use Cases Module 8: Refine the System Definition

Test Architect A Key Role defined by Siemens

Lecture 7: Software Processes. Refresher: Software Always Evolves

System Analysis and Design

Transcription:

Lecture 9 Requirements Engineering II Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 23, 2008

Announcements Customer meetings Pronto! Homework 1 results 2

Elicitation Approaches Research Observation Documentation studies Comparative product studies Guided Meetings Interview Focus groups Elicitation workshops Prototype demonstrations Scenarios and Use Cases More detailed and pointed questions May propose some services, features 3

Needs Elicitation Approaches: Use Cases Scenario-based descriptions of how an actor interacts with the system Actor (UML terminology) Represents role people or device play when using the system External to system (system is not an actor) Captures functional requirements Abstraction of a scenario A scenario is one specific path Use case captures multiple related paths of interaction 4

Capturing Use Cases Two forms of use case specification Full textual description Name Actors Preconditions Trigger Scenario Description Exceptions (a.k.a. Extensions) Postconditions Associated non-functional requirements (optional) UML graphical description We ll see this later 5

Use Case Example Suppose you re designing an ATM 6

Needs Documentation: Domain Knowledge Documenting Understanding of Problem Domain Problem domain glossary Use to record terminology Organization chart Use to record reporting/communication relationships between employees Activity diagrams Use to record business processes 7

Requirements Engineering Activities Inception Elicitation Elaboration/Analysis Negotiation Specification Validation 8

Elaboration/Analysis Refine models of requirements Organize requirements according to: Stakeholders Viewpoints Service Preliminary decomposition of the system Prioritize requirements (and risks) Update cost estimates Negotiate requirements Customers may ask for more than can be achieved Prioritization information may be in conflict 9

In Terms of Your Textbook: Moving from Needs to Requirements 1. Analyze Product Design Problem 2. Elicit/Analyze Needs 3. Generate/Improve Candidate Requirements 4. Evaluate Candidate Requirements 5. Select Requirements 6. Finalize Requirements 10

Software Product Design Process Analysis Resolution 11

Generating Candidates and Alternatives Common failing: too few alternatives Idea sources Users and other stakeholders Props and metaphors Competitive products Similar products Generation techniques Team brainstorming Individual brainstorming Modeling 12

Candidate Requirement Example Aqualush Frequency of irrigation Once a day? Once every n days? Once a week? Once every n weeks? Some particular days of the week? Some particular days of the month? Exclude certain days? Randomly? 13

Requirements Engineering Activities Inception Elicitation Elaboration/Analysis Negotiation Specification Validation 14

Problems with Natural Language Ambiguity Readers and writers of the requirement must interpret the same words in the same way Over-flexibility The same thing may be said in a number of different ways Lack of modularization Natural language structures doesn t capture hierarchical requirement relationships 15

An Example of Ambiguous Requirements An escalator in an London Underground station has two signs: Dogs must be carried Shoes must be worn 16

Approaches to Specifying Requirements Structured natural language Rules guide specification of requirements Graphical modeling notations Easy to understand graphical representations Mathematical specifications Based on mathematical concepts such as sets or finite state machines 17

Guidelines for Using Structured Natural Language Rules for writing user and system requirements: Use standard structured format Write complete, simple sentences Use active voice Define terms, use them consistently Group related requirements hierarchically Express all requirements using must or shall Write requirements in a verifiable manner Write atomic requirements States a single product function, feature, or characteristic Helps with requirements traceability 18

Structured Natural Language for Scenarios Rules for writing scenarios: All of the previous rules Format: Initial assumption Normal execution Exceptional execution State on completion 19

Structured Natural Language for Use Cases Rules for writing scenarios: All of the previous natural language rules Format: Use-Case Name Actors Pre-conditions Post-conditions Trigger Basic Flow Extensions Non-functional Requirements 20

Use Cases with UML Basic Notation Bank Customer Withdraw Money More on use cases and UML use case notation coming soon 21

Requirements Engineering Activities Inception Elicitation Elaboration/Analysis Negotiation Specification Validation 22

Requirements Validation Techniques Requirements reviews Systematic manual analysis of the requirements Prototyping Using an executable model of the system to check requirements Covered in Chapter 17 Test-case generation Developing tests for requirements to check testability If difficult to design tests, requirement will be difficult to Implement Validate 23

Reviewing Requirements Individual Requirements Verifiability Is the requirement realistically testable? Comprehensibility Is the requirement properly understood? Traceability Is the origin of the requirement clearly stated? Adaptability Can the requirement be changed without a large impact on other requirements? 24

Reviewing Requirements Collection of requirements (SRS) Consistency Are there any requirements conflicts? Completeness Are all functions required by the customer included? Realism Can the requirements be implemented given available budget and team? 25

Requirements Management Requirements change during a project Need to understand, control, and track changes Policies Requirements identification Change management process Traceability policy CASE tool support 26

Requirements Change Management Should apply to all proposed changes to the requirements Principal stages Problem analysis Discuss requirements problem and propose change Change analysis and costing Assess effects of change on other requirements Change implementation Modify documentation to reflect change 27

Traceability Traceability is concerned with the relationships between requirements, their sources and the system design Requirements should be uniquely identified to aid in traceability Naming convention should reflect traceability relationships Traceability relationships Source traceability Links from requirements to stakeholders who proposed these requirements Requirements traceability Links between dependent requirements Design traceability Links from the requirements to the design 28

Traceability Matrix Relates requirements to Stakeholders Other requirements System features Design modules Subsystems Interfaces Creation Manual for small projects Generated from database in large projects Req. 1.1 1.2 1.3 2.1 2.2 2.3 3.1 3.2 id 1.1 D R 1.2 D D D 1.3 R R 2.1 R D D 2.2 D 2.3 R D 3.1 R 3.2 R Traceability and requirement relationships 29

CASE Tools for Requirements Change Management Basic productivity tools Word processors, spreadsheets, databases Workbenches CASE Spec www.analysttool.com Free demo Borland Caliber Analyst http://www.borland.com/us/products/caliber/index.html Free trial DOORS (by IBM) http://www.telelogic.com/corp/products/doors/ Free trial 30

The Software Requirements Specification Document The official statement of what is required of the system developers Should include: a definition of user requirements a specification of the system requirements 31

Requirements Document Structure Preface Intended audience Version Change summary Introduction Project overview Glossary Requirements User requirements definition System requirements specification Appendices Hardware, software related requirements 32