uml – interaction diagram. objektif : 1.rajah interaksi 1.kaitan use case dgn. rajah sequence...

30

Click here to load reader

Post on 22-Dec-2015

277 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

UML – Interaction Diagram

Page 2: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

Objektif :

1. Rajah Interaksi1. Kaitan USE CASE dgn. Rajah SEQUENCE2. Sintaks Rajah Sequence3. Membina Rajah Sequence4. Pengenalan kpd. Rajah Collaboration

Page 3: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

Rajah Interaksi (Interaction Diagram)

• Ia boleh dibahagikan kepada 2 iaitu Rajah Sequence & Rajah Collaboration

• Ia digunakan untuk memodelkan interaksi yang berlaku antara objek dalam satu sistem maklumat

• Rajah Sequence adalah model dinamik (masa)

Page 4: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

Kaitan USE CASE & SEQUENCE

• Rajah USE CASE menunjukkan sempadan sistem

• Fungsian USE CASE ditentukan dengan menganalisa aliran ‘events’

• SENARIO (scenario) digunakan utk. menjelaskan bagaimana USE CASES direalisasikan sebagai interaksi antara kumpulan objek

Page 5: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

• ‘SCENARIO is an instance of a use case – it is one path through the flow of events for the use case

• SENARIO dibangunkan utk. membantu mengenalpasti objek, kelas dan interaksi objek yang diperlukan bagi melaksanakan fungsian yang dispesifikasikan dlm. USE CASE

• SENARIO mendokumenkan bagaimana tanggungjawab yang dispesifikasikan dlm. use case teragih diantara objek-objek dan kelas-kelas sistem

SENARIO

Page 6: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

• SENARIO merupakan alat komunikasi yang baik utk. berbincang dengan pengguna ttg. keperluan sistem

• “SCENARIO speaks the language of the end user and the domain expert, and therefore provide a means for them to state their expectations about the desired behaviour of a system to its developers”

• Setiap use case umpama satu jaring senario

SENARIO (samb…)

Page 7: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

• Semasa menentukan senario, jika setiap senario baru yang dikenalpasti mengulangi langkah-langkah yang telah dinyatakan dalam senario lepas, MAKNANYA kita sudah sampai ke garis tamat.

SENARIO (samb…)

Page 8: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

DOKUMENTASI SENARIO

• Aliran ‘events’ bagi USE CASE disediakan dalam bentuk teks

• Bg. SENARIO pula disediakan dalam rajah interaksi (Interaction Diagram)

• Terdapat 2 jenis Rajah Interaksi : Rajah Sequence Rajah Collaboration

• Setiap rajah ini mewakili senario secara grafik (graphical view)

Page 9: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

Rajah Sequence

• Menunjukan interaksi antara objek yang disusun mengikut masa

• Ia digunakan utk. menunjukan interaksi antara pengguna(user), skrin, objek dan entiti dalam sistem

• Ia menentukan objek dan kelas yang terlibat dalam senario

• Menentukan siri mesej yang dihantar di antara objek bagi melaksanakan fungsi senario

• Rajah Sequence berkait rapat dengan Rajah Use Case

Page 10: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

• Dalam UML, objek dlm. Rajah Sequence dilukis dalam bentuk segiempat tepat dan mengandungi nama objek yang digaris (underline)

• Nama objek boleh ditulis mengikut 3 cara :

Nama objek sahaja Nama objek dan kelas Nama kelas sahaja

History 1101 : Course Offering

Rajah Sequence (samb)

History 1101 :Course Offering

Nama objek sahaja

Nama objek dan kelas

Nama kelas sahaja

Page 11: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

• Selalunya, nama kelas sahaja digunakan utk. menamakan objek

• Setiap objek mempunyai had masa yang diwakilkan dengan garis putus di bawah objek

• Mesej antara objek diwakilkan dgn. anak panah yang menunjuk ke arah penerima mesej (supplier). Penghantar mesej dipanggil (client)

Rajah Sequence (samb)

Page 12: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

• Notasi UML bagi objek dan mesej dlm. Rajah Sequence :

Rajah Sequence (samb)

: Course Manager SE3204 : Course Offering

Add lecturer

Page 13: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

Sintaks Rajah Sequence

ACTORTerlibat dlm. rajah sequence dgn. menghantar dan menerima mesej. Eksternal kpd. sistem.

OBJEKTerlibat dlm. rajah sequence dgn. menghantar dan menerima mesej.

GARIS HAYATMenunjukan hayat objek semasa aliran mesej.Menanda ‘X’ pd. akhir garis hayat objek jika objek itu tidak berinteraksi lagi

objek : kelas

Page 14: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

KAWALAN

Bentuk : Panjang, nipis, segiempat tepat

Lokasi : Diletakkan di atas garis hayat

Menunjukan bila objek menghantar / menerima mesej

MESEJ

Membawa maklumat/mesej dari satu objek ke objek lain

HAPUS OBJEK

‘X’ ditanda pada akhir garis hayat objek utk. menunjukan ia tidak akan digunakan lagi

Sintaks Rajah Sequence (samb)

mesej()

X

Page 15: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

Sintaks Rajah Sequence (samb)

Objek boleh juga ditunjukkan menggunakan ikon-ikon khas. Cthnya :

Gelintar skrin / Login skrin boleh gunakan ikon :(User interface icon)

Manager / Pengurus(Controller icon)

Pengguna / Inventori(Entity icon)

Page 16: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

• How complex can a sequence diagram be?

• The answer is “ KEEP IT SIMPLE ”

• Rajah Sequence yang baik adalah rajah Sequence yang simple iaitu mudah utk. :

melihat objek melihat interaksi objek melihat mesej yang mengalir antara objek melihat fungsi yang dispesifikasikan dlm. senario

Kompleks ? Rajah Sequence

Page 17: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

• What do I do about conditional logic ? (all the if, then, else logic)

• The answer is “ If the logic is simple. Involving only few messages, add the logic to one diagram ”

• “ If the if, then and else logic involves many complicated messages, draw a separate diagram – one for if case, one for then case and one for else case ”

• Ini dilakukan utk. memastikan rajah adalah simple

Logik bersyarat? Rajah Sequence

Page 18: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

Contoh Rajah Sequence : Buat Temujanji USE CASE

Pesakit : Senarai BilTakBerbayar :

Senarai TemuJJ : Senarai: Pesakit : Receptionist

TemuJJ : APP

ReqApp()CariPesakit()

[JumpaPesakit]CheckBil()AppBaruTukarBatal?()

MasaApp?()MatchApp()

CiptaApp()

Page 19: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

Membina Rajah Sequence

6 langkah utk. membina Rajah Sequence

1. Set konteks2. Kenalpasti objek yang terlibat3. Set garis hayat bagi setiap objek4. Tentukan aliran mesej dari ‘atas’ ke ‘bawah’ rajah. Ia

mestilah mengikut susunan ia dihantar5. Tambahkan kawalan fokus bagi setiap garis hayat6. Tentusahkan Rajah Sequence

Page 20: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

Membina Rajah Sequence (samb…)

1. Set konteks

• Langkah pertama ialah menetukan konteks rajah• Konteks diagram merangkumi

Satu sistem Satu use case Satu senario use case Operasi satu kelas

• Selalunya ia adalah satu senario use case

Page 21: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

Membina Rajah Sequence (samb…)

2. Kenalpasti objek yang terlibat

• Tentukan objek yang telibat dalam rajah sequence yang sedang dimodelkan

• Iaitu objek yang berinteraksi antara satu sama lain semasa senario use case

• Semasa membina Rajah Sequence, ada kemungkinan objek baru dikenalpasti, ‘don’t worry’ sebab Rajah Sequence akan diteliti berulang kali sebelum ianya ‘perfect’

Page 22: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

Membina Rajah Sequence (samb…)

3. Set garis hayat bagi setiap objek

• Lukiskan garis putus menegak di bawah setiap kelas/objek utk. menunjukan kehadiran kelas/objek semasa ‘sequence’

• Tandakan X pada titik terakhir garis putus bagi objek utk. menunjukan objek tidak hadir/digunakan lagi

Page 23: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

Membina Rajah Sequence (samb…)

4. Tentukan aliran mesej dari ‘atas’ ke ‘bawah’ rajah. Ia mestilah mengikut susunan ia dihantar

• Tambahkan mesej kepada rajah

• Lukiskan anak panah utk. mewakilkan mesej yang dialirkan dari satu objek ke objek yang lain

• Anak panah mesti mengarah ke arah navigasi mesej

• Anak panah mesti disusun secara teratur iaitu mesej pertama mestilah di paling atas DAN mesej terakhir mestilah di paling bawah utk. menunjukan ‘sequence’ masa

Page 24: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

Membina Rajah Sequence (samb…)

• Jika mesej yang dihantar diharapkan utk. memulangkan jawapan, maka jawapan tidak perlu ditulis secara explisit dalam rajah

Page 25: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

Membina Rajah Sequence (samb…)

5. Tambahkan kawalan fokus bagi setiap garis hayat

• Lukiskan bentuk segiempat tepat di atas garis hayat utk. menunjukkan dgn. jelas bila satu mesej itu dihantar atau diterima oleh objek

Page 26: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

6. Tentusahkan Rajah Sequence

• Tujuan langkah ini adalah utk. menjamin Rajah Sequence yang dihasilkan mewakili proses-proses secara lengkap

• Ini dilakukan dengan menjamin bahawa setiap langkah dalam setiap proses diwakili dalam Rajah Sequence

Membina Rajah Sequence (samb…)

Page 27: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

Pengenalan Rajah Collaboration

• Seperti Rajah Sequence, menyediakan satu gambaran bagi aspek-aspek dinamik sistem berorientasikan objek

• Ia juga menunjukan hubungan dan aliran mesej antara objek

• Berguna utk. menunjukan corak aktiviti yang dilaksanakan oleh sesuatu objek/kelas

• Serupa seperti Sequence, TETAPI fokus adalah kepada aliran mesej oleh objek dan bukanya masa mesej itu dialirkan

Page 28: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

Pengenalan Rajah Collaboration (samb…)

• Maka, jika ingin memahami interaksi antara objek, Rajah Collaboration perlu digunakan

• Jika ingin mengetahui susunan mesej mengikut masa, maka Rajah Sequence perlu digunakan

• Kadang-kala kedua-duanya perlu digunakan utk. memahami aktiviti dinamik bagi sistem

Page 29: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

Contoh Rajah Collaboration : Buat Temujanji USE CASE

: Pesakit : Receptionist

Pesakit : Senarai

BilTakBerbayar : Senarai

TemuJJ : Senarai

TemuJJ : APP

1: ReqApp() 4: AppBaruTukarBatal? 5: MasaApp?() 2: CariPesakit()

3: [JumpaPesakit]CheckBil()6: MatchApp()7: CiptaA

pp()

Page 30: UML – Interaction Diagram. Objektif : 1.Rajah Interaksi 1.Kaitan USE CASE dgn. Rajah SEQUENCE 2.Sintaks Rajah Sequence 3.Membina Rajah Sequence 4.Pengenalan

TAMAT