170 likes | 685 Views
Ir. Waniwatining A stuti , M.T.I Rekayasa Perangkat Lunak. DESAIN. Desain Perangkat Lunak. K egiatan Desain dimulai dengan satu set persyaratan, dan arsitektur Desain dilakukan sebelum sistem diimplementasikan
E N D
Ir. WaniwatiningAstuti, M.T.I RekayasaPerangkatLunak DESAIN
Desain Perangkat Lunak • Kegiatan Desain dimulai dengan satu set persyaratan, dan arsitektur • Desain dilakukan sebelum sistem diimplementasikan • Desain berfokus pada melihat modul - modul yaitu apa yang harus adadi sistem • Desain sistem adalah cetak biru untuk implementasi • Sering memiliki dua tingkat - tingkat tinggi (modul didefinisikan), dan desain rinci (logika tertentu)
Desain ... • Desain adalah sebuah aktivitas kreatif • Tujuan: untuk membuat rencana untuk memenuhi persyaratan • Desainmerupakanaktivitas yang paling penting selama pengembangan sistem • Desain menentukan karakteristik utama dari suatu sistem • Memiliki dampak yang besar pada pengujian dan pemeliharaan • Desain bentuk dokumen referensi untuk tahap selanjutnya • MetodologiDesain - pendekatan sistematis untuk menciptakan desain
Konsep Desain • Desain adalah benar, jika itu akan memenuhi semua persyaratan dan konsisten dengan arsitektur • Dari desain yang benar, akandidapatkandesain terbaik • Kriteria utama (selain kebenaran) adalahfokusdarimodularitas
Modularitas • Sistem Modular - di mana modul dapat dibangun secara terpisah dan perubahan dalam satu modulakanmemiliki dampak pada yang lain. • Modularitas mendukung kebebasan model • Modularitas meningkatkan kejelasan desaindanmemudahkan implementasi • Mengurangi biaya pengujian, debugging dan pemeliharaan • Untuk mendapatkan modular, tidak bisa hanya memotong program ke modul • Perlu beberapa kriteria untuk dekomposisi – sepertikopling dan kohesi
Coupling • Independen modul: jika moduldapat berfungsi sepenuhnya tanpa diperlukanmodulyang lain • Kebebasanantara modul yang diinginkan • Modul dapat dimodifikasi secara terpisah • Dapat diimplementasikan dan diuji secara terpisah • BiayaPemrograman menurun • Dalam sistem,semua modul tidak bisa mandiri • Modul harus bekerjasama satu sama lain • Koneksi antara modul • ketergantungan mereka • pengetahuan lebih lanjut tentang salah satu modul diperlukan untuk memahami modul lain. • Coupling menangkap gagasan ketergantungan
Coupling ... • Coupling antara modul adalah kekuatan interkoneksi antara modul • Secara umum, kita harus tahu tentang modul A untuk memahami modul B danhubunganantara A ke B • "Highly coupled" modul bergabung dengan interkoneksi yang kuat • "Loosely coupled" modul memiliki interkoneksi yang lemah
Coupling ... • Tujuan: menggabungkan “loosely coupled” jikamungkin. • Bila memungkinkan, memiliki modul independen • Coupling adalah memutuskan pada desain tingkat tinggi • Tidak bisa dikurangi selama pelaksanaan • Coupling adalah konsep antar-modul • Faktor-faktor utama yang mempengaruhi kopling • Tipe koneksi antara modul • Kompleksitas antarmuka • Jenis arus informasi antara modul
Coupling - Tipe koneksi • Kompleksitas dan ketidakjelasan interface membutuhkankopling • Minimalkan jumlah interface per modul • Minimalkan kompleksitas setiap antarmuka • Coupling diminimalkan bila: • jikamasuknya hanya didefinisikan dari sebuah modul yang digunakan oleh orang lain • Informasi dilewatkan secara eksklusif melalui parameter • Coupling ditingkatkan jika • antarmuka langsung dan tidak jelas digunakan • Internal dari sebuah modul yang langsung digunakan • Variabel bersamayang digunakan untuk komunikasi
Coupling - kompleksitas interface • meningkatkan Coupling dengan kompleksitas antarmuka misalnyajumlah dan kompleksitas parameter-parameter. • Interface dibutuhkan untuk mendukung komunikasi yang dibutuhkan • Seringkali digunakanlebih dari yang dibutuhkan • Jaga antarmuka modul sesederhana mungkin
Coupling - Type of Info flow • Coupling tergantung pada jenis arus informasi • Dua jenis informasi: data atau kontrol • Transfer informasi kontrol • Aksi modul tergantung pada informasi • Membuat modul lebih sulit untuk memahami • Transfer informasi data • Modul dapat diperlakukan sebagai input-output fungsi • Lowest coupling: antarmuka hanya dengan komunikasi data • tertinggi: hybrid interface
Sistem Coupling di OO • Dalam sistem OO, modul dasar kelas, yang lebih kaya dari FNS • Sistem OO memiliki tiga jenis kopling • Interaksi kopling • Komponen kopling • Koplinginheritage
Coupling di OO - Interaksi • Interaksi coupling terjadi karena metode kelas memanggil metode dari kelas lain • Seperti memanggil fungsi • jika metode langsung mengakses bagian-bagian internal metode lain • jika metode langsung memanipulasi variabel kelas lainnya • Info Melewati varianstmp juga buruk
Coupling di OO ... • Kopling sedikitnya berinteraksi jika metode berkomunikasi secara langsung dengan parameter • Dengan sedikitnya jumlah parameter • Dengan sedikitnya jumlaharus informasi • Dengan data hanya yang diterima • Yaknimetode harus melewati sedikitnya jumlah data, dengan setidaknya tidak ada parameters
Coupling di OO - Komponen • Komponen coupling- ketika kelas A memiliki variabel lain kelas C • A memiliki vars instance dari C • A memiliki beberapa parms jenis C • A memiliki metode dengan var lokal tipe C • Ketika A digabungkan dengan C, maka ditambah dengan semua subclass C • Komponen couplingumumnya akan menyiratkan adanya interaksi coupling juga
Coupling di OO - Inheritance • Coupling - dua kelas yang digabungkan jika satu adalah subclass dari inheritance yang lain • bentuk terburuk - ketika subclass memodifikasi metode atau menghapus metode