1
1. Desain dan Kualitas Software
Terdapat 3 karakteristik yang berfungsi sebagai pedoman bagi evaluasi suatu desain yang baik :
a. Desain harus mengimplementasikan keseluruhan persyaratan eksplisit yang dibebankan dalam model analisis, dan harus mengakomodasikan semua persyaratan implisit yang diinginkan pelanggan.
b. Desain harus menjadi panduan yang dapat dibaca, dapat dipahami bagi mereka yang menghasilkan kode dan yang menguji serta memelihara perangkat lunak.
c. Desain harus memberikan suatu gambaran lengkap mengenai perangkat lunak, yang menekankan data, dan domain perilak u dari perspektif implementasi. Sedangkan kriteria teknis untuk desain yang baik :
Desain harus memperlihatkan suatu organisasi yang dengan baik menggunakan kontrol di antara elemen-elemen perangkat lunak.
Desain harus modular : yaitu bahwa perangkat lunak harus dipartisi secara logika ke dalam elemen-elemen yang melakukan fungsi dan subfungsi khusus. Desain harus berisi data dan abstraksi prosedural.
Desain harus membawa ke arah modul (misal subrutin atau prosedur) yang memperlihatkan karakteristik fungsional independent.
Desain harus mengarah kepada interface yang mengurangi kompleksitas hubungan antara modul- modul dan dengan lingkunga eksternal.
Desain harus didapat dengan menggunakan metode berulang yang dikendalikan oleh informasi yang diperoleh selama analisis persyaratan perangkat lunak.
2. Prinsip-prinsip Desain Antarmuka
Beberapa definisi dari desain antar muka berdasarkan prinsip desain antara lain : a. Merefleksikan model mental user
b. Merefleksikan kombinasi pengalaman dunia riil, pengalaman dari software lain dan penggunaan komputer secara umum.
c. Explicit and Implicit Action
Explicit Action adalah kondisi yang jelas dalam memberikan petunjuk untuk memanipulasi suatu obyek. Implicit Action adalah kondisi yang hanya memberikan kesan visual untuk memanipulasi obyek
d. Direct Manipulation
User mendapatkan dampaknya dengan segera setelah melakukan suatu aksi. e. User Control
Mengijinkan user mengontrol dan menginisialisasi aksi f. F eedback and Communication
Selalu memberitahukan user apa yang terjadi dari suatu aksi. g. Consistency
User dapat mentransfer pengetahuan dan kemampuan dari suatu aplikasi ke aplikasi lain
h. WYSYWIG (What You See Is What You Get)
Tidak ada perbedaan antara yang dilihat di layar dengan hasil outputnya.
Pertemuan 6
Desain Interface
2
i. Aesthetic Integrity
Informasi diorganisasikan dengan baik dan konsisten dengan prinsip desain visual yang baik.
Untuk mengembangkan software yang baik dibutuhkan beberapa faktor yang ibutuhkan, yaitu:
High Performance –> software yang dibuat mempunyai performance yang tinggi, walaupun digunakan oleh beberapa user.
Mudah digunakan –> software yang dibuat mempunyai sifat easy to use (mudah digunakan) sehingga tidak membutuhkan proses yang lama untuk mempelajarinya.
Penampilan yang baik–> software mempunyai antarmuka (interface) yang baik, sehingga user tidak merasa jenuh.
Reliability –> kehandalan, sejauh mana suatu software dapat diharapkan untuk melakukan fungsinya sesuai dengan ketelitian yang diperlukan.
Mampu beradaptasi –> sejauh mana software yang dibuat mampu beradaptasi dengan perubahan-perubahan teknologi yang ada.
Inte roperability –> software yang dibuat haruslah mampu berinteraksi dengan aplikasi lain. Biasanya dapat dilihat dari adanya fasilitas untuk eksport dan import data dari aplikasi lain.
Mobility –> software yang dibuat dapat berjalan pada bermacam- macam sistem operasi.
3. Keputusan Dalam Desain
Dalam desain sebuah software ada beberapa hal yang harus diambil sebuah keputusan jika terjadi sesuatu seperti berikut:
1. Aplikasi semakin membesar dan menjadi semakin lambat 2. User interface pada aplikasi semakin kompleks
3. Waktu yang diperlukan untuk mengembangkan fitur baru menjadi lebih lama 4. Dokumentasi aplikasi dan dokumen help menjadi lebih melebar.
5. Resiko adanya efek pada fitur yang sudah ada
6. Meningkatkan waktu yang diperlukan untuk memvalidasi aplikasi Sedangkan untuk layout aplikasi terdapat 3 macam model aplikasi:
1. Berbasis Dokumen –> Aplikasi ini menghasilkan sebuah dokumen berupa file-file yang nantinya bisa dibuka dan dirubah kembali jika perlu. Aplikasi yang berbasis dokumen misalnya: Microsoft Word, Microsoft Excel, Open Office, Corel Draw, Photoshop, dll.
2. Berbasis Non Dokumen –> Aplikasi ini sifatnya tidak menghasilkan dokumen yang bisa dibuka dan dirubah kembali. Contoh dari aplikasi berbasis non dokumen ini adalah: Microsoft Outlook, MySQL, MYOB, dll
3. Utilitas –> Aplikasi ini sifatnya adalah untuk penunjang saja (sifatnya hanya tambahan). Ada kecenderungan aplikasi seperti ini menekankan pula pada style disamping fitur aplikasi. Contoh dari aplikasi ini adalah seperti aplikasi untuk mendengarkan musik atau menonton video (Winamp, Media Player, PowerDVD), aplikasi untuk anti virus (Kaspersky, Norton, F-Secure)
3
Kriteria pemilihan konfigurasi produk berdasarkan pada alokasi fungsi dan performance :
� P roject Consideration
Dapatkan konfigurasi tersebut dibangun dengan biaya dan jadwal yang terikat? Apakah resiko yang berhubungan dengan estimasi biaya dan jadwal?
� Business Consideration
Apakah konfigurasi tersebut memperlihatkan solusi yang paling menguntungkan? Bisakah produk tersebut dipasarkan?
� Technica l analysis
Apakah terdapat teknologi untuk mengembangkan semua elemen sistem tersebut? Apakah fungsi dan performance yang diharapkan?
Bisakah konfigurasi tersebut dimantain? Adakah resource teknisnya?
Apakah resiko yang berhubungan dengan teknologi? � Manufacturing analysis
Apakah fasilitas dan peralatan manufacturing bisa dimanfaatkan? Bisakah komponen-komponen dihemat?
Bisakah jaminan kualitasnya dipenuhi? � Human Issues
Adakah personil yang bisa dimanfaatkan untuk pengembangan dan manufacturing? Apakah terdapat problem politis?
Apakah customer mengetahui sistem apa yang dibangun? � Environmental Interface
Apakah konfigurasi yang diusulkan sesuai dengan interface pada lingkungan eksternal sistem ?
Apakah komunikasi mesin ke mesin dan orang ke mesin ditangani secara intelligent?
� Legal Consideration
Apakah konfigurasi tersebut mengandung resiko?
Adakah aspek yang tepat untuk memberika n perlindungan?
Tugas : Buat Outline dari Software Engine ring dengan topik Perpustakaan : I. Ruang 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
Struktur file eksternal
struktur logis
deskripsi record logis
metode akses
data global
file dan referensi lintas data III. Desain Arsitektural
4
IV. Desain Interface
A. Spesifikasi interface manusia-mesin B. Aturan desain interface manusia-mesin C. Desain interface eksternal
Interface untuk data eksternal
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
Daftar Pustaka
1. Presman, Rouger S, Software Enigineer ing, 4th Edition, Mc. Graw Hill,1997. 2. Sommerville,Ian, Software Engineering, 7th Edition, Addison Wesley, 2004. 3. Kendall & Kendall, Systems Analysis and Design, 6th Edition, Prentice