Teknik Informatika S1 Software Requirement Engineering Specification of Requirements Models Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6285740278021
SILABUS MATA KULIAH 1. Requirement Engineering 2. Requirement Elicitation 3. Specification of Requirement Models 4. Requirement Prioritization 5. Requirement Interdependencies: State of the Art and Future 6. Impact Analysis 7. Requirement Negotiation 8. Quality Assurance in Requirement Engineering
Specification of Requirements Models 1. Introduction specification of Requirements Models 2. Modeling vs. Specification 3. Meta-Models Categories 4. Specification Methodology 5. Requirements Transformation
Introduction Tujuan utama dari bab ini adalah: Untuk mempresentasikan dan mendiskusikan satu set model dan teknik spesifikasi, dalam apa yang menyangkut ontologi (Studi yang membahas keberadaan sesuatu yang bersifat konkret) dan dukungan mereka dalam representasi kebutuhan dari sistem berbasis komputer.
Modeling vs. Specification Keputusan pertama pengembang ketika mereka ingin menentukan sebuah sistem adalah untuk memilih bagian mana dari sistem yang mereka ingin pertimbangkan. Pemilihan bagian yang mendefinisikan tampilan sistem, yaitu, perspektif sistem yang harus diwakili
Specification of Systems
Specification of Systems Formalisasi tampilan sistem terjadi ketika berasal model. Model ini terdiri dalam representasi (masih konseptual) berdasarkan pandangan sistem menurut sebuah meta-model tertentu.
Specification of Systems Meta-model ini sesuai dengan set elemen komposisi (fungsional atau struktural) dan aturan komposisi yang memungkinkan untuk membangun sebuah model yang mewakili pandangan sistem.
Modeling vs. Specification?
Modeling vs. Specification Perbedaan antara modeling dan spesifikasi: Modeling sesuai dengan aktivitas memilih meta-model untuk meresmikan pada tingkat konseptual/ tampilan sistem tertentu, sedangkan Spesifikasi berkaitan dengan penerapan bahasa untuk membuat model sistem nyata.
Meta Model?
Meta-Models Meta yang diambil dari bahasa yunani yang berarti Beyond/ Melampaui/Atas, dan Model yang menjelaskan model dunia seseorang. Meta Model adalah suatu perangkat alat komunikasi untuk membuat orang me-modelkan lebih luas dari dunia yang ada sekarang. Contohnya: Setiap orang pasti ingin sukses dan berhasil, tetapi model dunianya berkata sebaliknya, seperti : Saya tidak pandai dalam bisnis / Saya selalu gagal dalam bisnis. Ketika ini terjadi, maka bisa dibayangkan untuk mencapai tujuannya menjadi sebuah kesulitan tersendiri.
Meta-Models Categories Idealnya, bahasa representasi harus memungkinkan spesifikasi karakteristik sistem yang diinginkan, dalam cara yang tidak ambigu. Syarat bahasa meta-model harus: Formal (akurat, ketat), untuk menghindari ambiguitas dalam penafsiran representasi sistem. Lengkap, untuk memungkinkan pembangunan representasi yang benar-benar menggambarkan tampilan sistem.
Meta-Models Categories 1. State Oriented Meta-Models 2. Activity Oriented Meta-Models 3. Structure Oriented Meta-Models 4. Data Oriented Meta-Models 5. Heterogeneous Meta-Models 6. Multiple View Approach
Meta-Models Categories 1. State Oriented Meta-Models State oriented meta-models memungkinkan pemodelan sistem sebagai set of states dan satu set transisi. Transisi antar states menurut beberapa stimulus (rangsangan) eksternal. Meta-model yang memadai untuk model sistem di mana perilaku jasmani adalah aspek yang paling penting untuk ditangkap
Meta-Models Categories 1. State Oriented Meta-Models Contoh: * Finite State Machines (FSMs), * Finite State Machines with Data paths (FSMDs), * State Charts * Petri nets
Meta-Models Categories 2. Activity Oriented Meta-Models Meta-models berorientasi aktivitas memungkinkan pemodelan sistem sebagai serangkaian kegiatan yang berkaitan dengan data atau dengan eksekusi yang berkaitan. Meta-models ini sangat cocok untuk model sistem dimana data dipengaruhi oleh urutan transformasi dengan laju yang konstan.
Meta-Models Categories 2. Activity Oriented Meta-Models Contoh: * Data Flow Diagram (DFD) * Flowcharts
Meta-Models Categories 3. Structured Oriented Meta-Models Structured oriented meta-models memungkinkan deskripsi sistem modul fisik dan interkoneksi mereka. Meta-model yang didedikasikan untuk karakterisasi komposisi fisik dari suatu sistem, bukan fungsinya.
Meta-Models Categories 3. Structured Oriented Meta-Models Contoh: * Block Diagram/ Component-Connectivity Diagrams (CCDs) UML s deployment dan component diagram didasarkan pada meta-model ini.
Meta-Models Categories 4. Data Oriented Meta-Models Data oriented meta-models memungkinkan pemodelan sistem sebagai kumpulan data yang berhubungan dengan beberapa jenis atribut. Meta-models ini mendedikasikan organisasi data lebih penting daripada fungsi sistem.
Meta-Models Categories 4. Data Oriented Meta-Models Data oriented meta-models, biasanya digunakan dalam metodologi berdasarkan analisis struktur tradisional dan teknik desain.
Meta-Models Categories 4. Data Oriented Meta-Models Contoh: Entity Relationship Diagram (ERD) Jackson s structured diagrams (JSDs)
Meta-Models Categories 5. Heterogeneous Meta-Models Heterogeneous meta-models memungkinkan penggunaan dalam representasi sistem yang sama, beberapa karakteristik dari meta-model yang berbeda, yaitu empat kategori yang dijelaskan sebelumnya. Meta-models ini adalah solusi yang baik ketika sistem yang relatif kompleks harus dimodelkan.
Meta-Models Categories 5. Heterogeneous Meta-Models Contoh: Control/ Data Flow Graphs (CDFGs) Object Process Diagram (OPDs) Program State Machines (PSMs)
Meta-Models Categories 6. Multiple-View Approach Dengan meningkatnya kompleksitas sistem, penggunaan meta-model yang berbeda untuk mewakili berbagai jenis karakteristik sistem menjadi hal yang umum. Multiple view approach bisa digunakan sesuai dengan kompleksitas sistem yang semakin berkembang.
Specification Methodology Three Key Issues: 1. Specification Language 2. Complexity Control 3. Model Continuity
Specification Language Bahasa spesifikasi harus memungkinkan representasi dari pandangan sistem tertentu, tanpa ambiguitas. Ini adalah tujuan utama dari bahasa spesifikasi.
Complexity Control Kontrol dari kompleksitas proses spesifikasi dapat dilakukan dalam dua dimensi yang berbeda: 1. Representational complexity dan 2. Development complexity
Complexity Control 1. Representational complexity Pada dasarnya tergantung pada bahasa spesifikasi, dan jika dikelola dengan benar memungkinkan diperoleh spesifikasi yang ringkas dan mudah dipahami. Pendekatan grafis biasanya lebih mudah dipahami daripada yang tekstual. Dengan demikian meningkatkan pembacaan dan understandability pandangan sistem. UML mengadopsi pendekatan grafis.
Complexity Control 2. Development complexity Dimensi kedua kontrol kompleksitas (development complexity) mengacu pada kontrol dari evolusi spesifikasi sistem dari konseptualisasi awal kebutuhan.
Model Continuity
Requirements Transformation User Requirements Modeling Identifikasi komponen sistem membutuhkan definisi model untuk menangkap fungsionalitas sistem yang ditawarkan untuk para penggunanya. Use Case adalah salah satu teknik yang paling cocok untuk tujuan itu, karena sederhana dan mudah dibaca.
Requirements Transformation User Requirements Modeling Dalam faktanya, Use Case hanya terdiri dari 3 konsep utama: 1. Use cases 2. Actors, and 3. Relationships
Requirements Transformation User Requirements Modeling UML top level use case diagram according two criteria: Functionality Criteria uc Use Case Mo... EGoverment Kirim Pesan Sediakan Informasi Local Authority User Menerima Pemberitahuan External Prov ider Profil User&E-Serv ice
Requirements Transformation User Requirements Modeling UML top level use case diagram according two criteria: Domain Criteria uc Use Case Mo... EGoverment Healthcare Traffic User Local Authority Education Economic&Tourism
TERIMA KASIH