Pengantar Software Design


Software design merupakan salah satu proses dalam sebuah Software Development Life Cycle. Adapun definisi dari software design sangat beragam, bergantung pada kacamata dan sudut pandang orang dan/atau institusi yang mendeskripsikan definisi tersebut. Berikut ini beberapa definisi software design yang penulis kutip dari beberapa referensi, yaitu: Swebok 2004 [IEEE610.12-90] mendefinsikan bahwa software design adalah semua proses dalam mendefinisikan arsitektur, komponen, interface dan karateristik sebuah sistem dan/atau komponen lainnya serta hasil dari proses tersebut.

Pendapat lain mengatakan bahwa software design adalah merupakan rekayasa representasi yang berarti terhadap sesuatu yang hendak dibangun. Hasil rancangan harus dapat ditelusuri hingga ke spesifikasi kebutuhan yang dapat diukur kualitasnya berdasarkan kriteria-kriteria rancangan yang bagus. Perancangan menekankan pada solusi logik mengenai cara sistem memenuhi kebutuhan(Bambang Hariyanto, 2004).

Selanjutnya pengertian software design berdasarkan Ensiklopedi Wikipedia dalam websitenya (http://en.wikipedia/wiki/software_design) yaitu: sebuah proses pemecahan masalah (problem-solving) ditambah dengan perencanaan untuk solusi sebuah software termasuk didalamnya desain komponen yang akan digunakan (low-level component) serta algoritma yang akan diimplementasikan.



Rencana Kuliah

  1. Prinsip-prinsip Perancangan Perangkat Lunak 
  2. Abstraksi Kopling dan kohesi Dekomposisi dan modularisasi Enkapsulasi 
  3. Pemisahan antara antarmuka dan implementasi Sufficiency, completeness, dan primitiveness Separation of concerns 
  4. Isu-isu Kunci Perancangan Perangkat Lunak 
  5. Konkurensi 
  6. Penanganan event Persistensi data 
  7. Penanganan error 
  8. Toleransi terhadap kesalahan Keamanan, dll 
  9. Tipe-tipe Perangkat Lunak 
  10. Pendekatan Perancangan Perangkat Lunak 
  11. Top-down Bottom-up Function-oriented Data structure-centered Object-oriented Component-based Agile 
  12. Konsep-konsep Arsitektur Perangkat Lunak 
  13. Client-server Three-tier Model-View-Controller, dll 
  14. Pola-pola Perancangan 
  15. Creational Patterns Structural Patterns Behavioral Patterns 
  16. Penggunaan Kembali Kerangka Kerja 
  17. Perancangan Antarmuka


Referensi 

Comments

Popular posts from this blog

Prinsip Desain Software

High Level Design

Studi kasus 1 - Desain Sistem Restauran