Auburn University http://www.eng.auburn.edu/~xqin COMP 2710 Software Construction Use Case Analysis and Exercises (Part 2) Dr. Xiao Qin Auburn University.

Slides:



Advertisements
Similar presentations
Use Case Diagrams Damian Gordon.
Advertisements

Use Case & Use Case Diagram
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
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.
A use case describes one “case” of how a user can use the system.
Use Case Diagram.
1 Lab Beginning Analysis and Design 4 Completion of first version of use case diagram initiates the processes of analysis and design. 4 UML provides.
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
From Problem Statement to Design
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
Interaction Modeling. Introduction (1) Third leg of the modeling tripod. It describes interaction within a system. The class model describes the objects.
Faculty of Computer & Information Software Engineering Third year
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
Faculty of Computer & Information
Behavioral Modeling: Sequence and Communication Diagrams Copyright © 2009 John Wiley & Sons, Inc. Copyright © 2005 Pearson Education Copyright © 2009 Kannan.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
Unified Modeling Language User Guide Section 4 - Basic Behavioral Modeling Chapter 16 - Use Cases Chapter 17 - Use Case Diagrams.
ATM Adv. SW Engineering
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Scenario A scenario is a sequence of steps describing an interaction between a user and a system. Use case is a set of scenarios tied together by a common.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
UML (Unified Modeling Language)
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
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.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
ACO 101: Use cases What do the users do?. When building a system You begin with the Use Case Analysis – When looking at the system as a whole, Use Case.
UC Diagram & Scenario RKPL C & D. Using Use Case Diagram Use case diagrams are used to visualize, specify, construct, and document the (intended) behavior.
Sept Ron McFadyen1 Include Relationship UC1:Process Sale … Main Success Scenario … 7. Customer pays and System handles payment. … Extensions.
1 Case Study and Use Cases for Case Study Lecture # 28.
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.
Auburn University COMP 2710 Software Construction Use Case Analysis – Examples and Exercises Dr. Xiao Qin Auburn University.
Systems Analysis and Design in a Changing World, Fourth Edition
Business Process and Functional Modeling
Welcome to M301 P2 Software Systems & their Development
Using Use Case Diagrams
Business System Development
COMP 2710 Software Construction Class Diagrams
Use Case Modeling - II Lecture # 27.
ATM OO Design and Implementation Case Study
Recall The Team Skills Refining the Use cases
Recall The Team Skills Analyzing the Problem (with 5 steps)
Arab Open University 2nd Semester, M301 Unit 5
Exercices & Corrections Week 3
UML Use Case Diagrams.
OO Domain Modeling With UML Class Diagrams and CRC Cards
Requirements: Use Case Models and Narratives
Use Case Model Use case description.
Concepts, Specifications, and Diagrams
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Informatics 43 Discussion, April 8, 2016
Chapter 9 Use Cases.
Object Oriented Analysis and Design
Use Cases & Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Software Design Lecture : 15.
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Use Case Model Use case diagram – Part 2.
Using Use Case Diagrams
Seminar 2 Design of Informatics Systems
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Interaction Modeling Extracted from textbook:
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Test Design Techniques Software Testing: IN3240 / IN4240
Presentation transcript:

Auburn University http://www.eng.auburn.edu/~xqin COMP 2710 Software Construction Use Case Analysis and Exercises (Part 2) Dr. Xiao Qin Auburn University http://www.eng.auburn.edu/~xqin xqin@auburn.edu Dropbox example: http://www.youtube.com/watch?v=OFb0NaeRmdg

Review: Use Case Diagrams UML use case relationship -symbols Relationships: Use cases may be related to other use cases. 2

Review: UML use case relationship symbols - Generalization A use case that is a variation on normal behavior of another use case describes a generalization relationship. These generalization use case relationships can be used to describe actions when an alternative behavior must be carried out for some reason. 3

UML use case relationship Generalization - Example 4

Exercise 3 – Generalization Please create a use case diagram using the following component Phone Order, Customer Internet customer Place Order, Internet Order 5

UML use case relationship symbols – include or use A use case may include another use case. A use case that is included is generally a common behavior that many use cases may need. One use case will use the services of another use case. <<includes>>, <<include>>, <<use>>, <<uses>> 6

UML use case relationship include or use - Example 7

Exercise 4 – UML use case relationship include or use Review Transcript Data use case is used by the Register for Course use case to be sure the student has met the course's prerequisites. Review Transcript Data use case is also used by Review Graduate Student use case to be sure that all program requirements have been met for graduation. (review transcript data) <------- <<include>>----- -- (register for course) --------------- students ^ | <<include>> reviewer -------(review graduate student) 8

UML use case relationship symbols – extend or extends A use case may extend a use case by adding new actions to it. <<includes>>, <<include>>, <<use>>, <<uses>> 9

UML use case relationship extend or extends - Example Question? How about Turn – include -->turn left | include V turn right 10

Exercise 5 – UML use case relationship extend or extends Use case Register for Distance Course may extend use case Register for Course. Additional actions must be performed when a student registers for a distance course. reviewer ------- (register for course) <-- extend -- (register for distance course) Pointing to the base case 11

What is the difference between uses/includes and extends? Question? How about Turn – include -->turn left | include V turn right Re: difference between extends and generalization in Use case diagrams? References: http://coding.derkeiler.com/Archive/General/comp.object/2005-05/msg00246.html The extend relationship exists where one use case optionally has its behavior inserted into another. The extend relationship defines one or  more extension points within the extended use case and a condition.  When the first extension point is reached, the condition is evaluated  and the decision is made to insert the actions of the extending use  case or not.  The generalization relationship is good old fashioned inheritance. It  represents a taxonomic (eg "is a") relationship. In this case, the  specializing use case provides more specific actions that correspond to  the actions of the use case, but are special cases of those actions.  Ultimately, I think the difference here is comparable to the difference  between inheritance and composition of objects, just applied to use  cases. An extending use case may be reusable in ways that don't depend  on the extended case. For example, a retailer might extend a "make  payment" use case with "apply for credit card". The latter use case  need not be tied solely to the "make payment" use case.  The generalization relationship between use cases is under used in  practice, probably because there aren't many examples out there showing  how to use it. An example of this would be "make payment" generalizing  "make payment by check", "make payment by credit card", "make payment  by gift certificate" etc... Each of these specializations accomplishes  the actions of "make payment".  I personally, think generalization use cases are very useful, because  they allows you to outline a generic set of actions before enumerating  special cases that need special treatment. To use an extend  releationship, the extended use case has to identify the extensions,  including which use cases, the extension points, and the conditions.  Not so with a generalization. If tomorrow the system requirements  change so that payment via paypal is accepted, I do not have to rewrite  the "make payment" use case.  The biggest problem that prevents wider use of generalization is that  it seems hard to figure out a good way to document it when writing out  the use case steps in the typical actor action / system response  format. Some authors suggest a "do one of the following" step in the  general use case. I think that defeats the whole purpose of allowing  the parent not to care about what children exist or whether they even  do exist. I just imagine a "select payment type" question that will be  added at design time (or runtime via deployment descriptors, etc...) to  allow navigation to the use cases that specialize "make payment".  In UML 2.0 there are three kinds of directed relationships between use  cases: extend, include, and generalization. I actually think that  include is a special case of extend (occuring where the condition is  always true). These relationships have been revised several times, and  I still think they are somewhat confusing.  12

Development of a Use Case Diagram Identify all of the actors who will use the system. Interview these actors to identify the functions that they need to perform. (use cases) Identify scenarios (sequence of steps to accomplish a use case). Identify common steps within the different scenarios. Separate them into different use cases so that they can easily be included in other scenarios. Identify relationships between use cases. Give an example: www.dropbox.com Log in as a use case 13

Put it all together: 14

Flows of Events for Individual Use Cases - System Startup Use Case The system is started up when the operator turns the operator switch to the "on" position. The operator will be asked to enter the amount of money currently in the cash dispenser A connection to the bank will be established. Then the servicing of customers can begin. Give an example: www.dropbox.com Log in as a use case 15

Flows of Events for Individual Use Cases Exercise - System shutdown Use Case The system is shut down when the operator makes sure that no customer is using the machine, and then turns the operator switch to the "off" position. The connection to the bank will be shut down. Then the operator is free to remove deposited envelopes, replenish cash and paper, etc. 16

Summary Use Cases describe the behavioral aspects of the system. Use cases are not design tools. Use Cases are a convenient way to document the functions that the system must support. Use Cases are used to identify the components (classes) of the system. Use case relationships? Why use cases are not design tools? - Just functional descriptions not software structure. 17