Proses Desain
Software design dibagi dalam 2 tahap :
1. Preliminary Design, Pada tahap ini difokuskan dengan transformasi dari
keperluan/kebutuhan ke dalam data dan arsitektur software
2. Detail Design, Difokuskan pada penghalusan representasi arsitektur yang
berisi struktur data detail dan algoritma untuk software
haruslah :
1. Memperlihatkan organisasi hirarki yang mengontrol elemen-elemen
software
2. Berkenaan dengan modul. Software secara logika terbagi dalam elemen-
elemen yang membentuk fungsi dan sub fungsi
3. Berisi representasi yang berbeda dan terpisah dari data dan prosedur
4. Membentuk modul (contoh subroutine dan procedure) yang
memperlihatkan karakteristik fungsi yang tidak saling bergantung
5. Diturunkan dengan menggunakan metode perulangan yang didukung oleh
informasi yang ada selama analisa kebutuhan software
Evolusi Desain Software
Merupakan suatu proses kontinu yang terus berlangsung selama tiga
dekade. Beberapa metodologi telah tumbuh, dan secara umum memiliki
karakteristik sebagai berikut :
a. Mekanisme penerjemahan suatu model analisis ke dalam representasi
desain.
b. Notasi untuk merepresentasikan komponen-komponen fungsional dan
interface-nya.
c. Heuristik bagi penyaringan dan partisi
d. Pedoman bagi penilaian kualitas
Konsep-konsep desain
1. Abstraksi
Jika kita menggunakan suatu solusi modular untuk beberapa masalah,
maka beberapa level / tingkat abstrasi dapat ditampilkan / diperlihatkan.
Pada level tertinggi, suatu solusi berada pada term yang umum dengan
menggunakan bahasa natural
Level yang lebih rendah lebih berorientasi pada prosedur-prosedur
2. Penyaringan
Penyaringan stepwise adalah strategi desain top-down yang diusulkan
oleh Wiklaus Wirth.
ke dalam instruksi-instruksi yang lebih detail. Dekomposisi berurutan atau
penyaringan spesifikasi berhenti bila semua instruksi diekspresikan dalam
Abstraksi dan penyaringan adalah konsep kompementer. Kedua konsep
tersebut membantu desainer dalam menciptakan suatu model desain
3. Modularitas
Software dibagi ke dalam elemen-elemen terpisah yang dapat dipanggil,
yang disebut dengan modul.
Misalkan :
C(x) : fungsi kompleksitas dari suatu masalah
E(x) : fungsi usaha/waktu yang diperlukan untuk memecahkan suatu
masalah
P1 ,P2 = masalah 1, masalah 2
Jika : C(P1) > C(P2) maka : E(P1) > E(P2)
Berdasarkan penelitian :
1. C ( P1 + P2 ) > C ( P1 ) + C ( P2 )
2. E ( P1 + P2 ) > E ( P1 ) + E ( P2 )
4. Arsitektur perangkat lunak
Arsitektur perangkat lunak menyinggung 2 karakteristik penting dari
sebuah program komputer :
1. Hirarki struktur dari komponen-komponen prosedural ( modul )
2. Struktur data
Struktur progam harus dipartisi baik secara horizontal maupun vertikal.
a. Menghasilkan perangkat lunak yang lebih mudah diuji.
b. Membawa kepada perangkat lunak yang lebih mudah dipelihara.
c. Menghasilkan penyebaran efek samping yang lebih sedikit.
6. Hirarki Kontrol (Program Structure)
Program structure menampilkan/menyajikan organisasi (seringkali
organisasi hirarki) dari komponen-komponen program (modul-modul)
dan mengandung arti hirarki dari kontrol program
Notasi yang digunakan adalah diagram tree. Biasanya dinamakan
structure chart
7. Prosedur perangkat lunak
Prosedur perangkat lunak berfokus pada detail-detail pemrosesan dari
masing-masing modul secara individual. Prosedur harus memberikan
spesifikasi yang teliti terhadap pemrosesan, mencakup urutan event, poin-
poin keputusan nyata, operasi repetitif, dan organisasi struktur data.
8. Struktur data
Struktur data adalah representasi dari hubungan logis antara elemen-
elemen data individual.
9. Penyembunyian informasi
Prinsip penyembunyian informasi menyatakan bahwa modul ditandai
dengan keputusan desain tersembunyi dari semua desain lain.
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.
Desain arsitektur memberikan 3 keuntungan yaitu:
1. arsitektur software menjadi media komunikasi dan diskusi karena mudah
dipahami
2. memberi kemudahan dalam melakukan analisis terhadap software yang
akan dibangun
3. arsitektur-nya bisa digunakan lagi untuk sistem selanjutnya (reusable)
Tiap perancang sistem memiliki kemampuan dan pengetahuan yang berbeda
dalam merancang arsitektural. Aktifitas-aktifitas berikut adalah aktifitas dalam
merancang dan aktifitas ini tidak dikerjakan satu persatu berurutan, tapi bisa
dilakukan bersamaan.
Tidak ada komentar:
Posting Komentar