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.
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
Tampilan arsitektural antara lain:
- Tampilan Logis
- Tampilan Proses
- Tampilan Pengembangan
- Tampilan Fisik
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
A. Lapisan Arsitektur (Layered Architecture)
- Pemahaman tentang pemisahan dan independensisangat 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.
- Lapisan atas menyediakan fasilitas antarmuka pengguna
- Lapisan aplikasi: komponen fungsionalitas aplikasi dan komponen utilitas
- Lapisan ketiga: manajemen antarmuka pengguna dan menyediakan otentikasi dan otorisasi pengguna
- Lapisan terendah: PL pendukung sistem (basis data dan OS)
- 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 keamananmulti-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 langsungdengan lapisan tingkat yang lebih rendah daripada melalui lapisan tepat dibawahnya. Kinerja dapat menjadi masalah karena beberapa tingkat interpretasi permintaan layanan diproses pada setiap lapisan.
- 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.
- 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.
- Sebuah sistem yang mengikuti pola client-server diatur sebagai satu set layanan server, dan client yang mengakses dan menggunakan layanan.
- Komponen utama dari model ini adalah:
- Server memberikan layanan ke komponen lain. Contoh: server menawarkan layanan pencetakan, server file yang menawarkan layanan manajemen file, dan server kompilasi yang menawarkan layanan kompilasi bahasa pemrograman.
- Client yang menggunakan layanan yang ditawarkan oleh server.
- Jaringan yang memungkinkan client untuk mengakses layanan.
- Arsitektur client-server dianggap sebagai arsitektur sistem terdistribusi, tetapi model logis dari layanan independen yang berjalan pada server terpisah dapat diimplementasikan pada satu komputer
- Penggunaan yang efektif dapat dilakukan dari sistem jaringan dengan banyak prosesor terdistribusi.
- Sangat mudah untuk menambahkan server baru dan mengintegrasikannya dengan seluruh sistem atau mengupgrade server secara transparan tanpa mempengaruhi bagian lain dari sistem.
- 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 karena tergantung pada jaringan dan juga sistem.
- Model dari sistem run-time di mana transformasi secara fungsional memproses input dan menghasilkan output.
- Aliran data bergerak secara berurutan (seperti dalam pipa).
- Setiap langkah pemrosesan diimplementasikan sebagai transformasi.
- Transformasi dapat dilakukan secara berurutan/paralel.
- Data diproses oleh transformasi per-item-nya atau dalam satu batch.
- Pipe digunakan untuk melewati aliran teks dari satu proses ke proses lainnya.
- Filter digunakan pada transformasi untuk menyaring data.
- 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.
ARSITEKTUR APLIKASI
- 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.
- Pengguna membuat permintaan ke sistem melalui komponen pemrosesan I / O.
- Permintaan diproses oleh beberapa aplikasi logika.
- Transaksi dibuat dan diteruskan ke manajer transaksi, yang biasanya tertanam dalam sistem manajemen basis data.
- Setelah manajer transaksi memastikan bahwa transaksi sudah diselesaikan dengan benar, kemudian memberi sinyal ke aplikasi bahwa proses telah selesai
- 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
- Sistem dimodelkan menggunakan pendekatan berlapis di mana lapisan atas mendukung antarmuka pengguna dan lapisan bawah adalah database sistem.
- Lapisan komunikasi pengguna menangani semua I/O dari antarmuka pengguna, dan lapisan pencarian informasi untuk mengakses dan memperbarui database
- 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.
maaciww
BalasHapus