Ir. Waniwatining Astuti, M.T.I Rekayasa Perangkat Lunak

Slides:



Advertisements
Presentasi serupa
IF-ITB/WD dari Silberschatz, modifikasi 9 September 2013 IF5031 – ModelE-R (Advanced) Page 1 IF5031 – Model Entity Relationship (Advanced) Disusun oleh:
Advertisements

Pengujian Sofware – strategi
REKAYASA PERANGKAT LUNAK
Desain Sistem By Hendro Joko Prasetyo, M.Kom.
di OBJECT ORIENTED PROGRAMMING [OOP] Oleh H. SUMIJAN, Ir, M.Sc
ALGORITMA PEMROGRAMAN 1C Pendahuluan Bahasa Pemrograman
6 Managing Software Requirement Perancangan
Metrik Teknis Untuk Sistem Berorientasi Objek
PENGEMBANGAN SISTEM.
7 Rekayasa Sistem Konsep Utama OOP Dedy Alamsyah, S.Kom.
PERANCANGAN PERANGKAT LUNAK
Desain Sistem By Hendro Joko Prasetyo, M.Kom.
Desain Berorientasi Obyek dan UML
Inheritance (Pewarisan)
ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM
Ir. Waniwatining Astuti, M.T.I Rekayasa Perangkat Lunak
1. 7 Faktorisasi Persamaan Kuadrat, ax2 + bx + c dengan a 1
ANALISIS DAN PEMODELAN BERORIENTASI OBJEK DENGAN UML
Rekayasa Perangkat Lunak Spesifikasi Formal 9 By : Andi Latifa Nabone.
Spesifikasi Perangkat Lunak
KONSEP DASAR PENDEKATAN OBJEK
Desain Sistem.
PriNciples That Guide Practice
Ir. Waniwatining Astuti, M.T.I Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak Model Proses PL
Tim RPL Teknik Informatika 2017
PERANCANGAN PERANGKAT LUNAK ( PL )
OOidentity, state and behavior
Inheritance dan Kata Kunci static
Pertemuan 6 Implementasi Modularitas Dalam Bahasa Pemrograman
Perancangan Sistem Informasi
PENGEMBANGAN PERANCANGAN SISTEM
PERANCANGAN SISTEM BERORIENTASI OBJEK DENGAN UML
PERTEMUAN 13.
Metode Rekayasa Perangkat Lunak
POLYMORPHISM.
VARIAN ENTITAS & VARIAN RELASI
Strategi Pengujian Perangkat Lunak & Sistem
TEMUAN KEKURANGAN (DEFICIENCY FINDINGS) DAN PELAPORAN HASIL AUDIT MANAJEMEN Defisiensi atau kekurangan dalam hal ini adalah kekurangan yang dimiliki oleh.
PENGEMBANGAN SISTEM Muhammad Hidayat, SE.
Perilaku Dasar Sistem.
PEWARISAN (Inheritance)
Inheritance.
Inheritance (Turunan)
Perancangan Perangkat Lunak
Bina Sarana Informatika
INTRODUCTION.
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
Visibility, Getter Setter, Pewarisan, Overloading dan Overriding
PENDEKATAN BERORIENTASI OBJECT
ANALISA & DESAIN BERORIENTASI OBJEK
Pengembangan Sistem Informasi
Testing Dan Implementasi Sistem
PENGEMBANGAN SISTEM.
TESTING DAN IMPLEMENTASI SI PERTEMUAN KE - 10
Desain Sistem.
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding Pemrograman.
Metrik Teknis Untuk Sistem Berorientasi Objek
Metrik Teknis Untuk Sistem Berorientasi Objek
Rekayasa Perangkat Lunak
Perancangan Perangkat Lunak
KONSEP DAN PRINSIP ANALISIS
Tim RPL Teknik Informatika 2018
Tahapan pengembangan sistem basis data
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
Dian Wahyuningsih, S.Kom., MMSI
Metrik Teknis Untuk Sistem Berorientasi Objek
Perancangan Perangkat Lunak
Perancangan Perangkat Lunak
Modul 5 Kegiatan Belajar 4: DESAIN MULTIMEDIA INTERAKTIF Kelompok 4: Nur Awaludin Warjito Totok Hermawan.
Transcript presentasi:

Ir. Waniwatining Astuti, M.T.I Rekayasa Perangkat Lunak DESAIN

Kohesi Perpasangan ditandai ikatan intra-modul Dikurangi dengan meminimalkan hubungan antara elemen-elemen modul yang berbeda Metode lain untuk mencapai ini adalah dengan memaksimalkan hubungan antara elemen-elemen dari modul yang sama Kohesi mempertimbangkan hubungan ini Berkenaan dengan penentuan seberapa dekat unsur-unsur modul terkait satu sama lain Dalam prakteknya keduanya digunakan

Kohesi ... Kohesi dari sebuah modul mewakili seberapa terikat erat elemen-elemen dari modul Memberikan penanganan tentang apakah elemen-elemen yang berbeda dari sebuah modul saling memiliki satu sama lain Kohesi yang tinggi adalah tujuan Kohesi dan perpasangan saling terkait Semakin tinggi kohesi modul, semakin rendah perpasangan antara modul Korelasi tidak sempurna.

Tingkat Kohesi Ada banyak tingkat kohesi. Kebetulan Logis Temporal komunikasional Berurut/sekuensial Fungsional Kohesi kebetulan adalah yang terendah, fungsional tertinggi Skala tidak linear Kohesi fungsional dianggap sangat kuat

Menentukan Kohesi Jelaskan tujuan dari sebuah modul dalam sebuah kalimat Lakukan tes berikut Jika kalimat tersebut menjadi kalimat majemuk, berisi lebih dari satu kata kerja, modul mungkin melakukan lebih dari satu fungsi. Mungkin memiliki kohesi berurutan atau komunikasional. Jika kalimat berisi kata-kata yang berkaitan dengan waktu, seperti "pertama", "selanjutnya", "setelah", "mulai" dll, modul mungkin memiliki kohesi berurutan atau temporal.

3. Jika predikat kalimat tidak mengandung objek tertentu tunggal yang mengikuti kata kerja, modul mungkin logis kohesif.Misalnya “sunting semua data", sementara " sunting data sumber" mungkin memiliki kohesi fungsional. 4. Kata-kata seperti "menginisialisasi", “clean-up" sering menyiratkan kohesi temporal. modul yang kohesif fungsional selalu dapat dijelaskan dengan pernyataan sederhana

Sistem Kohesi di OO Dalam OO, berbagai jenis kohesi memungkinkan karena kelas adalah modul Kohesi metode Kohesi kelas Kohesi pewarisan Kohesi Metode - mengapa elemen dengan kode program yang beda bersama-sama dalam sebuah metode Seperti kohesi dalam modul fungsional; bentuk tertinggi adalah jika masing-masing metode menerapkan fungsi tertentu yang jelas dengan semua elemen berkontribusi untuk mengimplementasikan fungsi ini

Kohesi dalam OO ... kohesi Kelas - mengapa atribut dan metode yang berbeda bersama-sama dalam kelas Suatu kelas harus mewakili sebuah konsep tunggal dengan semua elemen berkontribusi ke arah itu Jika beberapa konsep dienkapsulasi, kohesinya tidak begitu tinggi Sebuah gejala dari konsep berganda – kelompok metode yang berbeda mengakses subset dari atribut-atribut yang berbeda

Kohesi dalam OO ... Kohesi Pewarisan - berfokus pada mengapa kelas bersama-sama dalam hirarki Dua alasan untuk membentuk subkelas- generalisasi-spesialisasi dan penggunaan ulang Kohesi lebih tinggi jika hirarki adalah untuk memberikan generalisasi-spesialisasi

Prinsip Buka-tutup Selain kohesi dan perpasangan, prinsip buka-tutup juga membantu dalam mencapai modularitas Prinsip: Modul harus terbuka untuk perluasan, namun tertutup untuk modifikasi Perilaku dapat diperluas untuk mengakomodasi persyaratan baru, tetapi kode yang ada tidak diubah yakni, memungkinkan penambahan kode, tetapi tidak modifikasi kode yang sudah ada Meminimalisasi risiko dari penghentian fungsionalitas yg ada yang sudah berjalan karena adanya perubahan- pertimbangan yang sangat penting saat mengubah kode Baik untuk programmer karena mereka suka menulis kode baru

Prinsip Buka-tutup... Dalam OO prinsip ini dipenuhi dengan menggunakan pewarisan dan polimorfisme Warisan memungkinkan membuat kelas baru untuk memperluas perilaku tanpa mengubah kelas asli ini dapat digunakan untuk mendukung prinsip buka-tutup Pertimbangkan contoh dari objek klien yang berinteraksi dengan objek printer untuk mencetak

Contoh

Contoh... Klien langsung memanggil metode pada Printer1 Jika printer lain akan diizinkan Sebuah kelas baru, Printer2 akan dibuat Tapi klien harus diubah jika ingin menggunakan Printer 2 Pendekatan Alternatif Jadikan Printer1 subclass dari Printer umum Untuk modifikasi, tambahkan subkelas Printer 2 Klien tidak perlu diubah

Contoh ...

Prinsip Substitusi Liskov Prinsip: Program yang menggunakan objek o1 dari kelas dasar C harus tetap tidak berubah jika o1 digantikan oleh objek dari subkelas C Jika hirarki mengikuti prinsip ini, prinsip buka-tutup akan didukung

Ringkasan Tujuan desain adalah untuk menemukan desain terbaik yang benar Modularitas adalah kriteria untuk memutuskan kualitas desain Modularitas ditingkatkan dengan perpasangan rendah, kohesi tinggi, dan mengikuti prinsip buka-tutup