Analysis Of Candidate Object
- Hapus atau sempurnakan objek yang terlalu umum atau terlalu spesifik agar bisa berguna dalam desain database objek
- Hapus benda yang berlebihan
- Identifikasi hubungan
- Perbaiki kelompok menjadi subkelompok, jika sesuai
- Identifikasi hubungan antar kelompok
Langkah pertama melibatkan identifikasi objek dan kelas kandidat, yang mungkin adalah orang, tempat, benda, organisasi, konsep, atau acara. Selanjutnya, relasi Objek didokumentasikan pada diagram objek. Atribut dan layanan dari masing-masing kelas kemudian diidentifikasi dan didokumentasikan dalam template kelas.
Begitu pula dengan desain berorientasi objek, ada empat langkah kunci yang harus dilakukan :
- Mendefinisikan siklus hidup objek.
- Mendefinisikan hubungan kelas.
- Mendefinisikan logika servis.
- Menyelesaikan definisi kelas.
Dalam perancangan perangkat lunak berorientasi objek (OOD), kelas adalah template untuk mendefinisikan karakteristik dan operasi suatu objek. Seringkali, kelas dan objek digunakan secara bergantian, satu identik dengan yang lain. Sebenarnya, kelas adalah spesifikasi yang diterapkan objek.
Mengidentifikasi kelas bisa jadi tantangan. Kelas yang dipilih dengan buruk dapat mempersulit struktur logis aplikasi, mengurangi kegunaan, dan menghambat pemeliharaan. Artikel ini memberikan gambaran singkat tentang kelas berorientasi objek dan menawarkan tip dan saran untuk mengidentifikasi kelas kohesif.
Catatan: Diagram kelas berikut dimodelkan menggunakan Enterprise Architect. Banyak alat pemodelan lainnya ada. Gunakan salah satu yang paling sesuai untuk tujuan dan proyek Anda.
Kelas
Kelas berorientasi objek mendukung prinsip abstraksi, enkapsulasi, polimorfisme, dan usabilitas yang berorientasi objek. Mereka melakukannya dengan menyediakan template, atau cetak biru, yang mendefinisikan variabel dan metode yang umum untuk semua objek yang didasarkan padanya. Kelas menentukan pengetahuan (atribut) – mereka mengetahui hal – dan perilaku (metode) – mereka melakukan sesuatu.
Kelas adalah spesifikasi untuk objek.
Berasal dari Use Use, kelas memberikan abstraksi persyaratan dan memberikan tampilan internal aplikasi.
Atribut
Atribut mendefinisikan karakteristik kelas yang, secara kolektif, menangkap semua informasi tentang kelas. Atribut harus dilindungi oleh kelas terlampir mereka. Kecuali diubah oleh perilaku kelas, atribut menjaga nilai mereka.
Jenis data yang dapat dimiliki atribut ditentukan oleh tipe datanya. Ada dua tipe data dasar: Primitive and Derived.
Tipe data primitif adalah tipe fundamental. Contohnya adalah integer, string, float.
Tipe data yang diturunkan didefinisikan dalam tipe data Primitif, yaitu membentuk tipe data baru dengan memperluas tipe data primitif. Kelas Siswa, misalnya, adalah tipe data turunan yang dibentuk oleh kumpulan tipe data primitif.
Ketika didefinisikan dalam konteks masalah domain, tipe data turunan disebut tipe Domain Specific Data. Ini adalah tipe yang mendefinisikan dan membatasi atribut agar konsisten dengan semantik data. Misalnya, Alamat studentAddress versus string studentAddress.
Dimana praktis, model desain harus menggunakan tipe data spesifik domain sebagai pengganti tipe data primitif.
Saat mencari atribut dalam model desain, cari jenis ini:
Atribut deskriptif memberikan informasi intrinsik tentang kelas. Misalnya, informasi tentang status pendaftaran, nilai tes, dan tujuan pendidikan akan menjadi intrinsik bagi kelas Siswa namun bukan kelas Automobile. Tanyakan, “Karakteristik apa yang membedakan kelas ini dengan orang lain?”
Atribut penamaan digunakan untuk mengidentifikasi objek secara unik dan biasanya tidak berubah selama masa pakai objek. Pertimbangkan dua objek Siswa yang berisi atribut penamaan, nama siswa. Nilai “Jack” dan “Jill” akan mengidentifikasi dua objek Siswa yang berbeda. Tanyakan, “Apa yang secara unik mengidentifikasi objek ini dari objek lain dari kelas yang sama?”
Atribut referensial berisi tautan ke objek. Nilai tes siswa mungkin disimpan di kelas Penilaian, misalnya. Nilai untuk atribut Penilaian (di kelas Siswa) akan menghubungkan kelas Siswa ke kelas Penilaian. Tanyakan, “Bagaimana benda ini berhubungan dengan objek lain?”
Tanggung jawab
Kelas memiliki perilaku dan tanggung jawab. Tanggung jawab adalah sesuatu yang diketahui atau dilakukan oleh sebuah kelas … ini adalah kewajiban sebuah kelas harus mengetahui informasi tertentu dan / atau untuk melakukan suatu tugas. Misalnya, seorang siswa mengetahui tentang alamat dan SSN-nya. Seorang siswa mendaftar di kelas.
Secara teknis, tanggung jawab tidak sama dengan operasi kelas (perilaku), namun, operasi memenuhi tanggung jawabnya. Mungkin dibutuhkan lebih dari satu operasi (terkadang, lebih dari satu objek) untuk memenuhi tanggung jawabnya.
Tanggung jawab adalah kewajiban kelas atau objek untuk melakukan suatu tugas atau mengetahui informasi.
Mengidentifikasi kelas
Mengidentifikasi kelas berorientasi objek adalah keterampilan dan seni. Ini adalah proses yang satu menjadi lebih baik dari waktu ke waktu. Misalnya, bukan hal yang aneh bagi perancang berpengalaman untuk mengidentifikasi terlalu banyak kelas. Pemodelan terlalu banyak kelas menghasilkan kinerja yang buruk, kompleksitas yang tidak perlu dan peningkatan perawatan. Di sisi lain, terlalu sedikit kelas yang cenderung meningkatkan kopling, dan membuat kelas lebih besar dan berat. Secara umum, perjuangkan kohesi kelas di mana perilaku dibagi antara beberapa kelas terkait daripada kelas yang sangat besar.
Kelas kohesif mengurangi kopling, memungkinkan kemampuan diperpanjang dan meningkatkan kemampuan rawatan.
Selain itu, kelas yang tampaknya menjadi pilihan yang buruk dan kelas yang awalnya tersembunyi atau yang mengandalkan pengetahuan domain masalah adalah pilihan terbaik.
Oleh karena itu, mulailah pemodelan kelas dengan mengidentifikasi kelas kandidat – daftar awal kelas dimana kelas desain aktual akan muncul. Kelas desain adalah kelas yang dimodelkan. Kelas kandidat ada untuk tujuan tunggal jurusan desain. Awalnya, akan ada banyak kelas kandidat – itu bagus. Namun, melalui analisis, jumlah mereka akan berkurang saat jatuh, digabungkan dan digabungkan.
Kelas kandidat memberikan dorongan awal untuk menghasilkan kelas kohesif.
Kelas kandidat dapat ditemukan dengan berbagai cara. Ini ada tiga:
Kata benda dan frase kata benda: Identifikasi frase kata benda dan kata benda, kata kerja (tindakan) dan kata sifat (atribut) dari Use Use, Actor-Goal List, Narasi Aplikasi dan Deskripsi Masalah.
Kartu CRC: pendekatan kelompok informal terhadap pemodelan objek.
GRASP: Kumpulan prinsip formal yang menetapkan tanggung jawab.
Masing-masing metode ini akan menghasilkan daftar kelas kandidat. Daftar ini tidak akan lengkap dan tidak setiap kelas sesuai dan mungkin akan ada gabungan kelas bisnis dan kelas yang berorientasi sistem; yaitu.; Student and StudentRecord, misalnya. Tidak apa-apa. Tujuannya adalah untuk mengidentifikasi kelas utama – yang jelas. Kelas lainnya akan menjadi jelas saat proses perancangan berlanjut.
Begitu daftar telah dibuat, analisis kelas kandidat untuk asosiasi dengan kelas lainnya. Carilah kelas berkolaborasi. Bagaimana masing-masing berhubungan satu sama lain dan dengan proses bisnis? Terkadang, sangat membantu untuk bertanya, “Mengapa menjaga kelas ini?” Dengan kata lain, menganggap kelas itu berlebihan atau tidak perlu. Keep it only jika memainkan peran berkolaborasi. Seringkali Anda akan menemukan fungsi kelas ‘dilakukan oleh kelas lain atau dalam konteks kelas lain.
Saat kelas disimpan, pindahkan ke daftar kelas desain. Akhirnya, daftar kelas desain akan menghasilkan struktur dasar untuk aplikasi.