Sofware Requirements Engineeing



Similar documents
Use Cases. Massimo Felici. Massimo Felici Use Cases c

SOFT 423: Software Requirements

ATM Case Study Part 1

Requirements Engineering Process

Lecture 17: Requirements Specifications

UML TUTORIALS THE USE CASE MODEL

SYSTEMS AND SOFTWARE REQUIREMENTS SPECIFICATION (SSRS) TEMPLATE. Version A.4, January 2014 FOREWORD DOCUMENT CONVENTIONS

Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML

Software Requirements Specification (SRS)

Scenario-based Requirements Engineering and User-Interface Design

Requirements engineering

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

How To Develop Software

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

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Software Project Management Plan (SPMP)

SCATS SALES AND CUSTOMER TRACKING SYSTEM SOFTWARE REQUIREMENTS SPECIFICATION VERSION: FINAL 1.0

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

Software Test Plan (STP) Template

Writing Use Case Scenarios for Model Driven Development

Software Design Document (SDD) Template

Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation

System Requirements Specification (SRS) (Subsystem and Version #)

From Business Process Models to Use Case Models

Interactive system specification. Interactive system definition. Issues to be taken into account for interactive systems

Roadmap. Software Engineering. Software Engineering. Project Life Cycle. Database. Project Lifecycle

(Refer Slide Time: 01:52)

Creating a Publication Work Breakdown Structure

What is a requirement? Software Requirements. Descriptions and specifications of a system

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

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Example Use Case Specification:

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

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

Requirements engineering and quality attributes

Software Specification and Architecture 2IW80

Effective Business Requirements (Virtual Classroom Edition)

The SPES Methodology Modeling- and Analysis Techniques

Time Monitoring Tool Software Requirements Specifications. Version <1.0>

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

i. Node Y Represented by a block or part. SysML::Block,

Business Process Analysis for Business Process Simplification and Automation

UML-based Test Generation and Execution

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

Requirements Document for the Banking System. Lecture # 40

Software Testing Strategies and Techniques

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

Expense Tracker. CSC 230: Software Engineering. Department of Computer Science, Sacramento State University Spring Professor :Dr.

Advanced Software Test Design Techniques Use Cases

<project name> COMMUNICATIONS PLAN

Case Study: ATM machine I. Amalia Foka CEID - University of Patras Object Oriented Programming II (C++) Fall

How To Use Gps Navigator On A Mobile Phone

Introduction to Java Applications Pearson Education, Inc. All rights reserved.

Use Case Diagrams. Tutorial

Object-Oriented Design Guidelines

Requirements Engineering for Web Applications

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

Requirements Analysis that Works!

Requirements Engineering Management Handbook

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

Metrics for Requirements Engineering

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24

Section C. Requirements Elicitation

REQUIREMENTS SPECIFICATION AND MANAGEMENT. Requirements Analysis and Specification

Examination SUBJECT. Version:

Using UML Part Two Behavioral Modeling Diagrams

VAIL-Plant Asset Integrity Management System. Software Development Process

VALLIAMMAI ENGINEERING COLLEGE S.R.M. Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Software Requirements Specification. Task Management System. for. Prepared by. Version 1.0. Group Name: Pink and Purple. Date:

Software Engineering Reference Framework

ATM Case Study OBJECTIVES Pearson Education, Inc. All rights reserved Pearson Education, Inc. All rights reserved.

Develop Project Charter. Develop Project Management Plan

Quick Guide Business Process Modeling Notation (BPMN)

CS 3610: Software Engineering. Summer Software Requirements Specification Document. Project Title: Road Repair Tracking System

Engineering Process Software Qualities Software Architectural Design

Introduction. Introduction. Software Engineering. Software Engineering. Software Process. Department of Computer Science 1

Chapter 10. Practical Database Design Methodology. The Role of Information Systems in Organizations. Practical Database Design Methodology

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

Applying 4+1 View Architecture with UML 2. White Paper

Design Document Version 0.0

Custom Software Development Approach

11 Tips to make the requirements definition process more effective and results more usable

Capacity Plan. Template. Version X.x October 11, 2012

Overview. System Definition Webster s Dictionary. System Engineering Hierarchy. System Engineering. Computer-Based Systems [PRE2005]

Software Development Methodologies

New York University Computer Science Department Courant Institute of Mathematical Sciences

Software Requirements. Objectives

Menouer Boubekeur, Gregory Provan

1) Testing of general knowledge 25%. Each right question counts 1. Each wrong counts 0.5. Empty

UML TUTORIALS THE COMPONENT MODEL

Software Development Processes. Software Life-Cycle Models

Strategies for a Successful E2E Systems Integration Test. Fiona Charles Let s Test May 9, 2012

Lecture 17: Testing Strategies" Developer Testing"

Specification and Analysis of Contracts Lecture 1 Introduction

Software Requirements Specification (SRS) Book E-Commerce System (BECS)

CREDIT CARD PROCESSING

Transcription:

Sofware Requirements Engineeing Three main tasks in RE: 1 Elicit find out what the customers really want. Identify stakeholders, their goals and viewpoints. 2 Document write it down (). Understandable Precise Complete Consistent Unambiguous Modifiable Correct 3 Analyze check for above qualities.

Requirements Elicitation Key problem areas: Scope what is the boundary of the system? Understanding What is needed What is possible/practical Difficulties in communication of concepts/ideas Domain knowledge Conflicting needs or priorities Volatility Requirements change over time.

Collaborative Requirements Gathering Meetings with designers, customers and other stakeholders. Rules for preparation & participation. Agenda. Facilitator. Definitions mechanism (work sheet, flip charts, wall stickers etc.) Goals: identify the problem, propose elements of the solution, negotiate different approaches, specify preliminary set of solution requirements.

Example sequence 1 Stakeholders write and distribute product request 2 Pre-meeting, each participant identifies objects in system objects in environment services (processes or functions) constraints performance criteria 3 Meeting present lists combine, move etc. to agree on consensus lists refine definitions for each word or phrase (objects etc.) maintain list of issues raised that aren t resolved.

Essential parts of an SRS: 1 1 Introduction 1 Purpose of this document, including intended audience 2 Scope 1 what will be produced 2 what will it do 3 application, benefits, objectives and goals 3 Definitions, acronyms and abbreviations 4 References 5 Overview what is to follow and how is it organized 1 From IEEE Std 830-1998 Software s

SRS Essential parts (cont d) 2 Overall description general factors that affect the product (not detailed requirements). 1 Product perspective how does it relate to other products? Interfaces (system, user, hardware, other software, communications) Memory constraints Operation constraints (could be part of UI) Site adaption requirements how will product be adapted for specific sites? 2 Product functions description of major functions. Organized in logical way (for customer). 3 User characteristics what do we know about the intended users? 4 Constraints any other items that will limit design decisions. 5 Assumptions and dependencies 6 Apportioning of requirements what may be delayed until later?

SRS Essential parts (cont d) 3 Specific Requirements All requirements Detailed enough to enable designers to design a satisfactory system and for testers to test it. All must be externally perceivable (e.g., by users, operators or other systems). Must include description of every input/stimulus and output/response and their relations. Each requirement should be uniquely identifiable. Each requirement should be verifiable. Organized for readability.

Use Cases A technique for capturing functional requirements of system. Describe typical interactions between users (actors 2 ) and the system. UML does not specify a standard presentation format or notation for Use Cases. Note that use cases are quite distinct from use case diagrams, which illustrate relationships between use cases and actors. 2 An actor is actually a role that a user may play w.r.t. the system.

Scenario Example Consider first a scenario a particular sequence of events in the interaction between the user and the system. Consider Automated Banking Machine example: Goal: Withdraw money. The customer inserts the bank card in the ATM card slot and is prompted to enter her personal identification number. The system checks that the PIN is correct and then prompts the customer to select a transaction type, account and amount. The user selects a withdrawal. The system verifies that the withdrawal is permitted (e.g., funds are available), dispenses the money and returns the card.

Senario (cont d) There are many possible variations on this sequence (e.g., PIN is not correct) so there will be many scenarios with the same goal. A use case describes a set of scenarios with a common goal. See: Transaction

Use Case tips Always keep in terms of external view (problem domain). Name should be short active verb phrase. Steps clearly describe action by actor or system. Other information: entry condition(s) Condition(s) that must be true before a use case can begin. Also known as pre-condition. exit condition(s) Condition(s) that the system will ensure is true at the end of the use case. Also known as guarantee or post-condition trigger Event that gets the use case started. See also useful links on the web page.

State Diagrams Shows behaviour in terms of events and states Events occur at instants, time elapses in states States can be nested either orthogonal (parallel) or not.

State Diagram Example

Four Variable Model

SCR Concepts Controlled variables quantities external to the system whose values are to be changed by the system. Monitored variables quantities external to the system whose values affect the current or future behaviour of the system. Output variables quantities internal to the system whose values represent controlled variables. Input variables quantities internal to the system whose values represent monitored variables.

SCR Concepts (cont d) Condition predicate on past or current values of variables. Event instant when one or more relevant conditions change value. Event class a subset of the events relevant to a particular system. History initial conditions plus sequence of events. Mode a set of system histories that are equivalent in some respect. Mode class a set of modes that partition the possible histories (i.e., every history is in exactly one mode in a particular mode class). Controlled value relations define the acceptable values of each controlled quantity for any possible history. Will often use modes in one or more mode classes. Tabular expressions to aide readability.

Event Class Notation Notation scalar tabular Interpretation p i @T (p i ) @T p i becomes true @F (p i ) @F p i becomes false WHILE(p i ) T p i remains true WHILE( p i ) F p i remains false WHEN(p i ) t p i true before WHEN( p i ) f p i false before t p i true after f p i false after CONT(p i ) p i doesn t change true (don t care) false (can t happen)

Example Mode Class Definition Mode Class : Cl probe Modes : Md test, Md pulse Initial Mode : Md test Transition Relation : Mode Event New mode Md test @T ( m Pulse = s Down) Md pulse pulse @T ( Since(@T ( Md pulse ) ) > 100 ms ) Md test