procedural design
EntityRelationship Diagram Data Flow Diagram Data Dictionary
State-Transition Diagram
data design
Prinsip Desain
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
Konsep Desain
Konsep desain : memberikan kerangka kerja untuk mendapatkan program yang berfungsi dengan benar Abstraksi
Mengijinkan desainer berfokus pada pemecahan masalah tanpa risau tentang detail level rendah yang tidak relevan
Procedural abstraction sequence dari event Data abstraction kumpulan objek data
Data abstraction
Procedural Abstraction
Konsep desain-penyaringan
Pada setiap langkah(penyaringan), satu atau beberapa instruksi dari program yang diberikan didekomposisi ke dalam instruksiinstruksi yang lebih detail. Penyaringan spesifikasi berhenti bila semua instruksi diekspresikan dalam bentuk bahasa pemrograman yang mendasar
Procedural Abstraction
Konsep Desain
Modularitas
Derajat di mana software dapat dimengerti dengan memeriksa komponen-komponennya secara independent C(p1)>C(p2) maka E(p1)>E(p2) C(p1+p2)>C(p1)+C(p2) maka E(p1+p2)>E(p1)+E(p2) Keterangan : C(x) : fungsi untuk mengukur kompleksitas permasalahan x E(x) : fungsi untuk menentukan usaha (dalam waktu) yang diperlukan untuk memecahkan masalah x
Modularitas
Lebih mudah dibangun, lebih mudah diubah, lebih mudah diperbaiki
Konsep Desain
Arsitektur software
Arsitektur merupakan struktur hirarki dari komponen program(modul), cara bagaimana komponen tersebut berinteraksi, dan struktur data yang digunakan oleh komponen
Hirarki kontrol
Disebut juga struktur program, merepresentasikan organisasi (secara hirarkis) komponen program(modul) serta mengimplikasikan suatu hirarki kontrol Tidak merepresentasikan aspek prosedural SW(misalnya urutan proses, pengulangan operasi)
Hirarki kontrol
M Fan out a b c
kedalaman
q Fan in
j
Lebar
Hirarki kontrol
Depth mengindikasikan tingkat kontrol Width mengindikasikan rentang keseluruhan kontrol Fan-out : pengukuran jumlah modul yang dikontrol secara langsung oleh modul yang lain Fan-in : berapa banyak modul yang secara langsung mengontrol sebuah modul yang diberikan Superordinat : modul yang mengontrol modul lain, misalnya M adalah super ordinat untuk modul a, b, c Subordinat : modul yang dikontrol modul lain
Konsep Desain
Pembagian struktural
Partisi horizontal mendefinisikan tiga partisi(input, transformasi data, dan output) Partisi vertikal(factoring) menyatakan bahwa kontrol(pembuatan keputusan) dan kerja harus didistribusikan secara top down dalam arsitektur program
Keputusan kontrol dalam modul level atas dan pemrosesan kerja dalam modul yang lebih rendah
Partisi Horizontal
Pembagian struktural
Menentukan cabang-cabang terpisah dari hirarki modular untuk setiap fungsi program mayor Menggunakan modul kontrol untuk mengkoordinasikan komunikasi antara fungsifungsi
Menghasilkan software yang lebih mudah diuji Membawa software yang lebih mudah dipelihara Menghasilkan penyebaran efek samping yang lebih sedikit Menghasilkan software yang lebih mudah diperluas
Pembagian struktural
Partisi vertikal
Desain, sedemikian sehingga pembuatan keputusan dan kerja dibuat bertingkat-tingkat Modul pembuatan keputusan sebaiknya terletak pada puncak arsitektur
Struktur data
Konsep Desain
Software procedure
Spesifikasi proses yang seksama(event sequences, titik-titik keputusan, operasi pengulangan, struktur data)
Penyembunyian informasi
Informasi (data dan procedur) yang terkandung dalam modul tidak dapat diakses oleh modul lain, yang tidak mempunyai kebutuhan terhadap informasi tersebut
Dokumentasi Desain
I. Lingkup Sistem II. Desain Data III. Desain Arsitektur IV. Desain Antarmuka V. Desain Prosedural VI. Catatan Khusus VII. Appendix
Data Design
Mengubah objek data yang didefinisikan pada model analisis menjadi struktur data yang ada dalam perangkat lunak Atribut yang dimiliki objek data, hubungan di antara objek data, dan penggunaannya dalam program, semuanya mempengaruhi pemilihan struktur data
Architectural Design
Menggunakan karakteristik aliran informasi dalam model analisis untuk menghasilkan struktur program Sebuah data flow diagram dipetakan menjadi struktur program menggunakan dua pendekatan :
Transform mapping Transaction mapping
Transaction mapping :
diterapkan jika sebuah item informasi menyebabkan percabangan, yang disebut transaksi, yang memicu aliran data lain sepanjang salah satu dari beberapa jalur DFD dipetakan menjadi sebuah struktur yang mengalokasikan kontrol menjadi sebuah sub struktur yang mendapatkan dan mengevaluasi sebuah transaksi
Karakteristik Aliran
Tipe alarm
nomor
Mengatur koneksi ke jaringan telepon Nada sambung nomor telepon Menghasilkan pulsa pada sambungan Nada nomor telepon
Empat digit
Membandingkan password dengan file Membuat pesan invalid Pesan try again
Invalid passw
Transform Mapping
Format display
Membuat display
Format display
Membaca sensor
Membuat display
Membaca sensor
Membuat display
Transaction Mapping
Membaca passowrd
Interface Design