CRC Cards & Use Cases
Download
Report
Transcript CRC Cards & Use Cases
Chapter 22
Object-Oriented Systems
Analysis and Design and UML
Systems Analysis and Design
Kendall and Kendall
Fifth Edition
Major Topics
Object-oriented programming concepts
Object-oriented terminology
Five-layer model
CRC Cards
Unified Modeling Language
Use case and other UML diagrams
Relationships
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-2
Object-Oriented Overview
Object-oriented techniques work well in
situations where complicated systems
are undergoing continuous
maintenance, adaptation, and design
There are two ways to model objectoriented systems
Coad and Yourdon methodology
The Unified Modeling Language
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-3
Object-Oriented Programming
Six ideas characterize object-oriented
programming:
An object, which represents a real-world
thing or event
A class, or group of related objects
Messages, sent between objects
Encapsulation, only an object makes
changes through its own behavior
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-4
Object-Oriented Programming
Six ideas characterize object-oriented
programming (continued):
Inheritance, a new class created from
another class
Polymorphism, meaning that a derived
class behavior may be different from the
base class
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-5
Terminology
Class refers to a template for a group of
individual objects with common
attributes and common behavior
The difference between an Object and a
Class is that the class defines shared
attributes and behaviors of objects
An object is an instance or occurrence
of a class
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-6
Terminology
Another name for property is attribute
Another name for method is operation
Interface means the behavior of a class
or component that is noticeable from
outside the class or component
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-7
Encapsulation
Encapsulation changes the manner in
which data is updated by programs
because data can only be changed via
the services that encapsulate the data
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-8
Inheritance
The two types of classes are involved in
any inheritance relationship are the
base class and the derived class
Multiple inheritance means there will be
multiple occurrences of the base type of
class in the inheritance relationship
Polymorphism only occurs where there
is inheritance
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-9
Five-Layer Model
Object oriented analysis and design is
based on a five-layer model:
Class/object layer notes the classes and
objects
Structure layer captures various structures
of classes and objects, such as one-tomany relationships and inheritance
Attribute layer details the attributes of
classes
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-10
Five-Layer Model
Five-layer model, continued
Service layer notes messages and object
behaviors
Subject layer divides the design into
implementation units or team assignments
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-11
Five General Types of Objects
There are five general types of objects:
Tangible things
Roles
Incidents
Interactions
Specifications details
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-12
Criteria to Determine Need for
a New Class of Objects
Criteria to determine whether a new
class of objects is justified
There is a need to remember the object
There is a need for certain behaviors of the
object
An object has multiple attributes
A class has more than one object
instantiation
Unless it is a base class
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-13
Criteria to Determine Need for
a New Class of Objects
Criteria, continued
Attributes have a meaningful value for
each object in a class
Services behave the same for every object
in a class
Objects implement requirements that are
derived from the problem setting
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-14
Criteria to Determine Need for
a New Class of Objects
Criteria, continued
Objects do not duplicate attributes and
services that could be derived from other
objects in the system
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-15
Basic Types of Structures
There are two basic types of structures
that might be imposed on classes and
objects:
Generalization-Specialization structure
(Gen-Spec), which connect class-to-class
Whole-Part structure which are collections
of different objects that compose another
whole object
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-16
Instance Connections
Instance connections are references
between objects such as associations or
relationships indicated by a single line
between objects using the same
cardinality notation as Whole-Part
structures
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-17
Methods
Services (or methods or procedures)
must be analyzed. Activities are
Object state analysis, showing changes of
state
Service specification: creating, storing,
retrieving, connecting, accessing, and
deleting objects
Message specification, consisting of control
and data flow
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-18
Major Components of ObjectOriented Design Activities
Object-oriented design activities are
grouped into four major components:
The
The
The
The
Kendall & Kendall
problem domain component
human interface component
data management component
task management component
Copyright © 2002 by Prentice Hall, Inc.
22-19
Problem Domain Component
The problem domain component
consists of
Reuse design
Implementation structures
Language accommodation
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-20
CRC Cards
Class, responsibilities, and collaborators
(CRC) cards are used to represent the
responsibilities of classes and the
interaction between the classes
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-21
Creating CRC Cards
Analysts create CRC cards by
Finding all the nouns and verbs in a
problem statement
Create scenarios that are actually
walkthroughs of system functions
Identify and refine responsibilities into
smaller and smaller tasks, if possible
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-22
Creating CRC Cards
Creating CRC cards, continued
The group determines how tasks are
fulfilled by objects or interacting with other
things
Responsibilities evolve into methods or
operations
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-23
The Unified Modeling
Language (UML)
UML (Unified Modeling Language) is the
result of a collaboration of individual
object-oriented methods that has been
adopted as a standard for modeling
object-oriented systems
It differs from the Coad and Yourdon
OOA-OOD in the way that it breaks
down objects and their relationships
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-24
The Unified Modeling
Language (UML)
UML has three categories:
Things, the objects
Relationships, the glue that holds things
together
Diagrams, categorized as either structure
or behavioral
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-25
Use Case
A use case describes three things:
An actor (user) that initiates an event
An event that triggers a use case
The use case that performs the actions
triggered by the event
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-26
Kinds of Use Cases
There are two kinds of use cases:
Primary, the standard flow of events within
a system that describe a standard system
behavior
Use case scenarios that describe variations
of the primary use case
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-27
Steps for Creating a Use Case
Model
The steps required to create a use case
model are
Review the business specifications and
identify the actors within the problem
domain
Identify the high-level events and develop
the primary use cases that describe the
events and how actors initiate them
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-28
Steps for Creating a Use Case
Model
Creating a use case model, continued
Review each primary use case to
determine possible variations of flow
through the use case
Develop the use case documents for all
primary use cases and all important use
case scenarios
Move to UML diagramming techniques to
complete the systems analysis and design
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-29
Two General Groupings of
Things
There are two general groupings of
things in UML:
Structural things that define the conceptual
and physical structures of an O-O system
and are described by nouns
Behavioral things, the verbs of a UML
model that represent the behavior of the
system and the states of the system
before, during, and after the behaviors
occur
Kendall & Kendall
22-30
Copyright © 2002 by Prentice Hall, Inc.
Categories of Structural Things
There are seven categories of structural
things
The first five are conceptual or logical
The last two are physical in nature
Component
Node
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-31
Categories of Structural Things
Seven categories of structural things:
Classes, which have properties or
attributes and methods or operations
Interfaces, the behavior of a class or
component of a system that is noticeable
from outside the class or component
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-32
Categories of Structural Things
Seven categories, continued
Collaborations, which describe the
interactions of two or more things in a
system that perform a behavior that is
more than any one of the things can do
alone
Use cases, which describe a series of
actions that demonstrate a distinct
behavior of the system and its interactions
with the actors
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-33
Categories of Structural Things
Seven categories, continued
Control or active classes
A control class can initiate and control an
independent flow of activity within the system
Components, which are a physical part of a
system that represents the services and
interfaces implemented by the elements
contained within that component, including
software code
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-34
Categories of Structural Things
Seven categories, continued
Nodes, which represent a piece of
hardware on which your system executes
Components are physically deployed on nodes
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-35
Behavioral Things
Behavioral things consist of
Interactions, or messages sent between a
set of objects within the system to perform
a specific task
State machine, a series of states that an
object goes through in response to actions
within the system
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-36
Packages
Packages are groups of things
They can be physical subsystems
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-37
Types of Relationships
There are two types of relationships
that hold things together:
Structural
Behavioral
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-38
Types of Structural
Relationships
There are four types of structural
relationships:
Dependencies, where one thing affects
another thing that uses it
Aggregations, which show how the whole
object is composed of the sum of its parts
Associations that describe structural
connections between things
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-39
Types of Structural
Relationships
Four types of structural relationships,
continued
Generalizations, which describe a
relationship between a general kind of
thing and a more specific kind of thing,
used for modeling class inheritance and
specialization
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-40
Types of Active Behavioral
Relationships
There are four active behavioral
relationships:
Communicates is used to connect an actor
to a use case
Includes describes the situation where a
use case contains a behavior that is
common to more than one use case
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-41
Types of Active Behavioral
Relationships
Types of active behavioral relationships,
continued
Extends describes the situation where one
use case possesses the behavior that
allows the new use case to handle a
variation or exception
Generalizes implies that one thing is more
typical than the other thing
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-42
UML Structural Diagrams
UML structural diagrams include
Class diagrams used to model the static
structural design of a system
Object diagrams portray the state of class
instances and their relationships at a point
in time
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-43
UML Structural Diagrams
UML structural diagrams, continued
Component diagrams show an overview of
the system architecture
A deployment diagram illustrates the
physical implementation of the system,
including the hardware
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-44
Behavioral Diagrams
Behavioral diagrams describe the
interaction between people and a use
case
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-45
Behavioral Diagrams
Behavioral Diagrams include
Use case diagrams, showing the actors and
the use cases
Sequence diagrams that depict a
succession of interactions between object
instances over time and they show the
processing described in use case scenarios
Activity diagrams show the flow of
activities within a process
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-46
Behavioral Diagrams
Behavioral Diagrams, continued
Collaboration diagrams illustrate a
sequence of object interactions showing
the organization of the objects during the
interactions
State chart diagrams show the states of an
object and the events and conditions that
trigger a transition from one state to
another
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-47
Steps Used in UML
The steps used in UML are
Define the use case model
Define the object model
Continue UML diagramming to model the
system during the systems analysis phase
Begin system design by refining UML
diagrams and using them to derive classes
and their properties and methods
Kendall & Kendall
Copyright © 2002 by Prentice Hall, Inc.
22-48