Presentation is loading. Please wait.

Presentation is loading. Please wait.

Object Oriented Methodologies

Similar presentations


Presentation on theme: "Object Oriented Methodologies"— Presentation transcript:

1 Object Oriented Methodologies
J.N.Kotuba SYST Object Oriented Methodologies

2 SYST39409 - Object Oriented Methodologies
Agenda Assignment No 1 posted Review details SLATE-Weekly Topical Outline and Schedule modified Quiz No 1 Next week Recap last lesson Learning outcomes for today Further develop the requirements model √ Use cases √ Use case diagrams √ Use case narratives Activity Diagrams Class Diagrams J.N.Kotuba SYST Object Oriented Methodologies

3 SYST39409 - Object Oriented Methodologies
Review Last Class Introduced Unified Process (UP) and Unified Modeling Language (UML) Discussed Models Tools Techniques Introduced Techniques for identifying Use Cases User Goal Technique Including user stories Event Table Technique CRUD Technique J.N.Kotuba SYST Object Oriented Methodologies

4 System Boundary vs Automation Boundary
J.N.Kotuba SYST Object Oriented Methodologies

5 Context Diagram –Pharmacy System
J.N.Kotuba SYST Object Oriented Methodologies

6 SYST39409 - Object Oriented Methodologies
The Pharmacy System Finalize the Event Table Identify the Actors Build the Use Case Diagram J.N.Kotuba SYST Object Oriented Methodologies

7 SYST39409 - Object Oriented Methodologies
J.N.Kotuba SYST Object Oriented Methodologies

8 SYST39409 - Object Oriented Methodologies
J.N.Kotuba SYST Object Oriented Methodologies

9 SYST39409 - Object Oriented Methodologies
J.N.Kotuba SYST Object Oriented Methodologies

10 Identifying the Actors
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 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? J.N.Kotuba SYST Object Oriented Methodologies

11 SYST39409 - Object Oriented Methodologies
Use Case - Actors 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. Review & Discuss J.N.Kotuba SYST Object Oriented Methodologies

12 Use Case Identifies What Users Want
Write a narrative description Sequence of events or steps user goes through. Focus on mainline Straight-line sequence Then consider exceptions, options errors J.N.Kotuba SYST Object Oriented Methodologies

13 SYST39409 - Object Oriented Methodologies
Use Cases Analysts define use cases at three levels Brief Intermediate Fully developed J.N.Kotuba SYST Object Oriented Methodologies

14 Brief Description of Create New Order Use Case
J.N.Kotuba SYST Object Oriented Methodologies

15 SYST39409 - Object Oriented Methodologies
Intermediate Description of Telephone Order Scenario for Create New Order Use Case J.N.Kotuba SYST Object Oriented Methodologies

16 SYST39409 - Object Oriented Methodologies
J.N.Kotuba SYST Object Oriented Methodologies

17 SYST39409 - Object Oriented Methodologies
Fully Developed Description of Telephone Order Scenario for Create New Order Use Case J.N.Kotuba SYST Object Oriented Methodologies

18 Use Case Narratives- Preconditions & Post Conditions
Hospital Pharmacy Case Study Preconditions & post conditions Preconditions state what conditions must be true before a use case begins. In other words, a precondition identifies what the state of the system must be for the use case begin, including what objects must already exist, what information must be available, even the condition of the actor (e.g. user logged on; connection to an external system is active etc.) For example; for some companies, an order cannot be created unless the customer exists and has a good credit rating. Another example; what about the library? What must exist for someone to borrow a book? Hospital Pharmacy System: What preconditions must exist for “Fill Prescription” ? Post conditions A post condition identifies what must be true upon completion of the use case. The same items that are used to describe the precondition should be included in the statement of the post condition. Use the same guidelines for preconditions to define post conditions; concentrate on what objects must exist; what relationships must exist; and what values are important. © Jerry Kotuba SYST39409-Object Oriented Methodologies

19 SYST39409 - Object Oriented Methodologies
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: 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: Prescriptions can only be accepted from licensed Physicians for patients admitted to Mercy Hospital. Author: J.N.Kotuba Date: May 2013 Example “Review Prescription” Use Case Fully Developed J.N.Kotuba SYST Object Oriented Methodologies

20 SYST39409-Object Oriented Methodologies
More about Use Cases… What are “use case scenarios” ? How to identify and show relationships between Use Cases. [Includes & Extends] ? What are use case Pre-conditions/Post-conditions and why they are important? How to describe a use case with an activity or workflow diagram? © Jerry Kotuba SYST39409-Object Oriented Methodologies

21 ATM Example Use Case: Deposit Money Use Case: Withdraw Money
Flow of events The user inserts an ATM card The system prompts the user to enter a password The user enters the password. The system validates the password Use Case: Deposit Money Flow of events The user inserts an ATM card The system prompts the user to enter a password The user enters the password. The system validates the password Common Behaviours

22 ATM Example Use Case: Withdraw Money Use Case: Deposit Money
Flow of Events Include [login] Use Case: Deposit Money Flow of Events Include [login] Use Case: Login Flow of events The user inserts an ATM card The system prompts the user to enter a password The user enters the password. The system validates the password

23 SYST39409-Object Oriented Methodologies
Withdraw Money Deposit Money <<includes>> <<includes>> Login © Jerry Kotuba SYST39409-Object Oriented Methodologies

24 SYST39409-Object Oriented Methodologies
Use case scenarios… Case In Point Explain Scenarios using this example… Case In Point: Recently I had to place a stop payment on a pre-authorized monthly payment with my Bank. UC- “Stop Payment” There are several ways in which this can be completed On-line through the web Call center In-person Each would be a scenario for “Stop Payment” Other examples – “Place Order” as in purchasing something Registering for a course Buying tickets for the movies Etc., © Jerry Kotuba SYST39409-Object Oriented Methodologies

25 Use Case Relationships
Also referred to as dependencies Includes E.g. “Stop Payment” Extends (Option to extend the base Use Case) E.g “Register Student” Includes & Extends Case In Point: Stop Payment may or may not have a user-fee associated with it similar to other banking transactions INCLUDES e.g. “View checks” on line “Transfer funds” to other persons Etc., Each of these will have some processing steps to verify if additional fees apply to the type of account that you have or not and if so what the additional fees would be. Since this is common to all we can factor those common steps out and create a separate use case rather than repeat them in the narratives. Hence this introduces the concept of “Includes” or “Uses”. There will also be situations where steps to handle exceptional circumstances may be required. EXTENDS Case In Point College registration system. Use exclusion points when an alternate flow is captured in another use case with an extends or an inclusion point when the flow incorporates another use case through an includes. © Jerry Kotuba SYST39409-Object Oriented Methodologies

26 Comments on Include & Extend
Tend to see more includes. Extends are fewer. © Jerry Kotuba SYST39409-Object Oriented Methodologies

27 SYST39409-Object Oriented Methodologies
More About Actors People External Systems Time © Jerry Kotuba SYST39409-Object Oriented Methodologies

28 Use Case Narratives- Preconditions & Post Conditions
Hospital Pharmacy Case Study Preconditions & post conditions Preconditions state what conditions must be true before a use case begins. In other words, a precondition identifies what the state of the system must be for the use case begin, including what objects must already exist, what information must be available, even the condition of the actor (e.g. user logged on; connection to an external system is active etc.) For example; for some companies, an order cannot be created unless the customer exists and has a good credit rating. Another example; what about the library? What must exist for someone to borrow a book? Hospital Pharmacy System: What preconditions must exist for “Fill Prescription” ? Post conditions A post condition identifies what must be true upon completion of the use case. The same items that are used to describe the precondition should be included in the statement of the post condition. Use the same guidelines for preconditions to define post conditions; concentrate on what objects must exist; what relationships must exist; and what values are important. © Jerry Kotuba SYST39409-Object Oriented Methodologies

29 SYST39409-Object Oriented Methodologies
Use Cases Use cases tell; the customer what to expect the developer what to code the technical writer what to document and the tester what to test. Testing as soon as possible is better than waiting until all the development is completed. If bugs can be found early then delays to implementation can be avoided. © Jerry Kotuba SYST39409-Object Oriented Methodologies

30 SYST39409-Object Oriented Methodologies
Example © Jerry Kotuba SYST39409-Object Oriented Methodologies

31

32 SYST39409 - Object Oriented Methodologies
Activity Diagram A type of workflow diagram that describes the user activities and their sequential flow. Illustration: The following slide summarizes the workflow of how a customer request for a quotation to modify a computer system is handled. J.N.Kotuba SYST Object Oriented Methodologies

33 Object Oriented Methodologies
Jerry Kotuba Object Oriented Methodologies

34 Notation

35 Your Turn… Activity Diagrams –ICE-02
© Jerry Kotuba SYST39409-Object Oriented Methodologies

36 Example without Package Notation
Jerry Kotuba SYST39409-Object Oriented Methodologies

37 Example using Package Notation
Jerry Kotuba SYST39409-Object Oriented Methodologies

38 SYST39409 - Object Oriented Methodologies
What Comes Next? J.N.Kotuba SYST Object Oriented Methodologies

39 Class Diagrams- Objectives
Identify and analyze the objects and object-classes needed in a system Learn how to identify and represent relationships between object classes. Learn how to identify and create super/subclass relationships Jerry Kotuba SYST39409-Object Oriented Methodologies

40 Problem Domain Classes
Abstraction”Real World” to “Data world” Set of work-related “things” in system component Things have data representation within system Examples: products, orders, invoices, customers OO approach to things in problem domain Objects that interact in the system Identify and understand things in problem domain Key initial steps in defining requirements Jerry Kotuba SYST39409-Object Oriented Methodologies

41 SYST39409-Object Oriented Methodologies
Types of Things Things can be identified with methodology Separate the tangible from the intangible Include information from all types of users Ask important questions about nature of event “What actions upon things should be acknowledged and recorded by the system?” Jerry Kotuba SYST39409-Object Oriented Methodologies

42 SYST39409-Object Oriented Methodologies
Jerry Kotuba SYST39409-Object Oriented Methodologies

43 Procedure for Developing an Initial List of Things
Perform Textual Analysis List nouns users mention when discussing system Event table as source of potential things Use cases, external agents, triggers, response   Select nouns with questions concerning relevance Further research may be needed Jerry Kotuba SYST39409-Object Oriented Methodologies

44 Pharmacy System Example
Identifying Object-Classes using the Noun-Identification Technique Using the event table and other information provided in the case narrative, prepare a list of nouns and check it by asking the following questions about each one to decide whether to include it or not. Is it a unique thing that the system needs to know about? Is it outside the scope of the system I am working on? Does the system need to remember more than one of these items? Next ask the following questions about each noun to decide whether to exclude it: Is it really a synonym for some other thing I have identified? Is it just an output of the system produced from other information I have identified? Is it really just an input that results in recording some other information I have identified? Prepare a final list of nouns which you feel are essential to the system. Jerry Kotuba SYST39409-Object Oriented Methodologies

45 Associations among Things
Analyst document entity associations ( relationships) Example: “Is placed by” and “works in” Associations apply in two directions Customer places an order An order is placed by a customer Multiplicity: the number of associations One to one or one to many  The associations between types of things Unary (recursive), binary, n-ary Jerry Kotuba SYST39409-Object Oriented Methodologies

46 SYST39409-Object Oriented Methodologies
Attributes of Things Specific details of things are called attributes Analyst should identify attributes of things Identifier (key): attribute uniquely identifying thing Examples: Social Security number, vehicle ID number, or product ID number Compound attribute is a set of related attributes Example: multiple names for the same customer Jerry Kotuba SYST39409-Object Oriented Methodologies

47 SYST39409-Object Oriented Methodologies
Jerry Kotuba SYST39409-Object Oriented Methodologies

48 SYST39409-Object Oriented Methodologies
Classes and Objects Domain model class diagram as UML class OOA applies domain model class diagram to things Problem domain objects have attributes Software objects encapsulate attributes and behaviors Behavior: action that the object processes itself Software objects communicate with messages Information system is a set of interacting objects Jerry Kotuba SYST39409-Object Oriented Methodologies

49 SYST39409-Object Oriented Methodologies
Jerry Kotuba SYST39409-Object Oriented Methodologies

50 SYST39409-Object Oriented Methodologies
Jerry Kotuba SYST39409-Object Oriented Methodologies

51 SYST39409-Object Oriented Methodologies
Exercises No 1 to No 3 To be done in class for illustration and practice Jerry Kotuba SYST39409-Object Oriented Methodologies

52 SYST39409-Object Oriented Methodologies
Your Turn…ICE-03 See SLATE Jerry Kotuba SYST39409-Object Oriented Methodologies


Download ppt "Object Oriented Methodologies"

Similar presentations


Ads by Google