Apa itu perancangan perangkat lunak?
2. Coupling & Cohesion
Coupling merupakan ukuran saling ketergantungan antara modul dalam program komputer, sedangkan cohesion merupakan ukuran kekuatan asosiasi unsur-unsur dalam modul
3. Decompositon & Modularization
Penguraian PL yang besar menjadi modul – modul lebih kecil yang menggambarkan interaksi antar modul dan bertujuan untuk memberikan fungsi dan tanggung jawab yang berbeda dalam modul yang berbeda
5. Separation of interface and implementation
Pendefinisian komponen dengan menentukan antarmuka publik (diketahui oleh klien) yang terpisah dari perincian tentang bagaimana komponen direalisasikan
6. Sufficiency, completeness & primitiveness
Sufficiency dan completeness berarti abstraksi yang dilakukan telah menangkap semua karakteristik yang diperlukan sedangkan primitiveness artinya desain dapat diimplementasikan
7. Separation of concern
Terdapat beberapa architectural view yang memudahkan stakeholder dalam mengelola kompleksitas perangkat lunak
Proses perancangan perangkat lunak terdiri dari architectural design, detailed design, SDD (Software Design Description).
Perancangan Arsitektur (Architectural Design)
Perancangan arsitektur merupakan perancangan tingkat tinggi yang menjelaskan bagaimana perangkat lunak disusun dalam komponen yang mendefinisikan hubungan antar komponen, arsitektur dan pola desain yang membantu mencapai persyaratan yang ditetapkan untuk sistem
Aktifitas dalam perancangan arsitektur meliputi:
• Dekomposisi kotor sistem menjadi komponen utama.
• Alokasi tanggung jawab fungsional untuk komponen.
• Antarmuka Komponen
• Komponen penskalaan dan properti kinerja, properti konsumsi sumber daya, properti
keandalan, dan sebagainya.
• Komunikasi dan interaksi antar komponen.
Perancangan Terperinci (Detailed Design)
Perancangan terperinci merupakan tahap yang dilakukan setelah perancangan arsitektur, yang menggambarkan rincian secara detail dari semua komponen utama pada perangkat lunak, sifat-sifat, hubungan, pemrosesan, struktur data dan sampai pada tahap dapat diimplementasikan kedalam program (konstruksi perangkat lunak)
Aktifitas perancangan terperinci dapat meliputi:
• Dekomposisi komponen sistem utama menjadi unit program.
• Alokasi tanggung jawab fungsional kepada unit.
• Antarmuka pengguna
• Status unit dan perubahan status
• Data dan kontrol interaksi antar unit
• Pengemasan dan implementasi data, termasuk masalah ruang lingkup dan visibilitas elemen
program
• Algoritma dan struktur data
SDD (Software Design Description)
SDD merupakan hasil dari perancangan perangkat lunak yang bisa dijadikan kesepakatan
spesifikasi antara pengguna dan pengembang sebelum memasuki tahap konstruksi perangkat
lunak
Hal yang harus ada dalam SDD meliputi:
Perancangan perangkat lunak adalah sebuah proses yang menghasilkan sebuah model atau representasi yang menampilkan ketegasan, komoditas, dan kemudahan untuk dipahami yang memenuhi kebutuhan kebutuhan perangkat lunak. Perancangan perangkat lunak juga merupakan tahapan transformasi analisis kebutuhanmenjadi bentuk yang dapat diimplementasikan menggunakan bahasa pemrograman.
Prinsip Perangkat Lunak
1. Abstraction
Bagaimana berfokus dalam memandang objek dan mengambil hal penting dari objek tersebut,
misalnya: abstraksi prosedur, data, dan iterasi.
Bagaimana berfokus dalam memandang objek dan mengambil hal penting dari objek tersebut,
misalnya: abstraksi prosedur, data, dan iterasi.
2. Coupling & Cohesion
Coupling merupakan ukuran saling ketergantungan antara modul dalam program komputer, sedangkan cohesion merupakan ukuran kekuatan asosiasi unsur-unsur dalam modul
3. Decompositon & Modularization
Penguraian PL yang besar menjadi modul – modul lebih kecil yang menggambarkan interaksi antar modul dan bertujuan untuk memberikan fungsi dan tanggung jawab yang berbeda dalam modul yang berbeda
4. Encapsulation
Detail dari sebuah abstraksi tidak diketahui atau tidak dapat diakses oleh entitas yang diluarnya
Detail dari sebuah abstraksi tidak diketahui atau tidak dapat diakses oleh entitas yang diluarnya
5. Separation of interface and implementation
Pendefinisian komponen dengan menentukan antarmuka publik (diketahui oleh klien) yang terpisah dari perincian tentang bagaimana komponen direalisasikan
6. Sufficiency, completeness & primitiveness
Sufficiency dan completeness berarti abstraksi yang dilakukan telah menangkap semua karakteristik yang diperlukan sedangkan primitiveness artinya desain dapat diimplementasikan
7. Separation of concern
Terdapat beberapa architectural view yang memudahkan stakeholder dalam mengelola kompleksitas perangkat lunak
Kegiatan Perancangan Perangkat Lunak Terdiri Dari:
- Mendefinisikan tujuan desain
- Mendefinisikan subsistem.
- Pemetaan subsistem ke dalam platform yang digunakan
- Pengelolaan persistent data.
- Mendefinisikan kendali akses.
- Mendefinisikan kendali aliran (control flow).
- Mendefinisikan boundary condition.
Proses perancangan perangkat lunak terdiri dari architectural design, detailed design, SDD (Software Design Description).
Perancangan Arsitektur (Architectural Design)
Perancangan arsitektur merupakan perancangan tingkat tinggi yang menjelaskan bagaimana perangkat lunak disusun dalam komponen yang mendefinisikan hubungan antar komponen, arsitektur dan pola desain yang membantu mencapai persyaratan yang ditetapkan untuk sistem
Aktifitas dalam perancangan arsitektur meliputi:
• Dekomposisi kotor sistem menjadi komponen utama.
• Alokasi tanggung jawab fungsional untuk komponen.
• Antarmuka Komponen
• Komponen penskalaan dan properti kinerja, properti konsumsi sumber daya, properti
keandalan, dan sebagainya.
• Komunikasi dan interaksi antar komponen.
Perancangan Terperinci (Detailed Design)
Perancangan terperinci merupakan tahap yang dilakukan setelah perancangan arsitektur, yang menggambarkan rincian secara detail dari semua komponen utama pada perangkat lunak, sifat-sifat, hubungan, pemrosesan, struktur data dan sampai pada tahap dapat diimplementasikan kedalam program (konstruksi perangkat lunak)
Aktifitas perancangan terperinci dapat meliputi:
• Dekomposisi komponen sistem utama menjadi unit program.
• Alokasi tanggung jawab fungsional kepada unit.
• Antarmuka pengguna
• Status unit dan perubahan status
• Data dan kontrol interaksi antar unit
• Pengemasan dan implementasi data, termasuk masalah ruang lingkup dan visibilitas elemen
program
• Algoritma dan struktur data
SDD (Software Design Description)
SDD merupakan hasil dari perancangan perangkat lunak yang bisa dijadikan kesepakatan
spesifikasi antara pengguna dan pengembang sebelum memasuki tahap konstruksi perangkat
lunak
Hal yang harus ada dalam SDD meliputi:
- Judul
- Nama Pengembang
- Tanggal terakhir dokumen diperbaharui
- Gambaran Umum
- Sasaran dan Batasan
- Desain Arsitektur
- Desain Terperinci
- Tonggak Sejarah
- Deskripsi Fungsional
- Kegunaan
- Antarmuka Pengguna
- Apa yang sedang dilakukan pengembang
- Apa yang akan dilakukan pengembang selanjutnya
Comments
Post a Comment