1 / 16

DESAIN

Ir. Waniwatining A stuti , M.T.I Rekayasa Perangkat Lunak. DESAIN. Kohesi. Perpasangan ditandai ikatan i nt r a-modul Dikur angi dengan meminimalkan hubungan antara elemen-elemen modul yang berbeda

talon
Download Presentation

DESAIN

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ir. WaniwatiningAstuti, M.T.I RekayasaPerangkatLunak DESAIN

  2. Kohesi • Perpasanganditandai ikatan intra-modul • Dikurangi denganmeminimalkanhubungan antara elemen-elemenmodul yang berbeda • Metode lain untuk mencapai ini adalah dengan memaksimalkan hubungan antara elemen-elemendari modul yang sama • Kohesi mempertimbangkanhubungan ini • Berkenaandengan penentuan seberapa dekat unsur-unsur modul terkait satu sama lain • Dalam prakteknya keduanya digunakan

  3. Kohesi ... • Kohesi dari sebuah modul mewakili seberapaterikaterat elemen-elemen dari modul • Memberikan penanganan tentang apakah elemen-elemen yang berbeda dari sebuah modul salingmemilikisatusama lain • Kohesi yang tinggi adalah tujuan • Kohesi dan perpasangan saling terkait • Semakintinggikohesi modul, semakinrendahperpasanganantara modul • Korelasi tidak sempurna.

  4. Tingkat Kohesi • Ada banyak tingkat kohesi. • Kebetulan • Logis • Temporal • komunikasional • Berurut/sekuensial • Fungsional • Kohesikebetulanadalah 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 mengikutikata kerja, modul mungkin logis kohesif.Misalnya “suntingsemua data", sementara "suntingdata sumber" mungkin memiliki kohesi fungsional.4. Kata-kata seperti "menginisialisasi", “clean-up" sering menyiratkan kohesi temporal. • modul yang kohesiffungsional selalu dapat dijelaskan dengan pernyataan sederhana

  7. Sistem Kohesi di OO • Dalam OO, berbagai jenis kohesi memungkinkankarenakelas adalah modul • Kohesi metode • Kohesi kelas • Kohesi pewarisan • KohesiMetode - mengapa elemendengankode 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 elemenberkontribusi untuk mengimplementasikan fungsi ini

  8. Kohesi dalam OO ... • kohesi Kelas - mengapa atribut dan metode yangberbeda bersama-sama dalam kelas • Suatukelas harus mewakili sebuah konsep tunggal dengan semua elemenberkontribusi ke arah itu • Jika beberapa konsep dienkapsulasi, kohesinya tidak begitu tinggi • Sebuah gejala dari konsep berganda– kelompokmetode yang berbedamengakses subset dari atribut-atribut yang berbeda

  9. Kohesi dalam OO ... • Kohesi Pewarisan - berfokus pada mengapa kelas bersama-sama dalam hirarki • Dua alasan untuk membentuksubkelas- 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-tutupjuga membantu dalam mencapai modularitas • Prinsip: Modul harus terbuka untuk perluasan, namun tertutup untuk modifikasi • Perilaku dapat diperluasuntuk mengakomodasi persyaratan baru, tetapi kode yang ada tidak diubah • yakni, memungkinkan penambahan kode, tetapi tidak modifikasi kode yang sudah ada • Meminimalisasirisikodaripenghentianfungsionalitasygada yang sudahberjalankarenaadanyaperubahan- pertimbangan yang sangat penting saat mengubah kode • Baik untuk programmer karena mereka sukamenulis 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 memanggilmetode 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. PrinsipSubstitusiLiskov • Prinsip: Program yang menggunakanobjek 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 perpasanganrendah, kohesi tinggi, dan mengikuti prinsip buka-tutup

More Related