You are on page 1of 24

Department of Information Systems

Subject: Software Analysis and Design

Object Technology

Amna Shifia Nisafani


amna@is.its.ac.id
Pretest Quiz 

1. Apa perbedaan antara object dengan class


2. Apakah sebuah kelas bisa memiliki banyak object
3. Apakah sebuah object bisa memiliki banyak class
4. Apa yang dimaksud dengan polymorphism.
5. Sebutkan Dua karakteristik kelas Dan object
6. Apa perbedaan antara override dengan overload
7. Apa perbedaan antara transformer operation dengan
enquiry operation

Page 2
Outline

 What is Object Technology


 What is Object
 What is Class
 Specialization and Polymorphism

Page 3
What is Object Technology

 A set of principles (abstraction, encapsulation,


polymorphism) guiding software construction, together with
languages, databases, and other tools that support those
principles (Taylor, 1997).

Page 4
What is Object Technology

 Object technology is used for creating models that reflect a


specific domain. Models created using object technology
should be easy to create, change, expand, validate, and verify.
 Systems built using object technology are flexible to change,
have well-defined architectures, and have reusable
components.
 Models created using object technology are conveniently
implemented in software using object-oriented programming
languages.

Page 5
Analysis and Design Models

 Analysis models aims to document various facets of the real


world problem that we are modeling
 In Object Oriented Systems Development), analysis model
typically involves identifying the significant application
objects and the application processing to be performed
 Objects identified during analysis should be presented in the
final code

Page 6
Object

 Object – something that is or is capable of being seen,


touched, or otherwise sensed, and about which users store
data and associate behavior.
 Usually mimic the real-world objects of the application
domain
 Objects are characterized by having both state and
behaviour.

Page 7
Object - State

 The information an object has about itself.

State: NRP, Nama,


Fakultas, Jurusan,
Alamat

State

Page 8
Object - Behaviour

 Describes the actions the object is prepared to engage in.


 The behaviour of an object is described by the set of
operations it is prepared to perform.

Sender Object

Recipient
Object
Message

Page 9
Class

 a set of objects that share common attributes and behavior


 A class is effectively a blueprint or template that fully
describes the abstraction

Attributes (properties)
describes the information
an object holds to
represent its state
Operation defines the
behaviours of such objects

The effect of these


operations is
described by its method

Page 10
Object – an instance of Class

An Example of Student Instance

An Example of Bank Account Instance

Page 11
Transformer Vs Enquiry Operation

 Enquiry operations  The operations that only give


information about an object
 Transformer operation  The operation that changes one
or more of the object instance attribute values.
 Transformer operations result in a state change, while
enquiry operations DO NOT usually affect the state of the
instance.

Transformer Operation
Enquiry Operation
Page 12
Messaging

 A message identifies the recipient object and the name for the
operation to be performed.
 The message name represents one of the operations of the class to
which the recipient belongs.
 If the message requires any further details they are given as the message
parameters.

Operation
being asked to
execute

parameter

Be sure to recognize that a return value is NOT another message

Page 13
Object/Class Relationships

 Object/class relationship – a natural business association


that exists between one or more objects and classes.

Page 14
Multiplicity

 Multiplicity –
the minimum
and maximum
number of
occurrences of
one
object/class for
a single
occurrence of
the related
object/class.

Page 15
Inheritance

 Inheritance – the concept wherein methods and/or


attributes defined in an object class can be inherited or
reused by another object class

Page 16
Inheritance

Page 17
UML Representation of Generalization/ Specialization

Page 18
Polymorphism

Polymorphism – the concept that different objects can


respond to the same message in different ways.

Page 19
Polymorphism - Override

 Override – a technique whereby a subclass (subtype) uses an


attribute or behavior of its own instead of an attribute or behavior
inherited from the class (supertype).

Page 20
Polymorphism - Overload

 Overload– a technique
whereby a subclass
(subtype) has an
attribute or behavior
with different parameter
from the class
(supertype).

Page 21
Summary by Example

Concept Example
Class Citizen
Attributes/Properties of Class Name, Birth date, Birthplace, Id Number, Address
Operation GetAge, GetName, GetId, ChangeAddress
Object Citizen A, Citizen B, Citizen C
State Sulaiman, 20 Agutus 2015, Surabaya, 012345, Keputih
Behaviour GetAge, GetName, GetId, ChangeAddress
Enquiry Operation GetAge, GetName, GetId
Transformer Operation ChangeAddress
Specialization WNI, WNA
Override When WNA has its own GetAge operation
Overload When WNA has its own GetId (Issue) operation

Page 22
Postest

 Buatlah contoh dari konsep-konsep yang sudah dijelaskan sebagaimana


seperti pada tabel di bagian Summary

Page 23
Next Agenda

 Materi: Object Oriented Analysis and Design [1:19-45] [3:12-26]

 Referensi:
 Barclay K and Savage J. 2004. Object-Oriented Design with UML and
Java, Burlington: Elsevier Butterworth-Heinemann.gs
 Boggs Wendy and Boggs Micheal. 2002. Michael Boggs. Mastering
UML with Rational Rose. Alameda: Sybex.

 Pretest dan Postest

Page 24

You might also like