Desain Arsitektur
1. Konsep desain arsitektur
Konsep desain arsitektur adalah makna dan alasan untuk
produk akhir arsitektur (bangunan atau struktur yang telah selesai) dan
merupakan bagian pertama dari proses desain yang akan dikembangkan dan
direalisasikan seperti halnya benih untuk ditanam. Dan seperti halnya benih
tanaman, benih dapat berasal dari beragam sumber, dan menghasilkan banyak
variasi dan hasil. Sehingga sangat jelas bahwa konsep merupakan bagian penting
dari desain arsitektur.
2. Arsitektur perangkat lunak
Arsitektur perangkat lunak mencakup “struktur keseluruhan
perangkat lunak dan cara dimana struktur memberikan integrasi konseptual bagi
suatu sistem”.
Shaw dan Garlan menjelaskan sekumpulan properti yang seharusnya ditetapkan sebagai bagian dari desain arsitektural:
a. Properti struktural.
Menentukan komponen suatu sistem dan cara dimana
komponen-komponen tersebut dikemas dan berinteraksi satu dengan yang lain.
b. Properti ekstra-fungsional.
Menekankan pada bagaimana arsitektur desain memenuhi
persyaratan kinerja, kapasitas, reliabilitas, keamanan, adaptibilitas, dan
karakteristik sistem yang lain.
c. Keluarga dari sistem yang berhubungan.
Desain harus memiliki kemampuan untuk memakai lagi blok
bangunan arsitektural tersebut.
3. Tampilan Arsitektural
- Tampilan Logis
- Tampilan Proses
Menunjukkan bagaimana (pada saat run-time) system 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 bagaimana komponen dapat diintegrasikan untuk membentuk suatu sistem/perangkat lunak.
- Model semantik yang memungkinkan perancang sistem memahami properti keseluruhan sistem.
5. Pola Arsitektur
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.
Gambar generik arsitektur lapisan
Pola arsitektur berlapis
Contoh arsitektur lapisan, dengan lapisan bawah menjadi basis data individual di setiap pustaka pada sistem perpustakaan
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 runtime.
Repositori arsitektur
Contoh repositori arsitektur untuk sebuah IDE
Menunjukkan IDE yang mencakup alat yang berbeda untuk
mendukung pengembangan berbasis model. Repositori dalam kasus ini adalah
lingkungan yang dikendalikan oleh versi yang melacak perubahan pada Perangkat
Lunak dan memungkinkan rollback ke versi sebelumnya.
C. Client–server architecture
Sebuah sistem yang mengikuti pola client-server diatur
sebagai satu set layanan server, dan client yang mengakses dan menggunakan
layanan.
Komponen utama dari Client–server architecture:
- 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
Contoh sistem perpustakaan film/video
- Dalam sistem ini, beberapa server mengelola dan menampilkan berbagai jenis media.
- Server video dapat menangani kompresi dan dekompresi video dalam berbagai format.
- Katalog harus dapat menangani pertanyaan dan menyediakan tautan ke dalam sistem informasi web yang mencakup data tentang film dan klip video, dan e-commerce mendukung penjualan foto, film, klip video.
D. Pipe and filter architecture
- 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.
Pipe and Filter Architecture
Contoh pada sistem untuk memproses faktur
- Suatu organisasi telah menerbitkan faktur kepada pelanggan.
- Seminggu sekali, pembayaran yang telah dilakukan direkonsiliasi dengan faktur.
- Untuk faktur yang telah dibayarkan, diberikan tanda terima. untuk faktur yang belum dibayar dalam waktu pembayaran yang ditentukan, diberikan pesan untuk mengingatkan.
6. Arsitektur Aplikasi
Arsitektur aplikasi dapat diimplementasikan kembali ketika
mengembangkan sistem baru, tetapi untuk banyak sistem bisnis, penggunaan
kembali aplikasi dimungkinkan tanpa implementasi ulang.
A. Sistem pemrosesan transaksi (Transaction Processing
Systems)
aplikasi pemrosesan transaksi adalah aplikasi yang berpusat
pada database yang memproses permintaan pengguna untuk informasi dan
memperbarui informasi dalam basis data.
Contoh aplikasi pemrosesan transaksi
Penjelasan
- 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
B. Sistem informasi
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.
Contoh sistem informasi
- 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
C. Sistem pemrosesan bahasa (Language Processing Systems)
Sistem pemrosesan bahasa 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.
Contoh sistem pemrosesan Bahasa
Komentar
Posting Komentar