Presented by Ona Wilkins January 16, 2013 Use Cases.

Slides:



Advertisements
Similar presentations
Project Analysis Course ( ) Final Project Report Overview.
Advertisements

Beyond “The System Shall...” A Journey from Good to Great Requirements.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Information System Engineering
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Conversation Form l One path through a use case that emphasizes interactions between an actor and the system l Can show optional and repeated actions l.
Use cases and requirement specification - 1 Use case diagrams 3 use cases System boundaries Remember: Use case diagramming is a tool, not the requirements.
Bina Nusantara 7 C H A P T E R MODELING SYSTEM REQUIREMENTS WITH USE CASES.
Use Cases.
Lecture Nine Database Planning, Design, and Administration
Requirements Gathering : Determining the scope of the system 1. Elicitiation – fact finding 2. Specification 3. Validation.
Adding the Detail Filling in Use Case Templates. Use Case Template The use case diagram is important for visualizing a system and as a communication tool.
Software Requirements and the Requirements Engineering Process Chapters 5 and 6.
USE Case Model.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7 Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle.
RUP Requirements RUP Artifacts and Deliverables
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Advanced Topics in Requirement Engineering. Requirements Elicitation Elicit means to gather, acquire, extract, and obtain, etc. Requirements elicitation.
Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Developing Use Cases in a Group Carolyn L. Cukierman Face-to-Face Technology Conference March 27, 2000.
Interaction Modeling Interaction model describes how objects interact to produce useful results. Interactions can be modeled at different levels of abstraction:
Understanding User Requirements. Documenting Use Cases 2 At this stage of the exploration, the participants should be thinking of essential use cases.
Chapter 10 Information Systems Analysis and Design
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.
Use Cases 1. Last week  Introduction to software engineering  How is it different from traditional engineering?  Introduction to specification  Operational.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
UML-1 8. Capturing Requirements and Use Case Model.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
1 Structuring Systems Requirements Use Case Description and Diagrams.
Use Case Model Use case diagram.
Example: object diagram for Scheduler, v What is wrong with this diagram? Seems like a lot of similarity between Task and UnplannedTask Can use.
1 Modeling System Requirements with Use Cases. 2 Why Do We Need Use Cases? Primary challenge in a system design process –ability to elicit correct and.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Information Systems Analysis and Management Modeling Sys. Requirements with Use Cases Arnie Lund, Jeffrey Kim May 5, 2009 INFO380.
Systems Development Life Cycle
By Germaine Cheung Hong Kong Computer Institute
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
UML - Development Process 1 Software Development Process Using UML.
CSC480 Software Engineering Lecture 7 September 16, 2002.
1 Software Testing and Quality Assurance Lecture 17 - Test Analysis & Design Models (Chapter 4, A Practical Guide to Testing Object-Oriented Software)
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
1 International Institute of Business Analysis Vision: The world's leading association for Business Analysis professionals” Mission: To develop and maintain.
Use Cases Discuss the what and how of use cases: Basics Examples Benefits Parts Stages Guidelines.
Software Requirements and the Requirements Engineering Process
CMPE 280 Web UI Design and Development August 29 Class Meeting
Use Cases Discuss the what and how of use cases: Basics Benefits
Recall The Team Skills Analyzing the Problem (with 5 steps)
Use Case Model Use case diagram.
Systems Analysis and Design
Software Requirements analysis & specifications
Object Oriented Analysis and Design
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Use Case Modeling Part of the unified modeling language (U M L)
FdSc Module 107 Systems Analysis
Presentation transcript:

Presented by Ona Wilkins January 16, 2013 Use Cases

Who has a general idea of what a use case is? Who has attended training in Use Cases? Who has written Use Cases? Who likes them? Who does not like them?

What is a Use Case? A Requirements Gathering / Definition Tool Provides a method to organize a large number of requirements Provides a method to work with users to define their needs, and map them out. It works for small projects as well, including maintenance A different way of thinking – forces the definition of business process before defining the technical solution It focuses on the business’ point of view Works for transaction-type requirements

Actor Table / Use Case Definitions Two New Documents being utilized in the Requirements Gathering Process: 1. Actor Table 2. Use Cases

Actor Table / Use Case Definitions What is an Actor Table? An actor table identifies and classifies system users in terms of their roles and responsibilities. (not their job title) What are Use Cases? Use cases are descriptions in abstract terms of how actors use the system to accomplish goals. Each use case is a logical piece of user functionality that can be initiated by an actor and described from the actor’s point of view in a technology-neutral manner.

Actor Table Description What is an Actor Table? An actor table identifies and classifies system users in terms of their roles and responsibilities. (It is not a job title) Why use an Actor Table? To detect missing system users, to identify functional requirements as user goals (use cases), and to help the business clarify job responsibilities.

Actor Table

Use Case Description What are Use Cases? Use cases are descriptions in abstract terms (or not – can be detailed) of how actors use the system to accomplish goals. Each use case is a logical piece of user functionality that can be initiated by an actor and described from the actor’s point of view in a technology-neutral manner. Why use Use Cases? To reveal functional requirements by clarifying what users need to accomplish when interacting with the system. Use cases are a natural way to organize functional requirements and can be easier for users to understand and verify than textual functional requirements statements.

Use Case Description What do Use Cases do ? – Specify user Requirements as actor goals that are described as sequences of interactions between the actor and the system – Document detailed steps for normal system usage as well as for handling errors and variations – Help discover business rules and necessary data – Provide easy-to-read requirements documentation for users who cannot participate in face-to-face requirements elicitation – Provide a shorthand way to discuss sets of related scenarios – Group user requirements in a manner that facilitates requirements prioritization and determining incremental software releases – Provide a basis for developing test cases

Use Case Contents What does a Use Case include? 1.Header, containing high-level identification information about the use case 2.Brief description, summarizing what the use case accomplishes 3.Detailed steps, that the actor and system go through to accomplish the use case goal 4.Exceptions, describing the steps for handling errors and exceptions 5.Variations, describing the steps for handling alternative courses through each use case. Note: Every use case does not have to have the same level of detail; sometimes the header and brief description are sufficient.

What Use Cases Don’t Do: Document performance requirements Describe technical architecture requirements (e.g. storage, platform, network, memory, DBMS, etc.) Describe design protocols (e.g. events, messages, states) Describe GUIs (e.g. windows, icons, dialog boxes, etc.) Show concurrency

An Example of a Use Case: DO Use a Table – Do NOT use all text

The following questions can help you identify the steps of the Use Case: How does the actor interact with the system? What does the system do at this step (for example, present options, display data, execute a process)? What does the system do next? What does the actor do next? Is there part of the Use Case that is another Use Case? Note: Most steps will fit on one line. Variations (Alternate): If something in the step doesn’t or can’t happen, what should happen instead? What other possible actions can the user take at each step? Exceptions: What might go wrong when the system executes the step? What possible error conditions exist at each step of the main course? What are the interrupts that can happen at any time? If the user cancels out at any step, what should happen? How do I write a Use Case?

Where does it fit in the process? Write Descriptions Identify Use Cases Capture organization benefits Capture Frequencies Prioritize Use Cases Complete Header Information Write Normal Course (happy path) Write alternate courses and exceptions User Stories Process Flow High Level Requirements Anytime one or more users interact with a system, a Use Case can be helpful to describe those system interactions from the user’s perspective. Helps to answer the ‘How?’ in the requirements.

Personal History with ‘Use Cases’ Fall, 2006 – Attended the Business Analyst World conference in Chicago, and I opted to attend 2 day-long sessions on Use Cases. Created some for RFP for new system; stakeholders loved it – they ‘got it’. Used in Agile web re-design project; Developers used them as functional spec (in addition to Business Rules); BA used them as basis for test cases

My First Attempt Struggled with defining roles – tried to follow some rules Something learned at the conference: – There are not many rules – Some controversy among the experts My Decision – trying to utilize Use Cases, even if not perfect, is better than not using them at all – They really give the big picture, from start to finish – Event-Response format is an easy way to start – They define the details – input, output, business rules (still like to document business rules separately as well) – Easy to go from Current-State to Future-State – Gets it all defined up-front – reduces risk of missed requirements, incorrect requirements, scope change, etc. – Really!!! – Re-usable – Traceable – Foundation for Test Cases Paradigm Shift in some areas – spend time up-front – can’t just jump to technical solution – isn’t that great?

My Personal Experience – RFP – Business Decision – gather requirements – get internal estimate, do an RFI – Conducted brain-storming sessions on requirements (ya know…the old EDS and Arthur Anderson method) – ranked Must Have, Should Have, Nice to Have – Tried to Categorize – Letter Maintenance, Reports, Security, etc. – Stuck…Overwhelmed…wasn’t making sense to me, figured it wouldn’t make sense to the users, IT, or anyone else – it just wasn’t coming together – Attended Use Case Seminars - Thought – YES – this is it! – Played around with requirements that I had, organized some into Use Cases – Presented Use Case ppt, and my Use Cases. Received very positive feedback from business managers – it was all making sense…coming together – yahoo!

Remember what Bob Prentiss told us last fall, in his Simplexification of Process Modeling: QUIT when it is GOOD ENUF!

Recommended Reading The Software Requirements Memory Jogger by Ellen Gottesdiener Visual Models for Software Requirements by Joy Beatty and Anthony Chen (SEILEVEL) Writing Effective Use Cases by Alistair Cockburn