Breaking News
Loading...
Kamis, 19 September 2013

Domain Modelling



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

 

1 komentar:

 
Toggle Footer