Transcript Slide 1

Object Oriented
Methodologies
Week05
Jerry Kotuba
SYST39409-Object Oriented Methodologies
1
Agenda


Schedule
Review Solution for ICE-02





Recap last class
Use Cases





Notation (start/end)
Orthogonal Lines
File type pdf or docx only
Discovery
Narratives
Activity Diagrams
Packages
Class Diagrams
Jerry Kotuba
SYST39409-Object Oriented Methodologies
2
Events and Use Cases



Use case

Activity the system carries out

Entry point into the modeling process
Discovery Techniques

Event decomposition

User goal

CRUD
Elementary business processes (EBPs)

Basic unit of analysis

Initiated by event occurring at specific time and place

Discrete system response that adds business value
Jerry Kotuba
SYST39409-Object Oriented Methodologies
3
Final Word on Use Cases


Large software projects usually organized
into packages.
Package is a placeholder

Each package contains a set of use cases for
handling a certain type of business activity.

E.g. Supply Chain Management System




Jerry Kotuba
Warehouse & Shipping
Order Processing
Accounting
Inventory Management
SYST39409-Object Oriented Methodologies
4
Jerry Kotuba
SYST39409-Object Oriented Methodologies
5
Example without
Package
Notation
Jerry Kotuba
SYST39409-Object Oriented Methodologies
6
Example using
Package
Notation
Jerry Kotuba
SYST39409-Object Oriented Methodologies
7
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

Learn how to create a Unified Modeling Language (UML)
class diagram using System Architect
Jerry Kotuba
SYST39409-Object Oriented Methodologies
8
Problem Domain Classes

Problem domain

Abstraction”Real World” to “Data world”

Set of work-related “things” in system component



Examples: products, orders, invoices, customers
OO approach to things in problem domain


Things have data representation within system
Objects that interact in the system
Identify and understand things in problem domain

Jerry Kotuba
Key initial steps in defining requirements
SYST39409-Object Oriented Methodologies
9
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

Jerry Kotuba
“What actions upon things should be
acknowledged and recorded by the system?”
SYST39409-Object Oriented Methodologies
10
Jerry Kotuba
SYST39409-Object Oriented Methodologies
11
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
12
Pharmacy System Example
Jerry Kotuba
SYST39409-Object Oriented Methodologies
13
Associations among Things

Analyst document entity associations (
relationships)


Associations apply in two directions



Customer places an order
An order is placed by a customer
Multiplicity: the number of associations


Example: “Is placed by” and “works in”
One to one or one to many
The associations between types of things

Jerry Kotuba
Unary (recursive), binary, n-ary
SYST39409-Object Oriented Methodologies
14
Associations Naturally Occur between Things
Jerry Kotuba
SYST39409-Object Oriented Methodologies
15
Multiplicity of Relationships
Jerry Kotuba
SYST39409-Object Oriented Methodologies
16
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

Jerry Kotuba
Example: multiple names for the same customer
SYST39409-Object Oriented Methodologies
17
Jerry Kotuba
SYST39409-Object Oriented Methodologies
18
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
19
Jerry Kotuba
SYST39409-Object Oriented Methodologies
20
Jerry Kotuba
SYST39409-Object Oriented Methodologies
21
Jerry Kotuba
SYST39409-Object Oriented Methodologies
22
Exercises No 1 to No 3

To be done in class for illustration and
practice
Jerry Kotuba
SYST39409-Object Oriented Methodologies
23
Your Turn…ICE-03

See SLATE
Jerry Kotuba
SYST39409-Object Oriented Methodologies
24
25
Class Diagrams




Document the static
structure of the system
They define what classes
there are and how they are
related
The symbol on the right
defines the data and
behaviour encapsulated by
a class.
Objects “know things and
know how to do things!”
SYST39409 - Object Oriented Methodologies
Jerry Kotuba
Hierarchies in Class Diagram
Notation

Generalization/specialization notation
Inheritance hierarchy


Rank things the more general to the more special


Motor vehicle class includes trucks, cars, buses
Classification: means of defining classes of
things

Superclass: generalization of a class

Subclass: specialization of a class
Jerry Kotuba
SYST39409-Object Oriented Methodologies
26
Jerry Kotuba
SYST39409-Object Oriented Methodologies
27
Associations/Relationships




relationship among
object classes
solid line connecting
classes
association is named
i.e. “drives”
where line connects
to class is called
“association role”
Associations/Relationships








Associations with
Multiplicity
shows number of objects in
an association
lower..upper bound
bounds are inclusive 2..5
0..1 = optional one
0..* = optional many
1..* = many
1 = exactly one
The complexity of the Many-to-many
relationships- The “Association Class”

Examples
Illustration Exercises

SLATE2– Lesson 4 Class Diagram Exercises
No 1,2 &3
Jerry Kotuba
SYST39409 - Object Oriented Methodologies
31
Subclasses

Some instances of a class (subclass) may be
grouped together based on features not
shared by the rest of the class.




Attributes
Behavior
Relationships
Key verb is “isakinda” (and inverse,
“canbea”).
Jerry Kotuba
SYST39409 - Object Oriented Methodologies
33
Subclasses and Inheritance


A subclass is made up of
selected instances from
another class, the “Parent
class” or “superclass.”
A superclass includes all
the instances of the
subclass, plus possibly
more as well.
Jerry Kotuba
SYST39409 - Object Oriented Methodologies
34
Subclasses and Inheritance
Each subclass then adds
attributes and behaviors
that it needs but the other

Inheritance is when a
subclass instance, in
addition to the attributes
and behavior it has by
virtue of being in the
subclass, also has all the
attributes and behavior
that instances of the
superclass have.
one doesn’t.
Subclasses and Inheritance


The subclass
relationship actually is
a relationship in the
way we have used
that word.
It requires a verb (one
in each direction).


Jerry Kotuba
“isakinda”
“canbea”
SYST39409 - Object Oriented Methodologies
36
Object-Oriented

To be considered truly O-O, a language,
database, etc. must support:




Objects,
Classes,
Inheritance, and
Polymorphism
Jerry Kotuba
SYST39409 - Object Oriented Methodologies
37

With subclasses, we can show
more detail about relationships on
our diagram.



For instance, in most companies,
only managers can hire and fire.
In other words, only certain kindsa
employees can do certain tasks.
(only a baker can bake)
We are able to show that some
relationships affect only a
subclass, not every instance.
Subclasses
Exercise - Ilustration

SLATE2- Exercise No 4
Jerry Kotuba
SYST39409 - Object Oriented Methodologies
39
41

generalization path




Generalization, Inheritance &
Constraints
solid line with hollow arrowhead
pointing from subclass to
superclass
indicate basis of generalization
name the path for the attribute
being removed = called the
discriminator
discriminator shows which
property is abstracted by a
generalization relationship
SYST39409 - Object Oriented Methodologies
Jerry Kotuba
42


Constraints on Generalization
constraints on the
subclasses
overlapping: descendent
may be descended from
more than one of the
subclasses


student can be both a
research and teaching
assistant
disjoint: descendent may not
be descended from more
than one of the subclasses

patient can not be both out
and resident
SYST39409 - Object Oriented Methodologies
Jerry Kotuba
43

Constraints on Generalization
complete: all subclasses
are listed


only have out and
resident patients
incomplete: all
subclasses are not listed


more subclasses are
available
can have casual, parttime employees
SYST39409 - Object Oriented Methodologies
Jerry Kotuba
Your turn…

SLATE2 – ICE-04
Jerry Kotuba
SYST39409 - Object Oriented Methodologies
44