Mini Case:Campus Bikes
Campus Bikes is a popular bicycle shop located near a major university. The business has grown and the owner, Mark Turner, wants to install an up-to-date computer system to handle all business functions.
Background
Campus Bikes sells several brands of new bikes, including everything from high-end racing models to beach cruisers. In addition to sales of new bikes and accessories, Mark’s service department is always busy. The staff includes Mark himself, a bookkeeper, two part-time sales reps, a full-time mechanic, and several part-time service helpers who assemble bikes.
Before opening the shop three years ago, Mark worked for many years in his father’s auto dealership, Turner Motors, and he learned all about the automobile business. In the bike shop, he runs a similar operation, but on a much smaller scale. For example, sales orders are recorded on preprinted forms, and service requests are written up just as they would be in an auto service department.
Mark’s customers find him fair and reasonable. He likes to say that the main difference between his business and a big-box retailer is that he knows his customers and will do whatever it takes to keep them happy.
You work at the college as a lab assistant in the computer information department. You earned a computer science degree at a two-year school, and you recently decided to work toward your four-year-degree. The computer lab manager, Jill, often suggests that local businesses contact you for help in troubleshooting IT issues.
This morning, you received a call from Mark, who wants to hire you as a consultant to help plan a system for Campus Bikes. You learned that Jill had referred him, and you are excited to have this opportunity. It probably didn’t hurt that both you and Jill had bought bikes from Mark, and already knew him. After spending several weekends talking with Mark and the staff, you are ready to start. You decide to use an object-oriented approach that will be easy to understand.
Tasks
- (50 pts) Create a use case diagram along with its description document that shows how service requests are handled (See Fig 6-14 from your textbook for use case description document, and Fig 6-16 for use case diagram, create your diagrams based on textbook standards).
- (50 pts) Create a state transition diagram that describes typical customer states and how they change based on specific actions and events (See Fig 6-21 for diagram format).
Ebook:
https://drive.google.com/file/d/1K2KWDoKjpdPl2_phY…
Please do not plagiarize.
Chapter 6
Object Modeling
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
Explain how object-oriented analysis can be
used to describe an information system
Define object modeling terms and concepts,
including objects, attributes, methods,
messages, classes, and instances
Explain relationships among objects and
the concept of inheritance
Draw an object relationship diagram
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
2
Describe Unified Modeling Language (UML)
tools and techniques including use cases, use
case diagrams, class diagrams, sequence
diagrams, state transition diagrams, and
activity diagrams
Explain the advantages of using CASE tools in
developing the object model
Explain how to organize an object model
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
3
O-O methodology is popular because it
integrates easily with object-oriented
programming languages such as Java, Smalltalk,
VB.Net, Python, and Perl
Programmers also like O-O code because it is
modular, reusable, and easy to maintain
The end product of O-O analysis is an object
model
◦ Object model: Represents the information system in
terms of objects and O-O concepts
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
4
Object-Oriented Terms and Concepts
◦ Unified modeling language (UML)
Method of visualizing and documenting an information
system
◦
◦
◦
◦
Attributes: Characteristics that describe an object
Methods: Tasks or functions that the object performs
Message: Command to perform a specific function
A class is a group of similar objects
Instance: Specific member of a class
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
5
Objects
◦ Represented as a
rectangle
The object name is at
the top, followed by
the object’s attributes
and methods
FIGURE 6-1 Objects have attributes,
can send and receive messages, and
perform actions called methods.
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
6
FIGURE 6-2 The PARENT
object includes four
attributes and two
methods. Mary Smith,
Ahmed Ali, and Anthony
Greene are instances of
the PARENT object.
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
7
FIGURE 6-3 The CHILD object includes five attributes and five methods. James Smith,
Amelia Ali, and Misty Greene are instances of the CHILD object.
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
8
Attributes
◦ Describe the characteristics of an object
◦ The number of attributes required depends on:
Business requirements of the information system
Requirements of users
◦ Attributes of an object are defined during the
system development process
◦ Objects possess a state
State: Describes the object’s current status
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
9
Methods
◦ Specific tasks that an object can perform
◦ Identify functions performed
◦ Describe the functions performed
FIGURE 6-4 The MORE FRIES method
requires the server to perform seven
specific steps.
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
10
Message
◦ A command that tells an object to perform a certain
method
◦ Polymorphism: Concept that a message gives
different meanings to different objects
FIGURE 6-5 In an example of polymorphism, the message GOOD NIGHT
produces different results, depending on which object receives it.
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
11
Message (cont.)
◦ A message to the object triggers changes within the
object without specifying how the changes must be
carried out
An object can be viewed as black box
◦ Encapsulation: Idea that all data and methods are
self-contained, as in a black box
Figure 6-6 In a school information system, an INSTRUCTOR object sends an ENTER GRADE
message to an instance of the STUDENT RECORD class.
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
12
Classes
◦ An object belongs to a group or category called a
class
All objects within a class share common attributes and
methods
◦ Subclasses: Categories within a class
◦ Super-class: A class belonging to a general
category
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
13
FIGURE 6-7 The VEHICLE class
includes common attributes and
methods. CAR, TRUCK, MINIVAN, and
SCHOOL BUS are instances of the
VEHICLE class.
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
14
FIGURE 6-9 At the fitness center, the PERSON superclass includes common
attributes and methods. EMPLOYEE is a class within the PERSON superclass.
INSTRUCTOR is a subclass within the EMPLOYEE class.
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
15
Relationships
◦ Enable objects to communicate and interact as
they perform business functions and transactions
◦ Describe what objects need to know about each
other
Inheritance
◦ The strongest relationship
◦ Enables an object to derive one or more of its
attributes from another object
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
16
FIGURE 6-10 An inheritance relationship exists between the INSTRUCTOR and
EMPLOYEE objects. The INSTRUCTOR (child) object inherits characteristics
from the EMPLOYEE (parent) class and can have additional attributes of its own.
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
17
Object Relationship Diagram
◦ Displays objects and how they interact to perform
business functions and transactions
FIGURE 6-11 Object relationship
diagram for the fitness center.
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
18
UML uses a set of symbols to represent
graphically the various components and
relationships within a system
Use Case Modeling
◦ Use case: Represents the steps in a specific
business function or process
◦ An external entity, called an actor, initiates a
use case by requesting the system to perform a
function or process
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
19
Use Case Modeling
(Cont.)
◦ UML symbol for a use case is an oval with a label that
describes the action or event
◦ The actor is shown as a stick figure, with a label that
identifies the actor’s role
◦ Use case description: Documents the name of the use
case, the actor, a description of the use case
Provides a step-by-step list of the tasks and other key
descriptions and assumptions
FIGURE 6-12 In a medical office system, a PATIENT
(actor) can MAKE APPOINTMENT (use case).
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
20
FIGURE 6-13 When a student adds a class, PRODUCE FITNESS-CLASS ROSTER uses the results of
ADD CLASS to generate a new class roster. When an instructor changes his or her availability, UPDATE
INSTRUCTOR INFORMATION uses the CHANGE AVAILABILITY use case to update the instructor’s
information.
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
21
FIGURE 6-14 The
ADD NEW
STUDENT use
case description
documents the
process used to
add a current
student into an
existing class.
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
22
Use Case Diagrams
◦ A visual summary of several related use cases
within a system or subsystem
◦ The first step is to identify the system boundary
which is represented by a rectangle
System boundary: Shows what is included in the
system (inside the rectangle) and what is not included
in the system (outside the rectangle)
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
23
FIGURE 6-16 A use case
diagram to handle work at
an auto service
department.
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
24
Class Diagrams
◦ Show the object classes and relationships involved
in a use case
◦ Each class appears as a rectangle, with the class
name at the top, followed by the class’s attributes
and methods
◦ Lines show relationships between classes and have
labels identifying the action that relates the two
classes
◦ Includes a concept called cardinality
Cardinality: Describes how instances of one class
relate to instances of another class
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
25
FIGURE 6-17 Examples of UML notations that indicate the nature of the relationship between
instances of one class and instances of another class.
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
26
FIGURE 6-18 Class diagram
for a sales order use case
(attributes and methods
omitted for clarity).
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
27
Sequence Diagrams
◦ Dynamic model of a use case, showing the
interaction among classes during a specified time
period
◦ Graphically document the use case by showing the
classes, the messages, and the timing of the
messages
◦ Include symbols that represent classes, lifelines,
messages, and focuses
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
28
Sequence Diagrams
(Cont.)
◦ Classes
Send or receive messages
Shown at the top of the sequence diagram
◦ Lifelines
Represent the time during which the object above it is
able to interact with the other objects in the use case
An X marks the end of the lifeline
◦ Messages
Include additional information about the contents
◦ Focuses
Indicate when an object sends or receives message
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
29
FIGURE 6-19 A sequence diagram
with two classes. Notice the X that
indicates the end of the CLASS 2
lifeline. Also notice that each message
is represented by a line with a label
that describes the message, and that
each class has a focus that shows the
period when messages are sent or
received
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
30
FIGURE 6-20 The sequence diagram for the ADD NEW STUDENT use case.
The use case description for ADD NEW STUDENT is shown in Figure 6 14.
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
31
State Transition Diagrams
◦ Show how an object changes from one state to
another, depending on events that affect the object
◦ All possible states must be documented in the state
transition diagram
◦ States appear as rounded rectangles with the state
names inside
FIGURE 6-21 An example of a
state transition diagram for a bank
account.
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
32
Activity Diagrams
◦ Show actions and events as they occur
◦ Show the order in which the actions take place and
identify the outcomes
FIGURE 6-22 An
activity diagram shows
the actions and events
involved in withdrawing
cash from an ATM.
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
33
Business Process Modeling (BPM)
◦ Represents the people, events, and interaction in a
system
◦ Can be used anytime during the systems
development process
◦ Compatible with object modeling
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
34
FIGURE 6-23 The
Bizagi Modeler tool
supports business
modeling and simulation
using the standard BPM
notation.
Source: bizagi.com
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
35
CASE Tools
◦ Provide an overall framework for documenting the
system components
Object modeling requires many types of diagrams to
represent proposed systems
CASE tools speed up the process
◦ Ensure consistency and provide common links
Once objects are described and used in one part of the
design, they can be reused multiple times without
further effort
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
36
Develop an object relationship diagram that
provides an overview of the system
Support each diagram or object definition
with clear and relevant documentation that
can be accessed easily
◦ Organize use cases and use case diagrams so they
can be linked to the appropriate class, state
transition, sequence, and activity diagrams
Maintain accuracy
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
37
•
•
Object modeling is a popular technique that
describes a system in terms of objects
Object-oriented terms include classes,
attributes, instances, messages, and
methods
Objects can send messages, or commands,
that require other objects to perform certain
methods, or tasks
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
38
The Unified Modeling Language (UML) is a
widely used method of visualizing and
documenting an information system
Use case describes a business situation
initiated by an actor, who interacts with the
information system
At the end of the object modeling process,
the use cases and use case diagrams are
organized and class, sequence, state
transition, and activity diagrams are created
Copyright ©2017 Cengage Learning. All Rights Reserved. May not be scanned, copied
or duplicated, or posted to a publicly accessible website, in whole or in part.
39