RPL-6 - Catatan Abdillah

Download Report

Transcript RPL-6 - Catatan Abdillah

Rianto
Rekayasa Perangkat Lunak
Teknik Informatika - Universitas Siliwangi
Konsep dan Prinsip Perancangan
Hasil yang diperoleh dari analisis kebutuhan adalah
model analisis yang kemudian menjadi bekal untuk
melakukan desain. Setiap bagian dari analisis model
pada gambar sebelah kanan menjadi bekal pada proses
desain pada piramida model desain pada sebelah kiri
 Data design mengubah informasi menjadi struktur data
untuk mengimplementasikan software. Data design dibuat
berdasarkan data dictionary dan ERD.
 Architectural
design mendefinisikan relasi antara
elemen-elemen struktural utama, pola desain yang
digunakan untuk mencapai kebutuhan yang ditentukan
untuk sistem dan batasan-batasan yang mempengaruhi
bagaimana desain arsitektural ini diterapkan.
 Desain ini berdasarkan spesifikasi sistem, model analisis
(bagian DFD) dan interaksi antara subsistem.
 Interface design menjelaskan bagaimana software
berkomunikasi dalam dirinya, dengan sistem yang
bertukar informasi dengannya, dan dengan manusia
yang menggunakannya. DFD diperlukan untuk desain
ini.
 Component-level design menghasilkan deskripsi
prosedur software.
 Tahap desain merupakan tahap rekayasa yang
merepresentasikan perangkat lunak yang akan
dibangun. Desain dapat digunakan untuk menelusuri
dan mengecek kebutuhan customer dan sekaligus dapat
dijadikan sebagai ukuran untuk menilai kualitas
perangkat luak.
Fungsi tahap perancangan perangkat lunak adalah:
 Pengembangan spesifikasi perangkat lunak
 Penjabaran bagaimana PL dapat berfungsi
 Penjabaran bagaimana spesifikasi perangkat lunak
dapat diimplementasikan
Selama proses perancangan, kualitas perancangan selalu
dipantau melalui ‘Review Teknis Formal’ dan dibahas
bersama antara customer dan pengembang.Menurut
McGlaughlin, petuntuk untuk evaluasi kualitas
perancangan yaitu sebagai berikut:
 Perancanan harus mengimplementasikan semua
kebutuhan perangkat lunak yang disebut eksplisit
dalam SRS (software requirements specifications),
sekaligus mengakomodasi semua kebutuhan
implisit dari SRS.
 Harus readabel (mudah dibaca dan dipahami)
oleh programmer, tester, dan pelaku perawatan
perangkat lunak.
 Harus menyediakan gambaran lengkap perangkat
lunak, meliputi model data, fungsi, dan kelakuan
perangkat
lunak
dari
sudut
pandang
implementasi.
Prinsip-prinsip perancangan perangkat lunak adalah:
 Mempertimbangkan beberapa alternatif model solusi
 Traceable (dapat dicek dan dirunut) terhadap model analisis
 Mempertimbangkan dan menghasilkan komponen yang dapat
digunakan ulang (reusable).
 Meminimasi kesenjangan antara perangkat lunak dengan kondisi
nyata.
 Memperlihatkan keseragaman perancangan.
 Memperlihatkan integerasi.
 Mengakomodasi perubahan.
 Mengakomodasi kondisi-kondisi insedental yang mingkin muncul.
 Abstraksi yang lebih detil dari analisis, tetapi lebih tinggi (general)
dari coding.
 Dapat terukur kualitasnya.
 Harus di-review untuk meminimasi kesalahan semantik.
Konsep Perancangan
Abstraction
Abstraction adalah gambaran dari fungsi suatu program.
Gambaran ini bisa bertingkat-tingkat. Tingkat yang paling
atas adalah gambaran suatu fungsi program dengan
menggunakan bahasa alami. Pada tingkat terendah,
menghasilkan abstraksi yang bersifat prosedural/ langkah
perlangkah dengan menggunakan istilah yang teknis dan
bisa diimplementasikan menjadi fungsi program. Pada saat
beralih dari tingkat ke tingkat, kita menggunakan procedural
dan data abstraction. Procedural abstraction adalah urutan
instrasi yang mempunyai tujuan khusus,dan data abstraction
adalah koleksi data yang digunakan pada fungsi tersebut.
Refinement merupakan penjelasan detil dari abstraction. Refinement
membantu designer untuk memperlihatkan detil dari lowest level dari
abstraction. Abstraction dan refinement merupakan konsep yang saling
melengkapi. Contoh dari refinement tentang fungsi sebuah pintu ada
pada gambar
 Modularity
Membagi software menjadi modul. Software dibagi
bagi menjadi beberapa component yang disebut
modul-modul.
Modul-modul
ini
nantinya
disatukan/diintegrasikan
untuk
memenuhi
kebutuhan sistem.
Modul yang rumit dipecah lagi menjadi beberapa modul
untuk memudahkan penyelesaian masalah. Namun
semakin banyak modul, maka waktu/biaya untuk
integrasikan modul-modul tersebut juga makin tinggi.
Software Architecture
Merupakan struktur software secara keseluruhan struktur
hirarki/berjenjang dari modul-modul program. Untuk
menggambarkan struktur modul-modul tersebut beberapa
model yang ada adalah :
 framework model : identifikasi pola yang berulang-ulang
 dynamic model : identifikasi bagaimana konfigurasi
sistem berubah karena kejadian-kejadian tertentu
 process model: fokus pada proses teknis yang harus
dikerjakan sistem
 functional model : menggambarkan hirarki sistem
berdasarkan fungsinya
Software procedure
Fokus pada detil proses pada tiap modul. Prosedur
menjelaskan proses, urutan kejadian, proses perulangan,
penentuan keputusan/arah. Ini bisa digambarkan dengan
menggunakan Flow Chart yang bertingkat.
Information hiding
Ide dari information hiding (menyembunyikan informasi)
adalah modul dirancang sedemikian rupa sehinga inforamsi
(prosedur dan data) yang di dalamnya tidak dapat di akses
oleh modul lain yang tidak memerlukannya. Modul yang
efektif adalah modul yang berdiri sendiri dan berkomunikasi
dengan modul lain yang memang diperlukan.
Dengan mengacu pada konsep perancangan tersebut diatas,
akan dihasilkan dokumen perancangan (Software Design
Document = SDD), yang berisi:
1. Ruang lingkup
2. Perancangan data
3. Perancangan arsitektur
4. Perancangan antarmuka
5. Perancangan prosedur
6. Kebutuhan lain
7. Persiapan pengujian
8. Catatan khusus