SlideShare a Scribd company logo
MODEL DRIVEN SOFTWARE DEVELOPMENT
Oleh: Adam Mukharil Bachtiar
MODEL
Artifak yang digunakan untuk mendeskripsikan
domain dari sistem yang akan dibangun,
representasi abstrak dari sistem yang akan
dibangun, sebagai bentuk dokumentasi, dan
spesifikasi untuk proses pengujian.
Inspirasi: IBM Research
MODEL
Domain
Modelling
Static Analysis
Code
Generation
Documentation
Refactoring or
Transformation
Automated
Testing
MODEL DRIVEN
SOFTWARE DEVELOPMENT
REQUIREMENTS
Contoh Code Generation
dari Class Diagram
Memodelkan perangkat lunak itu sejatinya
adalah bercerita perihal perangkat lunak
macam apa yang mau kita bangun.
Ruang:
Bangunkan rumah dengan dua
kamar tidur, 1 kamar mandi, 1
ruang keluarga, 1 ruang makan, 1
dapur, 1 garasi dan taman depan
serta belakang.
Posisi:
.....
Dimensi:
.....
Dan segala hal lainnya.
By Descriptive Story
By Diagram Model
KEBUTUHAN
PERANGKAT LUNAK
KEBUTUHAN
FUNGSIONAL
KEBUTUHAN NON
FUNGSIONAL
Fokus bercerita:
“Perangkat lunak harus bisa melayani apa?”
Fokus bercerita:
“Batasan apa dari layanan yang disediakan?”
Inspirasi: Ian Sommerville, Software Engineering 7th edition
Untuk memodelkan kebutuhan
perangkat lunak menggunakan
OOAD, terdapat alat bantu
yaitu UML*
*Singkatan dari Unified Modelling Language
Logical View Process View
Physical
View
Development
View
Use Case
View
Apa yang digambarkan UML?
Russ Miles, Learning UML 2.0
Use Case
View*
Mendeskripsikan fungsional sistem
yang dimodelkan dari perspektif
dunia luar sistem
* Diagram UML: Use case diagram dan Use case scenario
Mendeskripsikan proses-proses
yang ada di dalam sistem. Membantu
memvisualkan apa yang terjadi di
sistem kita.
Process
View*
* Diagram UML: Activity Diagram
Logical View*
Mendeskripsikan deskripsi abstrak
dari bagian-bagian sistem. Biasanya
digunakan untuk memodelkan
terbuat dari apa saja sistem yang
kita bangun dan bagaimana bagian-
bagian tersebut berinteraksi.
* Diagram UML: Class Diagram, Object Diagram, State Machine, dan Interaction Diagram
Development
View*
Mendeskripsikan bagaimana bagian-
bagian dari sistem diorganisasikan
dalam bentuk modul dan komponen.
Biasanya digunakan untuk visualisasi
layer arsitektur sistem
* Diagram UML: Package Diagram dan Component Diagram
Physical
View*
Mendeskripsikan bagaimana desain
dari sistem untuk kemudian dibawa
sebagai entitas dunia nyata.
* Diagram UML: Deployment Diagram
Urutan
Penggambaran
Model pada UML
Setiap diagram akan mempunyai
notation, semantic, dan stereotype
Russ Miles, Learning UML 2.0
Stereotype
Notation
Elemen yang membentuk modeling language
Kelas Mahasiswa memiliki dua atribut yaitu nim dan nama
serta dua method yaitu kumpulkan tugas dan lihat nilai
Semantic
Deskripsi yang menjelaskan notasi
Deskripsi yang menjelaskan
penggunaan special dari suatu notasi
FOKUS
PEMODELAN
PADA OOAD
Dalam UML, terdapat beberapa
Diagram yang secara exchangeable
dapat digunakan pada tahap Analisis
dan Perancangan Perangkat Lunak.
TIPS 1:
Gunakan standar baku dari
model yang digunakan
(contoh: UML 2.0)
https://www.omg.org/spec/UML/
Recommended Book for
learning UML 2.0
Learning UML 2.0 by Russ Miles and Kim Hamilton
Apa makna relasi <<include>>?
Apakah penggunaan <<include>>
seperti ini?
Digunakan untuk konsep reusable use case.
Use case yang di-include wajib dieksekusi
secara eksplisit oleh pengguna sistem.
RELASI INCLUDE
Sumber: Learning UML 2.0, Russ Miles and Kim Hamilton
Kasus Relasi Include
Karena ada langkah-langkah yang sama antara
dua use case di use case description yaitu
“Check Identity” maka use case diperbaiki
Russ Miles, Learning UML 2.0
Perubahan Use Case Description
Russ Miles, Learning UML 2.0
TIPS 2:
Bedakan fokus pemodelan
ketika menganalisis dan
merancang perangkat lunak
FOKUS PEMODELAN
Pada tahap analisis, fokus pemodelan adalah
perihal ”WHAT” sementara pada tahap
perancangan berkisar perihal “HOW”
Inspirasi: Software Engineering for Practitioner Approach, Roger S. Pressman
CLASS DIAGRAM ANALYSIS
Berfokus pada WHAT dan
PROBLEM SPACE CLASS DIAGRAM DESAIN
Berfokus pada HOW dan
SOLUTION SPACE
TIPS 3:
Breakdown kebutuhan
fungsional agar mudah
dimodelkan
Cara menyampaikan
kebutuhan fungsional ada
berbagai macam, salah
satunya menggunakan
User Story
As a < type of users >
I want < some goals >
So that < some reason/benefit >
Priority: < Jenis Prioritas >
Estimate: < Time needed >
USER STORY
Sumber: Vitality Chicago
Calon Use Case
TIPS 4:
Gunakan Tools spesifik untuk
menggambar model
Terdapat beberapa tools
spesifik untuk
menggambar diagram
pada UML seperti Visual
Paradigm dan Star UML.
Model Driven Software Development
TIPS 5:
Baca model dengan Mind Eyes
Model Driven Software Development
Model Driven Software Development
TIPS 5:
Sebuah cerita atau alur harus
mengandung alternative flow
Use Case Description Details Keterangan
Related Requirements Diisi dengan nomor atau kode dari kebutuhan pengguna yang dipenuhi.
Goal in Context Diisi dengan tujuan dari use case dibuat dan kenapa use case ini penting.
Preconditions Hal apa yang harus terjadi sebelum use case dieksekusi.
Successful End Condition Kondisi sistem yang harus terpenuhi jika use case berhasil dieksekusi.
Failed End Condition Kondisi sistem yang harus terpenuhi jika use case gagal dieksekusi.
Primary Actors
Aktor utama yang berpartisipasi di dalam use case. Seringkali berupa aktor yang men-trigger
atau menerima informasi secara langsing dari eksekusi use case.
Secondary Actors Aktor yang berpartisipasi tapi bukan pemain utama di dalam eksekusi use case.
Trigger Event yang di-trigger oleh aktor dalam rangka mengeksekusi use case.
Main Flow Mendeskripsikan setiap langkah penting ketika eksekusi use case secara normal.
Extensions Desripsi dari langkah-langkah alternatif yang mungkin terjadi pada langkah di main flow.
Overview Use Case Description
Russ Miles, Learning UML 2.0
Use case “Record Application
Failure” hanya dijalankan ketika ada
kegagalan di eksekusi use case
“Create a new Personal Wiki” atau
”Create a new Blog Account”
Russ Miles, Learning UML 2.0
Kasus Relasi Include
Kasus Relasi Extend
Di dalam use case “Create a
new Personal Wiki” juga terjadi
Russ Miles, Learning UML 2.0
Model Driven Software Development
REVIEW 1:
Sebelum use case diagram
dimodelkan, jangan bahas desain
interaksi dengan detail
REVIEW 2:
Terdapat beberapa kekeliruan
penggunaan notasi dan semantic
pada model
REVIEW 3:
Pola pikir pemodelan untuk
analisis dan desain belum
dibedakan dengan jelas
REVIEW 4:
Bedakan use case untuk
modelling proses bisnis manual
dengan kebutuhan fungsional
REVIEW 5:
Alternative flow dalam suatu
cerita di fungsional kurang
diperhatikan
REVIEW 6:
Bedakan model data dengan
model perangkat lunak
REVIEW 7:
Use case diagram itu digunakan
untuk memodelkan kebutuhan
fungsional dan bukan alur cerita
TERIMA KASIH
Adam Mukharil Bachtiar
https://www.linkedin.com/in/adammbachtiar/
Email: adammbachtiar@gmail.com

More Related Content

PDF
Data Management (Basis Data Berbasis Dokumen)
PDF
Software Engineering 1 (Scrum)
PDF
Data Management (Relational Database)
PDF
Software Engineering 1 (Requirement Engineering)
PDF
Pengujian Perangkat Lunak
PDF
Scrum: How to Implements (Update)
PDF
Normalisasi Basis Data (Revisi)
PDF
Software Engineering 1 (Software Development Process Model)
Data Management (Basis Data Berbasis Dokumen)
Software Engineering 1 (Scrum)
Data Management (Relational Database)
Software Engineering 1 (Requirement Engineering)
Pengujian Perangkat Lunak
Scrum: How to Implements (Update)
Normalisasi Basis Data (Revisi)
Software Engineering 1 (Software Development Process Model)

What's hot (20)

PDF
Data Management (Database Environment)
PDF
Data Management (Enhanced ERD and Mapping ERD)
PDF
[PBO] Pertemuan 10 - Generic Programming & Collection
PPTX
Teknik Optimasi - P8
PPTX
Analisis Semantik - P 6 Teknik Kompilasi
PDF
Data Management (Introduction to Data Management)
PPT
Modul 4 representasi pengetahuan
PDF
Algoritma dan Struktur Data - Struktur Data
PDF
Scrum: How to Implement
PDF
UML dan Use Case View
PDF
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
PPTX
Sorting ppt
PDF
E-Business (Business Process and Process Model)
PDF
RPL 1 (Lama) - Perancangan Perangkat Lunak
PDF
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
PPTX
Data mining 8 estimasi linear regression
PPT
Pengenalan c++ bagian 3
PDF
Analisis Algoritma Pada Masalah Sorting
PPT
2. Teori Warna.ppt
PDF
Activity Diagram
Data Management (Database Environment)
Data Management (Enhanced ERD and Mapping ERD)
[PBO] Pertemuan 10 - Generic Programming & Collection
Teknik Optimasi - P8
Analisis Semantik - P 6 Teknik Kompilasi
Data Management (Introduction to Data Management)
Modul 4 representasi pengetahuan
Algoritma dan Struktur Data - Struktur Data
Scrum: How to Implement
UML dan Use Case View
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Sorting ppt
E-Business (Business Process and Process Model)
RPL 1 (Lama) - Perancangan Perangkat Lunak
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
Data mining 8 estimasi linear regression
Pengenalan c++ bagian 3
Analisis Algoritma Pada Masalah Sorting
2. Teori Warna.ppt
Activity Diagram
Ad

Similar to Model Driven Software Development (20)

PDF
Modul uml
PPTX
Tugas 3 ki-0316-alvin yosua-1411510454
DOCX
Bab 2 Dasar Teori perancangan sistem informasi pendaftaran online be smart i...
PPTX
Tugas3 rekayasa web-1412510917
DOCX
tugas APS
PDF
Materi pertemuan ke 2 Konsep Pemodelan UML.pdf
PPTX
Incremental development (pengembangan incremental)
PPTX
pemodelan-system-berorientasi-obyek-uml.pptx
PPT
materi lanjutan.ppt
PPTX
Materi_2_-_Analisis_Berorientasi_Objek.pptx
PPTX
aaaaaaaa1. PEMODELAN PERANGKAT LUNAK.pptx
PDF
Code Generatorx
PPT
Analisa Software Quality Factor
PPT
Tugas analisa faktor kualitas
PPTX
Tugas3 rekayasa web
PPTX
Tugas 3 rekweb – 0916 individu
DOCX
Istu dana aditya 1112510811 tugas 2 (kelompok)
DOCX
Model life cycle software
Modul uml
Tugas 3 ki-0316-alvin yosua-1411510454
Bab 2 Dasar Teori perancangan sistem informasi pendaftaran online be smart i...
Tugas3 rekayasa web-1412510917
tugas APS
Materi pertemuan ke 2 Konsep Pemodelan UML.pdf
Incremental development (pengembangan incremental)
pemodelan-system-berorientasi-obyek-uml.pptx
materi lanjutan.ppt
Materi_2_-_Analisis_Berorientasi_Objek.pptx
aaaaaaaa1. PEMODELAN PERANGKAT LUNAK.pptx
Code Generatorx
Analisa Software Quality Factor
Tugas analisa faktor kualitas
Tugas3 rekayasa web
Tugas 3 rekweb – 0916 individu
Istu dana aditya 1112510811 tugas 2 (kelompok)
Model life cycle software
Ad

More from Adam Mukharil Bachtiar (20)

PDF
Materi 8 - Data Mining Association Rule.pdf
PDF
Clean Code - Formatting Code
PDF
Clean Code - Clean Comments
PDF
PDF
Clean Code and Design Pattern - Meaningful Names
PDF
Data Mining Clustering
PPTX
Data Mining Klasifikasi (Updated 30 Desember 2020)
PDF
Analisis Algoritma - Strategi Algoritma Dynamic Programming
PDF
Analisis Algoritma - Strategi Algoritma Divide and Conquer
PDF
Analisis Algoritma - Strategi Algoritma Greedy
PDF
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
PDF
Analisis Algoritma - Strategi Algoritma Brute Force
PDF
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
PDF
Analisis Algoritma - Teorema Notasi Asimptotik
PDF
Analisis Algoritma - Notasi Asimptotik
PDF
Analisis Algoritma - Langkah Desain Algoritma
PDF
Validasi ide Menggunakan Javelin Board (Idea Validation)
PDF
Analisis Algoritma - Pengantar Kompleksitas Algoritma
PDF
Analisis Algoritma - Pengantar Analisis Algoritma
PDF
Mini Google Design Sprint
Materi 8 - Data Mining Association Rule.pdf
Clean Code - Formatting Code
Clean Code - Clean Comments
Clean Code and Design Pattern - Meaningful Names
Data Mining Clustering
Data Mining Klasifikasi (Updated 30 Desember 2020)
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Divide and Conquer
Analisis Algoritma - Strategi Algoritma Greedy
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Langkah Desain Algoritma
Validasi ide Menggunakan Javelin Board (Idea Validation)
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Analisis Algoritma
Mini Google Design Sprint

Model Driven Software Development