Use Cases CS 6961 – Lecture 4 Nathan Dykman. Neumont UniversityCS 322 - Lecture 102 Administration Homework 1 is due –Still reviewing the proposal, but.

Slides:



Advertisements
Similar presentations
Writing Good Use Cases - Instructor Notes
Advertisements

Plus-Delta Feedback CSSE371 – Fall, 2012 Sections 1 & 2 Overall – 15 people responded Thanks! Macintosh Plus, 1986, $ MB of RAM standard. Delta.
Project Analysis Course ( ) Final Project Report Overview.
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Systems Analysis and Design with UML Version 2.0, Second Edition
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
WEEK 4 Material Lecture 4a (Wed.). Use Cases/Actors o What is a use case ? l A sequence of actions performed by a system that yields an observable result.
Documenting Requirements using Use Case Diagrams
Use cases and requirement specification - 1 Use case diagrams 3 use cases System boundaries Remember: Use case diagramming is a tool, not the requirements.
Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
171 Use Case Descriptions Chapter 4 – Facade Iteration Initial Requirements (Inception Phase)
Chapter 6 Functional Modeling
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
Functional Modeling Chapter 6.
Recall The Team Skills Analyzing the Problem
USE Case Model.
Software Engineering 2003 Jyrki Nummenmaa 1 USE CASES In this lecture: Use cases - What are use cases? - Why to use use cases? - How to write.
CS 8532: Adv. Software Eng. – Spring 2007 Dr. Hisham Haddad Tuesday Class will start momentarily. Please Stand By … CS 8532: Advanced Software.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
CS 4310: Software Engineering Lecture 3 Requirements and Design.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa USE CASES In this lecture: Use cases - What are use.
Object-Oriented Analysis - Instructor Notes
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Making a great Project 2 OCR 1994/2360. Analysis This is the key to getting it right. Too many candidates skip through this section. It’s worth 20% of.
Eliciting integration scenarios Proposal for Meeting
Understanding User Requirements. Documenting Use Cases 2 At this stage of the exploration, the participants should be thinking of essential use cases.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
1 © 2005 course technology1 1 1 University Of Palestine Chapter 5 (Cont.) Scoping the IT Project with System Use Cases.
CS 4310: Software Engineering Lecture 4 System Modeling The Analysis Stage.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 4: Restaurant.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Designing Complex Software Systems: Introduction CS 6961 – Lecture 0 Nathan Dykman.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
UML-1 3. Capturing Requirements and Use Case Model.
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.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
1 Structuring Systems Requirements Use Case Description and Diagrams.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 Use Case Diagrams.
1 Chapter 4 Analyzing End-to-End Business Processes.
Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Sprint (2) Deliverables Capstone Courses. What are Sprint (2) Deliverables ? 1.Revised High level planning and scheduling WBS and Gannt (with risk assessment).
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
University of Utah SoCCS Lecture 121 Dynamic Models in Design CS6961 – Lecture 12 Nathan Dykman.
System sequence diagrams
Object-Oriented Analysis and Design with the Unified Process by Şensev Alicik.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Tegarden Chapter 6: Functional Modeling.
Analysis Modeling CpSc 372: Introduction to Software Engineering
UML - Development Process 1 Software Development Process Using UML.
Use Case Model Use case description.
Team Skill 3: Defining the System The Vision Document (16) 1.
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Pepper modifying Sommerville's Book slides
Chapter 4: Business Process and Functional Modeling, continued
Systems Analysis and Design in a Changing World, 6th Edition
Recall The Team Skills Analyzing the Problem (with 5 steps)
EKT 421 SOFTWARE ENGINEERING
Systems Analysis and Design in a Changing World, 6th Edition
Presentation transcript:

Use Cases CS 6961 – Lecture 4 Nathan Dykman

Neumont UniversityCS Lecture 102 Administration Homework 1 is due –Still reviewing the proposal, but so far, no problems. If you have questions, come talk to me. Any questions before we move onto the latest section?

Neumont UniversityCS Lecture 103 What we’ve covered We have discussed the basics of class in UML 2.0 –And applied them in a design exercise Now, we will be covering the basics of Use Cases –And how Use Cases can be used to document the requirements of a system.

Neumont UniversityCS Lecture 104 Requirements Gathering To be honest, we are not going into great depth into this topic –It is a whole area of study in CS in it’s own right. But, we should cover enough of it so that you can start writing your own use cases –For those doing a project, this will be your next assignment.

Neumont UniversityCS Lecture 105 Discussion What are software requirements? Have you worked with requirements before? Have you gathered your own requirements for a project? Why are requirements important to have? And so on.

Neumont UniversityCS Lecture 106 Software Requirements While there is a lot to be said about requirements are, I focus on the following aspect of requirements –Requirements document the functionality of a software system from the perspective of the users and stakeholders of that system. –There are many other aspects as well Non-functional requirements is an example of this.

Neumont UniversityCS Lecture 107 Use Cases Use Cases are a very common requirements gathering technique –Not the only one, but very popular There are many different approaches to use cases, but all have this in common: –Use cases are description of events in the system, described from the perspective of various actors in the system, that provide value to the actors in that system.

Neumont UniversityCS Lecture 108 Use-case Based Requirements Use-case based requirement documents are structured around the following: –Actors: The roles that are supported/required in the system –Use Cases: How those actors interact with the system, from their perspective Supplemented by the following information: –Glossary, Additional Specifications, etc.

Neumont UniversityCS Lecture 109 Actors Actors represent the various roles in a system. –Since these are roles, one person can play many roles, or many people can take on a role What kind of roles would there be in –A restaurant? A bank? A eCommerce System? A graphics application?

Neumont UniversityCS Lecture 1010 Anatomy of an Actor The actors (or roles) in the system need to be documented –Many ways to approach this. –I use the following outline on the next slide as a document template –What you use may differ from this But the content provided must be there.

Neumont UniversityCS Lecture 1011 Actor Outline Actor #: Actor Name Brief Description –A bit more information about this actor Actor Goals (optional) –What does the actor mainly want to do, what is their purpose in the system? Primary Use Cases –A list of use cases in which this actor is the primary actor (more on this) Secondary Use Cases (optional) –The other use cases in which this actor participates in

Neumont UniversityCS Lecture 1012 Use Cases All use cases contain a flow of events from the perspective of the actors –Use cases often have a principal actor(s). A principal actor(s) are those that either start a use case flow, or derive the most value from that use case. The level of use case documentation varies from project to project –Some are very formal, others very informal

Neumont UniversityCS Lecture 1013 Anatomy of a Use Case Like Actors, Use Cases must also be documented. –I use the following outline on the next slide as a document template –What you use may differ from this in some details But the basics must be there.

Neumont UniversityCS Lecture 1014 Use Case Outline Use Case #: Title Actors: –Primary Actor: Actor1 –Secondary Actors: Actor2, Actor3… Use Case Flow: –Preconditions (optional) –Main Flow 1. Step 1 2. Step 2 –Alternative Flows 2a. Alternative to Step 2 –Postconditions (optional) Minimal Success Guarantee (optional) Notes (optional)

Neumont UniversityCS Lecture 1015 Use Case Flows There is a real art to documenting the flow of a use case. The things to look for –An appropriate level of detail. Not too much, but not too little –Documenting important alternative flows But not documenting every single possiblity –Keeping the flow at the appropriate level of abstraction

Neumont UniversityCS Lecture 1016 Use Case Flows Each step in a flow should be active –It should be very clear if an actor is doing that step, or if the system is doing that step. –Each step should be concise and easy to follow. –Keep the flows simple as possible.

Neumont UniversityCS Lecture 1017 Use Case Flows In some cases, people use plain text to document the flow of a use cases I prefer to use an outline of numbered steps –This way, it is easy to show substeps in a outline –Also, I can show alternates to a step by adding a letter to the step (for example 2a, 4b, etc.)

Neumont UniversityCS Lecture 1018 Use Case Models In UML In UML, there is a Use Case Model These models only show how Actors and Use Cases relate to each other –They do not show the flow of use cases –They are not an replacement for use case documentation and text. It is best to think of use case models as a “roadmap” to a set of actors, use cases.

Neumont UniversityCS Lecture 1019 Use Case Models in UML In many cases, having a Use Case Model is not worth the extra effort –It is only handy if you have a fairly complex Use Case model Lots of use cases, with extension points Generalized use cases for reuse in domain- specific software Etc.

Neumont UniversityCS Lecture 1020 Use Case Model Example

Neumont UniversityCS Lecture 1021 Use Case Associations The main kind of association is between Actors and Use Cases –What actors play what part in what use cases There are also a set of dependencies between use cases –We show one in the previous examples –These are often hard to explain and not commonly used, so we won’t cover them

Neumont UniversityCS Lecture 1022 Use Cases and UML Models In some cases, complex use case flows can use other UML models as additional documentation –UML sequence diagrams or activity diagrams –In either case, one should consider if the use case can be split up or made simpler to avoid this complexity –Why do we try to avoid UML models here? Believe me, we don’t in most other places

Neumont UniversityCS Lecture 1023 Use Cases: Learn By Doing There is a lot of excellent information on writing use cases –Writing Effective Use Cases, Alistair Cockburn is one book I particularly like I encourage you all to do some research on this topic, but for now, we learn by doing.

Neumont UniversityCS Lecture 1024 Use Cases: Don’t Panic You will not become great use case developers overnight –If it seems easy, just trust that it is not Of course, you could be truly gifted! –Remember, at first, you are likely to consume use cases, not develop them In some cases, you may just get a design to implement (don’t be afraid to ask for the use cases, however)

Neumont UniversityCS Lecture 1025 Why Use Cases Matter Hopefully, you can see the basics on how Use Cases can help a project –There’s just lots of different ways to develop use cases Pick what works best for your team. –There is not one “right solution” or “right way” of use case development Again, what works best is what works best for your team.

Neumont UniversityCS Lecture 1026 Use Case Review Okay, hopefully you have the essence of what Use Cases are. –The rest of the time, I will reserve for Q/A. –Hint: Asking questions now may help you on your lab later.