PPT - Sheridan

advertisement
Object Oriented
Methodologies
Week05/06
Jerry Kotuba
SYST39409-Object Oriented Methodologies
1
Agenda


Assignment No 1 - Due
Today



Review ICE 02 & 03
Do ICE04 & ICE05
Class Diagrams



Inheritance
Whole-to-part relationships
Mid-Term review
Jerry Kotuba
SYST39409-Object Oriented Methodologies
2
Things in the Problem Domain
Two Techniques for Identifying them

Brainstorming Technique


Use a checklist of all of the usual types of things
typically found and brainstorm to identify domain
classes of each type
Noun Technique

Identify all of the nouns that come up when the
system is described and determine if each is a
domain class, an attribute, or not something we
need to remember
Systems Analysis and Design in a Changing
World, 6th Edition
3
Brainstorming Technique

Are there any tangible things? Are there any
organizational units? Sites/locations? Are there
incidents or events that need to be recorded?
Systems Analysis and Design in a Changing World, 6th Edition
4
Brainstorming Technique:
Steps
1.
2.
3.
4.
5.
Identify a user and a set of use cases
Brainstorm with the user to identify things involved
when carrying out the use case—that is, things about
which information should be captured by the system.
Use the types of things (categories) to systematically
ask questions about potential things, such as the
following: Are there any tangible things you store
information about? Are there any locations involved?
Are there roles played by people that you need to
remember?
Continue to work with all types of users and
stakeholders to expand the brainstorming list
Merge the results, eliminate any duplicates, and
compile an initial list
Systems Analysis and Design in a Changing World, 6th Edition
5
The Noun Technique





A technique to identify problem domain classes
(things) by finding, classifying, and refining a
list of nouns that come up in in discussions or
documents
Popular technique. Systematic.
Does end up with long lists and many nouns
that are not things that need to be stored by
the system
Difficulty identifying synonyms and things that
are really attributes
Good place to start when there are no users
available to help brainstorm
Systems Analysis and Design in a Changing World, 6th Edition
6
Partial List
of Nouns
for RMO
With notes on
whether to
include as
domain class
Systems Analysis and Design in a Changing
World, 6th Edition
7
The Noun Technique:
Steps
1.
Using the use cases, actors, and other information
about the system— including inputs and outputs—
identify all nouns.

2.
For the RMO CSMS, the nouns might include customer, product item,
sale, confirmation, transaction, shipping, bank, change request,
summary report, management, transaction report, accounting, back
order, back order notification, return, return confirmation…
Using other information from existing systems, current
procedures, and current reports or forms, add items or
categories of information needed.

For the RMO CSMS, these might include price, size, color, style,
season, inventory quantity, payment method, and shipping address.
Systems Analysis and Design in a Changing World, 6th Edition
8
The Noun Technique:
Steps (continued)
3.
As this list of nouns builds, refine it. Ask these
questions about each noun to help you decide whether
you should include it:



Is it a unique thing the system needs to know about?
Is it inside the scope of the system I am working on?
Does the system need to remember more than one of these items?
Ask these questions to decide to exclude it:



Is it really a synonym for some other thing I have identified?
Is it really 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?
Ask these questions to research it:


Is it likely to be a specific piece of information (attribute) about some
other thing I have identified?
Is it something I might need if assumptions change?
Systems Analysis and Design in a Changing World, 6th Edition
9
The Noun Technique:
Steps (continued)
4.
Create a master list of all nouns identified and then
note whether each one should be included, excluded,
or researched further.
5.
Review the list with users, stakeholders, and team
members and then define the list of things in the
problem domain.
Systems Analysis and Design in a Changing World, 6th Edition
10
A Simple Domain Model Class
Diagram




A customer places zero or more orders
An order is placed by exactly one customer
An order consists of one or more order items
An order item is part of exactly one order
Systems Analysis and Design in a Changing
World, 6th Edition
11
UML Notation for Multiplicity
Systems Analysis and Design in a Changing
World, 6th Edition
12
Domain Model Class Diagram
for a bank with many branches
Systems Analysis and Design in a Changing
World, 6th Edition
13
Domain Model Class Diagram
for course enrollment at a university

Where is each student’s grade remembered in this model?


Each section has many grades and each grade is association with a student
Each student has many grades and each grade is association with a section
Systems Analysis and Design in a Changing
World, 6th Edition
14
Refined Course Enrollment Model
with an Association Class CourseEnrollment

Association class— an association that is treated as a class in a
many to many association because it has attributes that need to
be remembered, such as grade
Systems Analysis and Design in a Changing
World, 6th Edition
15
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
More Complex Issues about Classes:
Generalization/Specialization Relationships

Generalization/Specialization


Superclass


the superior or more general class in a
generalization/specialization hierarchy
Subclass


A hierarchical relationship where subordinate classes are
special types of the superior classes. Often called an
Inheritance Hierarchy
the subordinate or more specialized class in a
generalization/specialization hierarchy
Inheritance

the concept that subclasses classes inherit characteristics of
the more general superclass
Systems Analysis and Design in a Changing
World, 6th Edition
19
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
20
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
21
Subclasses and Inheritance

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.
Each subclass then adds
attributes and behaviors
that it needs but the other
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
23
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
24

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

SLATE- Exercise No 4
Jerry Kotuba
SYST39409 - Object Oriented Methodologies
26
27

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
28


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
29

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
30

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
31


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
32

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
Whole-to-Part Associations
The UML provides ways to model two types of
whole-to-part associations – aggregation and
composition.
Jerry Kotuba
Object Oriented Methodologies
33
Definitions

aggregate: In an aggregation, the class
representing the whole.
aggregation:
An association between classes representing a
part-to-whole relationship in which the parts and the
whole may exist independently and in which a single
part may be associated with more than one whole at
the same time.
Jerry Kotuba
Object Oriented Methodologies
34
Definitions…cont’d

composite: In a composition, a class representing
the whole.
composition:
An association between classes representing a
whole-to-part relationship in which the parts may
belong to only one whole at a time and the whole
does not exist without its parts.
Jerry Kotuba
Object Oriented Methodologies
35
Example of an Aggregation
.
Jerry Kotuba
Object Oriented Methodologies
36
Example of a Composition
.
Jerry Kotuba
Object Oriented Methodologies
37
Aggregation and Composition
.
Jerry Kotuba
Object Oriented Methodologies
38
Categories of
Whole-to-Part Associations

There are three relationships that sometimes occur
in an object model:





Assemblies of parts
Members of groups
Containers and their contents
You may find these useful for making your model a
better tool for understanding and communication.
The model can always be built without these. They
do not really affect its use for system design, just for
talking to the users.
Jerry Kotuba
Object Oriented Methodologies
39
Assemblies of parts


Taking something apart into its components
is a technique we humans often use to
understand how something works.
Often we find it improves our understanding
to model



Jerry Kotuba
A product and its components
A business consists of branches, departments,
etc.
A country consists of states, provinces, counties,
boroughs, shires, towns, villages, cities, etc.
Object Oriented Methodologies
40
Containers and their contents


Container-Contents is a different and less common
relationship.
In some situations we may find it helpful to view a
relationship as one of these, e.g.,




Truck or Aircraft and the Products or Shipments that it
carries
An actual shipping container and the goods it holds
A ship, bus or airplane and its passengers
A building and the businesses it houses.
Jerry Kotuba
Object Oriented Methodologies
41
Assemblies of parts Vs Containers
and their contents

The essential
difference between
these relationships is
that:



A Container, however, is still a
perfectly good Container, even
without its Contents

With Assemblies of
parts, if you take the
component away, the
assembly (whole)
probably won’t work any
more

Jerry Kotuba


The jar is still OK even
without the “hunny.”
And the Contents are perfectly
OK without the Container

(although the “hunny” might
get all over one’s paws!)
Take a wheel off a car
Take a hand off a clock
Take a leg off a table.
Object Oriented Methodologies
42
Collection-Member (members
of groups)


Collection-Member is also a
different and relatively
uncommon relationship.
Sometimes we meet an
actual collection:




A library full of books
An art gallery
A stamp or jewelry
collection
A fleet of trucks, ships or
aircraft
Jerry Kotuba

Other times it may help to
use this to describe:



A church, club or regiment
and its members
An inventory of furniture or
equipment
A herd, mob, flock, school
or skein of animals.
Object Oriented Methodologies
43
Your Turn…
Think about a book, which consists of a cover, table
of contents, chapters and an index. Chapters in turn
have pages, paragraphs and words. Show the
special case of association between classes
described here including the multiplicity.
Jerry Kotuba
Object Oriented Methodologies
44
Your turn…ICE04 & ICE-05

SLATE
Jerry Kotuba
Object Oriented Methodologies
45
Test Review


See ICE’s on SLATE
Plus Exercises 1,2,3,&4
Jerry Kotuba
Object Oriented Methodologies
46
Test Review




Satzinger – Chapters 1,2,4,5,6 (Chap 6 only to page 225 –including
Activity diagrams)
Plus all material covered in class…check PPTs
10 modified T/F and 15 M/C questions
Exercises


Event table
Use Case Diagram



Activity Diagram
Class Diagram






Includes (a.k.a. Uses)
Relationships ( Multiplicity)
Association Classes
Subclasses & Inheritance (incl. constraint & Discriminator Notation)
Generalization & Specialization
Abstract Classes
Permitted a “cheat sheet”

Jerry Kotuba
One 8 ½ X 11 sheet only (both Sides)
Object Oriented Methodologies
47
Download