oosdlab03-the movement to objects
TRANSCRIPT
-
7/31/2019 OOSDLab03-The Movement to Objects
1/27
Systems Analysis and Design with UML 2.0, Third Edition
THE MOVEMENT TO OBJECTS
-
7/31/2019 OOSDLab03-The Movement to Objects
2/27
Objective
Understand the basic characteristics of object-oriented systems
Be familiar with the Unified Modeling Language (UML) Version 2.0
Be familiar with the Unified Process
-
7/31/2019 OOSDLab03-The Movement to Objects
3/27
Basic Characteristics of Object-Oriented
Systems
Classes and Objects
Methods and Messages
Encapsulation and Information Hiding
Inheritance
Polymorphism and Dynamic Binding
-
7/31/2019 OOSDLab03-The Movement to Objects
4/27
Basic Characteristics of Object
Oriented Systems (Cont.)
An Object is a thing (person, place, etc) which we want to capture
information
An Object has attributes that describe information about the object
Objects are grouped into classes (collections of objects that share
common attributes and methods)
-
7/31/2019 OOSDLab03-The Movement to Objects
5/27
Basic Characteristics of Object
Oriented Systems (Cont.)
Hierarchy of classes helps reducing redundancy in development
An Object has behaviors which are described by methods that
specify what an object can do
Objects communicate by sending messages which trigger methods
-
7/31/2019 OOSDLab03-The Movement to Objects
6/27
Classes and Objects
Class Template to define specific instances or objects
Object Initiation of a class
Attributes Describe the object
Behaviors Specify what can object do
-
7/31/2019 OOSDLab03-The Movement to Objects
7/27
Classes and Objects (Cont.)
-
7/31/2019 OOSDLab03-The Movement to Objects
8/27
Methods and Messages
Methods implement an object behavior
Analogous to a function or procedure
Messages are sent to trigger methods
Procedure call from one object to the next
-
7/31/2019 OOSDLab03-The Movement to Objects
9/27
Methods and Messages
-
7/31/2019 OOSDLab03-The Movement to Objects
10/27
Encapsulation and Information Hiding
Encapsulation combination of data and
process into entity
Information Hiding only the information
required to use a software module is published to
user
Reusability Key use an object by calling
methods
-
7/31/2019 OOSDLab03-The Movement to Objects
11/27
Inheritance
Superclasses or general classes are at the top
of hierarchy of classes
Subclasses or specific classes are at the botom
Subclasses inherit attributes and methods
from classes higher in the hierarchy
-
7/31/2019 OOSDLab03-The Movement to Objects
12/27
Inheritance (Cont.)
-
7/31/2019 OOSDLab03-The Movement to Objects
13/27
Inheritance (Cont.)
-
7/31/2019 OOSDLab03-The Movement to Objects
14/27
Polymorphism and Dynamic Binding
Polymorphism
a message can be interpreted differently by different
classes of objects
Dynamic Binding
Sometimes call late binding
Delays typing or choosing a method for an object until
run-time
-
7/31/2019 OOSDLab03-The Movement to Objects
15/27
Polymorphism and Encapsulation
(Cont.)
-
7/31/2019 OOSDLab03-The Movement to Objects
16/27
Object-Oriented System Analysis and
Design
Use-case driven
Architecture Centric
Iterative and Incremental
The Unified Process
-
7/31/2019 OOSDLab03-The Movement to Objects
17/27
Before the UML
Evolution of OO Development Methods
1960s 1970s
COBOL, FORTRAN, C
Structured Analysis and Design Techniques
1980s early 1990s
Smalltalk, Ada, C++, Visual Basic
Early generation OO methods
Mid/ Late 1990s
Java
UML
Unified Process
-
7/31/2019 OOSDLab03-The Movement to Objects
18/27
UML Version 2.0
Broken into two major groupings
Structure Diagrams
Behavioral Diagrams
Developers
Grady Booch
Ivar Jacobson
James Rumbaugh
-
7/31/2019 OOSDLab03-The Movement to Objects
19/27
UML 1.4 VS UML 2.0
No. UML 1.4 Model Element Name UML 2.0 Model Element Name
1 Association end Member end and Property
2 Object (when used in activity diagrams) Object node
3 Object (when used in sequence diagrams) Lifeline
4 Collaboration diagrams Communication diagrams
5 Swimlane (or partition) ActivityPartition
6 Activity Structured activity node
7 Decision Decision node or merge node
8 Final State or end state Final Activity Node
9 Initial state or start state Initial node
10 Object Instance (in activity diagrams) Central buffer node
11 State Structured activity node
12 State machine Structured activity node
Source: http://publib.boulder.ibm.com/infocenter/rtnlhelp/v6r0m0/index.jsp?topic=/com.ibm.xtools.modeler.doc/topics/r_uml_name_diffs.html
-
7/31/2019 OOSDLab03-The Movement to Objects
20/27
UML 1.4 VS UML 2.0 (Cont.)
No. UML 1.4 Model Element Name UML 2.0 Model Element Name
13 Synchronization bar (synch bar) Fork node or Join node
14 Transition (on an activity diagram) Control flow
15 Transition condition (guard condition) Control flow guard
16 Formal Argument Template Parameter Substitution
17 Formal Arguments (collection of Formal
Arguments)
Template Binding
18 Three-tiered diagrams Class diagrams
19 Class Instance Lifeline
20 Self-link Message pathway
21 Connection relationship Communication Path
22 Process (in a deployment diagram) Artifact
23 Processor Execution environment
24 Destruction marker Stop node
Source: http://publib.boulder.ibm.com/infocenter/rtnlhelp/v6r0m0/index.jsp?topic=/com.ibm.xtools.modeler.doc/topics/r_uml_name_diffs.html
-
7/31/2019 OOSDLab03-The Movement to Objects
21/27
UML 1.4 VS UML 2.0 (Cont.)
No. UML 1.4 Model Element Name UML 2.0 Model Element Name
25 Focus of Control Execution Occurrence
26 Action UML activity
27 - Composite Structure Diagram
28 - Interaction Overview Diagram
29 - Timing Diagram
Source: http://publib.boulder.ibm.com/infocenter/rtnlhelp/v6r0m0/index.jsp?topic=/com.ibm.xtools.modeler.doc/topics/r_uml_name_diffs.html
-
7/31/2019 OOSDLab03-The Movement to Objects
22/27
Structure Diagrams
Class
Object
Package
Deployment
Component
Composite Structure
-
7/31/2019 OOSDLab03-The Movement to Objects
23/27
Structure Diagrams (Cont.)
Class
Relationships between classes
Object
Relationships between objects
Package
Group UML elements together to form higher level
constructs
-
7/31/2019 OOSDLab03-The Movement to Objects
24/27
Structure Diagram (Cont.)
Deployment
Show the physical architecture and software
components of system
Component
Physical relationships among software components
Composite Structure
Illustrates internal structure of class
-
7/31/2019 OOSDLab03-The Movement to Objects
25/27
Behavioral Diagrams
Activity
Illustrates business workflows
Interaction Diagrams
Sequence Time-based ordering behavior of objects activities in usecase
Communication Communication among a set of collaborating objects on an activity
Interaction Overview
Overview of flow of control of a process Timing
Illustrate the interaction and state changes which they go throughtime
-
7/31/2019 OOSDLab03-The Movement to Objects
26/27
Behavior Diagrams (Cont.)
State Machines
Behavioral State Machine
Examines behavior of one class
Protocol State Machine
Show dependencies of different interfaces of class
Use Case
Captures business requirements
Illustrates interaction between system and environment
-
7/31/2019 OOSDLab03-The Movement to Objects
27/27
Use Case Diagram
Captures business requirements
Illustrates interaction between a system and its
environment
Includes end user
Any external system that interacts with its information
system
Documents and clarifies requirements of system being
modeled