download

Metode Perancangan Program
Pert 20 – Object Interaction
Object Interaction dan
Collaboration
 Sewaktu sebuah object mengirimkan
message ke object lainnya, sebuah operation
dijalankan pada object yang menerima
message.
 Perhatikan contoh berikut
:campaign
anAdvert:Advert
getCost()
Object interaction dan
collaboration
 Dari contoh sebelumnya, dapat dilihat bahwa object
campaign mengirimkan message ke setiap object
advert untuk menanyakan current cost. Cost dari
setiap advert dikembalikan dengan operation
getCost( ) dan kemudian dijumlahkan di attribute
actualCost di object Campaign.
 Fokus dari object interaction adalah menentukan
skema yang paling tepat untuk mengirimkan
message antar object untuk mendukung user
requirement tertentu.
Object interaction and
collaboration
 Collaboration adalah struktur dari instance
yang memainkan peranan dalam sebuah
behavior dan relationshipnya.
 Behaviour yang dimaksud mungkin saja
opration atau sebuah use case. Contoh
sebelumnya memberikan contoh
collaboration sederhana diantara dua object
dan link diantaranya.
Interaction Sequence Diagram
 Interaction sequence diagram merupakan
salah satu dari UML interaction diagram.
Yang lain adalah collaboration diagram
 Sequence diagram menunjukkan interaksi
antara object yang diatur dalam urutan waktu
Konsep dasar dan notasi
 Perhatikan contoh berikut
Object1
Campaign
Manager
Object2
Object3
getName( )
listCampaigns( )
*getCampaignDetails ( )
listAdverts
*getADvertDetails
addNewAdvert( )
Advert( )
newAd:Advert
Konsep dasar dan notasi
 Dimensi yang vertikal menunjukan waktu dan semua object
yang terlibat di dalam interaksi tersebar secara horizontal
 Setiap object yang ditulis dengan garis putus-putus vertikal
disebut dengan lifeline, dengan simbol object diatasnya,
 Sebauh message ditampilkan dengan panah horizontal dari
satu lifeline ke lainyanya dan ditulis dengan nama message.
 UML menggunakan term stimulus untuk menggambarkan
hubungan antar 2 object yang mengirimkan informasi
dengan harapan suatu action
Konsep dasar dan notasi
 Sewaktu message dikirim ke sebuah object, hal itu
menyebabkan sebuah operation diaktifkan. Sekali message
diterima, makan operation yang telah diaktifkan akan
dijalankan. Periode waktu selama operation dijalankan
disebut dengan activation. Activation ditunjukan dengan
kotak segiempat yang ada di lifeline.
 Sebuah object dapat mengirim message ke dirinya sendiri.
Hal ini disebut dengan sebuah reflexive message, ditunjukan
sebuah panah message yang mulai dan berakhir di object
yang sama
Batasan waktu
 Sebuah sequence diagram dapat menyertakan
batasan waktu dengan beberapa cara.
 Tulisan waktu dapat diasosiasikan dengan
nama message. Jadi batasan waktu dapat
menerangkan lamanya waktu eksekusi
operation dan mengirimkan message.
Pencabangan
 Untuk menuliskan pencabangan ada dua cara


Message yand dikirimkan dapat ditambahkan
dengan kondisi yang harus dipenuhi
Message yang dikirimkan tidak ditambahkan
dengan kondisi yang dipenuhi.
Mengatur sequence diagram
 Sebuah sequence diagram, mungkin saja
terlalu kompleks untuk digambarkan menjadi
satu sequence diagram. Hal ini dapat
diselesaikan dengan cara membuat lebih dari
satu sequence diagram yang lebih kecil
 Kemudian antara sequence diagram
dihubungkan dengan menggunakan
keterangan
Collaboration diagram – konsep
dasar dan notasi
 Collaboration diagram hampir sama dengan
sequence diagram, yaitu menunjukan
interaksi yang terjadi antar object.
Perbedaannya adalah tidak ada dimensi
waktu di collaboration diagram
 Dalam sebuah collaboration, interaksi
digambarkan pada bagian yang penting dari
sebuah class atau object
Konsep dasar dan notasi
5.1: addNewAdvert( )
4.1: showCampaignAdverts( )
3.1: showClientCampaigns( )
5: createNewAdvert( )
4: selectCampaign ()
3: selectClient ( )
:AddAdvertUI
:AddAdvert
2: startInterface()
Campaign
Manager
1: *getClient()
3.1.1: listAcmpaigns()
5.1.1: addNewAdvert()
4.1.1: listAdverts() 5.1.1.1: Advert()
3.1.1.1: *getCampaignDetails()
:Client
newAd:Advert
4.1.1.1: *getAdvertDetails()
:Campaign
:Advert
Konsep dasar dan notasi
 Dikarenakan tidak ada dimensi waktu pada
collaboration diagram, sehingga untuk urutan
pengiriman message diwakili dengan nomor.
Model Consistency
 Interaction diagram dan class diagram harus
konsisten.