COMP 350: Object Oriented Analysis and Design Lecture 3 Case Studies, Inception & Use Cases References: Craig Larman Chapters 3-6.

Slides:



Advertisements
Similar presentations
1 Lecture 2: Processes, Requirements, and Use Cases.
Advertisements

© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Chapter 4: Inception is Not the Requirements Phase
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.
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
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,
Use Cases & Requirements Analysis By: Mostafa Elbarbary.
Understanding Requirements
Copyright ©2004 Cezary Z Janikow 1 Use Cases n Within Requirements discipline/workflow n Verbal descriptions of important functional (behavioral, transactional,
Dr. Kivanc DincerCS319 Week 1 - Sept.12,20051 Chapter 4 INCEPTION IS NOT THE REQUIREMENTS PHASE Objectives Define the inception step. Motivate the following.
1 Lecture 1: Processes, Requirements, and Use Cases.
Jan 8, Ron McFadyen1 Waterfall Spiral UP Case study UML Use Cases.
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
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.
Object-Oriented Analysis and Design
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.
Chapter 1 , 2 , 3 and 4 Applying UML and Patterns -Craig Larman
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.
Inception Is there a project in there? What’s the vision, scope & business case?
TK2023 Object-Oriented Software Engineering CHAPTER 3 CASE STUDY: POS SYSTEM.
Object-Oriented Analysis and Design Jan 14, 2009.
Chapter 7 Applying UML and Patterns Craig Larman
Jan 7, A UP project organizes the work and iterations across four major phases: – Inception -- approximate vision, business case, scope, vague estimates.
 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
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
Inception Chapter 4 Applying UML and Patterns -Craig Larman.
OO Methodology Inception Phase.
COMP-350 Object-Oriented Analysis and Design Drawing System Sequence Diagrams Reference: Larman, Chapter 9.
R R R CSE870: Advanced Software Engineering: UML-- Use Cases1 Use Cases and Scenarios.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Software Engineering 1 Object-oriented Analysis and Design Chap 24 Iteration 2 More Patterns.
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.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Chapter 6: Use Cases.
Inception is not Requirement phasee Chapter 3 and 4 Applying UML and Patterns -Craig Larman.
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Writing Use Cases: Requirements in Context.
Understanding Requirements
Larman chapter 61 Use cases Larman chapter 6. 2 Fig. 6.1.
Chapter 8: Iteration 1 - Basics.  We review here the requirements for first iteration of our case studies. They are a subset of the requirements as described.
Dr. Awais Majeed Object Oriented Design and UML.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
Chapter 8. Iteration 1, Elaboration: book view differs from reality for pedagogical reasons not doing “risk-driven” up front uses many OOA/D skills should.
Larman chapter 41 Inception Larman chapter 4 and 7.
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,
Elaboration popo.
Use Cases and Scenarios
UML Use Case Diagrams.
Writing Use Cases.
Use Case Modeling.
Software Requirements
Other System Requirements
Use cases Dr. X.
Presentation transcript:

COMP 350: Object Oriented Analysis and Design Lecture 3 Case Studies, Inception & Use Cases References: Craig Larman Chapters 3-6

Fig. 3.1

Fig. 3.2

Next Gen POS – Case Study 1 A computerized application used to record sales and handle payments Typically used in a retail store Includes both hardware components such as _____ and software components Interfaces to several external systems such as ____ Must be fault tolerant, e.g. if an external service is temporarily unavailable Must support multiple and varied client-side terminals and interfaces Flexibility and customization to cater to business rules of different prospective clients

Monopoly Game – Case Study 2 An example that shows OOAD can be applied to different problems The game will run as a simulation One person starts the game and indicates the number of simulated players The game runs to completion, presenting a trace of the activity during the simulated player turns.

Inception Inception is not the requirements phase Initial short step to establish a common vision and a basic scope for the project A number of questions need to be explored: What is the vision and business case for this project? Is it feasible? Buy and/or build? Rough estimate of cost. Should we proceed or stop? The intent is to establish some initial common vision for the objectives of the project, determine if it is feasible and decide if it is worth some serious investigation in elaboration.

What artifacts may start in inception? Vision and business case Describes high-level goals and constraints. Use Case model Describes functional requirements Supplementary specification Describes other requirements Glossary Key domain terminology 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.

Introduction to Requirements Requirements are system capabilities and conditions to which the system must conform. Functional requirements Features and capabilities. Recorded in the Use Case model (see next), and in the systems features list of the Vision artifact. Non-functional (or quality requirements) Usability (Help, documentation, …), Reliability (Frequency of failure, recoverability, …), Performance (Response times, availability, …), Supportability (Adaptability, maintainability, …) Recorded in the Use Case model or in the Supplementary Specifications artifact. The nature of UP supports changing requirements.

Requirements Artifacts Use Case Model Supplementary Specification Glossary Vision Business Rules

Evolutionary Requirements UP embraces change in requirements as a fundamental driver on projects. This is at the heart of waterfall vs iterative & evolutionary thinking

Sample UP Artifacts

Use Case Diagram

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 cases and adding value A key point is to focus on the question “how can using the system provide observable value to the user, or fulfill their goals?” Use cases mainly constitute functional requirements.

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.

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.

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

Finding primary actors, goals and use cases Choose the system boundary. Identify primary actors. Those that have user goals fulfilled through using services of the system For each actor identify their user goals. Tabulate findings in the Vision artifact. Define use cases that satisfy user goals; name them according to their goal.

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