Requirements Analysis. Overview

Similar documents
Requirements Analysis. Requirements Analysis is Hard

Comp435 Object-Oriented Design. Requirements and Use Cases. Requirements Analysis. Outline. Requirements Analysis. Requirements change

Requirements Analysis

Requirements Analysis

Object-Oriented Analysis/Design and Use Cases Object Oriented Analysis and Design

PART II Inception. Chapter 4 Inception is Not the Requirements Phase. development cycle. phase. iteration. inc. elaboration construction transition

Requirements analysis and system specification. Fall 2012

Conceptual model (Larman)

Conceptual Modeling. Conceptual Modeling. Class diagrams (POS Example) Modeling the Problem Domain

Requirements Use Cases

Requirements Engineering

Inception. Describe the vision and business case for this project. Determine if the enterprise should build or buy the necessary system.

Lecture 1: Processes, Requirements, and Use Cases

Essentials of IBM Rational Requirements Composer, v3. Module 4: Creating a use-case model

System Sequence Diagrams. CSC 440: Software Engineering Slide #1

Requirements Engineering. Andreas Zeller Saarland University

About Domain Models. Value of OOA/D knowledge over UML notation;

Software Engineering (CSC 4350/6350) Rao Casturi

Requirements Engineering and Software Architecture Project Description

2009 Spring. Software Modeling & Analysis. Introduction to OSP. Lecturer: JUNBEOM YOO

Requirements Engineering

CHAPTER 3 Use Cases. 3. Use Cases

CHAPTER 3 Use Cases. 3. Use Cases

Four threads 8 Aug 11

CS/IT Secure Software Construction

Software Development Methodologies. CSC 440: Software Engineering Slide #1

SYSTEM AND SOFTWARE DESIGN USING THE UNIFIED MODELING LANGUAGE (UML)

Requirements elicitation: Finding the Voice of the Customer

Babu Madhav Institute of Information Technology, UTU 2017

MSO Analysis & UML 2

Software Modeling & Analysis

Software Engineering (CSC 4350/6350) Rao Casturi

Software Engineering Fall 2014

Use cases. Version 2.6 November 2015

Object-Oriented Analysis and Design PART1: ANALYSIS

An Introduction to Use-Case Modeling

Sistemi ICT per il Business Networking

MSO Lecture 2. Wouter Swierstra (adapted by HP) September 14, 2017

Principles of Software Construction: Objects, Design and Concurrency. Object-Oriented Analysis. toad

An Introduction to Use Cases

Design-Informing Models

Use-Case Diagram. Contents. Introduction. 1. Introduction. User-Centred Design (UCD) Users Requirements

4. Draw correct class diagram for the following scenario. City bicycle rental system Many cities have deployed a bicycle rental system.

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

System Sequence Diagrams

Unified Process and Testing with EasyAccept. Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems February 22, 2007

System Sequence Diagrams

The Rational Unified Process for Systems Engineering PART II: Distinctive Features

Requirements Engineering with Use Cases

How do you develop software? 12/01/2012. Great, You? Resources. OO Design and Programming. Congratulations New Job. what next?

Requirements Engineering and Software Architecture Project Description

Software Process. Overview

status Homework 2 posted:

Software Engineering Fall 2014

NOTE: Close any security window that pops up (McAfee, MalwareBytes, etc.)

Announcements: HW #6 due in two weeks. Next week: Spring Break

Use cases. Version November 2016

Software Engineering I (02161)

Use cases. Paul Jackson. School of Informatics University of Edinburgh

REQUIREMENTS ENGINEERING

Unified Process. Peter Dolog dolog [at] cs [dot] aau [dot] dk Information Systems March 3, 2008

Chapter 4 Requirements Elicitation

Introduction to Software Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016

Chapter 3 Prescriptive Process Models

02291: System Integration

Cafeteria Ordering System, Release 1.0

Requirements Engineering Unit 4: Requirements modeling, specification & prioritization

CSSE 374 Software Architecture and Design I

User Stories and Use Cases

Requirements Engineering and Agile Methodology

Requirements engineering

Unit 9 Information Systems

Information Technology Audit & Cyber Security

Software Architecture and Engineering Requirements Elicitation Peter Müller

Software Engineering Fall 2014

OnCD. Analysis and design of an online CD sales and inventory system

Manage all process together of retail business may be a great headache of all time.

Development Process and Analysis. LTOOD/OOAD - Verified Software Systems 1

7. Model based software architecture

ACCEPTANCE TEST PLAN. Docket Course Scheduling. For. Version 1.0 February 5, 2013

Use cases. Version October 2013

Software Architecture and Engineering Requirements Elicitation Peter Müller

CS 350 COMPUTER/HUMAN INTERACTION

Rational Unified Process (RUP) in e-business Development

Prerequisites It is recommended that the participants have a working knowledge of traditional Business Analysis tasks and techniques.

Product Requirements. Requirements. Get it Right ASAP. Why Requirements are Difficult. Types of S/W Requirements. Levels of S/W Requirements

8 Steps to Effective Use Cases

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

CHAPTER 3: REQUIREMENT ANALYSIS

ACS 3907 E-Commerce. Instructor: Kerry Augustine January 24 th Bowen Hui, Beyond the Cube Consulting Services Ltd.

Lecture 5: Requirements Engineering II. COSI 120b, Principles of Software Engineering

The analysis and design of a Smalltalk application.

Integrated Tour & Travel Online System (ITTOS) 2003, Sentra Solusi Informatika (

Thomson Learning DOCUMENTING ACCOUNTING SYSTEMS LEARNING OBJECTIVES

UN/CEFACT Simple, Transparent and Effective Processes For Global Commerce

The certification test "Application Associate - Financial Accounting (FI) with verifies fundamental knowledge and proven skills in

The Use Case Technique: An Overview

Penny Lane POS. Basic User s Guide

Object-Oriented Software Engineering. Using UML, Patterns, and Java. Functional Modeling

Requirements Engineering

Transcription:

Requirements Analysis Overview What is requirement? Classification of requirements Iterative and evolutionary requirements analysis Use Cases Domain models N. Meng, B. Ryder 2 1

Requirements Definition [LAR] Capabilities and conditions to which the system and more broadly, the project must conform Focusing on the WHAT not the HOW N. Meng, B. Ryder 3 Requirements Analysis Is Hard Major causes of project failures Incomplete requirements Changing requirements Poor user input Essential solutions Classification of requirements Iterative and evolutionary requirements analysis Use Cases N. Meng, B. Ryder 4 2

Classification of Requirements Functional: features, capabilities, security The system reads employee records and prints paychecks All other reqs are non-functional Usability: human factors, help documentation Text on the display must be visible from 1 meter. N. Meng, B. Ryder 5 Classification of Requirements Reliability: frequency of failure, recoverability, predictability When doing search, the radar should have 28 hours MTBF(mean time between failures) Performance: response times, throughput, accuracy, availability, resource usage The server response time is <1 sec for 90% of the accesses N. Meng, B. Ryder 6 3

Classification of Requirements Supportability: adaptability, maintainability, internationalization, configurability The system should allow frequent and easy changes in the network configuration Implementation: resource limitations, languages, tools, hardware Must use Linux and Java N. Meng, B. Ryder 7 Iterative and Evolutionary Requirements Analysis Motivation 20-50% of the original reqs change because of miscommunication or changing business needs Strategies 10-20% of the most architecturally significant, risky, and high-business-value requirements are specified before the initial implementation The short duration of iterations allows quick adaptation and increments of reqs. N. Meng, B. Ryder 8 4

Requirements Elicitation Brainstorming Gather stakeholders, collect ideas and prune Interviewing Formal or informal interviews with stakeholders Ethnography A social scientist observes and analyzes how people actually work Strawman/Prototype GUI, flow charts of UIs N. Meng, B. Ryder 9 Requirements Analysis in the UP Major artifacts: Use Cases and Supplementary Specification Use Cases: functional requirements Supplementary specification: non-functional requirements N. Meng, B. Ryder 10 5

How to do iterative requirement analysis? Inception, 2 days Identify names of use cases and features, and key non-functional requirements 10% are analyzed in detail due to high-risk, high-business-value, and architecture significance Iteration planning meeting Choose a subset of the 10% for implementation, break them down to detailed iteration tasks N. Meng, B. Ryder 11 Possible Timeline Elaboration, iteration #1, 4 weeks Design, implement, and test selected features Demo it to collect feedback Pick another 15-20% to analyze in detail (2 days) Iteration planning meeting Elaboration, iteration #2, 4 weeks Repeat iteration #1 Elaboration, iteration #4, 4 weeks N. Meng, B. Ryder 12 6

At the end of Elaboration,... 80-90% use cases are analyzed and written in detail 10% implementation done Other phases do very little work on use cases N. Meng, B. Ryder 13 Definitions Stakeholders People who support, benefit from, or are affected by a software project Managers Communicators Software engineers Maintainers System administrators Users Customers N. Meng, B. Ryder 14 7

Definitions Use case is a story of using the system to fulfill stakeholder goals It is a text document, not a diagram Its name usually contains a verb Use-Case Model: the set of all written use cases Use-Case Modeling: primarily an act of writing text, not drawing diagrams N. Meng, B. Ryder 15 Use Cases 8

The Role of Use Cases The most widely used approach for capturing requirements Input to many subsequent activities and artifacts N. Meng, B. Ryder 17 Running example: point-of-sale (POS) system [LAR] Process Sale use case A customer arrives at a checkout with items to purchase. The cashier uses the POS system to record each purchased item. The system presents a running total and line-item details. The customer enters payment information, which the system validates and records. The system updates inventory. The customer receives a receipt from the system. N. Meng, B. Ryder 18 9

Q1: Who Are the Stakeholders? Customer Cashier Store Government tax agencies Credit card company N. Meng, B. Ryder 19 Terms Relevant to Use Cases Actor: Something with behavior Person, computer system, organization Scenario (use case instance) a specific sequence of actions and interactions between actors and the system Use case: a collection of related success and failure scenarios that describe an actor using the system to support a goal N. Meng, B. Ryder 20 10

Three Kinds of Actors Primary actor: uses the system to fulfill goals E.g., cashier Why? To find user goals and drive use cases Supporting actor: provides a service to the system E.g., Payment authorization service Why? To clarify external interfaces and protocols Offstage actor: has an interest in the behavior E.g., Tax agencies Why? To ensure that all necessary interests are identified and satisfied N. Meng, B. Ryder 21 Handle Returns use case Main Success Scenario: A customer arrives with items to return. The cashier uses the system to record each returned item Alternative Scenarios: If they paid by credit, and the reimbursement transaction to their credit account is rejected, pay by cash If the system detects failure to communicate with the external accounting system, (Any other alternatives?) N. Meng, B. Ryder 22 11

Black-Box Use Cases Do NOT describe the internal workings of the system Only system responsibilities Focus on what the system should do Good: The system records the sale Bad: The system writes the sale to a database The system generates SQL INSERT statement for the sale N. Meng, B. Ryder 23 Levels of Formality Brief: one-paragraph, for the main success scenario Process Sale example is brief Casual: multiple paragraphs that cover several scenarios Handle Return example is casual Fully dressed: all steps and variations Developed iteratively during elaboration; the product of requirement analysis N. Meng, B. Ryder 24 12

Fully Dressed Use Case - Outline Use Case UC1: Process Sale Primary Actor: Cashier Stakeholders and interests: E.g., Cashier: want accurate and fast payment Preconditions Success guarantee Main success scenario Extensions Special requirements Technology and data variation List Frequency of Occurrence N. Meng, B. Ryder 25 Preconditions States what must always be true before a scenario is begun in the use case Often the postconditions of another use case Don t bother with it unless you are stating something noteworthy The system has power not interesting Preconditions: Cashier is identified and authenticated N. Meng, B. Ryder 26 13

Success Guarantees (Postconditions) State what must be true on successful completion of the use case either the success scenario or alternative ones Success guarantee: Sale is saved. Tax is correctly calculated. Accounting and Inventory are updated. Commissions are recorded. Receipt is generated. N. Meng, B. Ryder 27 Main success scenario (Basic Flow) Defer all conditional and branching statements to the Extension section Records three kinds of steps: An interaction between actors A validation (usually by the system) A state change by the system Main Success Scenario: 1. Customer arrives at a POS checkout with items to purchase 2. Cashier starts a new sale 3. Cashier enters item identifier 4. System records the item, presents description and price. N. Meng, B. Ryder 28 Price and total are calculated based on a set of rules. 14

Main Success Scenario: (cont d) Repeat 3-4 until cashier indicates done. 5. System presents total with tax calculated by an external Tax Calculator system. 6. Cashier asks Customer for payment. 7. Cashier enters cash amount tendered, System handles payment. 8. System logs completed sale and sends sale and payment information to the external Accounting system and external Inventory system. 9. System presents receipt. Q2: What are the actors? Primary: cashier Supporting: Tax Calculator, Accounting, Inventory Customer could be considered as an actor, but has no direct interaction with the system N. Meng, B. Ryder 29 Extensions (or Alternative Flows) Often comprise the majority of text Indicate all the other scenarios or branches, both success and failure Notated with respect to its corresponding steps 1..N in the main success scenario. N. Meng, B. Ryder 30 15

Main Success Scenario: 3. Cashier enters item identifier Extensions: 3a. Invalid identifier 1. System signals errors and rejects entry. 2. Cashier responds to the error: 2a. There is a human-readable item ID(e.g., a numeric UPC) 1. Cashier manually enters the item ID. 2. System displays description and price. 2a. Invalid item ID: System signals error. Cashier tries alternative method. 2b. There is no item ID, but there is a price on the tag: 1. Cashier asks Manager to perform an override operation. 2. Manager performs override. 3. Cashier manually N. Meng, enters B. Ryder the price 31 Special Requirements If a non-functional requirement relates specially to a user case, record it with the use case Special Requirements: Touch screen UI on a large flat panel monitor. Text much be visible from 1 meter. Credit authorization response within 30 seconds 90% of the time. Robust recovery when access to remote Inventory service fails Language internationalization on the text N. Meng, B. Ryder 32 16

Technology and Data Variations List Technical variations in how something must be done Early design decisions or constraints Technical constraint imposed by stakeholders about input/output technologies. Try to avoid premature design decisions unless they are obvious or unavoidable Data scheme variations necessary to understand N. Meng, B. Ryder 33 Technology and Data Variations List: 3a. Item identifier entered by laser scanner or keyboard. 3b. Item identifier may be any UPC, EAN, JAN, or SKU coding scheme. 7a. Credit account information entered by card reader or keyboard. 7b. Credit payment signature captured on paper receipt. But within two years, we predict many customers will want digital signature capture. N. Meng, B. Ryder 34 17

Unified Modeling Language (UML) Definition A visual language for specifying, constructing, and documenting the artifacts of systems Standard diagramming notation for drawing pictures related to software Includes 13 types of diagrams N. Meng, L. Zhang 35 Two Categories of UML Diagrams Structural UML diagrams Class diagram Object diagram Dynamic UML diagrams Use case diagram Sequence diagram N. Meng, L. Zhang 36 18

We will discuss Use case diagram (Requirement) Class diagram (Requirement & Design) Sequence diagram (Design) Communication diagram (Design) N. Meng, L. Zhang 37 Use case diagram Definition A representation of interactions between actors and the system It shows relationship between actors, use cases, and the system the scope of the system the external actors how actors use the system It is secondary to text documentation N. Meng, L. Zhang 38 19

Legends Actor: an entity that interacts with the system. Actor: a computer system that interacts with the system under discussion Use case: usage of a system Association: relation between an actor and a use case Includes dependency: a base use case includes a sub use case as component Extends dependency: a use case extends the behavior of a base use case. N. Meng, L. Zhang 39 What are the relations? Include<<>> Clean a car Clean windows Clean Ford F-150 N. Meng, L. Zhang 40 20

Case study: POS system With a POS system, a cashier can perform the following tasks (with help of the manager if necessary): Process sale Handle return Register product specification For each activity, the system may first authenticate the cashier or manager The POS system interfaces to thirdparty tax calculator and inventory control N. Meng, L. Zhang 41 Use Case Diagram What are the actors? What is included in the system? What are the use cases? What is the relationship between use cases? N. Meng, L. Zhang 42 21

Use Case Diagram Include<<>> ValidateUser ProcessSale Cashier Manager HandleReturn Include<<>> RegisterProdu ctspec POS System Include<<>> Tax Calculator Inventory Control N. Meng, L. Zhang 43 Domain Models A domain model is a visual representation of conceptual classes or real-situation objects showing: Domain objects or conceptual classes Relationship between conceptual classes Attributes of conceptual classes Illustrated with a set of UML Class diagrams N. Meng, B. Ryder 44 22

Roles of a Domain Model Built upon use cases Basis for design and implementation The most important and classic model in OO analysis N. Meng, B. Ryder 45 UML Class Diagram Definition A visual representation of main objects and their relations for a system Elements Classes containing: Attributes, Operations Various relationship: Association, Aggregation, Composition, Generalization N. Meng, B. Ryder 46 23

Legends Store String address String name void processsale() void handlereturns() Grocery Store Grocery 0..* 0..1 Store Grocery Store Class name: abstract concepts Attributes: properties relevant to the problem Operation (Method signatures): behaviors of the class Generalization: is-a relationship. A sub-class inherits all attributes and operations of its super class Aggregation: has-a relationship. The container and elements can exist independently from each other N. Meng, B. Ryder 47 Legends Car Engine 1 0..1 Car Composition: stronger has-a relationship. If the container is destroyed, the elements it contains are usually destroyed as well. Person subscribe 1 0..* Magazine Association: can generally represent any relationship other than is-a. Both Aggregation and Composition are variants of Association. Multiplicity: what number of instances can be associated? Name and Direction Arrow: to enhance understanding of the relationship N. Meng, B. Ryder 48 24

Multiplicity Range: x..y Common notation for ranges x..x -> x x..infinity -> x..* 0..infinity -> * Combination of ranges x..y, z..w e.g. 2,4 -> number of doors in a car Most common multiplicities: *, 1..*, 0..1, 1 N. Meng, B. Ryder 49 Association Examples SalesLineItem-Sale A sale contains lines of sale items Payment-Sale A payment is always related to a sale Flight-Airport A flight flies from an airport and to another airport N. Meng, B. Ryder 50 25

Domain Models Sale 1 Contains 1..* SalesLineItem Sale 1 Paid-by 1 Payment Flight * Flies from 1 * 1 Flies to Airport N. Meng, B. Ryder 51 Key Points about UML Class Diagram UML is just notation UML class diagram means different things in different contexts Conceptual perspective: description of the domain model Specification perspective: description of software abstractions or components Implementation perspective: description of Java classes N. Meng, B. Ryder 52 26

Domain model A small set of UML class diagram elements Classes Attributes Operations Relationship Generalization Aggregation Composition Association Multiplicity of relationship N. Meng, B. Ryder 53 A Conceptual Class Diagram Sales LineItem quantity 1..* 1 Sale date time 1 1 Payment amount Records the sale of 0..1 1 Contained-in 1 Paid-by Captured-on Stocked-in Houses Item Store address name Register N. Meng, B. Ryder 54 1 * 1 1 1..* 27

How to Build the Domain Model? Step 1: Identify conceptual classes Identify nouns and noun phrases from the fully dressed use case Step 2: Decide attributes Properties of the conceptual classes relevant to the problem domain Step 3: Identify associations between classes Note: Step 1 and 2 may occur together N. Meng, B. Ryder 55 28