Rabu, 16 Desember 2009

BAB 13 Prinsip dan Konsep Desain

Tujuannya adalah untuk menghasilkan suatu model atau representasi dari entitas yang kemudian akan dibangun.

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

Agar dihasilkan desain dengan kriteria yang baik, maka suatu desain

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. Kajian dari konsep tersebut adalah “Pada setiap langkah (penyaringan), satu atau beberapa instruksi dari program yang diberikan didekomposisi

ke dalam instruksi-instruksi yang lebih detail. Dekomposisi berurutan atau

penyaringan spesifikasi berhenti bila semua instruksi diekspresikan dalam bentuk bahasa pemrograman atau komputer yang mendasar. Jika tugas- tugas disaring, maka data harus disaring juga, didekomposisi atau distruktur, dan adalah wajar untuk menyaring program dan spesifikasi data secara paralel” .

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


5. Partisi structural

Struktur progam harus dipartisi baik secara horizontal maupun vertikal. Partisi horizontal menentukan cabang-cabang terpisah dari hirarki modular untuk setiap fungsi program mayor. Keuntungannya :

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. d. Menghasilkan suatu perangkat lunak yang lebih mudah untuk diperluas. Partisi vertikal menyatakan bahwa kontrol dan kerja harus didistribusikan secara top-down dalam arsitektur program.

lengkap jika desain berkembang.

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.


software architecture—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.

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