Understanding Requirements

Slides:



Advertisements
Similar presentations
Object-Oriented Analysis and Design Evolutionary Requirements.
Advertisements

Chapter 05: Evolutionary Requirements Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.
1 Lecture 2: Processes, Requirements, and Use Cases.
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Chapter 7 Other Requirements Good Fast Cheap Pick any two. 1CS John Cole.
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
Writing Use Cases: Requirements in Context
Use cases.
Object-Oriented Analysis and Design
January Ron McFadyen1 Use Cases in the UML Functionality under consideration is represented by use cases (named ellipses) enclosed in a box.
COMP 350: Object Oriented Analysis and Design Lecture 3 Case Studies, Inception & Use Cases References: Craig Larman Chapters 3-6.
Use-case Modeling.
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” - may be of.
Fall 2009ACS-3913 Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Use Cases & Requirements Analysis By: Mostafa Elbarbary.
Copyright ©2004 Cezary Z Janikow 1 Use Cases n Within Requirements discipline/workflow n Verbal descriptions of important functional (behavioral, transactional,
1 Lecture 1: Processes, Requirements, and Use Cases.
Jan 8, Ron McFadyen1 Waterfall Spiral UP Case study UML Use Cases.
Object-Oriented Analysis and Design
The first step in getting what you want is to decide what you want.
TK2023 Object-Oriented Software Engineering CHAPTER 6 SYSTEM SEQUENCE DIAGRAMS.
Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.
RUP Requirements RUP Artifacts and Deliverables
TK2023 Object-Oriented Software Engineering
Software Engineering 1 Object-oriented Analysis and Design Chap 30 Relating Use Cases.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Rational Unified Process (Part 1) CS3300 Fall 2015.
Requirements Functional requirements  Use-cases
SOEN 6011 Software Engineering Processes Section SS Fall 2007 Dr Greg Butler
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Writing Use Cases: Requirements in Context.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
Object-Oriented Analysis and Design Jan 14, 2009.
Chapter 7 Applying UML and Patterns Craig Larman
 Development is organized in a series of short, fixed-length mini-projects called iterations  Iterations are also incremental  Successive enlargement.
OOSE Use Case. Requirement Functional: –Features, capabilities, and security Non Functional: –Usability: Human factors, help, and documentation –Reliability:
Chapter 9 Applying UML and Patterns -Craig Larman
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Goals and Scope of a Use Case
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
OO Methodology Inception Phase.
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.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
DOMAIN MODEL: ADDING ATTRIBUTES Identify attributes in a domain model. Distinguish between correct and incorrect attributes.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” Used to capture and describe.
PRESENTATION ON USE CASE. Use Case Modeling Use case diagrams describe what a system does from the standpoint of an external observer. The emphasis is.
Chapter 6: Use Cases.
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Writing Use Cases: Requirements in Context.
Understanding Requirements
UML - Development Process 1 Software Development Process Using UML.
Larman chapter 61 Use cases Larman chapter 6. 2 Fig. 6.1.
Dr. Awais Majeed Object Oriented Design and UML.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
1 Object Oriented Analysis and Design System Events & Contracts.
Jan Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Elaboration popo.
Evolutionary requirements
System Sequence Diagrams and Operation Contracts
UML Use Case Diagrams.
Writing Use Cases.
Use Case Modeling.
Software Requirements
Engineering Quality Software
Other System Requirements
Use cases Dr. X.
Presentation transcript:

Understanding Requirements Use Cases: Requirements In Context

Importance of Requirements Analysis Challenged projects : projects that did not materialize or were not completed on time 37% of the problems with such projects were related to requirements: 13% - poor user input 12% - incomplete requirements 12% - changing requirements

Types of Requirements FURPS+ Functional - features, capabilities, security Usability - human factors, help, documentation Reliability - frequency of failure, recoverability, predictability Performance - response times, throughput, accuracy, availability, resource usage Supportability - adaptability, maintainability, configurability

The + in FURPS+ Implementation - resource limitations, language and tools, hardware, etc. Interface - constraints imposed by interfacing with external systems Operations - system management in its operational setting Packaging Legal - licensing and so forth

What artifacts may start in inception? Vision and business case Describes high-level goals and constraints. Use Case model Describes a set of typical scenarios encountered in using a system. Consists mainly of behaviors (functional requirements). Supplementary specification Describes other requirements not in use cases Consists mainly of non-functional requirements Glossary Key domain terminology Data dictionary. Records requirements relating to data, such as validation rules, acceptable values, etc; can detail any element, e.g. object attribute, parameters, report layout, etc; Risk list and Risk Management Plan Describes business, technical, resource and schedule risks and ideas for their mitigation or response.

What artifacts may start in inception? Prototypes and proof-of-concepts Iteration plan Describes what to do in the first elaboration iteration Phase Plan & Software development Plan Guess for elaboration phase duration. Tools, people, education and other resources. Development Case Description of the customized UP steps and artifacts for this project. Artifacts will be partially completed in this phase and will be refined in later iterations.

The Use-Case Model defined within the requirements discipline it is the set of all use cases a model of the system’s functionality and environment help keep the system goals and requirements clear to all easier – especially for end-users – contribute meaningfully.

Use Cases reflect the goals of the customers and end users records the story of achieving the goal different levels of use cases concentrate on the goal oriented use case discover the actors scenarios - use case instance set of use case instances where each is a sequence of actions a system performs that yields an observable result of value to a particular actor set of use case instances of related success and failure scenarios that describe actors using a system to support a goal.

Use Cases as Requirements Use cases are requirements primarily functional central mechanism for requirement discovery not all the requirements are described this way they are text documents not diagrams UML diagrams describes the use cases, actors and their relationships Specify what the system does not how it does it

Goals and Scope of a Use Case At what level and scope should use cases be expressed? A: Focus on uses cases at the level of elementary business process (EBP). EBP: a task performed by one person in one place at one time which adds measurable business value and leaves the data in a consistent state. Approve credit order - OK. Negotiate a supplier contract - not OK. It is usually useful to create separate “sub” use cases representing subtasks within a base use case. e.g. Paying by credit

Use Cases and Goals an EBP-level use case is a user-goal use case To find use cases at this level: find the user goals define a use case for each goal Don’t ask: "How will the system be used?" ask "What are the goals of the users?" "Login" is not a user goal - therefore not an EBP-level use case. Place a refill order is a goal Fill out a feedback form is a goal

Use cases and adding value Actor: something with behavior, such as a person, computer system, or organization, e.g. a cashier. Scenario: specific sequence of actions and interactions between actors and the system under discussion, e.g. the scenario of successfully purchasing items with cash. Use case: a collection of related success and failure scenarios that describe actors using a system to support a goal.

Use cases and adding value Handle returns Main success scenario: A customer arrives at a checkout with items to return. The cashier uses the POS system to record each returned item… Alternate scenarios: If the credit authorization is reject, inform customer and ask for an alternative payment method. If item identifier not found in the system, notify the Cashier and suggest manual entry of the identifier code. …

Use case types and formats Black-box use cases describe system responsibilities, i.e. define what the system must do. Uses cases may be written in three formality types Brief: one-paragraph summary, usually of the main success scenario. Casual: Informal paragraph format (e.g. Handle returns) Fully dressed: elaborate. All steps and variations are written in detail.

Primary Actors, Goals and Use Cases Use Cases are define to satisfy the goals of the primary actors - the principal actor that calls upon the system to fulfill a goal The basic procedure is: choose the system boundary identify the primary actors identify their goals at the highest EBP level define the use cases that satisfy the user goals

Choosing the System Boundary Defining the boundary of the system can be done by defining what is outside the system

Finding Primary Actors and Goals Primary vs. supporting actors Brainstorming goals reveal actors; actors reveal goals Some questions to ask: Who starts and stops the system? Who does user and security management? Who does system administration? Who evaluates system performance? logs? How are software updates to be handled? Pull or push? Is time an actor?

Actor - Goal List Customer add request delete request change request list prescriptions Administrator add user delete user modify user manage security Prescription Activity System analyze prescription data Manager start up system shut down system

Events, Actors, Goals External Event From Actor Goal Achieved enter sale line item cashier process a sale enter payment cashier or customer

Actors Primary actor - has user goals fulfilled through using services to the system under development (SuD) Why identify - to find user goals cashier in a POS customer of Pharmacy Supporting Actor - provides a service to the SuD Why identify - to clarify external interface Offstage Actor - has an interest in the SuD - a gov't tax agency Why identify - to ensure that all necessary interests are identified

Fully-dressed example: Process Sale Use case UC1: Process Sale Primary Actor: Cashier Stakeholders and Interests: -Cashier: Wants accurate and fast entry, no payment errors, … -Salesperson: Wants sales commissions updated. … Preconditions: Cashier is identified and authenticated. Success Guarantee (Postconditions): -Sale is saved. Tax correctly calculated. Main success scenario (or basic flow): [see next slide] Extensions (or alternative flows): [see next slide] Special requirements: Touch screen UI, … Technology and Data Variations List: -Identifier entered by bar code scanner,… Open issues: What are the tax law variations? …

Fully dressed example: Process Sale (cont.) Main success scenario (or basic flow): The Customer arrives at a POS checkout with items to purchase. The cashier records the identifier for each item. If there is more than one of the same item, the Cashier can enter the quantity as well. The system determines the item price and adds the item information to the running sales transaction. The description and the price of the current item are presented. On completion of item entry, the Cashier indicates to the POS system that item entry is complete. The System calculates and presents the sale total. The Cashier tells the customer the total. The Customer gives a cash payment (“cash tendered”) possibly greater than the sale total. Extensions (or alternative flows): If invalid identifier entered. Indicate error. If customer didn’t have enough cash, cancel sales transaction.

Essential vs. Concrete style Essential: Focus is on intend. Avoid making UI decisions Concrete: UI decisions are embedded in the use case text. e.g. “Admin enters ID and password in the dialog box (see picture X)” Concrete style not suitable during early requirements analysis work.

<<actor>> Use Case Diagrams Primary actors to the left: have user goals. Supporting actors to the right: they provide a service. NextGen Process Sale Handle returns Cashier Payment Authorization Service Process Rental <<actor>> Tax Calculator Alternative notation for computer system actor