Apa yang dimaksud dengan Problem Domain Analysis?

Problem Domain Analysis

Problem domain : that part of a context that is administrated, monitored or controlled by a system.” Lars Mathiassen et al. (2000)

Problem domain adalah keadaan nyata yang dapat dilakukan, dipantau atau dikendalikan oleh sistem. Analisa Problem domain dapat membantu dalam mengidentifikasi dan membuat model atau tiruan dari problem domain yang digambarkan dalam bentuk event table, class diagram, dan statechart diagram.”

Apa yang dimaksud dengan Problem Domain Analysis ?

Problem domain merupakan bagian dari suatu konteks yang diadministrasikan, dimonitor, atau dikontrol oleh sebuah sistem, dengan tujuan untuk mengidentifikasi dan memodel sebuah problem domain.

Sedangkan model yang terdapat di dalam problem domain dapat didefinisikan sebagai deskripsi dari class-class, object-object, structure-structure, dan behaviour di dalam sebuah problem domain, seperti yang terlihat pada Gambar dibawah ini:

image
Gambar Aktivitas pada problem domain analysis. Sumber: Mathiassen (2000)

Classes


Classes disini akan menggambarkan tentang object-object dan event-event yang mana saja yang akan menjadi bagian dari problem domain. Menurut Mathiassen (2000),

Class: A description of a collection of objects sharing structure, behavioral pattern, and attributes”. Artinya kelas adalah sekumpulan objek-objek yang saling berbagi struktur, atribut dan pola tingkah laku yang sama.

Mengacu pada Mathiassen (2000), kegiatan kelas akan menghasilkan event table. Dalam tabel ini dimensi horizontal berisi kelas- kelas yang terpilih, dimensi vertikal berisi event-event terpilih, dan tanda cek digunakan untuk mengidentifikasikan objek-objek dari kelas yang berhubungan dalam event tertentu. Seperti yang terlihat pada Tabel dibawah ini:

Tabel Contoh Event Table. Sumber: Mathiassen (2000)
image

Structure


Structure di sini harus mencerminkan bagaimana class-class dan object-object secara konseptual saling terkait secara bersamaan.

Konsep stucture menurut Mathiassen (2000):

  1. Class structure, yang meliputi:

    a. Generalization

    Generalitation: A general class (the super class) describes properties common to a group of specialized classes (the subclasses)”. Jika diterjemahkan, generalisasi adalah suatu kelas yang umum (kelas super) yang menggambarkan properti umum untuk suatu grup yang memiliki kelas khusus (sub kelas).

    b. Cluster

    Cluster: A collection of related classes”. Artinya, cluster adalah suatu koleksi dari kelas-kelas yang saling berhubungan.

  2. Object structure, yang meliputi:

    a. Aggregation

    Aggregation: A superior object (the whole) consists of a number of objects (the parts)”. Artinya, agregasi adalah suatu objek superior (keseluruhan) yang terdiri dari sejumlah objek-objek (bagian).

    b. Association

    “Association: A meaningful relation between a number of object”. Artinya, asosiasi adalah hubungan yang mempunyai arti antar sejumlah objek.

Hasil dari kegiatan stuktur ini adalah class diagram. Class diagram menghasilkan ringkasan model problem-domain yang jelas dengan menggambarkan semua struktur hubungan statik antar kelas dan objek yang ada dalam model dari sistem yang berubah-ubah.

Behavior


Behaviour di sini menggambarkan mengenai suatu tujuan, yaitu untuk memberi model dinamis yang harus dipunyai oleh object-object pada problem domain. Tugas utama dalam kegiatan ini ad alah menggambarkan pola perilaku (behaviour pattern) dan atribut dari setiap kelas. (M athiassen, (2000))

Hasil dari kegiatan ini adalah statechart diagram yang dapat dilihat pada Gambar dibawah ini :

image
Gambar Contoh “Statechart”. Sumber: Mathiassen (2000)

Menurut Mathiassen (2000) ada 3 notasi untuk behavioural pattern yaitu:

  • Sequence, dimana event muncul satu per satu secara berurutan.

  • Selection, dimana terjadi pemilih an satu event dari sekumpulan event yang muncul.

  • Iteration, dimana sebuah event muncul sebanyak nol atau berulang kali.