Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Systems
Analysis and Design
Using UML
18
Learning Objectives
Understand what object-oriented systems analysis
18-2
18-3
Maintaining systems
Kendall &
18-4
Major Topics
Object-oriented concepts
CRC Cards and object think
Unified Modeling Language
Use case and other UML diagrams
Packages
Using UML
Kendall &
18-5
Object-Oriented Concepts
Objects
Classes
Inheritance
Kendall &
18-6
Objects
Persons, places, or things that are
relevant to the system being
analyzed
May be customers, items, orders
and so on
May be GUI displays or text areas
on a display
Kendall &
18-7
Classes
Defines the set of shared attributes and
18-8
Kendall &
18-9
Inheritance
When a derived class inherits all
18-10
Kendall &
18-11
Class
Responsibilities
Collaborators
18-12
Figure 18.3 Four CRC cards for course offerings show how
analysts fill in the details for classes, responsibilities, and
collaborators, as well as for object think statements and
property names
Kendall &
18-13
Kendall &
18-14
Kendall &
18-15
Things
Behavioral things
Describe how things work
Interactions and state machines
Group things
Used to define boundaries
Annotational things
Can add notes to the diagrams
Kendall &
18-16
Relationships
Structural relationships
Behavioral relationship
Kendall &
18-17
Structural Relationships
Dependencies
Aggregations
Associations
Generalizations
Kendall &
18-18
Behavioral Relationships
Communicates
Includes
Extends
Generalizes
Kendall &
18-19
Diagrams
Structural diagrams
Behavior diagrams
Kendall &
18-20
Structural Diagrams
Class diagrams
Object diagrams
Component diagrams
Deployment diagrams
Kendall &
18-21
Behavioral Diagrams
Use case diagrams
Sequence diagrams
Collaboration diagrams
Statechart diagrams
Activity diagrams
Kendall &
18-22
Kendall &
18-23
Activity diagram
18-24
Class diagrams
Statechart diagrams
18-25
Kendall &
18-26
Actor
Event
Use case
Kendall &
18-27
Kendall &
18-28
Kendall &
18-29
Activity Diagrams
Show the sequence of activities in a
18-30
Kendall &
18-31
18-32
Swimlanes
Useful to show how the data must
be transmitted or converted
Help to divide up the tasks in a
team
Makes the activity diagram one
that people want to use to
communicate with others
Kendall &
18-33
Kendall &
18-34
Sequence Diagrams
Illustrate a succession of
18-35
Kendall &
18-36
Kendall &
18-37
Communication Diagrams
Describes the interactions of two or more
18-38
Kendall &
18-39
Class Diagrams
Show the static features of the
18-40
Class Diagrams
(Continued)
Classes
Attributes
Private
Public
Protected
Methods
Standard
Custom
Kendall &
18-41
Kendall &
18-42
Method Overloading
Including the same method (or
Kendall &
18-43
Types of Classes
Entity classes
Interface classes
Abstract classes
Control classes
Kendall &
18-44
Entity Classes
Represent real-world items
The entities represented on an
entity-relationship diagram
Kendall &
18-45
Interface or Boundary
Classes
Provide a means for users to work
18-46
Abstract Classes
Linked to concrete classes in a
generalization/specialization
relationship
Cannot be directly instantiated
Kendall &
18-47
Control Classes
Used to control the flow of
activities
Many small control classes can be
used to achieve classes that are
reusable
Kendall &
18-48
Kendall &
18-49
Kendall &
18-50
Relationships
The connections between classes
Associations
Whole/part
Kendall &
18-51
Kendall &
18-52
Associations
The simplest type of relationship
Association classes are those that
18-53
Whole/Part Relationships
When one class represents the
Aggregation
Collection
Composition
Kendall &
18-54
Aggregation
A has a relationship
Provides a means of showing that
the whole object is composed of
the sum of its parts
Kendall &
18-55
Collection
Consists of a whole and its
members
Members may change, but the
whole retains its identity
A weak association
Kendall &
18-56
Composition
The whole has a responsibility for
Kendall &
18-57
Kendall &
18-58
Generalization/Specialization
Diagrams
Generalization
Inheritance
Polymorphism
Abstract classes
Messages
Kendall &
18-59
Generalization
Kendall &
18-60
Inheritance
Helps to foster reuse
Helps to maintain existing program
code
Kendall &
18-61
Polymorphism
The capability of an object-oriented
18-62
Abstract Classes
Abstract classes are general
classes
No direct objects or class instances,
and is only used in conjunction with
specialized classes
Usually have attributes and may
have a few methods
Kendall &
18-63
Kendall &
18-64
Finding Classes
During interviewing or JAD sessions
During facilitated team sessions
During brainstorming sessions
Analyzing documents and memos
Examining use cases, looking for
nouns
Kendall &
18-65
Determining Class
Methods
Standard methods
Examine a CRUD matrix
Kendall &
18-66
Messages
Used to send information by an object in
18-67
Statechart Diagrams
Objects
States
Events
Signals or asynchronous messages
Synchronous
Temporal events
Kendall &
18-68
Statechart Diagrams
(Continued)
Created when
18-69
Kendall &
18-70
Packages
Containers for other UML things
Show system partitioning
Can be component packages
Can be physical subsystems
Use a folder symbol
May have relationships
Kendall &
18-71
Kendall &
18-72
18-73
Summary
Object-Oriented systems
Objects
Classes
Inheritance
CRC cards
UML and use case modeling
Components of UML
Things
Relationships
Diagrams
Kendall &
18-74
Summary (Continued)
UML diagrams
Using UML
Kendall &
18-75