Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Perancangan Sistem Informasi
Class Diagram
2
4+1 Architecture Model Scenarios Logical view Development view
System & Environment Process view Physical view
3
Flow of Architecture Process
Logical view Development view Use Case System & Environment Process view Physical view
4
UML Diagram for Architecture Use Case View
Logical view Development view Use Case System & Environment Process view Use Case Diagram Physical view
5
UML Diagram for Architecture Logical View
Sequence Diagram Communication Diagram* Class Diagram Logical view Development view Use Case System & Environment Process view Physical view
6
Class Diagram Class diagram mendeskripsikan jenis–jenis obyek dalam sistem dan berbagai macam hubungan statis yang terjadi Class diagram juga menunjukkan property dan operasi sebuah Class dan batasan yang terdapat dalam hubungan dengan obyek. Class diagram merupakan alatter baik dalam perancangan perangkat lunak. Class diagram membantu pengembang mendapatkan struktur sistem dan menghasilkan rancangan sistem yang baik
7
Class Diagram (lanjutan)
Class diagram merupakan diagram yang paling umum dijumpai pada pemodelan berbasis UML (Unified Modeling Language). Mendeskripsikan semua objek yang terdapat pada suatu sistem dan relasi antar objek. Class diagram mencakup beberapa hal seperti : Class, atribut, dan operasinya Relasi yang terjadi antar objek Constraint terhadap objek-objek yang saling berhubungan Inheritance untuk organisasi class
8
Notas Class Diagram Class Nama class Atribut Operasi Relationships
9
Class Class Adalah sebuah kategori yang akan membungkus informasi dan perilaku2 atau dengan kata lain kelasa dalah rancangan dari obyek. Dimana obyek yang diciptakan dari suatu kelas akan memiliki semua yang dimiliki oleh kelasnya. Sebuah class berisi deskripsi dari struktur dan prilaku dari objek. Objek diproduksi oleh kelas dan menjadi bagian dari unit suatu aplikasi. Kelas didefinisikan terbentuk dari atribut(attributes) dan operasi(operations).
10
REALITY Motorcycle Person Book MODEL
11
REALITY Motorcycle Person Book MODEL
12
REALITY Motorcycle Person Book Owns Reads MODEL
13
CLASS OBJECT
14
Person CLASS OBJECT Budi Tuti Murni
15
Notation of Class & Object
16
Notation of Class & Object
Person CLASS Aditya Tuti Tyana OBJECT Notation of Class & Object
17
Notation of instance relationship
Class CLASS “instance of” Object OBJECT Notation of instance relationship
18
Example of instance relationship
Person CLASS “instance of” Aditya OBJECT Example of instance relationship
19
Class/Objects are represented as rectangles
ClassName ObjectName ClassName ObjectName ClassName ObjectName
20
A class is a description of a set of objects that share the same attributes, operations, relationships, and semantics (Booch, 1999). An object is an instance of a class A class is an abstraction: Emphasizes relevant characteristics Hides other characteristics
21
Classes & Objects A class is an abstract definition of an object. It defines the structure and the behavior of each object. A class is template for producing objects of a certain type. Objects are grouped into classes An object is a runtime instances of the corresponding class Animals:
22
How Many Classes?
23
How Many Classes?
24
Class (lanjutan) Kelas dinotasikan dengan suatu persegi (rectangle) yang mana bagian namanya diberi tulisan tebal dan terdiri dari atribut dan opersi. Yang kedua, ada tiga bagian dari kelas yaitu nama kelas, atribut (attributes), dan operasi(operations) yang dipisahkan oleh garis horizontal. Nama kelas dimulai dengan huruf kapital dan kata benda tunggal (tetapi juga bisa kata benda jamak jika itu diperlukan). Secara umum kelas dalam UML dinotasikan sebagai berikut: Nama Class Daftar Atribut Daftar Operasi Nama Nama kelas haruslah unik, karena ini adalah identitas yang dimiliki oleh setiap Class.
25
Class (lanjutan) Sebuah Class memiliki tiga area pokok:
Nama class, merupakan nama dari sebuah kelas Atribut, merupakan peroperti dari sebuah kelas. Atribut melambangkan batas nilai yang mungkin ada pada obyek dari class Operasi, adalah sesuatu yang bisa dilakukan oleh sebuah class atau yang dapat dilakukan oleh class lain terhadap sebuah class
26
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT
PADA SISTEM PERBANKAN CONTOH CLASS : CABANG, STAFF, MANAGER NAMA CLASS ATTRIBUT CABANG NO, CABANG, JALAN, KOTA, KODE POS, STAFF, MANAGER STAFF NO.ID, NAMA STAFF, ALAMAT MANAGER NO.ID, NAMA MANAGER, ALAMAT
27
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT
CONTOH OBJEK : CABANG DARI BANK ATTRIBUT NILAI NO. CABANG B003 JALAN PETUKANGAN SELATAN KOTA JAKARTA KODEPOS 11470 STAFF {ANI, SINTA} MANAGER RINA
28
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT
CONTOH OBJEK : STAFF ATTRIBUT NILAI NO. ID S001 NAMA STAFF ANI ALAMAT CILEDUG ATTRIBUT NILAI NO. ID S002 NAMA STAFF SINTA ALAMAT CIPONDOH
29
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT
CONTOH OBJEK : MANAGER ATTRIBUT NILAI NO. ID M001 NAMA STAFF RINA ALAMAT CIPULIR
30
E-R Modelling Class Diagram
E-R Vs. CLASS DIAGRAM E-R Modelling Class Diagram Entity Object Class Instance Object Attribute Relationship Association Cardinality Multiplicity N/A Operation/Method/Function
31
CLASS DIAGRAM (con’t) Contoh ER-D CLASS DIAGRAN Name Employees
A class is similar to an entity type except that it can have operations. A Class has: Name Attributes Operations A class is drawn as a rectangle with three compartments Contoh ER-D Employees Ssn : int Name : String Addr : int CLASS DIAGRAN add_employee(…) delete_emloyee(…) update_salary(…) Name Employees Ssn Name Address Attributes Operations
32
Kelas Abstrak (Abstract Class)
Kelas abstrak (Abstract Class) selalu direpresentasikan dengan kata yang umum. Misalnya kata dari bicycle, car, dan truck memiliki kata umum yaitu vehicle. Vehicle merupakan abstaknya. Sebuah kelas abstrak selalu sebagai super kelas. Sebuah kelas abstrak memiliki anak kelas berupa sub kelas. Sebuah kelas abstrak direpresentasikan dengan notasi yang sama dengan normal kelas, tetapi pada kelas abstrak berisi tulisan 'abstract' dibawah nama kelas abstrak. Dalam versi lain, kelas abstrak juga bisa dinotasikan dengan huruf miring sehingga salah satu dari aturan tersebut bisa dipilih
33
Berbagai Variasi dari Kelas Abstrak
Contoh kelas abstrak Berbagai Variasi dari Kelas Abstrak Contoh Kelas Abstrak
34
Atribut Atribut juga biasnya disebut variabel (variable). Sebuah atribut adalah elemen (data) yang berisikan nilai dari setiap objek. Setiap atribut dideskripsikan sesuai dengan namanya. Dalam kolom atribut, biasanya didefinisikan data tipe, nilai inisial, dan constraint. Constraint dapat digunakan untuk spesifikasi tipe dalam menentukan batasan nilai atau berbagai kondisi. Dalam kelas, nilai constraint tidak selalu dicantumkan. Atribut memiliki nama sesuai dengan nama atribut tersebut sehingga tidak harus mengikat adanya kapitalisasi, memiliki spesifikasi tipenya (apakah string, integer, dll), sebuah nilai inisial, dan nilai potential serta constraints.
35
Atribut (lanjutan) context Circle inv: radius > 0
Berikut adalah contoh constraint yang menyatakan nilai yang mungkin untuk radius atribut. context Circle inv: radius > 0 Tagged value dapat digunakan untuk menspesifikasikan spesial properti, seperti misalnya tagged value {readonly} yang mengindikasikan atribut yang hanya bisa dibaca saja.
36
Atribut (lanjutan) Atribut dan metoda dapat memiliki salah satu
sifat berikut : Private, tidak dapat dipanggil dari luar class yang bersangkutan. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya Public, dapat dipanggil oleh siapa saja Package, hanya dapat dipanggil oleh instance sebuah class pada paket yang sama.
37
Attributes dan operation Visibility
Merupakan ketampakan suatu atribut dan method yang dimiliki oleh suatu kelas. Terdiri dari: Public (+), boleh diakses oleh semua kelas lain Private (-), akses terbatas untuk class itu sendiri Protected (#), bisa diakses oleh subclass Package (~), bisa diakses oleh object lain pada paket yang sama. Contoh
38
Operasi Operasi adalah suatu tindakan dari objek, operasi tidak memiliki ikatan kapitalisasi. Operasi berisi nama dari opersi tersebut, kemungkinan parameter, nilai inisial dari parameter tersebut, dan nilai potensial serta constraints
39
Berbagai Variasi dari Class Diagram
40
Gambar Sebuah Kelas (Class)
41
Relasi Pada Class Diagram
Multiplicity Pada relasi terdapat suatu penanda yang disebut multiplicity. Multiplicity ini akan mengindikasikan berapa banyak obyek dari suatu kelas terelasi ke obyek lain. Notasi UML untuk multiplicity ini adalah sebagai berikut: Multiplicity biasanya ditulis dengan [1], yang nilai default tersebut biasanya untuk semua atribut yang normal. Untuk dinamik array ditulis dengan [*], yang berarti memiliki komposisi. Multiplicity Arti * Banyak Nol 1 Satu, bisa ditulis bisa tidak 0..* Antara Nol sampai banyak 1..* Antara Satu sampai banyak 0..1 Nol atau Satu 1..1 Tepat Satu
42
Multiplicities (con’t)
A department Can have 0 to any number of employees Contoh Employee Department 0..* works in 0..1 Ssn Name Addr Code Name An employee can have 0 or 1 home department
43
Class Diagram Sebuah symbol class pada class diagram terdiri dari nama kelas, attribute dan method Nama Kelas Digunakanuntukmembedakanantarasatukelasdankelasyang lain. Contohnya: Manusia, Dosen, Karyawan, Mahasiswa Attribute Digunakan untuk menyimpan state, pada bahasa pemrograman ini berupa field. Bisa juga diartikan apa yang dimiliki oleh sebuah objek. Contohnya: untuk atribut Mahasiswa: nim, nama, alamat, tempatlahir, tanggalLahir Aturan penggunaan: modifier nama_attribute: tipedata Contoh penggunaan: -nama: String dibaca attribute nama memiliki modifier private dengan tipe data String
44
Class Diagram Method Digunakan untuk menyimpan behaviour, pada bahasa pemrograman berupa method yang mengembalikan nilai (non void method) dan method yang tidak mengembalikan nilai (void method). Contohnya: getNama, getAlamat, getUsia, jalan, lari Aturan Penggunaan: Modifier nama_method ([namaParameter: tipeParameter]) : nilai_kembalian Contohpenggunaan: + getNama() : String Dibaca method getNama memiliki modifier public, tidak memiliki parameter dan memiliki nilai kembalian String + setNama (nama: String) : void Dibaca method setNama memiliki modifier public, memiliki 1 buat parameter yaitu nama dengan tipe parameter String dan tidak memiliki nilai kembalian karena bertipe void.
45
Class Diagram Latihana.
Buatlah1 buah kelas diagram dengan nama latihan Tambahkan 2 buah kelas dengan nama File dan Folder Nama class Field atau Properti atau Atribute Operasi atau metode
46
Class Diagram - Berikan relasi bahwa1 folder bisa memiliki 0 sampai banyak filed - Buatlahrelasibahwa1 folder bisamemiliki0 sampaibanyakfolder didalamnya
47
Class Diagram File dan folder adalah sebuah entitas yang terdapat pada komputer, sekarang anda tambahkan 1 buah kelas dengan nama Data. - Buat relasi yang menyatakan bahwa file dan folder adalah turunan dari data
48
Class Diagram Pada Class Data, tambahkan attribute name, size, location, size on disk Klik kanan pada Data kemudian klik Create Attribute, ubah Unnamed menjadi name, int menjadi String Pada Class Data, tambahkan operations copy, paste, cut, properties Klik kanan pada Data kemudian klik Create Operations, ubah Unnamed menjadi copy
49
KELAS DIAGRAM PERPUSTAKAAN
50
Relationships Association atau Asosiasi Depedency atau Dependensi
Directional Association atau Asosiasi 1 arah Asosiasi2 arah (Bidirectional Association) Depedency atau Dependensi Aggregation atau Agregasi Composition atau Komposisi Realization atau Realisasi Generalization atau Generalisasi
51
Relationships Association atau Asosiasi Depedency atau Dependensi
Asosiasi adalah hubungan yang terjadi antara kelas yang ada. Asosiasi memungkinkan suatu kelas untuk menggunakan atau mengetahui atribut atau operasi yang dimiliki oleh kelaslain. Asosiasi juga menggambarkan interaksi yang mungkin terjadi antara satu kelas dengan kelas yang lain. Asosiasi ada beberapa jenis, antara lain: Association atau Asosiasi Directional Association atau Asosiasi 1 arah Asosiasi2 arah (Bidirectional Association) Depedency atau Dependensi Aggregation atau Agregasi Composition atau Komposisi Realization atau Realisasi Generalization atau Generalisasi
52
Association atau Asosiasi
Directional Association atau Asosiasi 1 arah Asosiasi ini menggambar bahwa pesan atau urutan kejadian terjadi dari hanya salah satu kelas sedangkan kelas yang lain pasif. Contohnya pada saat seorang petugas perpustakaan melakukan pencatatan peminjaman terhadap seorang anggota, maka pesan dikirimkan oleh petugas dan diterima oleh anggota. Dimana petugas akan mencatat identitas anggota peminjam dan anggota peminjam berlaku pasif bukannya malah gantian mencatat identitas penjual.
53
Association atau Asosiasi
Asosiasi2 arah(Bidirectional Association) Asosiasi ini terjadi ketika salah satu kelas mengirimkan pesan kepada kelas yang lain kemudian kelas yang lain mengirimkan pesan kepada kelas yang mengirimnya pesan. Contohnya pada saat seorang calon anggota mendaftar menjadi anggota perpustakaan maka yang terjadi adalah anggota menyerahkan identitas untuk di proses oleh petugas dan beberapa saat kemudian petugasakan memberikan kartu keanggotaan perpusatakaan.
54
Depedency atau Dependensi
Depedency atau Dependensi Relasi jenis ini menunjukkan bahwa sebuah kelas mengacu kepada kelas lainnya. Oleh sebab itu perubahan pada kelas yang diacuakan sangat berpengaruh pada kelas yang mengacu. Contohnya apa bila seorang anggota hendak meminjam buku maka ada sebuah kelas yang bertanggung-jawab melakukan pencatatan peminjam. Kelas ini akan mengetahui anggota yang meminjam dan membuat daftar buku apasajayang di pinjam oleh anggota tersebut.
55
Aggregation atau Agregasi
Aggregation atau Agregasi Relasi aggregasi adalah suatu bentu krelasi yang jauh lebih kuat dari pada asosiasi. Aggregasi dapat diartikan bahwa suatu kelas merupakan bagian dari kelas yang lain namun bersifat tidak wajib. Contohnya sebuah buku memiliki pengarang, daftar pustaka, namun bisa saja suatu buku tidak memiliki daftar pustaka. Dari contoh kasus dapat diartikan bahwa daftar pustaka merupakan bagian dari buku namun buku tetap disebut sebagai buku meski pun tidak memiliki daftar puaka.
56
Composition atau Komposisi
Composition atau Komposisi Relasi ini merupakan relasi yang paling kuat dibandingkan dengan asosiasi dan aggregasi. Pada komposisi diartikan bahwa suatu kelas merupakan bagian yang wajib dari kelas yang lain. Contoh kasus yaitu pada sebuah buku, sudah pasti terdapat halaman isi sekurang-kurangnya satu.
57
Realization atau Realisasi
RealizationatauRealisasiRealisasi, bisa disebut juga implementasi merupakan suatu relasi yang menunjukkan penerapan terhadap suatu interface kepada sebuah Class. Relasi realisasi biasanya digunakan untuk mewajibkan suatu kelas memiliki suatu Method yang sudah didefinisikan bentuk kerangkanya dalam suatu interface. Contohnya pada kelas petugas dan anggota, kedua kelas ini tentunya memiliki Method yang wajib dimiliki namun melakukan kegiatan yang berbeda seperti add dan update
58
Generalization atau Generalisasi
Generalization atau Generalisasi Adalah relasi pewarisan antara dua Class. Relasi jenis ini memungkinkan suatu kelas mewarisi attribute dan operasi yang dimiliki oleh base Class3. Attribute dan operasi yang bisa diwarisi oleh suatu kelas adalah yang memiliki access modifier public, protected dan default. Contohnya bahwa Anggota dan Petugas adalah dua buah kelas yang mewarisi sifat yang dimiliki oleh kelas manusia. Disini kelas manusia berupa kelas abstract yang berarti kelas ini baru bisa digunakan ketika sudah diwariskan kepada suatu kelas atau bila digunakan langsung, Method –Method wajib yang terdapat didalamnya harus difungsionalitaskan terlebih dahulu
59
Perancangan Sistem Informasi
Class Analisis
60
Kelas Analisis Merupakan elemen/benda yang terdapat pada model analisis. Menggambarkan konsep awal mengenai benda yang terdapat dalam sistem (yang akhirnya memiliki tanggung jawab dan perilaku). Kelas analisis digunakan sebagai dasar kelas pada model desain. Terdiri dari 3 elemen: Boundary, Control, Entity
61
Jenis class Boundary Class Entity Class atau Kelas entitas
Control Class Package atau Paket
62
Kelas Analisis: Boundary
Boundary, memodelkan interaksi antara satu atau lebih actor dengan sistem/perangkat lunak. Memodelkan bagian dari sistem yang bergantung pada pihak lain dan merupakan pembatas sistem dengan dunia luar. Terdiri dari user interface, system interface dan device interface.
63
Boundary Class Boundary atau Kelas pembatas merupakan class yang menyalurkan interaksi antara sistem dengan dunia sekitarnya. Seperti form, laporan, obyek–obyek pada form. Setiap kelas pembatas biasanya akan mewakili interaksi antara seorang actor dengan use case. Boundary Class atau Kelas pembatas digambarkan sebagai berikut:
64
Kelas Analisis: Boundary
65
Control, memodelkan perilaku mengatur satu atau beberapa use-case.
Bersifat optional, umumnya terdapat satu control pada satu use-case yang mengontrol urutan events dalam use-case tersebut. Menghubungkan kelas boundary dengan kelas entity
66
Kelas Analisis: Control
Control, memodelkan perilaku mengatur satu atau beberapa use-case. Bersifat optional, umumnya terdapat satu control pada satu use-case yang mengontrol urutan events dalam use-case tersebut. Menghubungkan kelas boundary dengan kelas entity
67
Control Class Control Class atau Kelas control Kelas ini bersifat opsional, apa bila kelas ini digunakan maka satu kelas control untuk satu use case yang digunakan mengatur kejadian dalam use case tersebut. Contohnya kelas transaksi yang bertanggung jawab dalam transaksi baik peminjaman maupun pengembalian buku dalam suatu perpustakaan. NotasiControl Class seperti berikut:
68
Kelas Analisis: Entity
Entity, memodelkan informasi yang harus disimpan oleh sistem. Memperlihatkan struktur data sebuah sistem. Tanggung jawab utamanya adalah menyimpan dan mengatur informasi dalam sistem.
69
Entity Class atau Kelas entitas
Kelas ini biasanya digunakan untuk menangani informasi yang mungkin akan selalu disimpan dalam proses bisnis. Cara melakukan identifikasi kelas entitas adalah dengan memperhatikan kata benda. Seperti kalimat “petugas mencatat peminjaman buku”, buku bisa menjadi Class entitas. Kelas entitas juga dapat digunakan untuk mewakili table–table yang terdapat dalam database. Digambarkan sebagai berikut:
70
Package atau Paket Paket, merupakan sebuah notasi yang sangat berguna. Biasanya digunakan untuk mengelompokan kelas–kelas yang memiliki kesamaan. Selain itu juga dapat digunakan membedakan antara2 kelas atau lebih yang memiliki nama sama namun memiliki fungsionalitas yang berbeda. Dinotasikan sebagai berikut:
71
Perancangan Sistem Informasi
Hubungan Antar Kelas
72
Hubungan Antar Kelas Generalization Aggregation Association
Composition.
73
Hubungan Antar Kelas: Generalization
Relasi generalisasi adalah relasi antara sebuah kelas yang lebih umum dengan sebuah kelas yang lebih spesifik. Sebuah generalisasi ditunjukkan dengan garis tebal antara spesiik kelas ke kelas umum, diikuti dengan segitiga yang menunjuk ke kelas yang lebih general. Relasi generalisasi digunakan untuk menunjukkan relasi "is-a" antar kelas. Contoh: kelas Kasir ‘is-a’ kelas People. Kelas Petugas ‘is-a’ kelas People
74
Hubungan Antar Kelas: Generalization
75
Hubungan Antar Kelas: Association
Asosiasi merupakan sarana untuk berkomunikasi, baik antar use-cases, actor, kelas maupun interface. Asosiasi merupakan relasi yang paling general dan konsekuensinya menjadi relasi yang paling lemah secara semantik. Asosiasi merupakan relasi antar instances kelas. Tujuan relasi asosiasi adalah untuk menspesifikasikan relasi secara konspetual, menentukan tanggung jawab dan menspesifikasikan detail implementasi.
76
Hubungan Antar Kelas: Association
Contoh: Dosen mengajar Perkuliahan dan Mahasiswa menghadiri Perkuliahan. Sebuah Perkuliahan harus dihadiri minimum oleh 3 Mahasiswa dan maksimum 10 Mahasiswa. Perkuliahan diberikan oleh 1 orang Dosen. Pada ujung asosiasi dapat diberi nama secara eksplisit dengan nama peran, sebagai contoh Mahasiswa yang menghadiri Perkuliahan disebut Peserta. Jika peran tidak dispesifikasikan, nama peran identik dengan kelas target pada asosiasi.
77
Hubungan Antar Kelas: Association
78
Hubungan Antar Kelas: Agregation dan Composition
Aggregation merupakan relasi part-of. Terkadang disebut juga relasi “has-a”, dimana asosiasi ‘normal’ biasanya disebut relasi uses. Contoh klasik dari agregasi adalah contoh mobil: Sebuah mobil mempunyai sebuah mesin dan 4 roda. Pada contoh di atas: kuliah mempunyai 1 atau beberapa perkuliahan Bentuk yang lebih ‘kuat’ dari agregasi disebut composition. Pada composition, part merupakan bagian dari whole dimana lifetime dari part terikat pada whole. Jika whole dibentuk maka part juga dibentuk. Jika whole dihapus maka part juga dihapus
79
Atribut dan Tanggung Jawab Kelas
Atribut menggambarkan Struktur Kelas Nilai/value atribut yang terdapat pada suatu waktu tertentu disebut dengan status/state dari kelas tersebut Tanggung Jawab menggambarkan kelakukan/behavior dari kelas tersebut yang dapat menyebabkan perubahan state. Tanggung jawab sebuah kelas terdiri dari dua item pokok yaitu: Mengetahui data yang dikelola kelas tersebut Melakukan aksi-aksi untuk mengubah state atau untuk memberi layanan kepada kelas lain
80
Atribut dan Tanggung Jawab Kelas
Behavior menggambarkan bagaimana sebuah objek bertindak/beraksi dan memberi reaksi. Behavior ditentukan oleh himpunan semua atau beberapa operasi yang dapat dilakukan dalam objek itu sendiri. Behavior objek dapat dicerminkan oleh interface, service dan method dari objek itu.[2] [2] Interface adalah pintu untuk mengakses service objek. Service adalah fungsi yang bisa diemban objek. Method adalah mekanisme internal objek yang mencerminkan perilaku objek tersebut
81
Case Tool UML Beberapa contoh case tool untuk UML
Relational Rose (Commercial) Umlet(Open Source) NetbeansUML (Open Source) Violet (Open Source) Visual Paradigm (Commercial)
82
Perancangan Sistem Informasi
Diagram Interaksi
83
Diagram Interaksi Diagram use-case digunakan untuk memvisualisasikan dan mendeskripsikan eksternal view sistem dan eksternal urutan aksi-reaksi antara sistem/use-case dengan aktor (disebut skenario). Untuk mengetahui deskripsi internal sistem perangkat lunak dari suatu skenario, kita membutuhkan diagram interaksi. Deskripsi internal ini digambarkan dalam bentuk kumpulan objek.
84
Diagram Interaksi Menggambarkan interaksi antar objek yang terdapat dalam sebuah realisasi use-case. Berupa step-by-step aliran (flow) yang terdapat dalam realisasi use-case; terdiri dari: Objek apa saja yang dibutuhkan dalam aliran? Message apa saja yang dikirim dari objek ke objek lain? Aktor apa yang menginisiasi aliran? Tujuan diagram interaksi adalah untuk mendapatkan aliran (flow) interaksi antar objek yang mendeskripsikan sebuah skenario.
85
Diagram Interaksi Dalam sebuah realisasi use-case, dapat terdiri dari beberapa alternatif aliran (dengan tujuan yang sama). Dengan demikian kita membutuhkan beberapa diagram interaksi untuk menggambarkannya. Minimal kita mempunyai satu diagram interaksi untuk satu alternatif yang sukses (happy case); dan beberapa interaksi untuk alternatif kasus yang tidak sukses. Contoh: pada CatatPembelian, happy case terjadi pada saat pencatatan berhasil, sedangkan alternatif lain jika terjadi pencatatan gagal karena kesalahan memasukkan kode.
86
Diagram Interaksi: Elemen
87
Diagram Interaksi: Menemukan Kelas
Pada diagram interaksi kita memerlukan kelas dan objek. Kelas yang mempunyai peran dalam mencapai tujuan dan kebutuhan sistem. Proses menemukan Kelas adalah aktifitas tersulit OOA/D. Merupakan proses yang berulang, semakin berpengalaman, semakin baik.
88
Diagram Interaksi: Menemukan Kelas
Terdapat beberapa pendekatan untuk identifikasi Kelas: Pendekatan Noun Phrase, Pendekatan Common Class Paterns, Pendekatan Use-Case Approach, Pendekatan Classes Responsibilities and Collaboration.
89
Diagram Interaksi: Noun Phrase
Diperkenalkan oleh Rebecca Wirfs-Brock, Brian Wilkerson dan Lauren Wiener. Pendekatan yang dilakukan adalah sebagai berikut: Mencari noun phrases dari requirement atau use case Nouns Class, sedangkan Verb Method Sangat bergantung kepada kelengkapan dan ketepatan dari dokumen yang tersedia Dilain pihak, pada dokumen yang lengkap akan terdapat banyak kandidat kelas
90
Diagram Interaksi: Noun Phrase
Langkah-langkah pendekatan tersebut: Identifikasi Tentative Classes Berdasarkan use-case Seleksi Kelas-kelas dari kategori yang relevan dengan cara: Membuat daftar dari noun phrases Review kelas yang redundant dan jadikan kelas yang umum Review kelas yang mengandung Adjective Review Attribut yang mungkin Review Tujuan Kelas Kelas yang tidak mempunyai peran dan tidak mempunyai kegunaan dalam sistem akan dihapus dalam daftar
91
Diagram Interaksi: Tipe
Terdapat dua macam Diagram Interaksi: Sequence Diagram Collaboration Diagram
92
Diagram Interaksi: Diagram Sekuens
Diagram sekuen adalah diagram interaksi yang menggambarkan interaksi antar objek yang terurut berdasarkan waktu. Idealnya digunakan pada periode waktu yang sedikit dan melibatkan objek yang sedikit. -ap-
93
Diagram Interaksi: Diagram Sekuen
Temukan objek: Identifikasi benda/noun yang terdapat dalam aliran kejadian/skenario Benda tersebut dapat saja berupa aktor, objek atau atribut dari objek. Identifikasikan objek saja, kategorikan objek tersebut menjadi objek entity, boundary dan control. Temukan aktor: yaitu pihak yang menginisiasi aliran/skenario. -ap-
94
Diagram Interaksi: Diagram Sekuen
Tambahkan message ke dalam diagram, Message adalah komunikasi antar objek yang menggambarkan aksi yang akan dilakukan. Message terjadi antar dua buah objek dimana satu objek (disebut client) meminta objek lain (disebut supplier) untuk melakukan sesuatu. Message berbeda dengan Method, dimana method adalah fungsi dari kelas yang berisi statement untuk menggambarkan apa yang terjadi ketika suatu message diterima (misalnya perubahan state, ekstrak informasi) -ap-
95
Case Study: CatatPembelian
Identifikasi Nomor UC-01 Nama CatatPembelian Tujuan Mencatat pembelian makanan yang ada Deskripsi Pembeli melakukan pemesanan makanan, kasir mencatat pemesanan makanan Tipe High level Aktor Petugas Kasir Skenario Utama Kondisi awal: Aplikasi Penjualan sudah dibuka Aksi Aktor Reaksi Sistem Membuka formulir pembelian Menampilkan formulir yang siap diisi Mengisi data kode makanan dan jumlah Menampilkan jenis makanan dan harga per item berdasarkan kode Menekan tanda selesai jika pembelian makanan sudah selesai Menyimpan seluruh item pembelian makanan Kondisi akhir: Seluruh item pembelian sudah tersimpan
96
Case Study: CatatPembelian
97
Diagram Interaksi: Diagram Sekuen
Diagram Sekuen tidak dipergunakan untuk: Kolaborasi objek yang banyak Logika yang kompleks Menunjukkan kelakuan sebuah objek tunggal – Gunakan statechart diagram
98
Diagram Interaksi: Diagram Kolaborasi
Tujuan Diagram Kolaborasi adalah untuk memperlihatkan bagaimana objek saling terkait pada sebuah use-case. Kegunaan Diagram Kolaborasi adalah: Untuk memperlihatkan hubungan statik antar objek Untuk skenario yang lebih kompleks Untuk objek yang banyak dengan message yang sedikit
99
Diagram Interaksi: Diagram Kolaborasi
100
Diagram Interaksi: Kapan?
Diagram Sekuens: ? Menunjukkan urutan/sekuens Diagram Kolaborasi: ? Menunjukkan koneksi antar objek
101
Diagram Interaksi: Petunjuk
Diagram Interaksi merupakan diagram yang bagus untuk menganalisis dan memvisualisasi, Menunjukkan urutan dan hubungan antar objek untuk sebuah skenario use-case, Gunakan elemen notasi dasar, Setiap skenario mempunya diagram interaksi sendiri, Gunakan abstraksi KIS(S): Keep it Simple (S?)
102
Diagram Kelas (dari Diagram Sekuens)
Dengan pendekatan Use-case (Use-case driven approach), kelas didapatkan berdasarkan diagram sekuens Langkah-langkah: Identify Class Identify Relationship Identify Attributes Identify Methods
103
Diagram Kelas: Kelas
104
Diagram Kelas: Atribut
105
Diagram Kelas: Metode/Operasi
106
Diagram Kelas: Relasi antar kelas
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.