RANGKUMAN PERTEMUAN 10
1. Konsep Desain Arsitektur
- Perancangan arsitektur merupakan tahap pertama dalam proses perancangan PL, yang dimulai dengan perancangan data kemudian berlanjut pada penurunan satu atau lebih struktur arsitektural sistem.
- Arsitektur sistem/PL adalah struktur sistem/PL yang menggabungkan komponen PL, menggabungkan 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 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 PL 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 PL
- Representasi arsitektur PL 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 RPL selanjutnya
- Arsitektur menggambarkan model yang relatif kecil dan mudah dipahami, dan menggambarkan bagaimana sistem distrukturkan dan bagaimana komponen di dalamnya saling bekerja sama.
3. Tampilan Arsitektural
- 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 PL 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 PL 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 bagaiman komponen dapat iintegrasikan untuk membentuk suatu sistem/PL
- Model semantik yang memungkinkan perancang sistem memahami properti keseluruhan sistem
5. Pola Arsitektur
- 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.
Pola Arsitektur Berlapis
Deskripsi = Mengatur sistem ke dalam lapisan dengan fungsi terkait.
Lapisan menyediakan layanan ke lapisan di atasnya sehingga
lapisan tingkat terendah mewakili layanan inti yang kemungkinan
akan digunakan di seluruh sistem.
Contoh = Sebuah model berlapis dari suatu sistem untuk berbagi dokumen
hak cipta yang disimpan di media penyimpanan.
Saat
digunakan
- saat membangun fasilitas baru di atas sistem yang ada
- ketika pengembangan tersebar di beberapa tim dengan tanggung jawab masing-masing tim
- ketika ada persyaratan untuk keamanan multi-level
* Keuntungan = Memungkinkan penggantian seluruh lapisan selama antarmuka
dipertahankan. Fasilitas redundan (misal otentikasi) dapat
disediakan di setiap lapisan untuk meningkatkan keandalan sistem.
* Kerugian = Lapisan tingkat tinggi mungkin harus berinteraksi langsung dengan
lapisan tingkat yang lebih rendah daripada melalui lapisan tepat di
bawahnya. Kinerja dapat menjadi masalah karena beberapa tingkat
interpretasi permintaan layanan diproses pada setiap lapisan.
- Arsitektur Repositori (Repository Architecture)
Deskripsi Semua data dalam sistem dikelola di repositori pusat yang dapat
diakses oleh semua komponen .sistem
Contoh Contoh dari IDE dimana komponen menggunakan repositori, dan
setiap PL menghasilkan informasi yang kemudian tersedia untuk
digunakan oleh alat lain.
Saat digunakan Ketika sistem dengan sejumlah besar informasi yang dihasilkan
disimpan untuk waktu yang lama.
* Keuntungan
- Komponen dapat mandiri, karena tidak perlu mengetahui keberadaan komponen lain.
- Perubahan yang dilakukan oleh satu komponen dapat disebarkan ke semua komponen.
- Semua data dapat dikelola secara konsisten karena semuanya ada di satu tempat.
* Kerugian Masalah dalam repositori mempengaruhi seluruh sistem.
- Client–Server Architecture
Name Client-Server
Deskripsi Fungsionalitas sistem diatur ke dalam layanan, dengan setiap
layanan yang dikirim dari server terpisah
Contoh Contoh dari perpustakaan film/video
Saat digunakan Ketika data dalam database harus diakses dari berbagai lokasi.
* Keuntungan
- Server dapat didistribusikan melalui jaringan.
- Fungsi umum dapat tersedia untuk semua client dan tidak perlu diterapkan di semua layanan.
* Kerugian
- Setiap layanan dapat terjadi kegagalan sehingga rentan terhadap penolakan layanan atau kegagalan server.
- Kinerja tidak dapat diprediksi k
- Pipe and Filter Architecture
Pipe and Filter Architecture
Name Pipe and Filter
Deskripsi Pengolahan data diatur dalam suatu sistem sehingga setiap
komponen pemrosesan (filter) bersifat diskrit dan melakukan satu
jenis transformasi data.
Contoh Contoh pada sistem untuk memproses faktur.
Saat digunakan Umumnya digunakan dalam aplikasi pemrosesan data (baik batch
atau berbasis transaksi) di mana input diproses dalam tahap
terpisah untuk menghasilkan output.
* Keuntungan
- Mudah dimengerti dan mendukung transformasi reuse.
- Gaya alur kerja cocok dengan struktur proses bisnis.
- Dapat diimplementasikan sebagai sistem sekuensial/konkuren.
* Kerugian
- Format transfer data harus disepakati di antara transformasi komunikasi.
- Setiap transformasi harus memahami input dan tidak mempublikasikan outputnya ke bentuk yang tidak dipahami.
- Meningkatkan overhead sistem, berarti bahwa tidak mungkin menggunakan kembali transformasi fungsional yang menggunakan struktur data yang tidak kompatibel.
6. Arsitektur Aplikasi
- Sistem aplikasi dimaksudkan untuk memenuhi kebutuhan bisnis yang memiliki banyak kesamaan dan menggunakan aplikasi tertentu.
- Arsitektur aplikasi dapat diimplementasikan kembali ketika mengembangkan sistem baru, tetapi untuk banyak sistem bisnis,penggunaan kembali aplikasi dimungkinkan tanpa implementasi ulang mengembangkan sistem baru, tetapi untuk banyak sistem bisnis, memiliki banyak kesamaan dan menggunakan aplikasi tertentu.
- Aplikasi pemrosesan transaksi adalah aplikasi yang berpusat pada database yang memproses permintaan pengguna untuk informasi dan memperbarui informasi dalam basis data.
- Merupakan jenis sistem bisnis interaktif yang paling umum, di mana pengguna membuat permintaan asynchronous untuk layanan
- Transaksi basis data adalah urutan operasi yang diperlakukan sebagai unit tunggal, dan semua operasi dalam transaksi harus diselesaikan sebelum perubahan basis data dibuat permanen.
- Dari perspektif pengguna, transaksi adalah setiap urutan operasi yang koheren yang memenuhi tujuan, seperti menemukan jadwal perkuliahan.
- Sistem pemrosesan transaksi dapat diatur sebagai arsitektur 'pipe and filter' dengan komponen sistem sebagai input, pemrosesan, dan output.
- Misal: pelanggan menarik uang tunai dari ATM. Sistem ini terdiri dari dua komponen PL ATM dan PL pemrosesan akun di server basis data bank. Komponen I/O diimplementasikan sebagai PL di ATM dan komponen pemrosesan adalah bagian dari server database bank.
- Semua sistem yang melibatkan interaksi dengan basis data dapat dianggap sebagai sistem informasi berbasis transaksi.
- Sistem informasi memungkinkan akses yang terkontrol ke basis informasi yang besar. Seperti katalog perpustakaan, jadwal penerbangan, atau catatan pasien di rumah sakit.
- Sebagai contoh dari instantiation model berlapis
- Adalah sistem di mana maksud pengguna dinyatakan dalam bahasa formal (seperti Java).
- Memproses ke dalam bahasa formal, kemudian menafsirkan representasi secara internal.
- Sistem pemrosesan bahasa dengan compiler, yang menerjemahkan bahasa program tingkat tinggi ke dalam kode mesin.
- Sistem pemrosesan bahasa juga menerjemahkan bahasa alami atau buatan ke dalam representasi bahasa lain, dan bahasa pemrograman dapat mengeksekusi kode yang dihasilkan.
Komentar
Posting Komentar