Prinsip & Konsep Perancangan Sistem By: U. Abd. Rohim
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 1
Analysis to Design
Process Specification (PSPEC)
Data Object Description EntityRelationship Diagram
Data Flow Diagram
interface design
Data Dictionary
architectural design
State-Transition Diagram
data design
Control Specification (CSPEC)
THE ANALYSIS MODEL
U. Abd. Rohim
procedural design
Rekayasa Perangkat Lunak (Perancangan)
THE DESIGN MODEL
Halaman: 2
Elemen Proses Perancangan • Perancangan Data – Tranformasi model data yang dihasilkan oleh proses analisis menjadi struktur data yang dibutuhkan pada saat implementasi
• Perancangan Arsitektur – Definisi keterkaitan antar elemen-elemen utama yang akan membentuk program
• Perancangan Antarmuka – Penjabaran komunikasi: internal PL; antar PL dg sistem diluarnya dan antara PL dg usernya
• Perancangan Prosedural – Tranformasi dari elemen struktur dari arsitektur program menjadi deskripsi prosedur
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 3
Posisi Perancangan • Sebagai technical kernel dalam pembangunan PL • Merupakan proses kreatif dalam memecahkan masalah dan memberikan solusi atas pembangunan PL • Filosofi proses perancangan: – – – –
Mengemukakan suatu solusi Membangun model dari solusi Evaluasi terhadap kebutuhan Penjabaran atas solusi tersebut
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 4
Fungsi Proses Perancangan • Tranlasi/pengembangan spesifikasi PL • Penjabaran bangaimana PL dapat berfungsi • Penjabaran bagaimana spesifikasi PL dapat diimplementasikan
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 5
Perancangan vs Kualitas PL • Selama proses perancangan kualitas perancangan selalu dipantau melalui “review teknik formal” • Petunjuk untuk evaluasi kualitas (Mcglaughlin) – Perancangan harus menngimplementasikan semua kebutuhan PL baik secara implisit atau eksplisit – Harus readable, understandable, khususnya bagi programmer, tester dan pelaku maintenance – Harus menyajikan gambaran lengkap PL meliputi: model data, fungsi, prilaku PL dari sudut pandang perfektif implementasi U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 6
Prinsip-prinsip Perancanga • Memperimbangan beberapa alternatif solusi • Traceable terhadap model analisis • Mempertimbangkan dan menghasilkan komponen reusable • Meminimasi kesenjangan antara PL dengan kondisi nyata • Memperlihatkan keseragaman dan integrasi • Mengakomodasi perubahan • Mengakomodasi kondisi-kondisi insidentil yang mungkin terjadi • Abstrak lebih detail dari analisis & lebih tinggi dari coding • Dapat terukur kualitasnya • Harus di-review untuk meminimasi kesalahan semantik U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 7
Konsep Perancangan (1) • Abstraction – data, procedure, control
• Refinement – Merinci abstaksi tingkat tinggi menjadi representasi yang lebih mengarah pada sttuktur internal sistem
• Modularity • Architecture – Structural properties – Extra-structural properties – Styles and patterns U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 8
Konsep Perancangan (2) • Procedure – Menjabarkan kerincian pemrosesan setiap modul termasuk pengulangan proses dan pengulangan operasi
• Hiding – Modul-modul harus dirancang sedemikian rupa sehingga informasi yang terkandung (informasi dan data) yang terkandung tidak dapat diakses oleh modul lain yang tidak berkepentingan dengan informasi tersebut U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 9
Abstraksi Data door manufacturer model number type swing direction inserts lights type number weight opening mechanism implemented as a data structure
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 10
Abstraksi Prosedur open details of enter algorithm
implemented with a "knowledge" of the object that is associated with enter
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 11
Refinement open walk to door; reach for knob; open door; walk through; close door.
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
repeat until door opens turn knob clockwise; if knob doesn't turn, then take key out; find correct key; insert in lock; endif pull/push door move out of way; end repeat
Halaman: 12
Modularity: trade-off module development cost cost of software module integration cost
optimal number of modules
U. Abd. Rohim
number of modules
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 13
Sizing Modules: Two Views What's inside??
How big is it??
MODULE
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 14
Perancangan Modular Efektif (1) Functional Independent • Diukur berdasarkan kriteria kualitatif – Cohesion Derajat kekuatan fungsional relatif dalam suatu modul
– Coupling Derajat kebergantungan relatif antar modul
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 15
Deliveriable Tahap Perancangan • Dokumen “Software Design Document (SDD)”: – – – – – – – –
Ruang Lingkup Perancangan Data Perancangan Arsitektur Perancangan Antar Muka Perancangan Prosedur Kebutuhan Lain Persiapan Pengujian Catatan Khusus
U. Abd. Rohim
Rekayasa Perangkat Lunak (Perancangan)
Halaman: 16