Perancangan Arsitektur Dasar Perangkat Lunak

Perancangan Arsitektur Dasar Perangkat Lunak

Hubungan antara Model Analisis dengan Model Desain

Oh iya, saya lupa untuk menulis ini juga kepada teman-teman semua. Apakah teman-teman tau, perancangan perangkat lunak merupakan proses yang dilakukan setelah proses analisis kebutuhan perangkat lunak. Nah, dalam proses ini teman-teman pengembang aplikasi haruslah merancang setiap arsitektur dasar perangkat lunak yang nantinya akan dikembangkan. Proses ini juga dapat didefinisikan sebagai proses transformasi dari hasil analisis kebutuhan (dapat berupa SKPL) menjadi bentuk yang bisa diimplementasikan menggunakan bahasa pemrograman.
Perancangan Perangkat Lunak adalah salah satu proses di daur hidup perangkat lunak, yang artinya perangkat lunak merupakan proses penting dalam pengembangan perangkat lunak. Perancangan perangkat lunak, juga, merupakan sebuah proses yang menghasilkan perwakilan dari semua kebutuhan perangkat lunak yang akan dikembangkan. Perancangan perangkat lunak (selanjutnya saya tulis PL) juga haruslah bersifat tegas, memiliki komoditas, dan yang paling penting HARUS MUDAH DIMENGERTI. Dalam perancangan PL juga terdiri dari tiga unsur-unsur yang nantinya menghasilkan hasil perancangan arsitektur PL, di antaranya : (1) Kebutuhan sistem, (2) Teknik perancangan, dan (3) Kendala Implementasi. Unsur-unsur tersebut sangatlah mememngaruhi hasil perancangan PL yang dibuat nantinya. Dalam perencanaa PL kita juga harus memegang teguh (asiikk) kepada tujuh prinsip, di antaranya :
1.     Abstarction
Setiap perancangan PL haruslah mengambil intisari dari setiap pengembangan perancangan PL-nya. Contohnya mengabstaksi data, mengabstraksi prosedur, dan mengabstraksi iterasi.
2.     Coupling dan Cohesion
Coupling artinya setiap PL yang dikembangkan haruslah memiliki ukuran ketergantungan yang maksimal tiap modulnya, yang berada dalam program komputer. Sedangkan, Cohesion artinya setiap unsur-unsur di dalam modul PL haruslah memiliki tingkat asosiasi yang tinggi. (Kata lainnya setiap unsur dalam PL harus bener bener berhubungan gitu, terintegrasi antar unur)
3.     Decomposition dan Modularization
Kalau ini, kan setiap PL punya modul besarnya masing-masing (bisa dibilang sourcecodenya) nah dalam sourcecode itu pasti terdiri dari berbagai macam modul atau fungsi. PL itu haruslah berprinsip seperti itu, semua modul dalam PL harus didekomposisi menjadi modul-modul yang lebih kecil. Hal ini berguna agar ketika proses selanjutnya berlangsung tidak membingungkan.
4.     Encapsulation
Encapsulation adalah detail dari prinsip abstraksi, jadi ini bisa dibilang data nya dan Abstraction adalah informasi. Detail dalam prinsip ini tidak bisa diakses oleh entitas-entias yang tidak berada dalam PL yang dikembangkan.
5.     Separation of Interface and Implementation
Pendefinisian komponen dengan menentukan User Interface (UI)nya yang tidak didefinisikan sebelumnya dan harus dapat direalisasikan.
6.     Sufficiency, Completeness, and Primitiveness
Untuk Sufficiency dan Completeness ini menjelaskan bahwa PL harus memiliki abstraksi yang lengkap. Sedangkan, Primitiveness artinya perancangan desain arsitektur tersebut dapat direalisasikan.
7.     Separation of Concern
Perancangan arsitektur PL yang dibuat haruslah memudahkan stakeholder (orang-orang yang berhubungan langsung sama PL yang dibuat) meskipun PL yang dibuat itu sistempnya kompleks.
Nah, setelah teman-teman tau apa saja prinsip dalam perancangan arsitektul PL, para pengembang PL juga harus tau apa saja kegiatan yang harus dilakukan (time line kegiatan) ketika merancangkan PL, yaitu :
1.     Mendefinisikan tujuan desain
2.     Mendefinisikan subsistem
3.     Pemetaan subsistem ke dalam platform yang digunakan
4.     Pengeluaran Data Persistence
5.     Mendefinisikan kendali akses
6.     Mendefinisikan kendali aliran (Control Flow)
7.     Mendefinisikan kondisi-kondisi batasan.

Aktivitas desain dan hasil dari rancangan
Tenang, jangan dulu kemana-mana. Yu, lanjut lagi, sekarang bakal ditulis mengenai proses Perancangan PL, di antaranya :
1.     Desain atau Perancangan Arsitektur
Perancangan arsitektur merupakan perancangan tingkat tinggi yang mendefinisikan hubungan antara komponen, arsitektur, dan pola desain guna mencapai persyaratan (kebutuhan) yang telah ditentukan untuk sistem pada proses Analisis Kebutuhan PL. Aktivitas yang dilakukan pada proses ini, ialah :
Ø  Menguraikan sistem kotor (sistem yang bener-bener belum diapa-apain) menjadi komponen utama
Ø  Memindahkan tanggung jawab fungsional untuk komponen
Ø  Membuat antarmuka komponen
Ø  Menciptakan komunikasi dan interaksi antar komponen
Ø  Penskalaan komponen
Ø  Membuat semua properti, misalnya properti kerja, properti sumber daya, properti keandalan, dan sebagainya.
2.     Spesifikasi Desain
Spesifikasi desain atau perancangan terperinci ialah proses perancangan PL yang menggambarkan rincian secara detail dari semua komponen  (yang dirancang) PL. Hal-hal yang harus dirincikan ialah sifat-sifat, hubungan, pemrosesan, struktur data, dan bahkan sampai tahap konstruksi PL. Adapun aktivitas-aktivitas yang dilakukan ketika proses ini berlangsung ialah :
·       Menguraikan komponen utama menjadi unit-unit program (memudularisasikan)
·       Memindahkan fungsional kepada semua unit-unit yang telah diuraikan dari fungsional komponen.
·       Membuat antarmuka pengguna lebih lengkap lagi
·       Membuat status unit dan menuliskan apa saja perubahan yang dilakukan pada setiap status.
·       Membuat data dan kontrol interaksi antar unit
·       Menyusun algoritma dan struktur data dari PL yang dikembangkan
·       Membuat pengemasan PL dan mengimplementasika setiap data yang telah dibuat (dalam bentuk Software Design Description)
3.     Software Design Description (SSD)
Proses yang mendefinisikan hasil spesifikasi perancangan PL yang sudah disetujui antara pengguna dengan pengembang PL sebelum menuju ke tahap selanjutnya, yaitu tahap konstruksi. Di sini kalau temen-temen tau, SSD ini sama halnya dengan SKPL. Namun, SDD hanya difokuskan dalam sisi desainnya saja. SSD yang teman-teman buat juga harus mengandung hal-hal di bawah ini yaaa :
v  Judul
v  Nama Pengarang
v  Tanggal terakhir dokumen diperbaharui
v  Gambaran umum tentang perancangan PL yang teman-teman buat
v  Sasaran PL dan batasa dari PL teman-teman
v  Desain Arsitektur
v  Desain Terperinci
v  Tongkak sejarah
v  Deskripsi fungsional (penjelasan fungsional ada di blog saya sebelumnya yaa)
v  Kegunaan dari PL-nya apa
v  Antarmuka Pengguna (UI)
v  Apa yang sedang dilakukan pengembang
v  Apa yang pengembang lakukan selanjutnya
Nah, itulah penjelasan yang bisa saya jelaskan berkenaan dengan PERMASALAHAN PERANCANGAN PERANGKAT LUNAK, jika ada yang ditanyakan boleh temen-temen komentar di postingan blog saya saja ya.... Supaya nanti bisa saya jawab dan menjadi berkah bagi semua orang. Tunggu postingan-postingan saya selanjutnya, ya.....
BTW, kalau mau beli jaket jeans, beli di sini aja ya :
https://shopee.co.id/jaket_juara ---------> Pokoknya terpercaya deh, dan lagi ada gratis ongkir. 
OH IYA, INI JUGA SEKALIAN YAA, KALAU KALIAN PENGEN TAU APA SIH PRODI SAYA, INI LINK NYA YAA :
(JANGAN LUPA SUBSCRIBE DAN LIKE)
~Terima Kasih Semuaaa~

Komentar

Postingan populer dari blog ini

Software Design Notations

Kebutuhan Fungsional dan Non-Fungsional

Pengantar Rekayasa Perangkat Lunak