DESAIN SISTEM DENGAN UML (PART 2)
Dalam perancangan sistem informasi berorientasi objek, ada beberapa hal (bagian) penting yang merupakan prisip dasar yang harus dipenuhi. Adapun bagian-bagian tersebut adalah:
- Enkapsulasi dan Informasi Tersembunyi
Enkapsulasi menandakan bahwa sebuah objek berisi data dan logika program (method). Banyak manfaat dari enkapsulasi. Pertama, unit-unit, analog dengan blok bangunan, dapat langsung digabungkan ke dalam satu perancangan yang lengkap. Kedua, objek yang dienkapsulasi dapat digunakan kembali. Sebagai contoh, setiap window dan komponennya dapat didefinisikan dengan seperangkat tombol, menu, dan icon. Ketiga, manfaat utama dari manfaat ketiga ini, berkaitan dengan menyembunyikan informasi, atau membedakan antara publik (terlihat) method dengan private method. Menyembunyikan Informasi merupakan cara untuk melindungi data dan menyederhanakan penggunaan objek.
- Navigation Visibility
Navigasi visibilitas mengacu pada kemampuan satu objek untuk berinteraksi dengan objek lainnya. Navigasi bisa dengan satu cara atau dua cara. Sebagai contoh, sebuah objek Customer mungkin perlu untuk melihat pesanan. Dalam skenario ini, objek Customer berisi variabel, myOrder, yang menunjuk ke objek Order yang terkait dengan customer. Panah navigasi dari Customer yang menuju ke Order merupakan bentuk penetapan coupling antara Class Nasabah dengan Order. Coupling yang tersirat pada satu panah itu merupakan low coupling. Jika panah navigasi kedua ditarik dari Order ke Customer, dan navigasi itu menjadi dua arah, itu artinya meningkatkan coupling. Peningkatan coupling juga bisa terjadi dengan mendefinisikan visibilitas navigasi antara Customer dan class lainnya. Secara umum, sistem analist harus mencoba untuk tetap menjaga coupling tetap rendah (low-coupling) sebagai agar tidak membuat sistem menjadi komplek dengan meningkatnya visibilitas dalam menentukan interaksi objek. Tidak ada standar baku dalam bentuk kuantitatif yang dapat digunakan untuk mengevaluasi coupling, hanya pengalaman pengembang dengan “merasa” untuk menentukan tingkat coupling yang tepat.
- Cohesion and Separation of Responsibilities
Kohesi adalah ukuran kualitatif kekonsistensian dari fungsi dalam satu class. High cohesion mempunyai arti sebuah fungsi yang sangat khusus yang mungkin mengerjakan satu atau dua tugas yang didefinisikan dengan baik. Dalam merancang sebuah sistem informasi, seorang sistem analist harus menghindari kohesi yang rendah (low-cohesion), kohesi harus dirancang sedemikian rupa sehingga mempunyai kohesi yang tinggi (highcohesion) atau menengah. Kohesi rendah harus dihindari. Ada tiga alasan yang mendasari hal tersebut, yaitu class dengan kohesi yang rendah sulit untuk di maintain, sulit untuk di reuse, dan sulit untuk dimengerti. Sebagai contoh, perhatikan rekening nasabah di bank. kohesi rendah mungkin melibatkan satu class pelanggan dalam menjaga informasi pribadi, demografi, dan informasi account sedangkan kohesi tinggi dicapai dengan memisahkan tanggung jawab atau spesialisasinya. Dalam hal ini, sistem analist mungkin perlu mendefinisikan class untuk setiap bagian dari responsibilitiesnya, pelacakan dan modifikasi dari datanya.