Dalam
pengembangan software berbasis Object-Oriented pasti sering terjadi adanya
masalah.
Terkadang
masalah nonteknis itu lebih banyak ketimbang masalah teknis, misalnya Salah
pertanyaan yang paling sering saya temukan dari para mahasiswa adalah apa saja
step-step yang harus ditempuh dalam merancang sistem berbasis UML? Saya
biasanya akan memperbaiki pertanyaan ini karena UML pada dasarnya hanya
kumpulan diagram atau teknik visualisasi; UML tidak mendikte langkah-langkah
pengembangan sistem! Lalu apa yang harus dilakukan dalam merancang sebuah
sistem?
Saya
yakin para mahasiswa telah memperoleh mata kuliah pengembangan sistem informasi
sebelumnya, tapi kenapa mereka bertanya demikian disaat mereka harus merancang
sistem yang nyata (misalnya untuk skripsi)? Salah satu penyebabnya adalah
analisa & perancangan terlalu teoritis sehingga tidak mendukung
implementasi/pembuatan kode program.
Salah satu fungsi domain
model adalah menyamakan
istilah yang akan pakai diproses selanjutnya. Misalnya, apakah saya
akan memakai istilah ‘work order’ atau
‘pekerjaan servis’? Apa saya akan memakai sebutan ‘sparepart‘
atau ‘suku cadang‘? Walau terlihat sepele, perbedaan
istilah seringkali menimbulkan salah paham dalam komunikasi tim.
Pemecahan
masalah utama dari Object Oriented biasanya dengan penggambaran dalam bentuk model (Domain Modelling).
Oleh
karena itu orang-orang yang berminat dalam mempelajari UML harus mengetahui
dasar-dasar mengenai Object Oriented Solving.
kenapa
harus object oriented? kenapa kok
tidak procedural? structured?
atau conceptual?
􀂃
Reusability
􀂃
Stability
􀂃
Reliability
􀂃
Parallel computing
􀂃
Interoperability
Model adalah gambaran abstrak
dari suatu dasar masalah. Dan dunia nyata atau tempat dimana masalah itu timbul
bisa disebut dengan Domain.
Domain Model Prinsip untuk
merepresentasikan dunia nyata yang kompleks
menjadi satu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain
yang tidak sesuai dengan permasalahan.
Secara sederhana dikatakan membuang atribut obyek dan
operasi yang hanya sampai pada yang benar
benar diperlukan.
perbedaan CDM dan DM?
Conceptual Data Model adalah peta konsep dan
hubungan mereka.
Model
domain atau Object Model Domain (DOM) di pemecahan masalah dan rekayasa
perangkat lunak dapat dianggap sebagai model konseptual dari sistem yang
menggambarkan berbagai entitas yang terlibat dalam sistem dan hubungan mereka.
Dependency, adalah hubungan semantik antara
dua benda/things yang mana sebuah benda berubah mengakibatkan benda satunya akan
berubah pula. Umumnya sebuah dependency digambarkan sebuah panah dengan garis terputus-putus.
Association, hubungan
antar benda struktural yang terhubung diantara obyek. Kesatuan obyek yang
terhubung merupakan hubungan khusus, yang menggambarkan sebuah hubungan struktural
diantara seluruh atau sebagian. Umumnya assosiation digambarkan dengan sebuah
garis yang dilengkapi dengan sebuah label, nama, dan status hubungannya.
Generalizations, adalah
menggambarkan hubungan khusus dalam obyek anak/child yang menggantikan obyek
parent / induk . Dalam hal ini, obyek anak memberikan pengaruhnya dalam hal struktur
dan tingkah lakunya kepada obyek induk. Digambarkan dengan garis panah.
Realizations, merupakan
hubungan semantik antara pengelompokkan yang menjamin adanya ikatan
diantaranya. Hubungan ini dapat diwujudkan diantara interface dan kelas atau elements,
serta antara use cases dan collaborations. Model dari sebuah hubungan
realization.
Association Suatu hubungan antara bagian
dari dua kelas. Terjadi association antara dua kelas jika salah satu
bagian dari kelas mengetahui yang lainnya dalam melakukan suatu kegiatan. Di
dalam diagram, sebuah association adalah penghubung yang menghubungkan
dua kelas.
Aggregation Suatu association dimana salah satu kelasnya merupakan bagian
dari suatu kumpulan. Aggregation memiliki titik pusat yang mencakup
keseluruhan bagian. Sebagai contoh : OrderDetail merupakan kumpulan dari Order.
Generalization Suatu hubungan turunan
dengan mengasumsikan satu kelas merupakan suatu superClass (kelas super)
dari kelas yang lain. Generalization memiliki tingkatan yang berpusat
pada superClass. Contoh : Payment adalah superClass dari Cash,
Check, dan Credit.
Untuk
tambahan bahwa association mempunyai 2 titik. Salah satu titik bisa memiliki
label untuk menjelaskan association tersebut, contoh : OrderDetail
adalah line Item untuk setiap permintaan
Abstraksi dalam OOP bertujuan untuk memfilter properties dan
operation pada suatu object, sehingga hanya tinggal properties dan operation
yang dibutuhkan saja. Seringkali masalah yang berbeda membutuhkan sejumlah
informasi yang berbeda pula pada areal yang sama. Sebagai contoh pada kasus TV.
Ketika kita membuat program komputer untuk mengatur volume suara, perubahan
channel dan pengaturan kontras, kita mungkin harus membuang attribute nomer
seri karena tidak terlalu berguna. Akan tetapi ketika kita akan menelusuri
transaksi penjualan TV, maka kita butuh no seri dari setiap TV yang terjual.
¢Obyek
: komponen di dalam sebuah program
¢Property
: karakteristik yang dimiliki obyek
¢Method
: aksi yang dapat dilakukan oleh obyek
¢Event
: kejadian yang dapat di alami oleh obyek
Domain model
1. bagaimana cara membuatnya?
2. apakah butuh GUI dulu?
Ada yang bisa membantu saya kawan-kawan??
tolong di share yahh
Domain model itu fungsinya untuk mengerahui apa saja
objek yang ada di sistem kita nantinya. Seperti ini :
1. domain objek
- user
- sejarah per periode
- list sejarah per periode
- sejarah review
- user review
- tokoh pejuang per periode
- list tokoh pejuang (aka -> tp)
- biodata tp
- nama tp
- ttl tp
- discografi (maksudny dy mulai terjun k dunia peperangan
tahun berapa-meninggal/apaan gt)
- daerah bersejarah
- peta Indonesia
- list daerah
- nama daerah
- lokasi
- history daerah
- drama cd sejarah
- list drama cd
- judul drama cd
tidak perlu memikirkan gui atau use case dulu yang
penting setelah mengetahui ada berapa objek kemudian hubungkanlah objek satu
dengan objek lainnya yang mempunyai hubungan.
CDM
PDM
Komentar ini telah dihapus oleh pengarang.
BalasHapus