DESAIN SISTEM DENGAN UML (PART 3)
First-cut desain class diagram (selanjutnya disebut dengan first-cut) dikembangkan berdasarkan pengembangan dari domain model class diagram. Untuk membuat first-cut menggunakan dua langkah, yaitu : (1) menguraikan atribut dengan jenis dan informasi nilai awal dan (2) menambahkan panah navigasi visibilitas. Perluasan atribut cukup mudah, cenderung menjadi daftar kata benda atau frase kata benda yang menggambarkan berbagai komponen dari sebuah objek. Pada beberapa instance, semua atributnya dibuat invisible atau private. Atribut jenis ini diawali dengan tanda “-“ (minus) dalam diagram. Navigasi visibilitas sedikit lebihsulit dalam perancangan, tetapi hal ini dapat dipermudah dengan mengikuti beberapa pedoman umum seperti berikut ini :
- O Hubungan one-to-many menunjukkan hubungan superior/subordinate (atasan/bawahan)
- O Hubungan mandatory biasanya ditunjukkan dari class yang lebih independen ke class yang dependent
- o Panah dari navigasi mungkin diperlukan ketika sebuah objek membutuhan informasi dari objek lain
- o Panah dari Navigasi mungkin juga bi-directional.
Empat pedoman umum di atas sama seperti yang ditunjukkan oleh first-cut. Setelah itu baru dimodifikasi menjadi lebih rinci sesuai dengan kebutuhan.
Sebuah SSD menangkap interaksi antara sistem dan dunia luar yang diwakili oleh para actor. Sistem itu sendiri diperlakukan sebagai single objek yang bernama :Sistem. Input dari sistem ini adalah message dari actor untuk sistem, dan output biasanya merpukan return message yang menunjukkan data yang dikembalikan. Dalam SSD, karena hanya ada dua object dengan lifelines, maka source dan tujuannya telah dibatasi. Saat sampai pada detail sequence diagram, beberapa keputusan penting yang harus dibuat adalah objek sumber (source) dan objek tujuan (destination object) untuk message.
Detail sequence diagram menggunakan semua elemen yang sama seperti SSD. Perbedaannya terletak pada sistem objek (sering disebut black box) yang digantikan oleh semua internal objek dan message yang terdapat dalam sistem. Tujuan perancangan adalah untuk membuka black box dan menentukan proses internal yang harus terjadi dalam sistem otomatis. Sama seperti disiplin requirement awal, perancangan detil akan berpusat pada use case.