DESAIN SISTEM DENGAN UML (PART 1)
Design class Diagram merupakan ektensi dari domain model class diagram yang dikembangkan selama proses OO requirement. Domain model class diagram menunjukkan satu set problem domain class masalah dan hubungan asosiasinya. Atribut dalam class harus dinyatakan sebagai publik atau private, dan setiap atribut harus ditentukan jenisnya, seperti karakter atau numeric. Selain itu, penting untuk menentukan parameter apa saja yang dikirimkan melalui methode serta nilai-nilai yang dikembalikan oleh method tersebut. Pada tahap ini, terkadang seorang sistem analist akan mendefinisikan logika internal dari setiap method. Hal ini akan diselesaikan/dikerjakan dengan mengintegrasikan informasi dari interaction diagram dan model lainnya. Design class diagram adalah versi yang lebih rinci dari domain model class diagram. Saat menetukan proses granularity yang lebih baik, maka classes yang baru jua perlu didefinisikan dengan baik. Sebagai classes yang baru dibuat, classes tersebut harus didokumentasikan dan diklasifikasikan atau dipartisi menjadi kelompok dan / atau subsistem.
Pada diagram UML khususnya class memiliki notasi khusus yang disebut stereotype, dimana stereotype tersebut memungkinkan seorang desainer untuk menunjukkan kekhususan dari jenis class. Stereotype merupakan sebuah cara yang sederhana untuk mengkategorikan elemen model kedalam jenis tertentu. Notasi stereotype adalah nama dari jenis yang ditempatkan dalam guillemets printer, seperti «control». Ada empat jenis design class yang dianggap standar, keempat jenis class tersebut adalah Entity Class, Control Class, Boundary Class dan Data Access Class. Sedangkan notasi untuk menentukan type untuk design class ada dua, yaitu yang berbentuk persegi panjang dan yang berbentuk lingkaran.
Simbol internal yang digunakan untuk mendefinisikan class, dikelompokkan menjadi tiga kompartemen. Nama dari kompartemen paling atas merupakan nama class dan informasi dari stereotype. Kompartemen dibawahnya berisi rincian lebih lanjut tentang atribut yang merupakan identitas dari class. Sedangkan yang paling bawah merupakan tempat untuk mendefinisikan method-method yang ada pada class tersebut. Atribut ditentukan oleh visibilitas atribut, nama atribut, ekspresi jenis, nilai awal, dan properti. Metode didefinisikan menurut method signature information, yang terdiri dari metode visibilitas, nama metode, tipe-ekspresi, dan daftar metode parameter. Method dalam class perlu dikelola lebih jauh. Method tersebut dielaborasi dengan cara dua cara. Cara pertama, penggunaan method signatures memungkinkan method tersebut untuk di overloaded, seperti untuk share nama yang sama. Contohnya, getCustomer (customerId) dan getCustomer (name) merupakan dua method yang berbeda. Saat run-time akan membedakan method yang akan dipanggil, hal ini terjadi saat method tersebut dipanggil/dijalankan sistem akan memeriksa kedalam daftar parameter. Sedangkan cara kedua, method dapat mengeksekusi sampai pada level objek atau class. Jadi, Jenis method pertama lebih umum untuk dilaksanakan dan ditemui.