object modeling pertemuan 9

52

Upload: daphne

Post on 14-Jan-2016

52 views

Category:

Documents


0 download

DESCRIPTION

OBJECT MODELING Pertemuan 9. Matakuliah: Konsep object-oriented Tahun: 2009. Object Modelling. Modelling. Model adalah representasi dari bagian dunia nyata Modeling adalah proses mengambarkan dan mengorganisir fitur-fitur yang berarti dari bagian dunia nyata. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: OBJECT MODELING Pertemuan 9
Page 2: OBJECT MODELING Pertemuan 9

OBJECT MODELINGPertemuan 9

Matakuliah : Konsep object-orientedTahun : 2009

Page 3: OBJECT MODELING Pertemuan 9

Object Modelling

Page 4: OBJECT MODELING Pertemuan 9

Modelling• Model adalah representasi dari bagian dunia

nyata• Modeling adalah proses mengambarkan dan

mengorganisir fitur-fitur yang berarti dari bagian dunia nyata.

• Sebuah model yang baik akan merepresentasikan hanya fitur dari kenyataan yang berguna dan mengabaikan detail yang tidak relevan

Page 5: OBJECT MODELING Pertemuan 9

Kegunaan Model:• Untuk komunikasi• Menangani kompleksitas• Digunakan dalam setiap tahap pembangunan

sistem

Page 6: OBJECT MODELING Pertemuan 9

Untuk komunikasi• Komunikasi dengan klien atau user dengan

developer, atau developer dengan developer• Sekarang ini model biasanya menggunaka

diagram grafik, teks atau keduanya• Dengan model dapat mengidentifikasi perbedaan,

mengurangi ketidak konsistenan dan salah pengertian.

• Lebih mudah dan menghasilkan umpan balik

Page 7: OBJECT MODELING Pertemuan 9

Untuk menangani kompleksitas• Model membantu developer untuk

mengkomunikasikannya dengan klien dan membantu klien mengerti tentang sistem yang baru.

• Menangani kompleksitas dengan cara:– Dekomposisi: membagi problem menjadi ukuran yang

dapat dimengerti oleh otak– Abstraction: berkonsentrasu oada detil yang penting dan

mengabaikan detail yang tidak relevan.

Page 8: OBJECT MODELING Pertemuan 9

Tahap berbeda didalam pembangunan sistem

• Dapat menggunakan model dari tahap awal sampai tahap selanjutnya.

Page 9: OBJECT MODELING Pertemuan 9

Class Diagram• Titik awal dari O-O sistem development adalah

sebuah obyek, tetapi konsep utama dari setiap tahap adalah class diagram.

Page 10: OBJECT MODELING Pertemuan 9

Class Diagram(lanj’)• Untuk setiap class, diagram terdiri dari atribut

dan operasi yang berhubungan dengannya.• Class diagram berdasarkan data, lebih stabil

daripada proses.• Struktur yang berdasarkan data memberikan

dasar yang kuat ketika sistem dibuat.

Page 11: OBJECT MODELING Pertemuan 9

Tahap membuat class diagram• Tahap membuat class diagram:

– Identifikasikan obyek dan class turunannya– Identifikasikan atribut class– Mulai membuat kamus data– Identifikasikan operasi tiap class– Gunakan teknik CRC untuk mengkover tanggung

jawab dan kolaborasi– Identifikasikan hubungan antar class,

menggunakan asosiasi, agregasi dan inheritance– Iterasikan dan definisikan model

Page 12: OBJECT MODELING Pertemuan 9

Identifikasikan obyek dan class turunannya

• Identifikasikan obyek fisik dan konsep yang potensial didalam problem domain

Just A Line management wishes to increase security, both their building and on site, without antagonizing their employees. They would also like to prevent people who are not part of the company from using the Just a Line car park.

It has been decided to issue identity cards to all employees, which their expected to wear while on Just a Line sites. The card records the name, departement and number the member of staff, and permit access to the Just A Line car park.

A barrier and card reader are placed at the entrance to the car park. The driver of an approaching car inserts his or her numbered card in the card reader, which then checks that number is known to the Just A Line system. If the card is recognized, the reader send a signal to raise the barrier and the car able to enter the car park

A the exit, there also barrier, which raised when a car wishes to leave the car park.

When there are no spaces in the car park a sign at the entrance display Full and is only switched off when a card is leaves.

Special visitors cards which record a number and the current date also permit acces to the car park. Visitors cards may be sent out in advance, or collected from reception . All visitors cards must be returned to reception when visitor leave Just A Line

Page 13: OBJECT MODELING Pertemuan 9

• Daftarkan obyek fisik dan obyek konsep yang ada diproblem domain

Just A Line management security building

site employee people company

car park card name departement

number member of staff access barrier

card reader entrance driver car

system signal exit space

sign visitor reception

Page 14: OBJECT MODELING Pertemuan 9

• Pelajari obyek dan buat obyek yang tidak berguna. Buang jika :– Duplikat– Tidak relevan– Mempunyai arti ganda– Terlalu umum– Merupakan atribut– Merupakan asosiasi– Merupakan aturan(Roles)– Merupakan implementasi

Page 15: OBJECT MODELING Pertemuan 9

management security building

site employee people company

car park card name departement

number access barrier

card reader entrance driver car

system signal exit space

sign visitor reception

Duplikat• Jika ada dua atau lebih obyek yang berbeda nama tetapi

menunjuk ke hal yan sama, hanya satu yang digunakan, buang yang lainnya

• Contohnya : employee/member of staff dan company/Just a Line

Just A Line

member of staff

Page 16: OBJECT MODELING Pertemuan 9

security

employee people

car park card name departement

number access barrier

card reader entrance driver car

system signal exit space

sign

Tidak relevan• Obyek berada didalam problem domain tetapi tidak merupakan

bagian dari sistem, dibuang saja• Contohnya : management, site, company, visitor dan reception

management buildingsite company

visitor reception

Page 17: OBJECT MODELING Pertemuan 9

Mempunyai arti ganda (Vague) • Ketika sebuah kata dibaca dengan hati-hati, kadang sebuah

kata tidak mempunyai arti yang tepat sehingga tidak dapat dijadikan basis data contohnya : security dan people

employee

car park card name departement

number access barrier

card reader entrance driver car

system signal exit space

sign

securitypeople

Page 18: OBJECT MODELING Pertemuan 9

Terlalu umum• Sebuah kata seperti kata sistem tidak bisa menjadi class

yang berguna karena terlalu umum artinya:

employee

car park card name departement

number access barrier

card reader entrance driver car

signal exit space

sign system

Page 19: OBJECT MODELING Pertemuan 9

employee

car park card

access barrier

card reader entrance driver car

signal exit space

sign

Attributes• Sometime we discover a word is a part of some other

class. Such departement, name and number may be would be attributes of the class card

name departementnumber

Page 20: OBJECT MODELING Pertemuan 9

Asosiasi• Kadang sebuah kata, seperti “ACCESS” keluar sebagai

obyek, tetapi sebetulnya kata tersebut mewakili relasi antar obyek

employee

car park card

barrier

card reader entrance driver car

signal exit space

sign

access

Page 21: OBJECT MODELING Pertemuan 9

Aturan (Roles)• Jangan ambil sebuah kata yang bersifat aturan(role)

sebagai anggota class diagram kata “driver” hanya berlaku sementara, sesorang yang mengendarai kednaraan bermotor, jika sudah tidak mengendarai tidak dapat disebut driver lagi

employee

car park card

barrier

card reader entrance car

signal exit space

sign

driver

Page 22: OBJECT MODELING Pertemuan 9

Implementasi

• Jangan mengambil sebuah kata sebagai class, jika kata tersebut nantinya akan digunakan diwaktu implementasi contoh “SIGNAL”

employee

car park card

barrier

card reader entrance car

exit space

sign signal

Page 23: OBJECT MODELING Pertemuan 9

• Find any missed class– Is common sense if we have include a “sensor” into

class, because need sensor for each barrier to opened the barrier if any car arrives and leaves.

Page 24: OBJECT MODELING Pertemuan 9

• Potential class in Just A Line

Car Park Staff Card Visitor Card Employee

Entrance Exit Card reader Barrier

Full Sign Space Sensor Car

Page 25: OBJECT MODELING Pertemuan 9

Identifikasikan atribut sebuah class• Identifikasikan aribut dari kata-kata. • Kumpulkan data yang penting dan relevan tentang obyek

tersebut dan buang informasi yang tidak relevan• Buang atribut jika dapat diturunkan dari class lain.• Ketika kita memikirkan atribut. Sering kali kita menemukan

bahwa:– Detil yang sama dari dua class yang berbeda, misalnya

employee dengan staf card, artinya salah satunya tidak berguna, dapat dibuang.

– Tidak ada atribut atau sesuatu yang dilakukan oleh class tersebut, contohnya : entrance, exit, car and space, karena tidak berguna dapat dibuang

Page 26: OBJECT MODELING Pertemuan 9

Car Park Staff Card Visitor Card

Card reader Barrier

Full Sign Sensor

Employee

Entrance Exit

Space Car

Page 27: OBJECT MODELING Pertemuan 9

Mulai membangun kamus data

Car Park : represent the physical car park and keeps count of the

number of spaces available

Staff Card : a card, issued to a member of the just a line staff. That record the staff member number, name and departement. The number uniquely identifies. The card also permits access to Just A Line car park

Visitor Card : a card, with permit access to Just A Line car park. Given to someone visiting the company. The card record number and the current date. Visitor card may be send out in advanced or collected from reception and all cards must be returned to reception when visitor leave from Just A Line.

Card reader: a machine that read a card that is input and check the card number against a list of valid number. If the card is valid , the reader sends a signal to raise the barrier

Page 28: OBJECT MODELING Pertemuan 9

Barrier: a bar, which raise or lower itself according the signal received from either other associate sensor or card reader.

Sensor: a device for detecting the presence of a card

Page 29: OBJECT MODELING Pertemuan 9

Identifikasikan operasi yang dilakukan class

Car Park

Capacity

spaces

inc.spaces()

dec.spaces()

Spaces left()

Page 30: OBJECT MODELING Pertemuan 9

Gunakan CRC card untuk menembukan tanggung jawab

dan kolaborasi

• CRC(class-responsibility-collaboration)

• CRC card adalah bagian dalam metode pendekatan sistem dengan nama Responsibility-Driven-Design

Full Sign

On : Boolean

Switch on()

Switch of()

Page 31: OBJECT MODELING Pertemuan 9

• Tujuan dari Responsibility Driven Design adalah untuk melihat semua fungsi didalam sistem dan membaginya kedalam class.

• Tanggung jawab untuk menyediakan layanan bagi class lain.

Page 32: OBJECT MODELING Pertemuan 9

• Contoh:– Class Full sign

bertanggung jawab untuk menyala ketika tidak ada lagi tempat yang tersisa didalam parkir dan padam ketika ada tempat kosong(tersedia)

Full Sign

On:Boolean

Switch on()

Switch off()

Page 33: OBJECT MODELING Pertemuan 9

• Kadang sebuah class berlaku sebagai server dan memberikan layanan kepada class lain dan di lain waktu berlaku sebagai client menerima layanan dari class yang lainnya

Car Park

Capacity

spaces

Inc.spaces()

Dec.spaces()

Spaces left()

Barrier

Up:boolean

Raise()

Lower()

Full Sign

On:boolean

Switch on()

Switch off()

Page 34: OBJECT MODELING Pertemuan 9

• Sebuah contoh CRC Card dengan responsibilities and collaborations

Barrier

Responsibillity Collaborator

Raise()

Lower()

Sensor

Sensor

Page 35: OBJECT MODELING Pertemuan 9

• Jika sebuah class tidak menjadi solusi yang fleksibel

Card reader

Valid card nos.

Read card()

Card OK()

Card reader

Read card()

Valid Card

Valid card nos.

Card OK()

Page 36: OBJECT MODELING Pertemuan 9

Identifikasikan hubungan apakah menggunakan association, aggregation

atau inheritance• Asosiasi(association) : hubungan singkat antar

obyek.

StudentCourse

0..* 1..*

studies

Zero or one 0..1Exactly one 1(or ommited)Zero, one or many *, or 0..*One or more 1..*An exact number 2,3,4, 24An a range 2..3,4..6

Page 37: OBJECT MODELING Pertemuan 9

Card reader

Read card()

Valid Card

Valid card nos.

Card OK()

1..*

1

Page 38: OBJECT MODELING Pertemuan 9

• Agregasi(Aggregation): hubungan antar obyek ketika sebuah class terdiri dari class yang lain (“part of”, ”consist of”, “made up of”).

2..* 2..* 1..*

1..*

Car ParkCar Park

BarrierBarrier Sensor Sensor Card ReaderCard Reader

Full SignFull Sign

Page 39: OBJECT MODELING Pertemuan 9

• Inheritance: ketika sebuah obyek merupakan spesialisasi dari class yang lain.

• Kadang orang lain menyebutnya Gen-Spec

Card

card number

delete()

Visitor Card

current date

delete()

Staff Card

namedeptexpiry date

delete()

Page 40: OBJECT MODELING Pertemuan 9

2..* 2..* 1..*

1..*

Car ParkCar Park

BarrierBarrier Sensor Sensor Card ReaderCard Reader

Full SignFull Sign

Sebuah class diagram komplit Just A line

Page 41: OBJECT MODELING Pertemuan 9

Kamus data(Data Dictionary)• Kamus data merupakan sumber keterangan

utama tentang data.• Kamus data menyediakan cara yang pasti untuk

mencatat data.

Page 42: OBJECT MODELING Pertemuan 9

• Notasi kamus data:– Harus mengekspresikan:

• Urutan atribut yang muncul;• Atribut atau grup atribut yang berulang;• Atribut yang opsional;• Atribut merupakan pilihan yang harus dipilih;

Page 43: OBJECT MODELING Pertemuan 9

• Notasi kamus dataSymbol Arti Keterangan

= Terdiri dari (Consist of)

Mengindikasikan permulaan definisi dari data item

+ Dan(And) Pengabungan definisi komponen didalam urutan

{ } Satu atau lebih(One on more)

Atribut mungkin berulang

( ) Kosong atau satu(Zero or one)

Atribut adalah opsional

[ ] Pilihan(alternatives) Isi yang berada dalam kotak merupakan pilihan yang dapat dipilih, [ ]

| Atau(Either.. Or) Alternatif pilihan dipisahkan dengan garis vertikal

“ ” Nilai khusus(Specific value)

Mengindikasikan pilihan khusus contoh [“Y”|”T”]

*..* Komentar(comment)

Komentar berada didalam tanda asterik

Page 44: OBJECT MODELING Pertemuan 9

• Contoh employee obyek

:Employee

Number=JL104

Title = Mrs.

First name = Anne, Christine

Last name = Raines

Address = 46, ferry road.

Phone number = 1231312

Dept.= account

Page 45: OBJECT MODELING Pertemuan 9

Jika dilukiskan dalam kamus data dapat berbentuk seperti ini

Employee = number + (title) + {first name}+ last name + address + phone number+ dept

Lebih tepatnya:

Employee = number + (title) + 1{ [ first name | title ] }3+ last name + address + phone number+ dept

Lebih dalam lagi

Dept. = [“Accounts” | “Design” | “Marketing” | “Administration” ]

Page 46: OBJECT MODELING Pertemuan 9

• Mendeskripsikan dokumen

Just A Line Car Park List April 2003name Dept. Ext. Car make model Number Colour

Sue Preston 316 Renault Clio P0146JPG Red

Harry Preston 360 Porsche Carrera JAL 1 Silver

Annie Raines Account 465 Volvo 349 H4624KL White

Chris doolan Design 767 VW Golf 6883PP Green

Chris doolan Design 767 Renault Escape 65765 Grey

Page 47: OBJECT MODELING Pertemuan 9

– Dari dokumen tersebut dapat didefinisikan kamus data

Car Park List = month + year+ {employee name + (dept). + ext + 1{ car make + car model + car number + car colour } 2}

Untuk mencegah kesalahan membaca dan membuat mudah dalam membacanya maka kamus data tersebut ditulis :

Car Park List = Date + { entry }Date = month + yearEntry = employee + { Car }2

Employee = name + ( dept ) + extension Dept. = [“account” | “Design” | “Marketing” | “Administration” ]Car = make + model + number + colour

Page 48: OBJECT MODELING Pertemuan 9

Langkah berikutnya adalah• Membuatnya lebih detil dan• Gambarkan operasi nya ) contohnya pada halaman berikut:

Page 49: OBJECT MODELING Pertemuan 9

Disarikan dari kamus data sistem parkir just a line

Barrier = Barrier type + up Barrier type = [“entrance”|”exit”] up = [“true”|”False”] raise: if the barrier not already raised, this operation takes an argument an object if the barrier class and returns an object of the same class. With the up attribute set to “true”. If the barrier is already up the operation returns the error message “Barrier already raised”. lower: if the barrier not already lower, this operation takes an argument an object if the barrier class and returns an object of the same class. With the up attribute set to “False”. If the barrier is already down the operation returns the error message “Barrier already lowered”.

Page 50: OBJECT MODELING Pertemuan 9

Card = Number + [staff card|visitor card] delete: this operation remove the card from the set of cards known to Just A Line.

Car Reader = location read card: this operation takes a card number as input and check it against the number of known card in the Valid Card class

Car Park = capacity + spaces capacity:*the total number of parking places in the car park*

spaces:*the number of currently free spaces in the car park* inc.spaces: this operation check that the car park is not empty (number of

spaces left is not equal to capacity of the car park. In this the case the value of “space” increment by 1.

dec.spaces: this operation check that value of attributes in the car park is greather than 0. in this the case the value of space decrement by 1

Page 51: OBJECT MODELING Pertemuan 9

Full sign = location + on on = [ “true”|”false”] switch on: switch off:

Sensor = Car Sensed car sensed=[“true”|”false”] sense car:if a car is detected by the sensor , this operation sets the car sensed

attribute to “true”

Staff Card = name + dept + expiry date name = first name + last name Dept. = [“Accounts” | “Design” | “Marketing” | “Administration” ] expiry date = *date after which card is no longer valid* delete: if the expiry date on the card has passed, this operation removes the

card number from the list of known to just a line.

Page 52: OBJECT MODELING Pertemuan 9

Valid Card = known card * the set of cards whose numbers are recorgnized by Just A Line

Visitor card = current date * date that the card is issued* delete:if the date on the card has passed, this operation removes the card number

from the list of known to just a line