Teknik Arsitektur
Pendekatan Iteratif dan Incremental
Ini adalah pendekatan iteratif dan inkremental yang terdiri dari lima langkah utama yang membantu menghasilkan solusi kandidat. Solusi kandidat ini selanjutnya dapat disempurnakan dengan mengulangi langkah-langkah ini dan akhirnya membuat desain arsitektur yang paling sesuai dengan aplikasi kita. Di akhir proses, kami dapat meninjau dan mengkomunikasikan arsitektur kami kepada semua pihak yang berkepentingan.
Ini hanyalah satu pendekatan yang mungkin. Ada banyak pendekatan lain yang lebih formal yang mendefinisikan, meninjau, dan mengkomunikasikan arsitektur Anda.
Identifikasi Tujuan Arsitektur
Identifikasi tujuan arsitektur yang membentuk arsitektur dan proses desain. Tujuan yang sempurna dan terdefinisi menekankan pada arsitektur, menyelesaikan masalah yang tepat dalam desain dan membantu menentukan kapan fase saat ini telah selesai, dan siap untuk pindah ke fase berikutnya.
Langkah ini mencakup kegiatan berikut -
- Identifikasi tujuan arsitektur Anda di awal.
- Identifikasi konsumen arsitektur kami.
- Identifikasi kendala.
Contoh aktivitas arsitektur termasuk membangun prototipe untuk mendapatkan umpan balik tentang UI pemrosesan pesanan untuk aplikasi Web, membangun aplikasi pelacakan pesanan pelanggan, dan merancang otentikasi, dan arsitektur otorisasi untuk aplikasi untuk melakukan tinjauan keamanan.
Skenario Kunci
Langkah ini menekankan pada desain yang paling penting. Skenario adalah deskripsi ekstensif dan mencakup interaksi pengguna dengan sistem.
Skenario utama adalah skenario yang dianggap paling penting untuk keberhasilan aplikasi Anda. Ini membantu untuk membuat keputusan tentang arsitektur. Tujuannya adalah untuk mencapai keseimbangan antara tujuan pengguna, bisnis, dan sistem. Misalnya, autentikasi pengguna adalah skenario kunci karena merupakan perpotongan dari atribut kualitas (keamanan) dengan fungsionalitas penting (cara pengguna masuk ke sistem Anda).
Ikhtisar Aplikasi
Buat ikhtisar aplikasi, yang membuat arsitektur lebih mudah disentuh, menghubungkannya dengan batasan dan keputusan dunia nyata. Ini terdiri dari kegiatan berikut -
Identifikasi Jenis Aplikasi
Identifikasi jenis aplikasi apakah itu aplikasi seluler, klien kaya, aplikasi internet kaya, layanan, aplikasi web, atau beberapa kombinasi dari jenis ini.
Identifikasi Kendala Penerapan
Pilih topologi penerapan yang sesuai dan selesaikan konflik antara aplikasi dan infrastruktur target.
Identifikasi Gaya Desain Arsitektur Penting
Identifikasi gaya desain arsitektur penting seperti klien / server, layered, message-bus, desain domain-driven, dll. Untuk meningkatkan pemartisian dan mempromosikan penggunaan kembali desain dengan memberikan solusi untuk masalah yang sering berulang. Aplikasi sering kali menggunakan kombinasi gaya.
Identifikasi Teknologi yang Relevan
Identifikasi teknologi yang relevan dengan mempertimbangkan jenis aplikasi yang kami kembangkan, opsi pilihan kami untuk topologi penerapan aplikasi, dan gaya arsitektur. Pilihan teknologi juga akan diarahkan oleh kebijakan organisasi, keterbatasan infrastruktur, keterampilan sumber daya, dan lain sebagainya.
Masalah Utama atau Hotspot Utama
Saat mendesain aplikasi, hot spot adalah zona di mana kesalahan paling sering dibuat. Identifikasi masalah utama berdasarkan atribut kualitas dan masalah lintas sektoral. Masalah potensial termasuk munculnya teknologi baru dan persyaratan bisnis yang kritis.
Atribut kualitas adalah keseluruhan fitur arsitektur Anda yang memengaruhi perilaku waktu proses, desain sistem, dan pengalaman pengguna. Masalah lintas sektoral adalah fitur desain kami yang dapat diterapkan di semua lapisan, komponen, dan tingkatan.
Ini juga area di mana kesalahan desain berdampak tinggi paling sering dibuat. Contoh masalah lintas sektoral adalah otentikasi dan otorisasi, komunikasi, manajemen konfigurasi, manajemen pengecualian dan validasi, dll.
Solusi Kandidat
Setelah menentukan hotspot kunci, buat arsitektur baseline awal atau desain tingkat tinggi pertama, lalu mulai mengisi detail untuk menghasilkan arsitektur kandidat.
Arsitektur kandidat mencakup jenis aplikasi, arsitektur penerapan, gaya arsitektur, pilihan teknologi, atribut kualitas, dan masalah lintas sektor. Jika arsitektur kandidat adalah perbaikan, itu bisa menjadi dasar dari mana arsitektur kandidat baru dapat dibuat dan diuji.
Validasi desain solusi kandidat terhadap skenario dan persyaratan utama yang telah ditentukan, sebelum mengikuti siklus secara berulang dan menyempurnakan desain.
Kami dapat menggunakan paku arsitektur untuk menemukan area spesifik dari desain atau untuk memvalidasi konsep baru. Paku arsitektur adalah prototipe desain, yang menentukan kelayakan jalur desain tertentu, mengurangi risiko, dan dengan cepat menentukan kelayakan berbagai pendekatan. Uji lonjakan arsitektur terhadap skenario dan hotspot utama.
Review Arsitektur
Tinjauan arsitektur adalah tugas terpenting untuk mengurangi biaya kesalahan dan untuk menemukan serta memperbaiki masalah arsitektur sedini mungkin. Ini adalah cara yang mapan dan hemat biaya untuk mengurangi biaya proyek dan kemungkinan kegagalan proyek.
Tinjau arsitektur sesering mungkin pada pencapaian proyek besar, dan sebagai tanggapan terhadap perubahan arsitektur signifikan lainnya.
Tujuan utama tinjauan arsitektur adalah untuk menentukan kelayakan arsitektur baseline dan kandidat, yang memverifikasi arsitektur dengan benar.
Hubungkan persyaratan fungsional dan atribut kualitas dengan solusi teknis yang diusulkan. Ini juga membantu mengidentifikasi masalah dan mengenali area untuk perbaikan
Evaluasi berbasis skenario adalah metode dominan untuk meninjau desain arsitektur yang berfokus pada skenario yang paling penting dari perspektif bisnis, dan yang memiliki dampak terbesar pada arsitektur. Berikut adalah metodologi tinjauan umum -
Metode Analisis Arsitektur Perangkat Lunak (SAAM)
Ini pada awalnya dirancang untuk menilai modifiabilitas, tetapi kemudian diperluas untuk meninjau arsitektur sehubungan dengan atribut kualitas.
Arsitektur Metode Analisis Tradeoff (ATAM)
Ini adalah versi SAAM yang dipoles dan ditingkatkan, yang meninjau keputusan arsitektural sehubungan dengan persyaratan atribut kualitas, dan seberapa baik mereka memenuhi tujuan kualitas tertentu.
Review Desain Aktif (ADR)
Ini paling cocok untuk arsitektur yang tidak lengkap atau dalam proses, yang lebih fokus pada sekumpulan masalah atau bagian individual dari arsitektur pada satu waktu, daripada melakukan tinjauan umum.
Review Aktif Desain Intermediate (ARID)
Ini menggabungkan aspek ADR dari meninjau arsitektur yang sedang berjalan dengan fokus pada serangkaian masalah, dan pendekatan ATAM dan SAAM dari tinjauan berbasis skenario yang berfokus pada atribut kualitas.
Metode Analisis Manfaat Biaya (CBAM)
Ini berfokus pada analisis biaya, manfaat, dan implikasi jadwal dari keputusan arsitektur.
Analisis Tingkat Modifikasi Arsitektur (ALMA)
Ini memperkirakan modifiabilitas arsitektur untuk sistem informasi bisnis (BIS).
Metode Penilaian Arsitektur Keluarga (FAAM)
Ini memperkirakan arsitektur keluarga sistem informasi untuk interoperabilitas dan ekstensibilitas.
Mengkomunikasikan Desain Arsitektur
Setelah menyelesaikan desain arsitektur, kami harus mengkomunikasikan desain tersebut kepada pemangku kepentingan lainnya, yang meliputi tim pengembangan, administrator sistem, operator, pemilik bisnis, dan pihak lain yang berkepentingan.
Ada beberapa metode terkenal berikut untuk menjelaskan arsitektur kepada orang lain: -
Model 4 + 1
Pendekatan ini menggunakan lima tampilan arsitektur yang lengkap. Di antara mereka, empat pandangan (filelogical view, itu process view, itu physical view, dan development view) menggambarkan arsitektur dari pendekatan yang berbeda. Tampilan kelima menunjukkan skenario dan kasus penggunaan untuk perangkat lunak. Ini memungkinkan para pemangku kepentingan untuk melihat fitur-fitur arsitektur yang secara khusus menarik minat mereka.
Arsitektur Deskripsi Bahasa (ADL)
Pendekatan ini digunakan untuk menggambarkan arsitektur perangkat lunak sebelum implementasi sistem. Ini membahas masalah berikut - perilaku, protokol, dan konektor.
Keuntungan utama ADL adalah kita dapat menganalisis arsitektur untuk kelengkapan, konsistensi, ambiguitas, dan kinerja sebelum secara resmi mulai menggunakan desain.
Pemodelan Tangkas
Pendekatan ini mengikuti konsep bahwa "konten lebih penting daripada representasi". Ini memastikan bahwa model yang dibuat sederhana dan mudah dipahami, cukup akurat, terperinci, dan konsisten.
Dokumen model tangkas menargetkan pelanggan tertentu dan memenuhi upaya kerja pelanggan itu. Kesederhanaan dokumen memastikan bahwa ada partisipasi aktif dari para pemangku kepentingan dalam pemodelan artefak.
IEEE 1471
IEEE 1471 adalah nama pendek untuk standar yang secara resmi dikenal sebagai ANSI / IEEE 1471-2000, “Praktik yang Disarankan untuk Deskripsi Arsitektur dari Sistem Intensif Perangkat Lunak”. IEEE 1471 meningkatkan konten deskripsi arsitektural, khususnya, memberikan arti khusus pada konteks, pandangan, dan sudut pandang.
Unified Modeling Language (UML)
Pendekatan ini mewakili tiga pandangan dari model sistem. Itufunctional requirements view (persyaratan fungsional sistem dari sudut pandang pengguna, termasuk kasus penggunaan); the static structural view(objek, atribut, hubungan, dan operasi termasuk diagram kelas); dandynamic behavior view (kolaborasi antara objek dan perubahan keadaan internal objek, termasuk urutan, aktivitas, dan diagram status).