Introduction To OO SAD & UML: Slide 1
Introduction To OO SAD & UML: Slide 1
Chapter 2
Slide 1
Basic Characteristics of
Object Oriented Systems
Classes and Objects
Methods and Messages
Encapsulation and Information
Hiding
Inheritance
Polymorphism and Dynamic
Binding
Slide 2
Classes and Objects
Class – Template to define
specific instances or objects
Object – Instantiation of a class
Attributes – Describes the
object
Behaviors – specify what object
can do
Slide 3
Classes and Objects
Slide 4
Methods and Messages
Methods implement an object’s
behavior
Analogous to a function or
procedure
Messages are sent to trigger
methods
Procedure call from one object to
the next
Slide 5
Messages and Methods
Slide 6
Encapsulation and
Information Hiding
Encapsulation
Combination of data and process into an
entity
Neither process- nor data-centric
Information Hiding
Only the information required to use a
software module is published to the user
Reusability is Key
Use an object by calling methods
Public interface
Slide 7
Inheritance
Superclasses or general classes
are at the top of a hierarchy of
classes
Subclasses or specific classes
are at the bottom
Subclasses inherit attributes
and methods from classes
higher in the hierarchy
Slide 8
Class Hierarchy
Slide 9
Inheritance
Slide 10
Polymorphism and Dynamic
Binding
Polymorphism
A message can be interpreted differently by
different classes of objects
Dynamic Binding
Sometimes called late binding
Delays typing or choosing a method for an
object until run-time
Static Binding
Sometimes called early binding
Type of object determined at compile time
Slide 11
Polymorphish & Encapsulation
Slide 12
The Unified Modeling
Language, Version 2.0
Structure Diagrams
Behavior Diagrams
Extension Mechanisms
Developers
Grady Booch
Ivar Jacobson
James Rumbaugh
Slide 13
Structure Diagram
Structure Diagrams include
Class
Object
Package
Deployment
Component
Composite structure diagrams
Slide 14
Structure Diagrams
Class Diagrams
Common vocabulary used by analyst and
users
Represent things (employee, paycheck,…)
Shows the relationships between classes
Object Diagrams
Similar to class diagrams
Instantiation of a class diagram
Relationships between objects
Slide 15
Structure Diagrams
Package Diagrams
Group UML elements together to
form higher level constructs
Deployment Diagrams
Shows the physical architecture
and software components of
system
For example, network nodes
Slide 16
Structure Diagrams
Component Diagrams
Physical relationships among
software components
Example – Client/Server
Which machines run which software
Composite Structure
Illustrates internal structure of a
complex class
Slide 17
Behavior Diagrams
Activity Diagrams
Model processes in an information
system
Example: Business workflows,
business logic
Slide 18
Behavior Diagrams
Interaction Diagrams
Shows interaction among objects
Sequence Diagrams – Time
Time-based ordering of the interaction
Communication Diagrams – Messages
Communication among a set of
collaborating objects of an activity
Interaction Overview Diagrams
Overview of flow of control of a process
Timing Diagrams
Show how an object changes over time
Slide 19
Behavior Diagrams
State Machines
Examines behavior of one class
Models the different states and state
transitions an object can experience
Use-Case Diagrams
Shows interaction between the system
and environment
Captures business requirements
Slide 20
Extension Mechanisms
Stereotypes
Gives ability to incrementally extend
UML
Tagged Values
Add new properties to base elements
Constraints
Place restrictions on use of model
elements
Profiles
Group model elements into a package
Slide 21
Object Oriented Systems
Analysis and Design
Use-case driven
Use case the primary modeling tool
Architecture Centric
The SW architecture drives the
specification
Iterative and Incremental
Continuous testing and refinement
Each iteration brings system closer to
final requirements
Slide 22
Engineering Workflows
Slide 23
Supporting Workflows
Slide 24
Basic Characteristics of
Object Oriented Systems
Identifying business value
Analyze feasibility
Develop work plan
Staff the project
Control and direct project
Requirements determination
Functional modeling
Structural modeling
Behavioral modeling
Moving on to design
Slide 25
UML Summary
Class and method design
Data management layer design
Human computer interaction layer
design
Physical architecture layer design
Construction
Installation
Operations and support
Slide 26
Summary
Basic characteristics of an
object oriented system
Unified modeling system
Object oriented Systems
Analysis and Design
Minimalist approach to Object
oriented systems analysis and
design with UML
Slide 27