Veradilla Amalia, M.
Kom
FASE PENGEMBANGAN DAN
DESAIN PERANGKAT LUNAK
Fase pengembangan terdiri dari 3
langkah :
1. Design
2. Code Generation (manual
or automatic)
3. Testing
Setiap langkah melakukan
transformasi informasi dalam suatu
cara yang akhirnya menghasilkan
software komputer yang valid
Terjemahan Model Analisis menjadi
Desain
procedural
design
Data Flow
Entity-
Diagram
Relationship interface design
Diagram
Data
Dictionary
architectural design
State-Transition
Diagram
data design
Terjemahan Model Analisis menjadi
Desain
Data design
mengubah model informasi (entity relationship
diagram dan data dictionary) menjadi struktur data
Architectural design
berisi hubungan antar elemen dalam program
Interface design
menjelaskan bagaimana bagaimana komunikasi
di dalam perangkat lunak, dengan sistem, dan dengan
manusia yang menggunakannya.
Sebuah interface mengandung maksud sebuah
aliran informasi.
Procedural design
mengubah elemen struktural dari arsitektur
program menjadi deskripsi prosedural dari komponen
perangkat lunak
Petunjuk Dalam Melakukan Desain
Sebuah desain harus menunjukkan organisasi
secara hirarkis
Sebuah desain harus bersifat modular; jadi,
sebuah perangkat lunak seharusnya dapat
dibagi-bagi secara lojik menjadi beberapa
elemen yang melakukan fungsi atau subfungsi
secara spesifik
Sebuah desain harus mengandung abstraksi
data dan prosedural
Sebuah desain harus mengarah pada modul-
modul (prosedur atau subrutin) yang
menunjukkan karakteristik fungsional
Lanjutan
Sebuah desain harus mengarah pada
antarmuka yang mengurangi kompleksitas
hubungan antar modul dan dengan
lingkungan luar
Sebuah desain harus diturunkan
menggunakan metode yang berulang yang
diarahkan oleh informasi yang dihasilkan
pada tahap analisis perangkat lunak
Kebutuhan Perangkat Lunak
Dijelaskan dengan “Information Domain”,
“Functional and performance requirments”, “Feed
the design step” Menggunakan metodelogi :
1. Data Design
2. Architectural Design
3. Procedural Design
Data Design difokuskan pada definisi dari struktur
data
Architectural Design mendefinisikan hubungan antara
elemen struktur utama dari program
Procedural Design mengubah struktur elemen ke
dalam prosedur software
Penting kah Desain
Proses Desain
Software design Suatu proses
yang
melewati serangkaian kebutuhan
yang
membentuk sebuah perangkat lunak
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
Kualitas Desain dan PL
Beberapa tuntunan dalam melakukan agar dihasilkan desain dengan kriteria
yang baik, yaitu 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 PL
Evolusi dari desain software merupakan proses yang
berkelanjutan terus selama 3 dekade
Beberapa metodologi telah tumbuh, dan secara umum
memiliki karakteristik sebagai berikut :
1. Sebuah mekanisme untuk menterjemahkan representasi
domain
informasi ke dalam representasi desain
2. Notasi untuk merepresentasikan fungsi komponen-
komponen dan interfaces-nya
3. Heuristics bagi penyaringan
4. Petunjuk untuk penaksiran kualitas
DASAR-DASAR DESAIN
Membantu software engineer untuk menjawab pertanyaan-
pertanyaan berikut :
Apakah kriteria yang dapat dipakai untuk mempartisi
software menjadi sejumlah komponen ?
Bagaimana fungsi atau struktur data dipisahkan dari suatu
representasi konseptual software ?
Apakah ada kriteria yang seragam yang menetapkan
kualitas tehnik dari suatu software desain ?
Arsitektur PL
Arsitektur perangkat lunak
menyinggung 2 karakteristik
penting dari sebuah program
komputer :
1. Hirarki struktur dari
komponen-komponen
prosedural ( modul )
2. Struktur data
Program Strukture
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
Data Strukture
Software Prosedure
Difokuskan pada detail pemrosesan dari setiap modul
secara individu. Prosedur harus mengandung
spesifikasi yang benar / tepat dari pemrosesan,
termasuk : sequence of events, decision points,
repetitive operations, dan struktur data.
Prinsip –Prinsip Perancangan
Prinsip Desain memungkinkan perekayasa
Perangkat lunak untuk mengendalikan proses desain
Proses desain tidak boleh mengalami “tunnel vision”
Desainer harus memperhatikan pendekatan-
pendekatan alternatif, menilainya berdasarkan
persyaratan masalah, sumber daya yang ada untuk
melakukan pekerjaan, dan konsep desain
Desain harus dapat dilacak ke model analisis
Tidak melakukan desain pada hal yang sama
berulang-ulang
Desain harus merepresentasikan masalah pada
keadaan nyata
Desain harus memperlihatkan keseragaman dan
integrasi
lanjutan
Desain harus terstruktur untuk mengatisipasi
adanya perubahan
Desain bukan coding, coding bukan desain
Penilaian kualitas desain harus dilaksanakan
pada saat desain tersebut dibuat
Desain harus di-review untuk meminimasi
kesalahan konseptual
DOKUMENTASI DESAIN
[Link] Lingkup
A. Sasaran Sistem
B. Persyaratan utama software
C. Batasan-batasan dan pembatasan desain
II. Desain Data
A. Obyek data dan struktur data resultan
B. Struktur file dan database
1. Struktur file eksternal
a. struktur logis
b. deskripsi record logis
c. metode akses
2. data global
3. file dan referensi lintas data
lanjutan
III. Desain Arsitektural
A. Kajian data dan aliran control
B. Struktur program yang diperoleh
IV. Desain Interface
A. Spesifikasi interface manusia-mesin
B. Aturan desain interface manusia-mesin
C. Desain interface eksternal
1. Interface untuk data eksternal
2. Interface untuk sistem atau peralatan eksternal
V. Desain Prosedural
Untuk masing-masing modul :
A. Naratif pemrosesan
B. Deskripsi Interface
C. Deskripsi bahasa (atau lainnya) desain
D. Modul-modul yang digunakan
E. Struktur data internal
F. Keterangan/larangan/pembatasan
VI. Persyaratan Lintas-Referensi
VII. Ketetentuan pengujian
1. Panduan pengujian
2. Strategi integrasi
3. Pertimbangan Khusus
VIII. Catatan Khusus
IX. Lampiran