Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

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

Presentasi serupa


Presentasi berjudul: "Ir. Waniwatining Astuti, M.T.I Rekayasa Perangkat Lunak"— Transcript presentasi:

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

2 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

3 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.

4 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

5 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.

6 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

7 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

8 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

9 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

10 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

11 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

12 Contoh

13 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

14 Contoh ...

15 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

16 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


Download ppt "Ir. Waniwatining Astuti, M.T.I Rekayasa Perangkat Lunak"

Presentasi serupa


Iklan oleh Google