REKAYASA PERANGKAT LUNAK : DESAIN ARSITEKTUR
Selamat malam, disini saya akan sedikit membahas mengenai “DESAIN ARSITEKTUR” pada mata kuliah
REKAYASA PERANGKAT LUNAK pertemuan 10. Apa saja sih yang akan saya bahas pada
pertemuan 10 kali ini?. Materi yang terdapat pada pertemuan 10 kali ini yaitu :
1.
Konsep
Desain Arsitektur
2.
Arsitektur
Perangkat Lunak
3.
Tampilan
Arsitektural
4.
Gaya
Arsitektur
5.
Pola
Arsitektur
6.
Arsitektur
Aplikasi
Mari kita masuk ke pembahasan dari materi materi di atas.
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.
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 system
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
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
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 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 model ini adalah:
1.
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.
2.
Client
yang menggunakan layanan yang ditawarkan oleh server.
3.
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 meng-upgrade server secara transparan tanpa mempengaruhi bagian
lain dari sistem.
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
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
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. 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 Perangkat Lunak ATM dan
Perangkat Lunak pemrosesan akun di server basis data bank. Komponen I/O
diimplementasikan sebagai Perangkat Lunak di ATM dan komponen pemrosesan adalah
bagian dari server database bank.
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. Sebagai contoh dari
instantiation model berlapis
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)
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