Wednesday, October 5, 2016

Desain Arsitektur Perangkat Lunak

httpswww.youtube.comwatchv=gCuPx9shWT0


Desain arsitektur berkaitan dengan memahami bagaimana sistem harus diatur dan bagaimana merancang struktur keseluruhan sistem itu. Berdasarkan buku Software Engineering 9th Edition oleh Ian Sommervilee  dijelaskan bahwa, Desain arsitektur adalah tahap pertama dalam proses desain perangkat lunak, ini merupakan penghubung yang penting antara desain dan rekayasa persyaratan, seperti mengidentifikasi komponen struktural utama dalam sistem dan hubungan antara mereka. Output dari proses desain arsitektur adalah model arsitektur yang menggambarkan bagaimana sistem ini disusun sebagai satu set komponen untuk berkomunikasi.

Menurut Bosch (2000), arsitektur perangkat lunak penting karena mempengaruhi kinerja, ketahanan, pembagian, dan pemeliharaan dari sistem. Komponen individu menerapkan persyaratan sistem fungsional dan persyaratan nonfungsional tergantung pada sistem arsitektur di mana komponen ini terorganisir dan berkomunikasi. Dalam kebanyakan sistem, persyaratan non-fungsional juga dipengaruhi oleh komponen individual, tetapi tidak ada keraguan bahwa arsitektur dari sistem ini adalah pengaruh yang cukup dominan.

Tiga keuntungan secara eksplisit merancang dan mendokumentasikan arsitektur perangkat lunak yaitu:
  1. Komunikasi Stakeholder. Arsitektur adalah presentasi tingkat tinggi dari sistem yang dapat digunakan sebagai fokus utama untuk diskusi dengan berbagai pemangku kepentingan yang berbeda.
  2. Analisis Sistem. Membuat sistem arsitektur yang jelas pada tahap awal dalam pengembangan sistem memerlukan beberapa analisis. keputusan desain arsitektur memiliki efek mendalam apakah bisa atau tidak sistem dapat memenuhi persyaratan kritis seperti kinerja, kehandalan, dan pemeliharaan.
  3. Skala besar penggunaan kembali. Sebuah model arsitektur sistem merupakan deskripsi kompak, dikelola bagaimana sistem diorganisir dan bagaimana komponen beroperasi. Arsitektur sistem ini sering sama untuk sistem baru yang dibuat dengan persyaratan yang sama dan dapat mendukung penggunaan kembali perangkat lunak dalam skala besar.

Desain arsitektur merupakan proses kreatif di mana anda merancang organisasi sistem yang akan memenuhi kebutuhan fungsional dan non-fungsional dari suatu sistem. Karena merupakan proses kreatif, kegiatan dalam proses tergantung pada jenis sistem sedang dikembangkan, latar belakang dan pengalaman dari sistem arsitek, dan persyaratan khusus untuk sistem. Oleh karena itu sangat berguna untuk memikirkan desain arsitektur sebagai rangkaian keputusan yang harus dibuat daripada urutan kegiatan. Arsitektur sistem perangkat lunak mungkin didasarkan pada pola arsitektur tertentu atau gaya. 

Pola arsitektur adalah deskripsi dari sebuah organisasi sistem (Garlan dan Shaw, 1993), seperti organisasi client-server atau arsitektur berlapis. Pola arsitektur menangkap esensi dari arsitektur yang telah digunakan dalam sistem perangkat lunak yang berbeda. Anda harus menyadari pola umum, di mana mereka dapat digunakan, dan kekuatan dan kelemahan mereka ketika membuat keputusan tentang arsitektur sistem. Anda harus memilih struktur yang paling tepat, seperti client-server atau penataan berlapis, yang akan memungkinkan anda untuk memenuhi persyaratan sistem. Pendekatan yang dapat anda gunakan memungkinkan berbagai jenis arsitektur untuk dilaksanakan. Akhirnya, dalam proses pemodelan kontrol, Anda membuat keputusan tentang bagaimana pelaksanaan komponen dikendalikan. Anda mengembangkan model umum hubungan kontrol antara berbagai bagian dari sistem. Karena hubungan erat antara kebutuhan non-fungsional dan arsitektur perangkat lunak, gaya arsitektur tertentu dan struktur yang Anda pilih untuk sistem harus tergantung pada persyaratan sistem non-fungsional seperti:
  • Kinerja. Jika kinerja merupakan persyaratan penting, arsitektur harus dirancang untuk melokalisasi operasi penting dalam sejumlah kecil komponen, dengan komponen ini semua digunakan pada komputer yang sama daripada didistribusikan di seluruh jaringan. 
  • Keamanan. Jika keamanan merupakan kebutuhan penting, struktur berlapis untuk arsitektur harus digunakan, dengan aset yang paling penting dilindungi di lapisan terdalam, dengan tingkat tinggi validasi keamanan diterapkan pada lapisan ini.
  • Keselamatan. Jika keselamatan merupakan persyaratan penting, arsitektur harus dirancang sehingga operasi yang terkait dengan keselamatan semua terletak di salah satu komponen atau sejumlah kecil komponen. Hal ini akan mengurangi biaya dan masalah validasi keamanan dan memungkinkan untuk menyediakan sistem perlindungan terkait yang dapat dengan aman mematikan sistem dalam hal kegagalan.
  • Ketersediaan. Jika ketersediaan merupakan kebutuhan penting, arsitektur harus dirancang untuk memasukkan komponen berlebihan sehingga dimungkinkan untuk mengganti dan memperbarui komponen tanpa henti sistem.
  • Perawatan. Jika perawatan merupakan persyaratan penting, arsitektur sistem harus dirancang menggunakan fine-grain, komponen mandiri yang dapat mudah diubah. Produsen data harus dipisahkan dari konsumen dan struktur data bersama harus dihindari.
Banyak pola umum yang dapat digunakan dalam pengembangan perangkat lunak. Pola arsitektur yang termuat dalam buku Software Engineering 9th Edition oleh Ian Sommervilee dipilih dari pola yang banyak digunakan dan yang menangkap prinsip-prinsip desain arsitektur yang baik yaitu Layered architecture, Repository architecture, Client–server architecture, dan Pipe and filter architecture.

Sumber : Buku Software Engineering 9th Edition oleh Ian Sommervilee

Penulis  : Sukran (J1F113003) Ilmu Komputer Universitas Lambung Mangkurat








4 comments

This comment has been removed by the author.
This comment has been removed by the author.

Terimakasih, artikelnya sangat bermanfaat


EmoticonEmoticon