PERTEMUAN 10 - REKAYASA PERANGKAT LUNAK
DESAIN ARSITEKTUR
1. Konsep Desain Arsitektur
- Perancangan arsitektur merupakan tahap pertama dalam proses perancangan perangkat lunak, yang dimulai dengan perancangan data kemudian berlanjut pada penurunan satu atau lebih struktur arsitektural sistem.
- Arsitektur sistem perangkat lunak adalah struktur sistem perangkat lunak yang menggabungkan komponen perangkat lunak, properti yang tampak dari komponen tersebut, dan mendeskripsikan hubungan antar komponen.
- Output dari perancangan arsitektur berupa model arsitektur yang menggambarkan bagaimana sistem diatur sebagai satu set komponen yang saling berkomunikasi.
2. ARSITEKTUR PERANGKAT
LUNAK
Arsitektur perangkat lunak mencakup :
- Komponen bangunan yang berbeda dapat diintegrasikan menjadi suatu bentuk keseluruhan yang bersifat kohesif
- Bangunan yang dibuat sesuai dengan lingkungannya
- Bangunan yang dibangun sesuai dengan kegunaannya
- Tekstur, warna dan material pembentuknya dikombinasikan untuk membuat tampilan yang bagus
- Perancangan pencahayaan, template, dan garis batas
- Merupakan suatu bentuk seni
Arsitektur perangkat lunak merupakan representasi
yang memungkinkan untuk :
- Melakukan analisis terhadap efektivitas perancangan dan disesuaikan dengan kebutuhan yang dinyatakan sebelumnya.
- Melakukan pertimbangan alternatif arsitektural pada tahap dimana perubahan rancangan dapat dilakukan dengan cara yang relatif mudah.
- Mengurangi risiko yang berhubungan dengan konstruksi perangkat lunak.
ALASAN ARSITEKTUR PERANGKAT LUNAK
- Representasi arsitektur perangkat lunak adalah sesuatu yang memungkinkan terjadinya komunikasi di antara semua pihak yang tertarik pada pengembangan sistem berbasis komputer.
- Arsitektur yang dibuat di awal perancangan akan memiliki efek yang menentukan pada semua pekerjaan rekayasa perangkat lunak selanjutnya.
- Arsitektur menggambarkan model yang relatif kecil dan mudah dipahami, dan menggambarkan bagaimana sistem distrukturkan dan bagaimana komponen di dalamnya saling bekerja sama.
A. DESKRIPSI ARSITEKTURAL
Sasaran dari deskripsi arsitektural :
- Untuk menetapkan kerangka kerja konseptual dan kosa kata yang digunakan selama perancangan arsitektur perangkat lunak.
- Untuk menyediakan panduan yang rinci pada waktu merepresentasikan deskripsi arsitektural.
- Untuk memandu praktek perancangan yang baik.
B. KEPUTUSAN ARSITEKTURAL
▪ Pola Deskripsi Keputusan Arsitektur
a. Permasalahan Perancangan
Deskripsikan permasalahan perancangan arsitektural
yang akan diselesaikan.
b. Penyelesaian
Menentukan pendekatan yang dipilih untuk
menyelesaikan permasalahan yang bekaitan dengan perancangan
c. Kategori
Spesifikasi kategori perancangan yang akan diselesaikan
permasalahannya, seperti perancangan data, struktur isi
dan komponen, integrasi, presentasi
g. Keputusan yang berhubungan
Keputusan terdokumentasi yang berhubungan dengan
keputusan yang diambil
h. Implikasi
Indikasikan konsekuensi perancangan akibat
penentuan keputusan. Apakah penyelesaian akan
berakibat pada perancangan lainnya?
i. Perhatian yang berhubungan
Adakah kebutuhan lain yang berhubungan dengan
keputusan yang diambil?
j. Produk kerja
Indikasikan dimana keputusan yang diambil akan
tercermin dalam deskripsi arsitektur
k. Catatan
Rujukan catatan tim lainnya yang sebelumnya telah
digunakan untuk membuat keputusan
▪ Beberapa pertimbangan dalam keputusan Arsitektur:
- Adakah arsitektur aplikasi generik yang dapat bertindak sebagai template untuk sistem yang sedang dirancang?
- Bagaimana sistem akan didistribusikan ke sejumlah perangkat keras?
- Pola atau gaya arsitektur apa yang digunakan?
- Pendekatan fundamental apa yang digunakan untuk menyusun sistem?
- Bagaimana komponen struktural dalam sistem akan terdekomposisi menjadi sub-komponen?
- Strategi yang akan digunakan untuk mengontrol pengoperasian komponen dalam sistem
- Organisasi arsitektur apa yang terbaik untuk memberikan persyaratan sistem non-fungsional?
- Bagaimana desain arsitektur akan dievaluasi?
- Bagaimana arsitektur sistem didokumentasikan?
- Tampilan Logis Abstraksi dalam sistem sebagai objek atau kelas objek.
- Tampilan Proses Menunjukkan bagaimana (pada saat run-time) sistem terdiri dari proses yang saling berinteraksi.
- Tampilan Pengembangan Perangkat Lunak diuraikan untuk pengembangan, yaitu menunjukkan detail dalam komponen yang akan diimplementasikan oleh pengembang tunggal atau tim pengembang.
- Tampilan Fisik Menunjukkan perangkat keras sistem dan bagaimana komponen Perangkat Lunak didistribusikan di seluruh sistem.
4. GAYA ARSITEKTUR
▪ Gaya arsitektur mendeskripsikan kategori sistem yang
mencakup :
- Kumpulan komponen, seperti sistem basis data dan modul-modul yang melaksanakan fungsi tertentu yang diperlukan oleh sistem
- Penghubung (konektor) yang memungkinkan komunikasi, koordinasi, dan kerja antar komponen
- Batasan yang mendefinisikan bagaimana komponen dapat diintegrasikan untuk membentuk suatu sistem/perangkat lunak.
- Model semantik yang memungkinkan perancang sistem memahami properti keseluruhan sistem
Gaya dan Struktur Arsitektur
(Persyaratan Non-Fungsional)
- Kinerja (Performance) Arsitektur harus dirancang agar semua komponen dapat digunakan pada berbagai komputer/prosesor, dan mendistribusikan di seluruh jaringan.
- Keamanan (Security) Menggunakan struktur berlapis untuk melindungi aset yang paling penting di lapisan terdalam, dengan tingkat validasi keamanan yang tinggi.
- Keamanan (Safety) Operasi yang terkait dengan keselamatan terletak di salah satu komponen tunggal atau komponen kecil.
- Ketersediaan (Availability) Arsitektur harus dirancang untuk menyertakan komponen redundan sehingga dimungkinkan saat mengganti dan memperbarui komponen tanpa menghentikan sistem.
- Pemeliharaan (Maintainability) Arsitektur sistem harus dirancang menggunakan komponen mandiri yang dapat diubah dengan mudah. Struktur data bersama harus dihindari.
5. POLA ARSITEKTUR
(Architectural Patterns)
A. Lapisan Arsitektur (Layered Architecture)
- Pemahaman tentang pemisahan dan independensi sangat penting untuk desain arsitektur karena memungkinkan perubahan secara lokal.
- Menambahkan tampilan baru atau mengubah tampilan yang ada dapat dilakukan tanpa perubahan apa pun pada data dalam model.
B. ARSITEKTUR REPOSITORI
(Repository Architecture)
- Bagaimana satu set komponen yang saling berinteraksi dapat berbagi data.
- Model ini cocok untuk aplikasi di mana data dihasilkan oleh satu komponen dan digunakan oleh yang lain
- Tidak perlu mentransmisikan data secara eksplisit dari satu komponen ke komponen lainnya. Tetapi komponen harus beroperasi di sekitar model data repositori yang disepakati.
- Pola repositori berkaitan dengan struktur statis dari suatu sistem dan tidak menunjukkan organisasi run-time.
Komentar
Posting Komentar