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
Posting Komentar