Memahami Domain Engineering

Fikri Adriansa Yudha
UNIKOM Codelabs
Published in
3 min readMay 28, 2021

Pembahasan Konseptual Domain Engineering

Disclaimer: tulisan ini merupakan hasil pemikiran saya beserta teman satu divisi UNIKOM Codelabs yang terdiri dari Muhammad Naufal dan Dion Arya Pamungkas. Hasil pemikiran ini pun murni pandangan kami sebagai orang awam terhadap ilmu domain engineering dan bisa saja ada kekeliruan didalamnya. Kritik dan saran sangat diharapkan bagi yang membaca tulisan ini :D

Domain Engineering

Domain engineering atau product line engineering adalah suatu proses untuk menggunakan kembali (reusing) domain knowledge di dalam produksi suatu perangkat lunak yang baru.

Domain engineering menunjukan bahwa ketika suatu perangkat lunak dibangun, perangkat lunak tersebut tidak benar-bernar baru melainkan varian dari yang sudah ada. Dengan menggunakan domain engineering, pembangunan perangkat lunak yang baru bisa dilakukan dengan lebih cepat dengan memanfaatkan software artifacts yang sudah ada sebelumnya.

Di dalam domain engineering sendiri terdapat 3 proses yaitu:

- Domain Analysis

- Domain Design

- Domain Implementation

Akan tetapi untuk pembahasan kali ini, yang akan dibahas adalah Domain Analysis saja, mulai dari pengertian dan menggambarkan visualisasi domain model.

Domain analysis adalah tahap paling awal dari domain engineering, yang harus dilakukan di tahap ini adalah menganalisa hal yang common di dalam suatu domain. Output dari domain analysis sendiri adalah domain model yang bisa berbentuk object oriented models yang diagmbarkan dengan UML atau data model yang digamabarkan dengan Entity Relationship Diagram. Proses dari domain analysis dimulai dengan menentukan domain, mengumpulkan informasi tentang domain, dan menghasilkan domain model. Tahapan dalam domain modelling ini dilakukan sebelum tahap analisis kebutuhan dalm proses perancangan perangkat lunak.

Memvisualisasikan domain model dapat digambarkan dalam bentuk Conceptual Class dari domain yang sedang dianalisis. Namun bentukan dari Conceptual Class ini menganalogikan sebuah objek di kehidupan nyata. Sebagai contoh dalam domain Perpustakaan, bahwa secara umum objek yang terlibat dalam domain ini adalah petugas perpustakaan, pengunjung perpustakaan, buku. Maka kita dapat menggambarkan Conceptual Class dari masing-masing objek yang berkaitan dengan perpustakaan secara umum. Mengapa secara umum ? karena dalam pembentukan domain model ini, kita mengacu pada system yang sudah berjalan dan bagaimana objek yang terlibat dalam system yang sudah ada ini dapat menjadi (reusable) bagi domain yang sama. Dalam memvisualisasikan objek ini, kita dapat digambarkan melalui UML Class Diagram. Namun pembuatan Class dalam domain model ini tidak spesifik seperti Class Diagram yang dirancang saat proses perancangan system.

Class Diagram yang digambarkan merupakan basis dari Class yang akan dirancangan pada saat proses perancangan system. Sebagai contoh, dalam domain perpustakaan, objek yang terlibat adalah petugas perpustakaan, mahasiswa, pengunjung dan buku. Maka kita dapat menggambarkan objek Mahasiswa dalam sebuah Class Diagram yang menjadi landasan untuk dilanjutkan spesifikasi dari Class Mahasiswa ini pada proses perancangan system. Berikut ini contoh penggambaran sebuah Class Diagram yang menjadi basis Class yang dapat dibreakdown dan digunakan pada saat proses perancangan system.

Terimakasih sudah membaca tulisan ini. Semoga dengan membaca tulisan ini bisa membuka pandangan kami sebagai penulis terhadap ilmu domain engineering. Sampai berjumpa di karya tulisan selanjutnya :D

--

--