CMSC 345 The Requirements Specification. Why do we need requirements Without the correct requirements, you cannot design or build the correct product,

Slides:



Advertisements
Similar presentations
Chapters 7 & 9 System Scope
Advertisements

Chapter 6 Review Questions
Software Requirements
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Documenting Requirements using Use Case Diagrams
Chapter 9 Using Data Flow Diagrams
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
Software Requirements The Volere Requirements Source: “Mastering the Requirements Process”, S. Robertson, J. Robertson Created by Eshcar Hilel.
Software Requirements The Volere Requirements Source: “Mastering the Requirements Process”, S. Robertson, J. Robertson Created by Eshcar Hilel.
Problem Analysis The goal of problem analysis is to gain a better understanding of the problem being solved before development begins Gain agreement on.
1 CMPT 275 Software Engineering Requirements Analysis Phase Overview of Requirements Analysis Activity System Context Diagrams.
Chapter 4 Requirements Engineering
1 Requirements Analysis and Design Engineering Southern Methodist University CSE 7313.
Chapter 5 – System Modeling
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
1 IBM Software Group ® Mastering Requirements Management with Use Cases Module 4: Analyze the Problem.
Data Flow Diagrams.
Use Case modelling 1. Objectives  Document user requirements with a model  Describe the purpose of an actor and a use case  Construct a use case model.
Systems Analysis and Design in a Changing World, 6th Edition
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Introduction to the Requirements Document
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Chapter 7 Identifying Needs and Establishing Requirements By: Wang, Miao Fan, Xiaona.
Requirements Specification for Lab3 COP4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of Computer Science University.
Software Requirements (Advanced Topics) “Walking on water and developing software from a specification are easy if both are frozen.” --Edward V Berard.
1 Unified Modeling Language Michael K. Wildes University of California, Riverside – Extension Program Presentation 2.
Lecture 7: Requirements Engineering
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
Requirements Analysis and Design Engineering Southern Methodist University CSE 7313.
UML-1 8. Capturing Requirements and Use Case Model.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Systems Analysis and Design in a Changing World, 6th Edition
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
1 Chapter 5 Modeling System Requirements Finding the Use Cases Page
Systems Development Life Cycle
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
New Perspective Based on how the system is used. What Is a Use Case? A case of how the system is used. –A behaviourally related sequence of interactions.
Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough.
UML - Development Process 1 Software Development Process Using UML.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 Click to edit Master title style What is Business Analysis Body of Knowledge?
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
1 Systems Analysis & Design 7 th Edition Chapter 2.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
GATHERING DATA Supplementary Note. What are requirements? A requirement is a statement about an intended product that specifies what it should do or how.
Requirement Classification Nisa’ul Hafidhoh Teknik Informatika
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
 System Requirement Specification and System Planning.
Software Requirements Engineering Session: 1 Topics: Chapters 1 – 3.
The Quality Gateway Chapter 11. The Quality Gateway.
17/7/2016 Chapter 4 – Event-driven Use Cases. 27/7/2016 Use Cases and Their Scope Establish the scope of work. Establish adjacent systems that surround.
Writing the Requirements
Use Cases. 2 A use case... –Specifies the behavior of a system or some subset of a system. –Is a system-level function. –Does not indicative how the specified.
CMPE 280 Web UI Design and Development August 29 Class Meeting
Chapter 4 – Requirements Engineering
Requirements specifications
The Next Stage in Analysis: Systems Use Case Diagrams
Chapter 9 Use Cases.
Use Cases.
INFS 6225 Object Oriented Systems Analysis & Design
Prepared by Stephen M. Thebaut, Ph.D. University of Florida
Robertson & Robertson: Chapter 2 Software Specification Lecture 10
Use Case Modeling Part of the unified modeling language (U M L)
Presentation transcript:

CMSC 345 The Requirements Specification

Why do we need requirements Without the correct requirements, you cannot design or build the correct product, so product does not enable users to do their work The cost of good requirements gathering and system analysis is minor compared to the cost of poor requirements

Classes of requirements 1. Functional Requirements 2. Nonfunctional Requirements 3. Constraints

Functional requirements Functional Requirements are things the product must do – an action the product must take if it is to provide useful functionality to the user The product shall produce an amended de- icing schedule when a change to a truck status means that previously scheduled work cannot be carried out as planned

Nonfunctional requirements Nonfunctional requirements are the properties or qualities the product must have. The product shall use company colors, standard company logos and standard company typefaces

Constraints Constraints are global issues that shape the requirements Passengers on board an aircraft will use this product The product shall run on the company’s existing UNIX machines

Why do we need requirements document? Customer Questions Do you understand my problem? Can you develop and deliver a system that will solve my problem? How long will it take? How much will it cost? Developer Questions What is your problem? How do you currently handle your problem? When do you need a solution? How much are you willing to pay for a solution?

Volere Requirements Process Suzanne and James Robertson The Atlantic Sytems Guild Text: “Measuring the Requirements Process” Website:

How to Proceed 1. Establish the scope of the work 2. Establish the adjacent systems (outside world) that surrounds the work 3. Identify connections between the work and the adjacent systems 4. From the connections, identify the business events that affect the work 5. Study the response to the event

How to Proceed (2) 6. Determine the best response that the organization can make for the event 7. Determine the product’s role in the response 8. Determine the use case(s) for the product 9. Derive the requirements for each use case

The Work Is the business activity of your client Your product will help with the work, so you must understand the work Understand how it relates to the outside world Show work’s connection to outside world via context diagram

Business Events Businesses respond to events Buying a book in bookshop Paying your credit card bill Business event responses are triggered by the arrival of a data flow (from an adjacent system) So triggering the event is outside control of the work

Temporal Business Events Some events are triggered by the passage of time – a pre-determined time or date has arrived Response is to produce information and send it to an adjacent system

Finding Business Events B/E result from communications from outside world; look to context diagram Each data flow that enters or leaves the work is the result of a business event It is the works response that is interesting to the requirements analyst

Work Responds to Events For every business event, there is a pre-planned response (some work) Isolate this work – fairly unconnected from other event responses Adjacent systems are the customers for the business events – what does the adjacent system want from that event?

Determining the Product The product is the part of the work you choose to build (automate) Establish the product’s scope Examine the responses to the business events and determine the product boundary Extend the boundary until it gets into the brain of the adjacent system

Event-driven Use Cases The use case is the part of the response that is done by the product Derived from the business events Actors interact with the product Use cases represent the components of the product and are described in terms of functional requirements Each requirement says what the product has to do to allow the actor to complete his work

Finding Functional Requirements Use cases are described by a set of steps that complete the functional task of the use case Each step is a task described by the actor What must the product do to complete each step? These are the functional requirements

Finding Non-functional Requirements The characteristics of the work that are represented by the use case or functional requirements The properties the functionality must have Functional requirements are verbs Nonfunctional requirements are adjective

Volere Requirements Specification Template Framework for writing a specification Categorizes requirements into useful types

A Requirements Specification Contains all the requirements and constraints. A complete description of the of the product’s capabilities Must be written to be meaningful to both the customer and the developers Sometimes two documents

Product Constraints Purpose of the Product The Client, Customer and other Stakeholders Users of the Product Requirements Constraints Naming Conventions and Definitions Relevant Facts Assumptions

Functional Requirement The Scope of the Work Work Context Diagram Business Events The Scope of the Product Product Boundary (Use case diagram) Use Cases Functional and Data Requirements

Nonfunctional Requirements Look and Feel Requirements Usability Requirements Performance Requirements Operational Requirements Maintainability and Portability Requirements Security Requirements Cultural and Political Requirements Legal Requirements

Project Issues Open Issues Off-the-Shelf Solutions New Problems Tasks Cutover Risks Costs User Documentation Waiting Room

The Requirements Shell Requirement #:Unique ID Requirement Type:The type from the template Event/use case #:List of Events / Use cases that need this requirement Description:A one sentence statement of the intention of the requirement Rationale:A justification of the requirement Source:Who raised this requirement?

Requirements Shell (2) Fit Criterion:A measurement of the requirement such that it is possible to test if the solution matches the original requirement Dependencies: A list of other requirements that have some dependency on this one Conflicts: Other requirements that cannot be implemented if this one is Supporting Materials: Pointer to documents that illustrate and explain this requirement

Requirements Shell (3) Customer Satisfaction: Degree of stakeholder happiness if this requirement is successfully implemented (Scale 1 (uninterested) – 5 (extremely please)) Customer Dissatisfaction: Degree of stakeholder unhappiness if this requirement is successfully implemented (Scale 1 (hardly matters) – 5 (extremely displease)) History:Creation, changes, deletions, etc. Copyright © Atlantic Systems Guild