Perancangan Perangkat Lunak lanjutan Kuliah - 7 Rianto Rekayasa Perangkat Lunak Teknik Informatika - Universitas Siliwangi
Metode Perancangan Desain software mencakup beberapa hal, antara lain : 1. Desain data (data design) 2. Desain arsitektur (architectural design) 3. Desain antar muka (interface design) 4. Desain prosedural (procedural design)
Data Design Data design merupakan langkah awal dalam melakukan desain software. Tujuan dari dilakukannya data design ialah untuk mendapatkan struktur data yang baik sehingga diperoleh program yang lebih modular dan mengurangi kompleksitas pengembangan software. Beberapa hal yang perlu diperhatikan dalam melakukan data design antara lain : a. Prinsip analisis secara sistematis yang dapat dilakukan terhadap fungsionalitas dan tingkah laku software juga dilakukan terhadap data. Pada tahap ini tiap objek yang merepresentasikan data dalam software akan diperjelas keterhubungannya satu sama lain untuk mengetahui bagaimana aliran data dalam software.
b. Dilakukan identifikasi terhadap semua struktur data dan proses yang akan dioperasikan. Untuk tahap identifikasi ini sebaiknya digunakan tipe data abstrak untuk mempermudah dalam melakukan desain software. c. Dibuat spesifikasi data yang menunjukkan keterhubungan dan aturan-aturan bagi tiap elemen dalam struktur data. d. Data desain yang lebih mengarah ke tingkat implementasi sebaiknya ditunda sampai tahap akhir dari desain software. e. Modularitas dari struktur data harus dirancang dengan baik. Dalam perancangan representasi suatu struktur data sebaiknya hanya dapat diakses oleh suatu modul yang benar-benar memerlukan akses secara langsung terhadap data yang terdapat dalam struktur tersebut. f. Dibuat suatu library yang berisikan kumpulan struktur-struktur data yang sering dipergunakan beserta dengan operasi-operasi yang berkaitan dengan struktur data tersebut. g. Desain software dan bahasa pemrograman yang digunakan harus mampu menangani spesifikasi dan implementasi dari bentuk tipe data abstrak yang telah dirancang
Hasil perancangan data a. Struktur data yang siap diprogram b. Struktur basis data yang siap dibuat oleh pemrogram c. Prosedur atau operasi untuk pengaksesan data yang telah siap diprogram.
Architectural Design Tujuan dari dilakukannya desain arsitektur ialah : Untuk mengembangkan suatu struktur program yang modular dan memperjelas kontrol proses yang terjadi antar tiap modul. Desain arsitektur akan menggabungkan antara struktur program dan struktur data, sehingga didapatkan suatu antar muka yang mengatur aliran informasi dalam program. Secara umum, aliran informasi dalam suatu program terdiri dari aliran masuk (incoming flow), aliran proses (transform flow), dan aliran keluar (outgoing flow). Representasi data pada masing-masing tingkat aliran akan berbeda. Misalnya,
Pada tingkat aliran masuk dan aliran keluar (berupa input dan output), representasi data bersifat eksternal, yaitu data berasal dari dunia luar. Input data diperoleh dari keyboard, mouse, dan perangkat eksternal lainnya. Sedangkan output data dikirimkan ke monitor, printer, dan sebagainya. Pada aliran proses (transform flow), data merupakan representasi internal dalam program yang tergantung pada desain data yang telah dilakukan pada tahap desain sebelumnya. Berdasarkan penjelasan di atas, maka aliran informasi dan representasi data dalam program akan dapat digambarkan dalam bentuk diagram sebagai berikut :
Aliran informasi dan representasi data dalam program
Proses yang dilakukan yaitu mengubah aliran informasi (yang direpresentasikan dengan DFD) menjadi struktur perangkat lunak. Langkahnya: Menentukan jenis aliran informasi (dalam sebuah perangkat lunak aliran transformasional dan transaksional dapat digunakan bersama-sama) Menentukan batas aliran informasi Pemetaan DFD ke struktur program Menetukan hirarki kendali dengan cara faktorisasi Menghaluskan struktur program yang terbentuk dengan mempertimbangkan faktor-faktor pengukuran perangkat lunak dan heuristik.
Jenis Aliran informasi: Aliran Transformasional
Ciri-ciri jenis aliran Transformasional: Ada input dari entitas eksternal, lalu diproses dalam sistem, kemudian sistem menghasilkan output kembali ke entitas eksternal. Dilakukan secara berurutan (sequensial) Langkah pemetaan untuk jenis aliran Transformasional : Kaji ulang model sistem dasarnya (DFD tingkat 0, tingkat 1, dst.) Kaji ulang dan perhalus DFD, agar didapat detail yang lebih baik. Tentukan apakah DFD memiliki jenis aliran transformasional Isolasi pusat transformasi, menentukan batas aliran incoming dan outgoing. Lakukan faktorisasi level satu, level dua. Perhalus struktur program yang diperoleh dari iterasi pertama
Aliran Transaksional
Ciri-ciri jenis aliran Transaksional: Terdapat input atau transaksi yang dapat memicu jalur aliran data yang lain. Aliran data merupakan transaksi pemilihan jalur aksi informasi. Langkah pemetaan untuk jenis aliran Transaksional: Kaji ulang model sistem dasarnya (DFD tingkat 0, tingkat 1, dst.) Kaji ulang dan perhalus DFD, agar didapat detail yang lebih baik. Tentukan apakah DFD memiliki jenis aliran transaksi. Tentukan pusat transaksi dan jenis aliran di sepanjang setiap jalur aksi. Petakan DFD kedalam struktur program sesuai dengan proses transaksi Faktorisasi dan perhalus struktur transaksi dan struktur disetiap (masing-masing) jalur aksi. Perhalus struktur program yang diperoleh.
Interface Design Desain antar muka difokuskan pada beberapa hal, antara lain : Desain antar muka antara tiap modul dalam software. Desain antar muka antara software dengan entity eksternal. Desain antar muka antara user (manusia) dengan software.
Desain antar muka internal dalam suatu program bergantung pada bentuk data yang mengalir antar tiap modul dan karakteristik bahasa pemrograman yang digunakan untuk mengimplementasi software. Data flow diagram (DFD) yang telah dibuat sebelumnya akan digunakan untuk mengetahui bagaimana tiap objek data yang mengalir dalam software ditransformasikan. Tiap proses transformasi pada DFD (yang dilambangkan dengan bulatan) akan dipetakan menjadi modul-modul di dalam struktur program.
Jenis antarmuka yang diperlukan: Antarmuka untuk input parameter proses -> layar. Antarmuka untuk output proses -> layar Antarmuka untuk input data -> layar maupun parameter passing Antarmuka untuk output data -> layar maupun parameter passing Antarmuka untuk pesan-pesan
Hal-hal yang perlu diperhatikan dalam merancang antarmuka di layar: Harus konsisten (warna, font, bahasa, layout, dsb). Memberikan umpan balik ke pengguna. Meminta verifikasi untuk semua aksi destruktif penting Memungkinkan aksi reversal (balikan) Mengurangi jumlah informasi yang harus diingat antar aksi. Efisiensi dialog, gerak, dan pikiran pengguna. Mengelompokkan aktivitas berdasarkan fungsi dan mengatur layar sesuai dengan pengelompokan tersebut.
Sediakan bantuan (help) yang mudah navigasinya dan bila memungkinkan help yang sensitive terhadap konteks pengguna meminta bantuan. Perhatikan representasi data, sesuaikan dengan fungsi pengguna. Contoh pengguna level manajerial lebih membutuhkan diagram/grafik daripada detil data dalam tabel. Pesan kesalahan harus spesifik dan berarti, beri saran juga. Minimalisasi jumlah aksi masukan yang diperlukan. Sesuaikan dengan kebiasaan/kebutuhan user, misalnya: - clerk-keyboard, manajer-mouse - clerk-input, pembuat keputusan – update/delete
Procedural Design Desain prosedural adalah tahapa terakhir pada proses perancangan, terjadi desain data, desain arsitektur dan desain interface dibangun. Tahapan desain ini akan berupaya mendefinisikan spesifikasi prosedural yang akan memberikan detail algoritma yang digunakan dalam implementasi program dengan menggunakan dan mengacu kepada : Struktur data yang terbentuk pada perancangan data Struktur modul kendali pada structure chart hasil perancangan arsitektur Struktur, rancangan menu dan format layar hasil perancangan antarmuka
Dua hal yang perlu diperhatikan dalam perancangan prosedural : Coupling : yaitu ukuran kekuatan saling kebergantungan antara modul-modul perangkat lunak. Cohesion : yaitu ukuran kekuatan modul-modul perangkat lunak secara funsional relatif terhadap modul perangkat lunak itu sendiri.
Alat bantu yang dapat digunakan : Flowchart Program Algoritma/ Pseudocode/ Program Design Languange (PDL) Spesifikasi algoritma ini akan dibuat dalam bentuk notasi terstruktur berupa sequence, condition, dan repetition. Implementasi sequence akan merupakan urutan