Membahas Use Case dan Kawan-kawannya (lagi) – Bagian 2

Melanjutkan tulisan ini, tahap perancangan berorientasi objek di sini akan kita sebut OOD (Object Oriented Design). OOD agak berbeda dengan perancangan menggunakan metode terstruktur. Pada metode terstruktur, kita harus mengurus perancangan data dengan membuat daftar tabel aplikasi yang akan diimplementasikan menjadi tabel-tabel database. Namun, pada OOD, kita fokus merancang kelas-kelas dengan struktur layaknya kita membuat program dengan bahasa OO, ada object, class dan package. Ketiga hal ini diuraikan baik secara implisit maupun eksplisit dalam tabel dan diagram.

Hal pertama yang kita lakukan di OOD adalah mengidentifikasi kelas perancangan. Kelas perancangan ini juga diistilahkan dengan “block”. Jika kita menggambar dengan StarUML, kalo kita perhatikan pun, kita tidak akan menemukan simbol untuk kelas tapi simbol untuk “block” akan dengan mudah kita temukan. Kelas-kelas tersebut sebenarnya tinggal menilik saja pada kelas analisis yang telah kita buat sebelumnya. Nama kelas perancangan dan kelas analisis pun bisa saja sama, tetapi kebanyakan desainer membedakannya untuk menandai mana yang dibuat pada tahap analisis dan mana yang dibuat pada tahap perancangan. Begitu kita selesai mendeskripsikan kelas perancangan apa saja yang dibutuhkan, “isi” dari kelas tersebut jika nantinya diimplementasikan dalam program juga harus sudah terbayang, seperti atributnya, operasinya, visibilitas keduanya, dan fungsi tiap-tiap operasinya. Untuk memudahkan tahapan tersebut, kita  sebaiknya menggambar sequence diagram (interaction diagram) setiap use case terlebih dahulu. Diagram interaksi menggambarkan bagaimana objek-objek dalam kelas tersebut saling berkomunikasi. Stimulus dari satu kelas ke kelas lainnya merupakan cikal bakal operasi. Oleh karena itu, biasanya stimulus ini tidak lagi dituliskan dengan kata-kata seperti “berpidah layar” atau “menambah pengguna” tetapi sudah mengikuti aturan penamaan method dalam pemrograman seperti “navigateTo()” atau “addUser(username,password)”, tanpa spasi dan pemakaian parameter.
kelas (more…)