SYST39409 - Object Oriented Methodologies OBJECT ORIENTED METHODOLOGIES J.N.Kotuba Week02 1 Agenda 2 Assignment No 1 posted Review details SLATE-Weekly Topical Outline and Schedule modified Recap last lesson Learning outcomes for today Develop the requirements model & the Unified Process Use cases Use case diagrams Use case narratives SYST39409 - Object Oriented Methodologies J.N.Kotuba Last Class 3 Introduced Unified Modeling Language (UML) Discussed Models Tools Techniques SYST39409 - Object Oriented Methodologies J.N.Kotuba Context Diagram –Pharmacy System 4 SYST39409 - Object Oriented Methodologies J.N.Kotuba Objectives for today 5 Explain the difference between the Waterfall SDLC and the unified process Learn how to use the Event Table Technique to identify use cases Learn how to construct a use case diagram Learn how to build a use case narrative for each use case and why the narratives are important Be able to explain the difference between the system boundary and the automation boundary SYST39409 - Object Oriented Methodologies J.N.Kotuba The Unified Process 6 Four key stages. Inception. Elaboration Construction Transition SYST39409 - Object Oriented Methodologies J.N.Kotuba Unified Process:Inception 7 Go ahead on project. Scope determined. Business case developed for project. SYST39409 - Object Oriented Methodologies J.N.Kotuba Unified Process: Elaboration 8 Basic architecture of the system developed. Construction plan is approved. Risks are identified. SYST39409 - Object Oriented Methodologies J.N.Kotuba Unified Process: Construction. 9 Iterative approach to developing software. Product will be a beta. SYST39409 - Object Oriented Methodologies J.N.Kotuba Unified Process:Transition 10 Beta product is introduced to users and information is collected from users during roll-out. SYST39409 - Object Oriented Methodologies J.N.Kotuba Iterative Development 11 SYST39409 - Object Oriented Methodologies J.N.Kotuba Modeling 12 Software development is the production of ‘executable models’. These models often are abstractions of the original problem with classes added to solve the user’s problems. SYST39409 - Object Oriented Methodologies J.N.Kotuba Different Types of Models 13 Use Case Model. The system from the users point of view. Static Model. The elements of the system and how they relate to one another. Dynamic Model. Outlines the behaviour of the system in the context of Object interactions. SYST39409 - Object Oriented Methodologies J.N.Kotuba UML 14 The Unified Modeling language is (UML) a language for development object-oriented models and system designs. It provides a complete set of graphical diagrams to specify use cases, class diagrams and the dynamic model (object interactions) of a system. Can be used with different programming languages. SYST39409 - Object Oriented Methodologies J.N.Kotuba System Boundary vs Automation Boundary 15 SYST39409 - Object Oriented Methodologies J.N.Kotuba System Boundary vs Automation Boundary 16 SYST39409 - Object Oriented Methodologies J.N.Kotuba Use Case Model A use case is a script: A step-by-step description of how a user might make use of the system to do a task It is a “case of the usage of the system.” 17 User Goals, Events, and Use Cases Use Case -- An activity the system performs in response to a user request Techniques for identifying use cases User goal technique Each goal at the elementary business process (EBP) level is a use case EBP – a task performed by one user, in one place in response to a business event, that adds measurable business value, and leaves system and data in consistent state 18 User Goals, Events, and Use Cases (continued) CRUD Event analysis technique (create, read, update, delete) decomposition technique 19 Identifying Use Cases Based on User Goals 20 Use Case Based on CRUD Technique 21 CRUD Matrix Example 22 SYST39409-Object Oriented Methodologies © Jerry Kotuba Discovering Use Cases 23 Event – in the real world Event occurs when something happens Events drive or trigger all processing that a system does. What events occur that will affect the system being studied? What events occur that will require the system to respond in some way? Black Box view – focus on “what” not “how” SYST39409-Object Oriented Methodologies © Jerry Kotuba Event Decomposition Technique Event – an occurrence at a specific time and place and which needs to be remembered Business events trigger elementary business processes (EBPs) EBPs are at correct level of analysis for use cases Identify business events to decompose system into activities/use cases 24 Types of Events External Outside system Initiated by external agent or actor Temporal Occur as result of reaching a point in time Based on system deadlines State Something inside system triggers processing need 25 Events – (affecting a system) External event checklist 27 SYST39409-Object Oriented Methodologies © Jerry Kotuba Temporal Event Checklist 28 SYST39409-Object Oriented Methodologies © Jerry Kotuba Listing events 29 When analyzing a system we must list all events Identify other information about each of them SYST39409-Object Oriented Methodologies © Jerry Kotuba Identifying Events Can be difficult to determine Often confused with conditions and responses May be useful to trace a transaction’s life cycle Certain events left to design phase System controls to protect system integrity Perfect technology assumption defers events 30 Sequence of Actions that Lead Up to Only One Event Affecting the System 31 Sequence of “Transactions” for One Specific Customer Resulting in Many Events 32 Events Deferred Until the Design Phase 33 Event table “Process” Use Case 34 SYST39409-Object Oriented Methodologies © Jerry Kotuba Event Table Exercise- Pharmacy System 35 SYST39409 - Object Oriented Methodologies J.N.Kotuba Identifying the Actors 36 Where do you look? Context Diagram Existing system documentation (our case) Ask the following questions Who or what provides inputs,such as forms, voice commands, fields on input screens, etc to the system? Who or what receives outputs, such as email notifications, reports, voice messages , etc from the system? Are interfaces required to other systems? Are there any events that are automatically triggered at a predetermined time? Who (User) will maintain the information system? SYST39409 - Object Oriented Methodologies J.N.Kotuba Use Case - Actors 37 An actor is always outside the automation boundary of the system but may be part of the manual portion of the system an actor is not always the same as the source of the event in the event table. A source of an event is the initiating person, such as a customer, and is always external to the system, including the manual system. an actor in use case analysis is the person who is actually interacting (hands-on) with the computer system itself. SYST39409 - Object Oriented Methodologies J.N.Kotuba Use Case Identifies What Users Want 38 Use cases focus on usage of the system Services Behaviors Responses No internal structural details of the system Can be considered as the “responsibilities” of the system SYST39409 - Object Oriented Methodologies J.N.Kotuba Use Case Identifies What Users Want 39 Next Validate use case names Write narrative descriptions for each use case Refining the name May “discover” more than one use case E.g register member Purchase SYST39409 - Object Oriented Methodologies Register new member Renew existing member Retail Trade Dealer staff J.N.Kotuba Use Case Identifies What Users Want 40 Refining the name Does it tell the whole story? Any exceptions? Special cases? Possible errors? Occasional variations? Does the name cover several related or similar processes? Is there a more informative or enlightening name? SYST39409 - Object Oriented Methodologies J.N.Kotuba Use Case Identifies What Users Want 41 Write a narrative description Sequence Focus of events or steps user goes through. on mainline Straight-line sequence Then consider exceptions, options errors SYST39409 - Object Oriented Methodologies J.N.Kotuba Use Cases 42 Analysts define use cases at three levels Brief Intermediate Fully developed SYST39409 - Object Oriented Methodologies J.N.Kotuba Use Case Narrative: Fill Prescription 43 Step 1.Pharmacist inputs Patient ID Step 2.System displays patient medical record Step 3.Pharmacist verifies dosage, potential allergic reactions and/or interaction with other medications. Step 4.The Pharmacist fills the prescription and updates the patient’s medical record on the system with details of the new prescription. Step 5. The system prints a label which is sent to the nurses station and the Billing Dept. is given Patient and Prescription details. Alt Step 3. If the pharmacist determines a possible negative condition exists, then the Doctor is contacted Alt Step 4. The prescription is held for disposition and the process terminates with the pharmacist proceeding to the next prescription in the queue. SYST39409 - Object Oriented Methodologies J.N.Kotuba Brief Description of Create New Order Use Case 44 SYST39409 - Object Oriented Methodologies J.N.Kotuba Intermediate Description of Telephone Order Scenario for Create New Order Use Case 45 SYST39409 - Object Oriented Methodologies J.N.Kotuba Fully Developed Description of Telephone Order Scenario for Create New Order Use Case 46 SYST39409 - Object Oriented Methodologies J.N.Kotuba Use Case Narratives- Preconditions & Post Conditions 47 Hospital Pharmacy Case Study SYST39409-Object Oriented Methodologies © Jerry Kotuba Example “Review Prescription” Use Case Fully Developed Package: Pharmacy System Use Case Name: Review Prescription Primary Actor: Pharmacy Technician Other Participating Actors: Summary Description: When prescriptions are received at the Mercy Hospital Pharmacy, they are directed to the Pharmacy Technician. He reviews the prescription and then decides, based on the type of medication, which of three stations to direct it to for filling. Preconditions: The prescription must be for a current patient of Mercy Hospital and issued by a licensed Medical Doctor. Trigger: Prescription is received by the pharmacy. Typical Course of events: 1. 2. 3. 4. 5. Pharmacy Technician (PT) verifies that the patient is an admitted patient. PT verifies that a licensed Medical Doctor issued the prescription. PT logs the prescription into the system and it is assigned a serialized ID number by the system. PT checks the type of medication; if it must be formulated (made-on-site), sends it to the lab station; if it is an off-the-shelf medication, sends it to the shelving station; narcotics are sent to the secure station. PT enters the shelving station ID to which it was sent into the system. Alternative Paths: If the patient is not currently admitted to the Hospital, the prescription is returned to the Doctor. If the Doctor is not listed in the Pharmacy database, the prescription is referred to the Pharmacist for disposition. Post conditions: The prescription is assigned to a filling station and logged into the system for tracking. Assumptions: Related Business Rules: 48 Author: Date: Prescriptions can only be accepted from licensed Physicians for patients admitted to Mercy Hospital. SYST39409 - Object Oriented Methodologies J.N.Kotuba May 2012 J.N.Kotuba Use Case Narrative: 49 Do’s Use complete sentences How is the use case initiated and how does it end What the initial and final actions and state of the system look like Don’ts SYST39409 - Object Oriented Methodologies Use abbreviations or sentence fragments J.N.Kotuba 50 SYST39409 - Object Oriented Methodologies J.N.Kotuba Components of the Use Case Diagram 51 Use Case Actor System Boundary SYST39409 - Object Oriented Methodologies J.N.Kotuba Draw the Use Case with SA 52 SYST39409 - Object Oriented Methodologies J.N.Kotuba Your Turn… 53 See SLATE – I-C-E-01 Use Case For the Dental Office Appointment System, develop; Context Diagram Event table Use Case Diagram Create a narrative for each use case (Intermediate Level) SYST39409 - Object Oriented Methodologies J.N.Kotuba Use Case Guidelines Names Noun + Verb J.N.Kotuba SYST39409 - Object Oriented Methodologies 54 Use Case Guidelines J.N.Kotuba Nouns SYST39409 - Object Oriented Methodologies 55 Use Case Guidelines Avoid using implementation system specific language when writing use case narratives J.N.Kotuba SYST39409 - Object Oriented Methodologies 56 .Summary Developing the Requirements Model: The Use Case Model 57 Use Cases are an informal description of the system; They do not give information about how the system does things Or any other details internal to the system. They just tell us what the system will do for the users. Concentrating on what rather than how makes them more a tool for analysis than design, but. . . They do give us a good starting point for both Testing the system, and Prototyping the user interface. SYST39409 - Object Oriented Methodologies J.N.Kotuba Recap Lesson 58 Learning outcomes for today Develop the requirements model Use cases Use case diagrams Use case narratives SYST39409 - Object Oriented Methodologies J.N.Kotuba What Comes Next? 59 SYST39409 - Object Oriented Methodologies J.N.Kotuba