Fall 2002 SJSU -- CmpE Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José.

Slides:



Advertisements
Similar presentations
Introduction to UML: Structural &Use Case Modeling
Advertisements

A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Use cases.
Analysis and Design with UML
Use Case - Example University library system requirements
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Use-case Modeling.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Software Engineering Recitation 3 Suhit Gupta. Review CVS problems XML problems – XML/XSD/DTD/SCHEMAS.
SwE 313 Case Study Registration System.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
Fall 2002 SJSU -- CmpE Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José.
Part 1 Structural Modeling Use case modeling
L3-5d-S1 Class Diagrams © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
Introduction to UML: Structural Modeling and Use Cases Qing Ding SSE USTC Object Modeling with OMG UML Tutorial Series © OMG and Contributors:
© M.E. Fayad SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José.
L5-S1 Class Diagrams 2003 SJSU -- CmpE Software Patterns Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
Introductory case study. 2 The problem The most difficult part of any design project is understanding the task you are attempting You have been contacted.
1 Business Models Modeling. 2 Why Model the Business Business modeling is a technique to help answer critical questions, such as: What do the workers.
Page 1 R Copyright © 1997 by Rational Software Corporation Analysis and Design with UML.
Software Engineering Case Study Slide 1 Introductory case study.
Use Case Diagram : Library System
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
The chapter will address the following questions:
Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
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.
Page 1 What is the UML? UML stands for Unified Modeling Language The UML combines the best of the best from – Data Modeling concepts (Entity Relationship.
Object Modeling with UML: Introduction to UML Cris Kobryn Chief Technologist E.solutions, EDS November 1999 © 1999 OMG and Tutorial Contributors: EDS,
Introduction to UML 1 Quick Tour Why do we model? What is the UML? Foundation elements Unifying concepts Language architecture Relation to other OMG technologies.
L7-S1 UC Diagrams 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Use Case Modeling. What is use case modeling? Core concepts Diagram tour When to model use cases Modeling tips Example: Online HR System.
Page 1  Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling captures essential parts of.
Page 1 R Copyright © 1998 by Rational Software Corporation Visual Modeling and the UML.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
REQUIREMENTS CAPTURE 1 ASU Course Registration System Use-case Model Actor.
Object-Oriented Analysis and Design NGSSC Object-Oriented Scientific Programming, June 2012.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
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.
Analysis & Design with UML
1 The Unified Modeling Language. 2 The Unified Modeling Language (UML) is a standard language for writing software blueprints. The UML may be used to.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
REQUIREMENTS CAPTURE 1 ASU Course Registration System Use-case Model.
Page 1 R Copyright © 1997 by Rational Software Corporation Analysis and Design with UML Presentation was downloaded (and is available for free) from Rational.
2/6/03C-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Requirements and Use Cases.
Page 1  Copyright © 1997 by Rational Software Corporation Putting the UML to Work The ESU University wants to computerize their registration system –
IST 210 The Rational Unified Process (RUP) and Unified Modeling Language (UML) Todd Bacastow IST 210: Organization of Data.
Visual Modeling and the UML. Object Oriented Analysis and Design.
UML - Development Process 1 Software Development Process Using UML.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
Page 1  Copyright © 1997 by Rational Software Corporation Putting the UML to Work The ESU University wants to computerize their registration system –
1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 April 13, 2005.
1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 November 30, 2004.
1 Advanced DataBases Unified Modelling Language An Introduction and Use Case Lecture 2 Susan Curtis.
Analysis and Design with UML
CMPE 280 Web UI Design and Development August 29 Class Meeting
Use Case Modeling - II Lecture # 27.
Creating Use Cases.
Business Models Modeling.
Start at 17th March 2012 end at 31th March 2012
Component-Based & Software Reuse
The Unified Modeling Language
Software Architectures
Lecture 8 Object Concepts
Presentation transcript:

Fall 2002 SJSU -- CmpE Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José State University One Washington Square San José, CA URL:

L6-S2Modeling September 6, 2000 UNL – CSE M.E. Fayad Overview Quick tour Use case modeling

L6-S3Modeling September 6, 2000 UNL – CSE M.E. Fayad Quick Tour Why do we model? What is the UML? Foundation elements Unifying concepts Language architecture Relation to other OMG technologies

L6-S4Modeling September 6, 2000 UNL – CSE M.E. Fayad Provide structure for problem solving Experiment to explore multiple solutions Furnish abstractions to manage complexity Reduce time-to-market for business problem solutions Decrease development costs Manage the risk of mistakes Why do we model?

L6-S5Modeling September 6, 2000 UNL – CSE M.E. Fayad Tijuana “shantytown”: The Challenge

L6-S6Modeling September 6, 2000 UNL – CSE M.E. Fayad Fallingwater: The Vision

L6-S7Modeling September 6, 2000 UNL – CSE M.E. Fayad Why do we model graphically? Graphics reveal data. –Edward Tufte The Visual Display of Quantitative Information, bitmap = 1 megaword. –Anonymous visual modeler

L6-S8Modeling September 6, 2000 UNL – CSE M.E. Fayad The UML is a graphical language for –specifying –visualizing –constructing –documenting the artifacts of software systems Quick Tour

L6-S9Modeling September 6, 2000 UNL – CSE M.E. Fayad Define an easy-to-learn but semantically rich visual modeling language Unify the Booch, OMT, and Objectory modeling languages Include ideas from other modeling languages Incorporate industry best practices Address contemporary software development issues –scale, distribution, concurrency, executability, etc. Provide flexibility for applying different processes Enable model interchange and define repository interfaces UML Goals

L6-S10Modeling September 6, 2000 UNL – CSE M.E. Fayad Use Case Modeling What is use case modeling? Core concepts Diagram tour When to model use cases Modeling tips Examples: Library and University Registration

L6-S11Modeling September 6, 2000 UNL – CSE M.E. Fayad What is use case modeling? use case model: a view of a system that emphasizes the behavior as it appears to outside users. A use case model partitions system functionality into transactions (‘use cases’) that are meaningful to users (‘actors’).

L6-S12Modeling September 6, 2000 UNL – CSE M.E. Fayad Use Case Modeling: Core Elements

L6-S13Modeling September 6, 2000 UNL – CSE M.E. Fayad Use Case Modeling: Core Relationships >

L6-S14Modeling September 6, 2000 UNL – CSE M.E. Fayad Use Case Modeling: Core Relationships (cont’d) >

L6-S15Modeling September 6, 2000 UNL – CSE M.E. Fayad Shows use cases, actor and their relationships Use case internals can be specified by text and/or interaction diagrams Kinds –use case diagram –use case description Use Case Diagram Tour

L6-S16Modeling September 6, 2000 UNL – CSE M.E. Fayad Fig. 3-44, UML Notation Guide Use Case Diagram

L6-S17Modeling September 6, 2000 UNL – CSE M.E. Fayad Fig. 3-45, UML Notation Guide Use Case Relationships

L6-S18Modeling September 6, 2000 UNL – CSE M.E. Fayad Fig. 3-46, UML Notation Guide Actor Relationships

L6-S19Modeling September 6, 2000 UNL – CSE M.E. Fayad Use Case Description: Change Flight n Actors: traveler, client account db, airline reservation system n Preconditions:  Traveler has logged on to the system and selected ‘change flight itinerary’ option n Basic course  System retrieves traveler’s account and flight itinerary from client account database  System asks traveler to select itinerary segment she wants to change; traveler selects itinerary segment.  System asks traveler for new departure and destination information; traveler provides information.  If flights are available then  …  System displays transaction summary. n Alternative courses  If no flights are available then …

L6-S20Modeling September 6, 2000 UNL – CSE M.E. Fayad When to model use cases Model user requirements with use cases. Model test scenarios with use cases. If you are using a use-case driven method –start with use cases and derive your structural and behavioral models from it. If you are not using a use-case driven method –make sure that your use cases are consistent with your structural and behavioral models.

L6-S21Modeling September 6, 2000 UNL – CSE M.E. Fayad Use Case Modeling Tips Make sure that each use case describes a significant chunk of system usage that is understandable by both domain experts and programmers When defining use cases in text, use nouns and verbs accurately and consistently to help derive objects and messages for interaction diagrams Factor out common usages that are required by multiple use cases –If the usage is required use > –If the base use case is complete and the usage may be optional, consider use > A use case diagram should –contain only use cases at the same level of abstraction –include only actors who are required Large numbers of use cases should be organized into packages

L6-S22Modeling September 6, 2000 UNL – CSE M.E. Fayad Example I: Library System

L6-S23Modeling September 6, 2000 UNL – CSE M.E. Fayad Sample Problem Statement You have been contracted to develop a computer system for a university library. The library currently uses a 1960s program, written in an obsolete language, for some simple bookkeeping tasks, and a card index, for user browsing. You are asked to build an interactive system which handles both of these aspects online.* *Example from: “Using UML”, by: Pooley and Stevens

L6-S24Modeling September 6, 2000 UNL – CSE M.E. Fayad First Step! Time to start gathering the user requirements. –Different users will have different, sometimes conflicting priorities –Users will not, necessarily know what they want –It is very possible to miss something vital –The managers do not always know what the users have to do –Users can be, and frequently are, hostile. Why? What can be done about it?

L6-S25Modeling September 6, 2000 UNL – CSE M.E. Fayad The Use Case Model We must now identify the users of the system and the tasks they must undertake with the system. The details of the use case should be documented, using a Use Case Template.

L6-S26Modeling September 6, 2000 UNL – CSE M.E. Fayad The Use Case Model Use Case Template PACKAGE: _____________________________ [Description (an over view of the package)]. USE CASES: [A package will have one or more Use Cases]. Use Case No.: [1.1] Use Case Title: [A descriptive title] [Ex. adding a new patient, or adding a new role]. Actors: _______, _______, _______, _______. [Any users of the Use Case, ex. human, machine, other systems or subsystems]. Roles: _______, _______, _______, _______. [There is a different role per actor in every Use Case]. Classes: _______, _______, _______, _______. [List all the classes within the Use Case Description]. Enduring Business Themes (EBT): _______, _______, _______, _______. Business Objects (BO): _______, _______, _______, _______. Industrial Objects (IO): _______, _______, _______, _______. [This represents a clear classification of all the classes within the use case description]. Description of the Use Case: [Describes the data flow and the logic flow of the Use Case].

L6-S27Modeling September 6, 2000 UNL – CSE M.E. Fayad Copyright © 1997 by Rational Software Corporation Documenting Use Cases A flow of events description is created for each use case –Written from an actors point of view Details what the system must provide to the actor when the use case is executed Typical contents –How the use case starts and ends –Normal flow of events –Alternate flow of events –Exceptional flow of events

L6-S28Modeling September 6, 2000 UNL – CSE M.E. Fayad Actors An actor is someone or something that must interact with the system under development BookBorrowerBrowserLibrarianJournalBorrower

L6-S29Modeling September 6, 2000 UNL – CSE M.E. Fayad Use Cases Actors are examined to determine their needs –BookBorrower Checkout and return books –Browser locate and peruse items of interest –Librarian maintain order and accountablility –JournalBorrower checkout and return journals Checkout JournalCheckout BookReturn Book

L6-S30Modeling September 6, 2000 UNL – CSE M.E. Fayad Use Case Model The usual course through the system when actor is using the system is called the basic course. Other courses would be modeled as extending Use Cases. An example of a basic course would be: –Borrow copy of book A BookBorrower presents a book. The system checks that the potential borrower is a member of the library, and that s/he does not already have the maximum permitted number of books on loan. This maximum is six unless the member is a staff member, in which case it is 12. If both checks succeed, the system records that this library member has this copy of the book on loan. * *Example from: “Using UML”, by: Pooley and Stevens

L6-S31Modeling September 6, 2000 UNL – CSE M.E. Fayad Use Case Diagram for the first iteration *Example from: “Using UML”, by: Pooley and Stevens

L6-S32Modeling September 6, 2000 UNL – CSE M.E. Fayad What Requirements would an ideal system satisfy? Books and Journals: The library contains books and journals. It may have several copies of a given book. Some of the books are for short term loans only. All other books may be borrowed by any library member for three weeks. Only members of staff may borrow journals. Members of the library can normally borrow up to six items at a time, but members of staff may borrow up to 12 items at one time. New books and journals arrive regularly, and are sometimes disposed of. The current year’s journals are sent away to be bound into volumes at the end of each year.* *Example from: “Using UML”, by: Pooley and Stevens

L6-S33Modeling September 6, 2000 UNL – CSE M.E. Fayad What Requirements would an ideal system satisfy? Borrowing: It is essential that the system keep track of when books and journals are borrowed and returned, since the current system already does that. The new system should produce reminders when a book is overdue. There may in future be a requirement for users to be able to extend the loan of a book if it is not reserved. Browsing: The system should allow users to search for a book on a particular topic, by a particular author, etc., to check whether a copy of the book is available for loan, and if not, to reserve the book. Anyone can browse in the library.* *Example from: “Using UML”, by: Pooley and Stevens

L6-S34Modeling September 6, 2000 UNL – CSE M.E. Fayad Use Case Diagram for the library *Example from: “Using UML”, by: Pooley and Stevens

L6-S35Modeling September 6, 2000 UNL – CSE M.E. Fayad Example II: University Registration The ESU University wants to computerize their registration system –The Registrar sets up the curriculum for a semester One course may have multiple course offerings –Students select 4 primary courses and 2 alternate courses –Once a student registers for a semester, the billing system is notified so the student may be billed for the semester –Students may use the system to add/drop courses for a period of time after registration –Professors use the system to receive their course offering rosters –Users of the registration system are assigned passwords which are used at logon validation

L6-S36Modeling September 6, 2000 UNL – CSE M.E. Fayad Copyright © 1997 by Rational Software Corporation Actors StudentRegistrarProfessorBilling System

L6-S37Modeling September 6, 2000 UNL – CSE M.E. Fayad Copyright © 1997 by Rational Software Corporation Use Cases Actors are examined to determine their needs –Registrar maintain the curriculum –Professor request roster –Student maintain schedule –Billing System receive billing information from registration Maintain ScheduleMaintain CurriculumRequest Course Roster

L6-S38Modeling September 6, 2000 UNL – CSE M.E. Fayad Copyright © 1997 by Rational Software Corporation Maintain Curriculum Flow of Events (description) This use case begins when the Registrar logs onto the Registration System and enters his/her password. The system verifies that the password is valid (E-1) and prompts the Registrar to select the current semester or a future semester (E-2). The Registrar enters the desired semester. The system prompts the professor to select the desired activity: ADD, DELETE, REVIEW, or QUIT. If the activity selected is ADD, the S-1: Add a Course subflow is performed. If the activity selected is DELETE, the S-2: Delete a Course subflow is performed. If the activity selected is REVIEW, the S-3: Review Curriculum subflow is performed. If the activity selected is QUIT, the use case ends.

L6-S39Modeling September 6, 2000 UNL – CSE M.E. Fayad Copyright © 1997 by Rational Software Corporation Use Case Diagram Use case diagrams are created to visualize the relationships between actors and use cases StudentRegistrarProfessor Maintain ScheduleMaintain CurriculumRequest Course Roster Billing System

L6-S40Modeling September 6, 2000 UNL – CSE M.E. Fayad Copyright © 1997 by Rational Software Corporation Uses and Extends Use Case Relationships As the use cases are documented, other use case relationships may be discovered –A uses relationship shows behavior that is common to one or more use cases –An extends relationship shows optional behavior Register for courses > Logon validation > Maintain curriculum

L6-S41Modeling September 6, 2000 UNL – CSE M.E. Fayad Possible Problems with Use Cases 1.Use Cases emphasize ordering. This can be considered to be incompatible with object technology. 2. Over modeling – Leads to requirement inflation.

L6-S42Modeling September 6, 2000 UNL – CSE M.E. Fayad Cautions Do not invent requirements! –Use cases are about the user’s requirements, not about what you, as the designer might think that the system could usefully do!

L6-S43Modeling September 6, 2000 UNL – CSE M.E. Fayad Acknowledgements Object Modeling with OMG UML: Introduction to UML –Cris Kobryn –Chief Scientist, InLine Software Co-Chair UML Revision Task Force August 2000 “Using UML: Software Engineering With Objects and Components” by: Rob Pooley and Perdita Stevens “Analysis and Design with UML” Copyright © 1997 by Rational Software Corporation © OMG and Tutorial Contributors: EDS, IBM, Enea Data, InLine Software, IntelliCorp, Kabira Technologies, Klasse Objecten, ObjectTime Ltd., Rational Software, Unisys

L6-S44Modeling September 6, 2000 UNL – CSE M.E. Fayad Bibliography and Suggested Reading “Object-Oriented Software Engineering: A use Case Driven Approach”, by Ivar Jacobsen “Use Case Modeling: Capturing User Requirements” by Edward Kenworthy ( “Structuring Use Cases With Goals” by Alistair Cockburn ( “Use Cases Fundamentals” by Alistair Cockburn ( “OOSC2: The Use Case Principle” by Bertrand Meyer ( ) “The Roles of Use Cases in Analysis” by Daniel A. Rawsthorne, PhD ( ) “The Misuse of Use Cases” By Dr. Timothy Korson ( ) “Constructing Useful Use Cases” By Dr. Timothy Korson ( )

L6-S45Modeling September 6, 2000 UNL – CSE M.E. Fayad Questions?