Metode Perancangan By: U. AbdRohim
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 1
Tahap Perancangan • • • •
Perancangan Data Perancangan Arsitektural Perancangan Antarmuka Perancangan Prosedural
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 2
1
Perancangan Data (1) • Memilih representasi lojik dari objek data yang ditemukan pada proses analisis • Refinement terhadap data dictionary menjadi: – Struktur data – Struktur file/basisdata
• Penentuan struktur data dan struktur file membutuhkan kreativitas dan sistematika yang rapih agar tidak menyulitkan untuk proses perancangan berikutnya (perancangan prosedural) U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 3
Perancangan Data (2) • Petunjuk teknis perancangan data: – Menerapkan prinsip-prinsip analisis sistematis – Mengidentifikasi semua struktur data dan prosedur yang akan digunakan untuk mengakses data tersebut – Me-refine isi data dictionary – Menunda perancangan data yag low level sampai diakhir-akhir proses perancangan – Merepresentasikan struktur data sedemikian rupa sehingga hanya modul yang menggunakan data tersebut yang dapat menggunakannya – Membangun pustaka utnuk struktur data dan prosedur yang sering digunakan U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 4
2
Perancangan Data (3) • Hasil Perancangan Data adalah: – Struktur data siap diprogram – Struktur basis data siap dibuat oleh pemrogram – Prosedur/operasi untuk mengakses data siap diprogram
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 5
Perancangan Arsitektural (1) • Tujuan Utama: – Membangun struktur program yang modular dan merepresentasikan keterkaitan antar modul – Memadukan struktur program, struktur data dan mendefinisikan antar muka yang memungkinkan data dapat mengalir pada seluruh program
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 6
3
Perancangan Arsitektural (2) • Proses: – Merubah dari aliran informasi (DFD) menjadi Struktur P/L (Structure Chart)
• Langkah: – – – – –
Menetukan jenis aliran informasi Menentukan batas aliran informasi Pemetaan dari DFD ke truktur program Menentukan hirarki kendali dengan cara faktorisasi Menghaluskan struktur program yang terbentuk dengan mempertimbangkan faktor-faktor pengukuran P/L dan heuristik (fan-in, fan-out dll)
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 7
Perancangan Arsitektural (3) Jenis Aliran Informasi • Aliran Transaction
• Aliran Tranformation
external
external U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 8
4
Perancangan Arsitektural (4)
Transform flow
Transaction flow U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 9
Perancangan Arsitektural (5) • Langkah pemetaan aliran tranformasional – Kaji ulang model sistem dasarnya – Kaji ulang dan perhalus DFD – Tentukan apakah DFD mempunyai aliran tranformation atau transaction – Isolasi pusat transaksi dengan menetukan batas aliran incoming dan outgoing – Lakukan factorisasi level satu – Lakukan factorisasi level dua – Perhalus struktur program yang diperoleh dari iterasi pertama U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 10
5
Perancangan Arsitektural (6) • Langkah pemetaan aliran transaction – Kaji ulang model sistem dasarnya – Kaji ulang dan perhalus DFD – Tentukan apakah DFD mempunyai aliran tranformation atau transaction – Tentukan pusat transaksi dan jenis aliran disepanjang setian jalur aksi (action path) – Petakan DFD kedalam struktur program sesuai dengan proses transaksi – Faktorisasi dan perhalus struktur transaksi dan juga struktur disetiap jalur aksi – Perhalus struktur program yang diperoleh dari iterasi pertama U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 11
Perancangan Arsitektural (7) (Tranformation Mapping) a
b
e
d
h
g
f
i
c
j
data flow model x1 x2 b
U. Abd. Rohim
x4
x3 c
a
"Transform" mapping
d
e
f
g
i
h
j
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 12
6
Perancangan Arsitektural (8) (Tranformation Mapping) main
D C control
A
B
A B C D
mapping from the flow boundary outward
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 13
Perancangan Arsitektural (9) (Transaction Mapping) e
a
f
d
b
i
t g
h
k
l
data flow model
j m n
x1
Mapping
t
b a
x3
x2 d
e
f
g
x4
h
l
x3.1 i
m
n
j k
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 14
7
Perancangan Arsitektural (10) Structure Chart process operator commands
command input controller read command
validate command
read fixture status
U. Abd. Rohim
determine type
produce error message
determine setting
fixture status controller
format setting
report generation controller
read record
Rekayasa Perangkat Lunak (Perancangan)
send control value
calculate output values
format report
Halaman: 15
Perancangan Arsitektural (11) Hasil Perancangan Arsitektural • Structure Chart yang merepresentasika mengambarkan menyeluruh struktur P/L atau arsitektur P/L beserta seluruh hirarki kendali / passing parameter yang siap dituliskan dalam modul program
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 16
8
Perancangan Antarmuka (1) • Fokus perancangan antarmuka – Antarmuka antar modul-modul P/L – Antarmuka antar P/L dengan sumber informasi selain manusia (external entities) – Antarmuka antar manusia (users) dengan komputernya
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 17
Perancangan Antarmuka (2) • Jenis antarmuka yang diperlukan adalah: – Untuk input parameter parameter proses à layar – Untuk output proses à layar – Untuk input data à layar maupun parameter passing – Untuk output data à layar maupun parameter passing – Untuk pesan-pesan à layar
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 18
9
Perancangan Antarmuka (3) Hal penting dalam perancangan antarmuka • Harus konsisten (font, warna, bahasa dll) • Memberikan unpan balik kepengguna • Meminta verifikasi atas proses yang destruktif • Mengurangi jumlah informasi yang harus diingat antar aksi • Efisiensi dialog, gerak dan pikiran pengguna • Mengelompokan aktivitas berdasarkan fungsi • Sediakan bantuan (help) • Perhatikan prsentasi data (sedikit tabel perbanyak graph/chart U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 19
Perancangan Antarmuka (3) Hal penting dalam perancangan antarmuka (lanjutan) • Pelihara konteks visual • Pesan kesalahan harus berarti • Minimalkan jumlah aksi masukan yang diperlukan • Sesuaikan dengan kebutuhan dan kebiasaan user
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 20
10
Perancangan Antarmuka (4) • Perancangan antarmuka dapat dilakukan secara: – Manual, dilakukan pada kertas – Bantuan alat bantu berupa software
• Hasil perancangan antramuka – Definisi antaramuka modul yang siap untuk diprogram – Definisi/format rancangan yang siap diimplementasika U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 21
Perancangan Prosedural (1) • Tahapan terakhir pada proses perancangan • Membentuk alogoritma siap program dengan menggunakan dan mengacu pada – Struktur data yang yang terbentuk pada perancangan data – Struktur modul kendali pada structure chart hasil perancangan arsitektur – Struktur, rancangan menu dan format layar hasil perancangan antarmuka
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 22
11
Perancangan Prosedural (2) • Dua hal yang harus diperhatikan: – Coupling : yaitu ukuran kekuatan saling kebergantungan antar modul-modul software – Cohesion : yaitu ukuran kekuatan modulmodul perangkat lunak secara fungsional relatif terhadap modul perangkat lunak itu sendiri
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 23
Perancangan Prosedural (3) • Alat bantu yang dapat digunakan: – Flowchart – Algoritma/pseudocode/program design language
• Alat bantu dapat dicapai secara: – Manual dilakukan pada kertas atau teks editor/shape editor – Dengan alat bantu menggunakan CASE tools misalkan PSpec pada Process Analyst dari Power Designer U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 24
12