Langsung ke konten utama

Desain Arsitektur

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
Abstraksi dalam sistem sebagai objek atau kelas objek.

  • 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


B. Arsitektur repositori (Repository Architecture)

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

Postingan populer dari blog ini

Pengujian Perangkat Lunak

1. Dasar-dasar pengujian perangkat lunak Pengujian perangkat lunak adalah proses menjalankan dan mengevaluasi sebuah PL secara manual maupun otomatis untuk menguji apakah PL sudah memenuhi persyaratan atau belum, atau untuk menentukan perbedaan antara hasil yang diharapkan dengan hasil sebenarnya. Pengujian bertujuan untuk mencari kesalahan. Pengujian yang baik adalah pengujian yang memiliki kemungkinan besar dalam menemukan kesalahan sebanyak mungkin dengan usaha sekecil mungkin. A. Tujuan Pengujian a. Menilai apakah perangkat lunak yang dikembangkantelah memenuhi kebutuhan pemakai. b. Menilai apakah tahap pengembangan perangkat lunak telah sesuai dengan metodologi yang digunakan. c. Membuat dokumentasi hasil pengujian yang menginformasikan kesesuaian perangkat lunak yang diuji dengan spesifikasi yang telah ditentukan. B. Testability Testability adalah kemampuan PL untuk dapat diuji artinyaseberapa mudah sebuah program komputer untuk bisa diuji. Karakteristik testa

PERANCANGAN BERORIENTASI OBJEK

PBO 1. Identifikasi Kelas Objek Tujuan mengidentifikasi kelas objek dalam sistem berorientasi objek: 1. Gunakan analisis gramatikal dari deskripsi bahasa alami. Objek dan atribut adalah kata benda; operasi atau layanan adalah kata kerja. 2. Gunakan entitas nyata (benda) dalam domain aplikasi seperti mobil, peran seperti manajer atau dokter, acara seperti permintaan, interaksi seperti pertemuan, lokasi seperti kantor, unit organisasi seperti perusahaan. 3. Gunakan analisis berbasis skenario dimana berbagai skenario penggunaan sistem diidentifikasi dan dianalisis secara bergantian. 2. Istilah dalam Objek Oriented 1. Objek (Object) Objek adalah konsep atau abstraksi tentang sesuatu yang memiliki arti untuk aplikasi yang akan dikembangkan.  Objek diwakili dengan kata benda Objek dapat berupa: Objek orang/manusia: Karyawan, Mahasiswa Objek tempat: Kantor, Gedung, Toko Objek abstrak: Transaksi, Jadwal, Peminjaman Objek organisasi: Divisi-IT, HRD Objek peralatan/benda: Mobil, Buku, Ba