Class
diagram digunakan untuk menampilkan kelas-kelas dan paket-paket di
dalam system. Class diagram memberikan gambaran system secara statis dan
relasi antar mereka. Biasanya, dibua beberapa class diagram untuk
system tunggal. Beberapa diagram akan menampilkan subset dari
kelas-kelas dan relasinya. Dapat dibuat beberapa diagram sesuai dengan
yang diinginkan untuk mendapatkan gambaran lengkap terhadap system yang
dibangun.
Class
diagram adalah alat perancangan terbaik untuk tim pengembang. Diagram
tersebut membantu pengembang mendapatkan struktur system sebelum kode
ditulis, dan membantu untuk memastikan bahwa system adalah desain
terbaik.
- Kelas
Kelas
adalah sesuatu yang membungkus informasi dan perilaku. Secara
tradisional, system dibangun dengan ide dasar bahwa akan menyimpan
informasi pada sisi baris data dan data perilaku pengolahnya pada sisi
aplikasi. Salah satu perbedaan terstruktur dengan pendekatan
berorientasi obyek adalah
pada
berorientasi obyek menggabungkan informasi dan perilaku pengolah
informasi dan menyembunyikan semua kedalam sesuatu yang disebut kelas.
Dalam UML, kelas ditunjukkan menggunakan notasi sebagai berikut.
Bagian paling atas pada notasi Class digunakan sebagai nama kelas, dan secara opsional juga digunakan stereotype-nya. Bagian tengah digunakan untuk menyimpan atribut, dan bagian paling bawah digunakan menyimpan operasi.
- Menentukan kelas
Cara yang baik untuk menemukan kelas-kelas adalah mulai dari memperhatikan aliran kejadian (flow of event) dari suatu use case. Perhatikan kata benda didalam aliran kejadian, mungkin merupakan salah satu dari empat hal berikut.
1. Actor
2. Kelas
3. Atribut dari kelas
4. Ekspresi, bukan actor, bukan kelas, dan bukan atribut.
Dengan
melakukan seleksi kata benda dalam aliran kejadian, dapat ditemukan
kelas-kelas dalam system. Alternative lainnya, dapat di uji obyek-obyek
dalam sequence diagram dan collaboration diagram.
Ada dua cara yang biasa dilakukan berkaitan dengan urutan pendefinisian antar kelas-kelas dalam class diagram dan sequence diagram atau collaboration diagram. Yang pertama, dengan membuat sequence diagram atau collaboration diagram lebih dulu. Kemudian melanjutkannya dengan membuat class diagram. Sebaliknya, yang kedua, yaitu dengan menemukan kelas-kelas dan membuat class diagram terlebih dahulu, kemudian menggunakan kelas-kelas terebut sebagai “Kamus” obyek-obyek dan relasinya untuk membuat sequence diagram atau collaboration diagram.
- Stereotype pada kelas
Stereotype adalah sebuah mekanisme yang digunakan untuk mengkategorikan kelas-kelas. Misalnya, dapat dibuat stereotype
form lebih dulu, kemudian menentukan kelas-kelas dilangkah selanjutnya.
Fitur ini membantu untuk lebih memahami tanggung jawab terhadap
masing-masing kelas dalam model. Kelas-kelas dengan stereotype ‘form’ bertanggung jawab menampilkan dan menerima informasi dari pemakai.
Stereotype
juga membantu dalam proses pembangkitan kode. Ketika proses
pembangkitan kode, stereotype kelas menentukan tipe kelas yang akan
diabawa kebahasa pemrograman.
Beberapa
Stereotype dapat digunakan sejak pada tahap proses analisis, pada saat
belum ditentukan bahasa pemrograman teretentu untuk membangkitkan kode.
Stereotype juga dapat tergantung pada bahasa pemrograman yang dipilih
dan digunakan pada tahap proses desain.
Ketika
analisis, kelas-kelas dapat dikategorikan menurut fungsi yang mereka
lakukan. Ada 3 tipe Stereotype kelas dalam UML yang digunakan pada
analisis, yaitu : pembatas (boundry), entitas(entity) dan control.
a. Kelas-kelas pembatas
Kelas-kelas
pembatas adalah kelas-kelas yang terletak antara system dengan dunia
sekililingnya. Semua form, laporan-laporan, antarmuka(interface)
keperangkat lunak seperti Printer atau scanner, dan antar muka
(interface) ke system lainnya adalah termasuk dalam kategori ini. UML
mempresentasikan
kelas pembatas sebagai berikut.
kelas pembatas sebagai berikut.
Untuk
menemukan dan mengidentifikasi kelas-kelas pembatas dapat dilakukan
dengan menguji diagram use case. Minimal harus ada satu kelas pembatas
untuk setiapa interaksi antara actor - use case. Kelas pembatas adalah
apa saja yang memungkinkan actor berinteraksi dengan system.
Tidak
perlu membuat kelas pembatas untuk setiap pasangan actor- use case.
Sebagai contoh, bila mempunyai dua actor yang sama-sama menginisialisasi
use case yang sama untuk berkomunikasi dengan system.
b. Kelas-kelas entitas
Kelas-kelas
entitas menangani informasi yang disimpan dalam penyimpanan tetap.
Kelas entitas biasanya ditemukan dalam aliran kejadian (flow of event)
pada diagram interaksi. Mereka adalah kelas-kelas yang sebagian besar
bermakna terhadap pemakai dan secara tipikal diberikan nama menggunakan
teknologi domain bisnisnya.
Perhatikan kata benda dalam aliran kejadian. Beberapa kata benda akan menjadi kelas entitas dalam system. Cara lainnya adalah dengan memperhatikan struktur basis data. Jika rancangan basis data telah dibuat, perhatikan nama-nama table. Tabel-tabel menangani beberapa record informasi secara permanen, sementara kelas entitas, menangani informasi didalam memori computer saat computer sedang dihidupkan. Dalam UML, notasi kelas entitas digambarkan sebagai berikut.
Dari
rancangan basis data, dapat di telusuri balik beberapa field pada basis
data kebutuhan system. Kebutuhan system menentukan aliran kejadian(flow
of event), dan aliran kejadian menentukan obyek-obyek, kelas-kelas, dan
attribut-attribut dalam kelas. Masing-masing attribut dalam kelas
entitas mungkin akan menjadi field dalam basis data.
c. Kelas-kelas Kontrol
Kelas
kontrol bertanggung jawab untuk mengkoordinasikan kegiatan-kegiatan
terhadap kelas lainnya. Kelas ini bersifat opsional, tetapi jika kelas
Kontrol ini digunakan, maka secara tropical satu kelas control untuk
satu use case tersebut. Ada kelas-kelas control yang digunakan bersama
oleh beberapa use case. Dalam UML, notasi kelas entitas digambarkan
sebagai berikut.
- Penamaan kelas
Masing-masing
kelas harus mempunyai nama yang unik. Sebagian besar organisasi
mempunyai konvensi penamaan sendiri untuk menamakan kelas-kelas yang
dibuatnya. Umumnya kelas-kelas dinamakan menggunakan kata benda tunggal.
Nama
kelas tidak menggunkan spasi. Ini dilakukan karena alasan praktis,
dimana beberapa bahasa pemrograman tidak membolehkan adanya spasi. Hal
lainnya yang perlu diperhatikan adalah bahwa nama kelas hendaknya
pendek, cukup untuk menjelaskan apa yang akan kelas lakukan.
Jadi
penamaan kelas sangat tergantung pada organisasi kita. Jika kita
mempunyai kelas yang digunakan dalam organisasi yang bersangkutan,
tetapi yang jelas bahwa hal tersebut harus konsisten digunakan untuk
keseluruhan kelas-kelas yang dibuatnya.
- Visibilitas kelas
Pilihan
visibilitas menentukan dapat tidaknya sebuah kelas dilihat dari luar
paket. Ada 3 pilihan visibilitas untuk sebuah kelas yaitu :
1. Public
2. Menyatakan bahwa sebuah kelas dapat dilihat dari kelas-kelas lainnya dalam system.
3. Protected atau private
4. Menyatakan bahwa sebuah kelas dapat dilihat dari kelas-kelas majemuk(nested), friends, atau dari kelas itu sendiri.
5. Package atau implementation.
6. Menyatakan bahwa sebuah kelas dapat dilihat hanya oleh kelas yang lain dalam paket yang sama.
- Multiplicity kelas
Multiplicity
memberikan gambaran ebuah instant yang akan ditampung dalam kelas.
Misalnya, dalam kelas pegawai, kita mungkin mempunyai beberapa instant,
satu untuk Ani, satu untuk Ina, satu untuk Nana dan seterusnya. Sehingga
Multiplicity untuk kelas pegawai diset n. Pada kelas control,
Multiplicity diset 1, karena pada saat aplikasi berjalan hanya satu
kelas.
Beberapa jenis Multiplicity kelas.
Table Multiplicity untuk kelas :
Multiplicity
|
Arti
|
n (default)
|
Banyak
|
0..0
|
Nol
|
0..1
|
Nol atau Satu
|
0..n
|
Nol atau Banyak
|
1..1
|
Tepat satu
|
1. .n
|
Satu atau banyak
|
Table Notasi Multiplicity menggunakan kustomisasi
Format
|
Arti
|
Tepat
| |
..
|
Antara
|
..
|
Atau nol
|
,
| |
, ..
|
Tepat atau antara dan
|
.. ,
..
|
Antara dan atau antara dan
|
- Paket
Paket digunakan unruk mengelompokkan kelas-kelas yang mempunyai kesamaan. Dalam UML, digambarkan sebagai berikut :
Ada
beberapa cara mengelompokkan kelas-kelas dalam paket, tetapi
bagaimanapun juga, kelas-kelas dapat dikelompokkan dalam paket yang
sama tergantung dari keinginan kita sendiri. Salah satu pendekatan yang
dapat digunakan adalah berdasarkan Stereotype-nya. Dengan pendekatan
ini, dapat dibuat satu paket untuk kelas-kelas entitas, dan satu kelas
untuk kelas-kelas control.
Pendekatan
lainnya yang dapat digunakan adalah dengan fungsionalitasnya. Misalnya,
kita punya paket security untuk kelas-kelas yang digunakan menangani
keamanan system.
Akhirnya,
dapat digunakan kombinasi dua pendekatan diatas. Paket dapat dibuat
bersarang, dimana satu paket mengandung paket lainnya. Pada level
tertinggi, dapat dikelompokkan berdasarkan fungsionalitasnya, kemudian
diikuti dengan sub fungsionalitasnya lainnya atau dengan stereotype-nya.
Tidak ada komentar:
Posting Komentar