Requirements Analysis

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. Overview

Requirements Analysis

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

System Sequence Diagrams

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

System Sequence Diagrams

CHAPTER 3 Use Cases. 3. Use Cases

CHAPTER 3 Use Cases. 3. Use Cases

Lecture 1: Processes, Requirements, and 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.

Requirements Use Cases

Requirements analysis and system specification. Fall 2012

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

An Introduction to Use Cases

An Introduction to Use-Case Modeling

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

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

CSSE 374 Software Architecture and Design I

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

User Stories and Use Cases

Software Modeling & Analysis

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

Chapter 1. What is Software Engineering. Shari L. Pfleeger Joanne M. Atlee. 4 th Edition

MSO Analysis & UML 2

Object-Oriented Analysis and Design PART1: ANALYSIS

Use cases. Version 2.6 November 2015

Chapter 1. Contents. What is Software Engineering 9/9/13. Shari L. Pfleeger Joanne M. Atlee. 4 th Edition

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

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

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

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

Requirements Engineering

Chapter 3 Prescriptive Process Models

Information Technology Audit & Cyber Security

DESIGN OF MOBILE APPLICATIONS AND INFORMATION ARCHITECTURES. CPET 499 Mobile Computing Systems David Rash Chris Meisner

Requirements Engineering. Andreas Zeller Saarland University

Software Engineering (CSC 4350/6350) Rao Casturi

1 Descriptions of Function

Cafeteria Ordering System, Release 1.0

Four threads 8 Aug 11

English ELECTRONIC CASH REGISTER CAISSE ENREGISTREUSE ELECTRONIQUE ER-A347 ER-A347A MODEL MODELE INSTRUCTION MANUAL MANUEL D INSTRUCTIONS

Use cases. Version October 2013

BUSINESS REQUIREMENTS SPECIFICATION (BRS)

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers

CCU 2010 / Identifying User Needs and Establishing Requirements. Lesson 7. (Part1 Requirements & Data Collection)

<Project Name> Development Case

Advanced Metering Infrastructure (AMI) Program C3 - Customer Prepays for Services

The analysis and design of a Smalltalk application.

CS/IT Secure Software Construction

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

Conceptual model (Larman)

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

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

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

status Homework 2 posted:

Software Engineering (CSC 4350/6350) Rao Casturi

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

Point Of Sales. Below is the step to enable Optimum Point Of Sales module. Step 1. As shown in the figure, click the menu from the ribbon bar.

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

Department of Computer Science & Information Technology. University of Sargodha

1.264 Lecture 4. Software Process: CMM Unified Modeling Language (UML)

CHAPTER 3: REQUIREMENT ANALYSIS

Thomson Learning DOCUMENTING ACCOUNTING SYSTEMS LEARNING OBJECTIVES

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

Test Management: Part I. Software Testing: INF3121 / INF4121

Test Workflow. Michael Fourman Cs2 Software Engineering

Requirements Knowledge Model. Business. Event. Business. responding. Business. Use Case 1.. Business tracing * * * * Requirement

Introduction of RUP - The Rational Unified Process

UC Santa Barbara. CS189A - Capstone. Chandra Krintz Department of Computer Science UC Santa Barbara

Software Engineering Modern Approaches

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

Materials Management

Browse to and login A First Time visitor must follow the Register your card link to create a User Name and Password.

Requirements Elicitation

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

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

REQUIREMENTS ENGINEERING

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

1 Descriptions of Function

P O S U S E R G U I D E with I N T E G R A T E D E E E. Magenta Retail Support. Australia New Zealand

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

Square Reader Overview

Babu Madhav Institute of Information Technology, UTU 2017

Workflow and Business Process Modeling with UML Activity Diagrams. April 17, 2008

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

Delaying Count. Totaling the Register THEN

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

Advantages and Disadvantages of. Independent Tests. Advantages. Disadvantages

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

1 Descriptions of Functions Post Dispatch Market Operations

Use cases. Version November 2016

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

The Use Case Technique: An Overview

Requirements Analysis and Design Definition. Chapter Study Group Learning Materials

CS 350 COMPUTER/HUMAN INTERACTION

Multisoft Features detail

Transcription:

Objectives Classify categories of requirements Requirements Analysis Define the principles of iterative requirements analysis Learn about use cases and their elements Define system sequence diagrams for representing use cases CSE 757 - Requirements Analysis 1 CSE 757 - Requirements Analysis 2 Requirements Analysis is Hard Major causes of project failures Poor user input Incomplete requirements Changing requirements Difficulties Complex problems, unknown domains, nontechnical customers, communication-intensive Essential tools Classification of requirements Use cases Classification Functional requirements: behavior, features, capabilities The system reads employee records and prints paychecks Usability requirements: human factors, help, documentation The font on the display should be readable from 5 feet Do not use colors associated with common forms of color blindness CSE 757 - Requirements Analysis 3 CSE 757 - Requirements Analysis 4 Classification Reliability requirements: frequency of failure, recoverability If there is a failure of the external credit card authorization system, Performance requirements The server response time is < 1sec for 90% of the accesses The system should be capable of processing 1MB of incoming transaction data each second Classification Supportability requirements: adaptability, internationalization, maintainability The system should allow frequent and easy changes in the network configuration The system should be capable of incorporating several (unknown) third-party components for tax calculation Implementation requirements Must use Linux and Java : e.g. decision due to cost, portability, availability of trained personnel CSE 757 - Requirements Analysis 5 CSE 757 - Requirements Analysis 6

Requirements in Iterative Development Often 20% - 50% of the original requirements change Miscommunication; changing business needs One of the motivations for the iterative model The short duration of iterations allows quick adaptation Illustration: requirements in the UP Requirements Analysis in the UP Major artifacts: Use-Case Model and Use-Case Model: functional requirements A set of use cases use case = story of using the system : nonfunctional requirements performance, reliability, usability, supportability, implementation, etc. CSE 757 - Requirements Analysis 7 CSE 757 - Requirements Analysis 8 Effort Distribution Possible Timeline Inception, 1 week Use cases are identified and described briefly; 10% are described in detail Elaboration, iteration #1, 4 weeks Design a small set of architectural and highrisk requirements; implement and test them End of the iteration: 2 day meeting on the use cases -> 30% are described in detail source: white paper, May 2002 CSE 757 - Requirements Analysis 9 CSE 757 - Requirements Analysis 10 Possible Timeline Elaboration, iteration #2, 4 weeks Design, implementation, testing of high-risk and architectural requirements 5% of the code is built At the end: detailed description of 50% of the use cases Elaboration, iteration #3, 3 weeks More design, implementation, testing; 10% of the code is built 70% of the use cases - fully described CSE 757 - Requirements Analysis 11 Possible Timeline Elaboration, iteration #4, 3 weeks Design, implementation, testing High-risk and architecturally significant aspects should be stabilized Total of 15% of the final system is built 80-90% of the use cases: clarified and written in detail Construction Very little work on the use cases Design/coding for the rest of the system CSE 757 - Requirements Analysis 12

The Role of Use Cases Currently, the most widely used approach for capturing requirements Central role in the Unified Process Requirements are primarily discovered and recorded through use cases All other activities are driven by the use cases (domain modeling, design, etc.) Running example: point-of-sale (POS) system [Larman] Example of a Use Case Process Sale: A customer arrives at 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. CSE 757 - Requirements Analysis 13 CSE 757 - Requirements Analysis 14 Stakeholders and Goals Stakeholders: customer, cashier, company, tax agencies, credit card company A use case is a story of using the system to fulfill stakeholder goals Better than a laundry list of features Some Definitions Actor: something with behavior e.g. person, computer system, organization Scenario: a specific sequence of interactions between the actors and the system under discussion Success scenario or failure scenario Use case: collection of related success and failure scenarios CSE 757 - Requirements Analysis 15 CSE 757 - Requirements Analysis 16 Scenarios Handle Returns use case Main success scenario: A customer arrives with items to return. The cashier uses the POS system to record... Alternative Scenarios If they paid by credit but reimbursement to their credit account is rejected, pay by cash If the system detects a failure in the external accounting system,...... Black-Box Use Cases Black-box use cases: do not describe the internal workings of the system Only system responsibilities Goal: specify what the systems should do without deciding how it will do it Good: The system records the sale Bad: The system writes the sale to a database or The system generates SQL INSERT statement for the sale CSE 757 - Requirements Analysis 17 CSE 757 - Requirements Analysis 18

Levels of Formality Brief: one-paragraph, for the main success scenario Process Sale example was brief Casual: multiple paragraphs that cover several scenarios Handle Return example was casual Fully dressed: all steps and variations are written down Developed iteratively during elaboration; the product of requirements analysis Fully Dressed Use Case Primary actor: principal actor that interacts with the system ProcessSale: the cashier Preconditions and postconditions Main success scenario Alternative scenarios Several other kinds of information Excellent example in [Larman], Section 6.6 CSE 757 - Requirements Analysis 19 CSE 757 - Requirements Analysis 20 Preconditions and Postconditions Preconditions: guaranteed to be true before the use case e.g. Cashier is authenticated Often the postconditions of a successful scenario from another use case Postconditions: what must be true after a successful completion of the use case Main scenario and successful alternative scenarios Scenarios Main success scenario: the happy path No conditions or branching Alternative scenarios (Extensions) Both successes and failures The Extensions part is typically much longer than the Main Success Scenario part CSE 757 - Requirements Analysis 21 CSE 757 - Requirements Analysis 22 Example: Process Sale, Cash Only Primary actor: Cashier Precondition: Cashier is authenticated Postconditions Sale is logged, accounting and inventory are updated, receipt is generated Main success scenario: sequence of interactions with actors Main Success Scenario 1. Customer arrives with goods 2. Cashier starts a new sale 3. Cashier enters item id 4. System records sale line item and presents description and running total Repeat 3-4 until Cashier indicates done 5. System presents total with taxes. To determine taxes, System uses an external Tax Calculator system CSE 757 - Requirements Analysis 23 CSE 757 - Requirements Analysis 24

Main Success Scenario (cont) 6. Cashier asks Customer for payment 7. Cashier enters cash amount tendered, and System presents change due 8. System presents receipt 9. System logs completed sale and sends sale info to the external Accounting system and to the external Inventory system Summary Several actors: Cashier, Tax Calculator, Accounting, Inventory Customer could be considered an actor, but has no direct interaction with the system Black-box point of view System logs sale vs. System writes sale to a file Simplified interactions: no conditions, branching, etc. Understandable by non-technical people CSE 757 - Requirements Analysis 25 CSE 757 - Requirements Analysis 26 System Sequence Diagram (SSD) Partial SSD for the Main Scenario Describes in more detail a scenario in a use case Created from the text of the use case makenewsale() A kind of UML sequence diagram enteritem(itemid) SSD is a simplified version useful for requirements analysis More general version of sequence diagrams: later, when talking about design description, total *[more items] endsale() Example: ProcessSale for POS system CSE 757 - Requirements Analysis 27 CSE 757 - Requirements Analysis 28 Actors Elements of a SSD UML notation for an object System events Cashier generates makenewsale, enteritem, and endsale system events (Optional) information from the system back to the actors item description, running total, etc. SSD for Process Sale 2. Cashier starts a new sale 3. Cashier enters item id 4. System records sale line item and presents description and running total Repeat 3-4 until Cashier indicates done makenewsale() enteritem(itemid) description, total *[more items] endsale() CSE 757 - Requirements Analysis 29 CSE 757 - Requirements Analysis 30

SSD for Process Sale (cont) 5. System presents total with taxes. To determine taxes, System uses an external Tax Calculator endsale() total with taxes gettaxes(sale) taxes :TaxCalculator SSD for Process Sale (cont) 7. Cashier enters cash amount tendered, and System presents change due 8. System presents receipt 9. System logs completed sale and sends sale info to the external Accounting system and to the external Inventory system makepayment(amount) change, receipt postsale(sale) :Accounting update(sale) :Inventory CSE 757 - Requirements Analysis 31 CSE 757 - Requirements Analysis 32 Abstractions Events and return values are abstractions Independent of mechanism & representation makepayment(amount) Looks like a method call; shows input info Not a method call: abstraction of an event Name: should capture the intent Avoid implementation choices enteritem(itemid) is better than scan(itemid) Timeline for SSDs SSDs are created during elaboration Clarify the major events that the system should be able to handle Later we design objects to handle these events (object-oriented design) SSDs are created for some chosen scenarios from the current iteration Happy path + frequent/complex alternatives CSE 757 - Requirements Analysis 33 CSE 757 - Requirements Analysis 34 Alternative Scenarios 3. Cashier enters item identifier In the Extensions part of the use case: 3a. Invalid identifier: 1. System signals error and rejects entry Condition: triggers this alternative Handing: one or more steps Alternative Scenarios 3. Cashier enters item identifier In the Extensions part of the use case: 3b. There are multiple items of the same category (e.g. 5 bottles of Coke) 1. Cashier enters item id & quantity Multiple conditions for one step from the main scenario CSE 757 - Requirements Analysis 35 CSE 757 - Requirements Analysis 36

Alternative Scenarios 6. Cashier asks customer for payment In the Extensions part of the use case: 6a. Customer doesn t have enough cash 1. Cashier cancels sale on System An example of a failure scenario Another Example 5. System presents total with taxes. To determine taxes, it uses a TaxCalculator Alternative: What if some customers are entitled to a discount? e.g. employees Suppose that each such customer has a customer_id that determines discount % ids and discount % are stored in an external CustomerInfo system CSE 757 - Requirements Analysis 37 CSE 757 - Requirements Analysis 38 Another Example 5. System presents total with taxes In the Extensions part of the use case: 5a. Customer is eligible for discount 1. Cashier signals discount 2. Cashier enters customer id 3. System presents updated total. System uses external CustomerInfo system to get discount percentage CSE 757 - Requirements Analysis 39 SSD for this scenario :CustomerInfo total with taxes startdiscount() entercustomerid(id) getdiscount(id) discount percentage updated total makepayment(amount) CSE 757 - Requirements Analysis 40 Additional Info in a Use Case UML Use Case Diagram Non-functional requirements Software system "robo-actor" system agent Video Store Information System Use case Usability: The text on the screen should be visible from 5 feet Performance: Credit authorization response should be within 30 sec, 90% of the time Technology: Identifier entered by laser scanner or by keyboard Eventually gathered in the Credit Authorization Service Clerk Manager Query For Items Pay Fines Rent Items Manage Memberships Log In Manage Inventory Actor Customer Administrator Manage Users CSE 757 - Requirements Analysis 41 CSE 757 - Requirements Analysis 42

UML Use Case Diagram UML notation for representing actors, use cases, and their relationships The diagram is secondary to the actual use cases: need to focus on text Use-Case Model = text of the use cases In this class, the use case diagram is shown only for completeness Constructing the Use Cases Iteratively refined during inception and elaboration Communication-intensive process Developers need to talk with domain experts e.g. Extreme Programming requires a user to be co-located full-time with the development team Focus on user intentions and goals CSE 757 - Requirements Analysis 43 CSE 757 - Requirements Analysis 44 Artifact Use-Case Model Supplem. Spec Domain Model Design Model Implem. Model Timeline Incep Elab Const Trans Requirements analysis: Use-Case Model + Domain analysis: Domain Model Design: Design Model Coding: Implementation Model CSE 757 - Requirements Analysis 45 Describes other requirements In addition to the functional requirements described by the use cases Functional requirements common across many use cases Logging and error handling: e.g. Log all errors to persistent storage Security: e.g. All usage requires user authentication CSE 757 - Requirements Analysis 46 Usability requirements Avoid colors associated with common forms of color blindness The cashier is often looking at the customer, so signals and warnings should be conveyed w/ sound Reliability requirements Recoverability: If there is a failure to use external services (e.g. accounting system), store the information locally to complete the sale Performance requirements External payment authorization should be completed within 30 seconds, in 90% of the cases Supportability requirements Adaptability: At certain points in the scenarios, pluggable rules should be enabled to accommodate different customers Configurability: Different customers will have different network configurations CSE 757 - Requirements Analysis 47 CSE 757 - Requirements Analysis 48

Implementation constraints Management insists on Java for long-term portability, supportability, and ease of development Requirements for purchased components The tax calculator will be purchased from a third party. The system must support pluggable tax calculators for different countries And many more: business rules, legal issues, standards, I/O devices, tools,... The Role of the Supplementary Spec Describes issues that are not easily captured by use cases Particularly important are system-wide attributes Performance, reliability, testability, etc. Central role during early design and implementation E.g., a system-wide requirement for high fault tolerance has very significant influence on large-scale design decisions CSE 757 - Requirements Analysis 49 CSE 757 - Requirements Analysis 50 UP Timeline Inception: the supplementary specification is only lightly developed Focus on risky system-wide requirements Elaboration: continuous refinement In parallel with early design/implementation Feedback for the requirements analysis Stabilized at the end of elaboration CSE 757 - Requirements Analysis 51