Object-Oriented Class Diagrams

advertisement
Intro to UML - OO
Class Diagrams
Week 5
CMIS570
Plan for Tonight





Object terms
Unified Modeling Language history
Class Diagrams
Intro to Oracle
Oracle ERDs
Object-Oriented Analysis & Design

Object-oriented analysis



Defines all of the types of objects that do the work
of the system
Shows how objects interact
Object-oriented design


Defines all additional object types needed to
communicate with people and devices in the
system
Refines each type of object for implementation
Object-Oriented Approach

Views information systems as collections of
interacting objects that work together to
accomplish tasks


Objects - things in the computer system that can
respond to messages
No processes, programs, data entities, or files
Classes and Objects



A class is a category of similar objects.
Each object is an instance of a class – that is,
one specific member of the class.
Class is the template – it contains all the
shared attributes and behaviors found in each
object of the class.
Objects


An object is a person, place, event, or
thing about which we want to capture
data and define processes.
Where have you heard this definition
before?
Objects versus Entity

Objects can have behaviors.


Object instance is assigned a unique
identifier.


Behaviors are methods or operations that serve to
specify what actions the object can perform.
Entities have primary and foreign keys.
However, objects have attributes like entities.
Example!
Patient appointment scheduling example
Characteristics of OO
Approach




Methods and Messages
Encapsulation (Information Hiding)
Hierarchical Inheritance
Polymorphism
Behaviors / Methods /
Messages



Behaviors specify what the object can do.
A method is nothing more than an action or
process that an object can perform. Methods
are very much like a function or procedure in
a traditional programming language.
A message is the information sent to objects
to trigger methods. Essentially a function or
procedure call from one object to another
object.
Encapsulation /
Information Hiding



Combining of processes and data into a
single object.
All attributes and methods are all
together/incorporated in definition of
object.
Makes it easier to create new object
classes – knows what to do when you
want to create a new patient.
Hierarchical Inheritance




Classes can have “children”
Parent is “base” or “super” class
Child is “derived” or “sub” class
Similar to subtypes and supertypes of
entities.
Polymorphism

The same message can be interpreted
differently by different classes of
objects.
Unified Modeling Language
(UML)


The Three Amigos – Booch, Jacobson,
and Rumbaugh
Objective was to provide a common
vocabulary of object-based terms and
diagramming techniques for any
systems development project from
analysis through implementation.
UML diagrams




9 diagrams
Used throughout SDLC
Use consistent syntax and notation.
Key building block is the use-case.
O-O Diagrams
Use-Case
Captures business requirements for system
Class
Illustrates relationships between classes modeled in system
Object
Illustrates relationships between objects; used when actual
instances of the classes will better communicate the model
Sequence
Models the behavior of classes within a use-case (temporal
sequence)
Collaboration
Models the behavior of classes within a use-case (nontemporal sequence)
Statechart
Examines the behavior of one class within a use-case
Activity
Illustrates the flow of activities in a use-case
Component
Illustrates the physical structure of the software
Deployment
Shows the mapping of software to hardware components
Class Diagrams



Static Model
During analysis, classes refer to the
people, places, events, and things
about which the system will capture
information.
What is this similar to?
Class Diagram vs ERD

What would the class diagram contain
that the ERD does not?
How to Draw the Class


Each class is drawn using three partrectangles.
Let’s draw a class diagram for the
Patient Appointment Scheduling
System.
Patient Admission system



A patient will call in to schedule an appointment or cancel an
appointment. The office employee should be able to look up the
patient’s name to determine if this is an existing patient. The office
employee should also be able to lookup any existing unpaid bills the
patient may have with the doctor’s office. The system will look up
available times and dates for an appointment. When a day/time works
for the patient, the system will add a new appointment.
Before available days and times can be recorded, an employee of the
doctor’s office will need to create a master schedule. This master
schedule will list all the doctor’s schedules and the days and times the
office will be open for appointments. The employee may also be able
to update other forms, such as a patient’s medical history.
A doctor can alter his or her schedule. When this occurs, the doctor
will inform the employee of any days/times when he/she is not
available. In addition, the doctor can add days/times when he/she is
available to see patients.
Three kinds of Methods



Constructor
Query
Update
Relationships in Class Diagram


Again, similar to relationship in ERD.
However, maintained internally by
system rather than by primary keys or
foreign keys.
Multiplicity

Just another name for cardinality

… and a different way to show it
Multiplicity
Instance
Exactly one
Represen- Description
tation
1
A department has one and only one boss.
Zero or more
0..*
An employee has zero to many children.
One or more
1..*
A boss is responsible for one or more
employees.
Zero or one
0..1
An employee can be married to zero or one
spouse.
Specified
range
2..4
An employee can take between two to four
vacations each year.
1..3, 5
An employee is a member of one to three or
five committees.
Multiple,
disjoint range
Creating a Class Diagram



1. Identify classes
2. Identify attributes and methods
3. Draw relationships between the
classes.
Example:
Student Fitness class



When a student wants to add a new class, the manager will
check the fitness class schedule for availability. The manager
will notify the student of an opening, and the student will pay
the fee if there is an opening. The student is then registered for
the class.
As new instructors are hired, their availability to teach a class
will be recorded. Information on the type of class the instructor
is certified to teach as well as the times he/she is available is
recorded.
At times, the fitness class schedule must be changed. When
this occurs, the manager will change the fitness schedule, and
will then notify the instructors and students who are affected by
the change.
Another example

Using the web, customers should be able to search
for products and identify if the item is available.
They should be able to order the item. The
functionality that the system should have is listed
below:





Search through the inventory of products
Place an order
Receive marketing material on all products
User should be able to place item into shopping cart
User should be able to provide customer information
including billing information.
One last one…



The Cougar Car Rental Agency rents cars to customer at the airport.
Customers either call to reserve a rental car for specific dates or come
to the Cougar Car Rental desk at the airport to rent a car without a
reservation. The car rental agents work behind the counter, taking
phone reservations and waiting on customers.
When renting a car to a customer, the rental agent fills out the
customer and rental car information on a rental contract, has the
customer provide a credit card number as a down payment, has the
customer sign the rental contract, and provide the customer a copy of
the rental contract along with the keys for the rental car.
Cougar Agency also has service technicians who clean the cars when
customers return them, fill cars with gas, and prepare the cars for the
next rental. The service technicians also make sure that the cars
receive their regular maintenance, such as oil changes, and schedule
other service when the cars are in need of repair. Also, Cougar has
only a limited number of each type of vehicle to rent.
Download