Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
97 views

Introduction To Object Orientation System Analysis and Design

This document provides an introduction to object-oriented system analysis and design. It describes the basic characteristics of object-orientation including classes, objects, methods, messages, encapsulation, inheritance, and polymorphism. It also outlines the typical analysis and design process, including identifying object classes, attributes, associations, refining with inheritance, and grouping classes into modules. Dynamic and functional modeling techniques are also introduced. The overall summary provides a high-level overview of key concepts in object-oriented analysis and design.

Uploaded by

Na' Shop
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
97 views

Introduction To Object Orientation System Analysis and Design

This document provides an introduction to object-oriented system analysis and design. It describes the basic characteristics of object-orientation including classes, objects, methods, messages, encapsulation, inheritance, and polymorphism. It also outlines the typical analysis and design process, including identifying object classes, attributes, associations, refining with inheritance, and grouping classes into modules. Dynamic and functional modeling techniques are also introduced. The overall summary provides a high-level overview of key concepts in object-oriented analysis and design.

Uploaded by

Na' Shop
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 47

Introduction to Object

Orientation System Analysis and


Design
Objectives
 Understand the basic characteristics of object-
oriented systems.
 Understand the object orientation notation
 Understand how to analyze and design with OO
paradigm
What’s Object Orientation?
 A new technology based on objects and classes
 A paradigm (way of thingking) to organize software
as a collection of discrete objects that incorporate
both data and process.
 An abstraction of the real world based on objects
and their interactions with other objects.
Basic Characteristic
(1) Classes and Objects
 OO focus on capturing structure and behaviour in
little modules that encompass both data and process.
These modules are known as OBJECTs.
 Class is a general template we use to define and
create specific instances or objects.
 An object is an instantiation of a class.
 Each object has attributes (describe the object) and
behaviors (what an object can do).
Class Car
<<instanceOf>>

Attributes
 Model
 Location
<<instanceOf>>  #Wheels = 4

Operations
 Start
<<instanceOf>>
 Accelerate
Basic Characteristic (2)
(2) Methods and Messages
 Methods implement an object’s behaviour
 In other languages, method is known as procedure or
function.
 A message is a function or procedure call from one
object to another object.
Basic Characteristic (3)
Basic Characteristic (4)
(3) Encapsulation and Information Hiding
 Encapsulation : how to wrap process and data into a
single entity.
 Only the information required to use a software
module is published to the user. Exactly how the
module implements the required information is
unnecessary.
Basic Characteristic (5)
(4) Inheritance
 Is a mechanism to create a class from other class.
 Related terms : superclass and subclass
 Subclass inherit the appropriate attributes and
methods from its superclass.
 Avoid repeating of writing attributes or methods.
 The relationship between the class and its superclass
is known as the A-Kind-Of relationship.
Basic Characteristic (6)
(5) Polymorphism and Dynamic Binding
 Polymorphism : the same message can be interpreted
differently by different classes of objects.
 For example : sent message “draw” to an circle
object, a square object, and a triangle object will
make a different result.
 Dynamic Binding : determining the exact
implementation of a request based on both the
request (operation) name and the receiving object
at run-time
Various Methodologies
 Shlaer/Mellor methods (Shlaer-1988)
 Coad/Yourdon methods (Coad-1991)
 Booch methods (Booch-1991)
 OMT methods (Rumbaugh-1991)
 Wirfs-Brock methods (Wirfs-Brock-1990)
 OOSE Objectory methods (Jacobson-1992)
 Unified Modelling Languages (UML-1997)
OBJECT ORIENTED
NOTATION GUIDE
Class and Object
 Class  Object instance
Class Name
Class name

Attributes
Attributes

Methods
Methods

 Instantiation relationship

Class Name Class Name


Generalization and Inheritance
Aggregation
 Aggregation 1  Aggregation 2
Association
 Association

 Multiplicity of association
Ternary Association
OBJECT ORIENTED ANALYSIS
AND DESIGN
Analysis and Design Process
1. Problem statement
2. System architecture
3. Object modelling
1. Identifying object classes
2. Preparing a data dictionary for classes
3. Identifying association
4. Identifying attributes
5. Refining with inheritance
6. Grouping classes into model
4. Dynamic modelling
5. Functional modelling
PROBLEM STATEMENTS
Problem Statement
 Requirements statement
 Problem scope
 What’s needed
 Application context
 Assumptions
 Performance needs
Example : ATM Network
System Architecture
Identifying Object Classes
Example : ATM Network
Preparing a Data Dictionary
Example
 Account : a single account in a bank against which
transactions can be applied. Account may be of
various types, at least checking or savings. A
customer can hold more than one account.
 Bank : A financial institution that holds accounts for
customers and that issues cash cards authorizing
access to accounts over the ATM network.
 ATM : …
 Bank Computer : ….
 Customer : …
 etc
Identifying Associations
Example
Identifying Attributes
Example
Refining with Inheritance
 This step is to organize classes by using inheritance
to share common structure
 Inheritance can be added in two directions :
 Bottom Up : By generalizing common aspect of
existing classes into a superclasses
 By searching for classes with similar attributes,
associations, or operations
 For each generalization, define a superclass to share
common features
 Top Down : By refining existing classes into
specialized subclasses
Example
Grouping Class into Modules
 A module is a set of classes that captures some
logical subset of entire model
 For example: a model of computer operating system
might contain modules for process control, device
control, file maintenance, and memory management
Example
 Tellers : Cashier, Entry Station, Cashier Station, ATM
 Account: Account, Cash Card, Card Authorization,
Customer, Transaction, Update, Cashier
Transaction, Remote Transaction
 Banks: Consortium, Bank
DYNAMIC MODEL
Dynamic Model
 The dynamic model shows the time-dependent
behavior of the system and the objects in it.
 Begin dynamic analysis by looking for event,
externally visible stimuli and responses.
 The dynamic model is important for interactive
systems, but insignificant for purely static data
repository, such as database.
 The following steps are performed in constructing a
dynamic model :
1. Prepare scenarios of typical interaction sequences
2. Identify events between objects
3. Prepare an event trace for each scenario
4. Build a state diagram
5. Match events between objects to verify consistency
Example
FUNCTIONAL MODEL
Functional Model
 The functional model shows how values are
computed, without regard for sequencing, decisions,
or object structure
 The functional model shows which values depend
on which other values and the functions that relate
them
 Data flow diagrams are useful for showing
functional dependencies
Example
OBJECT ORIENTATION
IMPLEMENTATION
Implementation Process
 Class Definition
 Creating Objects
 Calling Operations
 Using Inheritance
 Implementing Association

You might also like