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 :
  1. Komponen bangunan yang berbeda dapat diintegrasikan menjadi suatu bentuk keseluruhan yang bersifat kohesif 
  2. Bangunan yang dibuat sesuai dengan lingkungannya 
  3. Bangunan yang dibangun sesuai dengan kegunaannya 
  4. Tekstur, warna dan material pembentuknya dikombinasikan untuk membuat tampilan yang bagus 
  5. Perancangan pencahayaan, template, dan garis batas 
  6. Merupakan suatu bentuk seni 
Arsitektur perangkat lunak merupakan representasi yang memungkinkan untuk :
  1. Melakukan analisis terhadap efektivitas perancangan dan disesuaikan dengan kebutuhan yang dinyatakan sebelumnya. 
  2. Melakukan pertimbangan alternatif arsitektural pada tahap dimana perubahan rancangan dapat dilakukan dengan cara yang relatif mudah. 
  3. Mengurangi risiko yang berhubungan dengan konstruksi perangkat lunak.
ALASAN ARSITEKTUR PERANGKAT LUNAK
  1. Representasi arsitektur perangkat lunak adalah sesuatu yang memungkinkan terjadinya komunikasi di antara semua pihak yang tertarik pada pengembangan sistem berbasis komputer. 
  2. Arsitektur yang dibuat di awal perancangan akan memiliki efek yang menentukan pada semua pekerjaan rekayasa perangkat lunak selanjutnya. 
  3. 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 :
  1. Untuk menetapkan kerangka kerja konseptual dan kosa kata yang digunakan selama perancangan arsitektur perangkat lunak.
  2. Untuk menyediakan panduan yang rinci pada waktu merepresentasikan deskripsi arsitektural.
  3. 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:
  1. Adakah arsitektur aplikasi generik yang dapat bertindak sebagai template untuk sistem yang sedang dirancang? 
  2. Bagaimana sistem akan didistribusikan ke sejumlah perangkat keras? 
  3. Pola atau gaya arsitektur apa yang digunakan? 
  4. Pendekatan fundamental apa yang digunakan untuk menyusun sistem? 
  5. Bagaimana komponen struktural dalam sistem akan terdekomposisi menjadi sub-komponen?
  6. Strategi yang akan digunakan untuk mengontrol pengoperasian komponen dalam sistem
  7. Organisasi arsitektur apa yang terbaik untuk memberikan persyaratan sistem non-fungsional?
  8. Bagaimana desain arsitektur akan dievaluasi?
  9. Bagaimana arsitektur sistem didokumentasikan?
 3. TAMPILAN ARSITEKTURAL
  1. Tampilan Logis Abstraksi dalam sistem sebagai objek atau kelas objek. 
  2. Tampilan Proses Menunjukkan bagaimana (pada saat run-time) sistem terdiri dari proses yang saling berinteraksi. 
  3. Tampilan Pengembangan Perangkat Lunak diuraikan untuk pengembangan, yaitu menunjukkan detail dalam komponen yang akan diimplementasikan oleh pengembang tunggal atau tim pengembang. 
  4. 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 :
  1. Kumpulan komponen, seperti sistem basis data dan modul-modul yang melaksanakan fungsi tertentu yang diperlukan oleh sistem 
  2. Penghubung (konektor) yang memungkinkan komunikasi, koordinasi, dan kerja antar komponen 
  3. Batasan yang mendefinisikan bagaimana komponen dapat diintegrasikan untuk membentuk suatu sistem/perangkat lunak. 
  4. Model semantik yang memungkinkan perancang sistem memahami properti keseluruhan sistem
Gaya dan Struktur Arsitektur (Persyaratan Non-Fungsional)
  1. Kinerja (Performance) Arsitektur harus dirancang agar semua komponen dapat digunakan pada berbagai komputer/prosesor, dan mendistribusikan di seluruh jaringan. 
  2. Keamanan (Security) Menggunakan struktur berlapis untuk melindungi aset yang paling penting di lapisan terdalam, dengan tingkat validasi keamanan yang tinggi. 
  3. Keamanan (Safety) Operasi yang terkait dengan keselamatan terletak di salah satu komponen tunggal atau komponen kecil.
  4. Ketersediaan (Availability) Arsitektur harus dirancang untuk menyertakan komponen redundan sehingga dimungkinkan saat mengganti dan memperbarui komponen tanpa menghentikan sistem.
  5. 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

Postingan Populer