Visual Progamming Environment | Konsep Software Architecture
Apa Itu Software Architecture?
(Software Architecture) Arsitektur perangkat lunak adalah konsep yang mudah dipahami, dan yang dirasakan oleh sebagian besar insinyur secara intuitif, terutama dengan sedikit pengalaman, tetapi sulit untuk didefinisikan secara tepat. Secara khusus, sulit untuk menarik garis tajam antara desain dan arsitektur-arsitektur adalah salah satu aspek desain yang berkonsentrasi pada beberapa fitur tertentu.
Dalam Pengantar Software Architecture, David Garlan dan Mary Shaw menyarankan bahwa Software Architecture adalah tingkat desain yang berkaitan dengan masalah: "Di luar algoritme dan struktur data komputasi; merancang dan menentukan struktur sistem secara keseluruhan muncul sebagai jenis masalah baru Masalah struktural termasuk organisasi bruto dan struktur kontrol global; protokol untuk komunikasi, sinkronisasi, dan akses data; penetapan fungsionalitas untuk elemen desain; distribusi fisik; komposisi elemen desain; penskalaan dan kinerja; dan pemilihan di antara alternatif desain. "
Tapi ada lebih dari sekedar arsitektur; IEEE Working Group on Architecture mendefinisikannya sebagai "konsep tingkat tertinggi dari sistem di lingkungannya" [IEP1471]. Ini juga mencakup "kesesuaian" dengan integritas sistem, dengan batasan ekonomis, dengan perhatian estetika, dan dengan gaya. Ini tidak terbatas pada fokus ke dalam, tetapi mempertimbangkan sistem secara keseluruhan di lingkungan penggunanya dan lingkungan pengembangannya - fokus ke luar.
Dalam RUP, arsitektur sistem perangkat lunak (pada titik tertentu) adalah organisasi atau struktur komponen penting sistem yang berinteraksi melalui antarmuka, dengan komponen yang terdiri dari komponen dan antarmuka yang lebih kecil secara berturut-turut.
Deskripsi Architecture
Sebelum mengenal tentang arsitektur perangkat lunak, pertama-tama Anda harus mendefinisikan representasi arsitektur, cara mendeskripsikan aspek penting dari suatu arsitektur. Di RUP, deskripsi ini dicatat dalam Dokumen Arsitektur Perangkat Lunak.
Tampilan Arsitektur
Setiap tampilan arsitektural membahas beberapa masalah khusus, khusus untuk pemangku kepentingan dalam proses pengembangan: pengguna, perancang, manajer, insinyur sistem, pengelola, dan sebagainya.
Pandangan menangkap keputusan desain struktural utama dengan menunjukkan bagaimana arsitektur perangkat lunak diuraikan menjadi komponen, dan bagaimana komponen dihubungkan oleh konektor untuk menghasilkan bentuk yang berguna [PW92]. Pilihan desain ini harus dikaitkan dengan Persyaratan, fungsional, dan tambahan, dan batasan lainnya. Tetapi pilihan-pilihan ini pada gilirannya menempatkan kendala lebih jauh pada persyaratan dan keputusan desain masa depan di tingkat yang lebih rendah.
Kumpulan Tampilan Arsitektur Khas
Arsitektur diwakili oleh sejumlah pandangan arsitektur yang berbeda, yang pada intinya adalah ekstrak yang menggambarkan elemen-elemen model yang "secara arsitektural signifikan". Dalam RUP, Anda mulai dari kumpulan tampilan biasa, yang disebut "model tampilan 4 + 1". Ini terdiri dari:
- Tampilan Use-Case ( Use-Case View), yang berisi kasus penggunaan dan skenario yang mencakup perilaku, kelas, atau risiko teknis yang signifikan secara arsitektural. Ini adalah bagian dari Model Kasus Penggunaan.
- Logical View (Logical View), yang berisi kelas desain yang paling penting dan organisasinya ke dalam paket dan subsistem, dan organisasi paket dan subsistem ini ke dalam lapisan. Ini berisi juga beberapa realisasi kasus penggunaan. Ini adalah bagian dari Model Desain.
- Tampilan Implementasi (Implementation View), yang berisi gambaran dari Model Implementasi dan organisasinya dalam hal modul ke dalam paket dan lapisan. Alokasi paket dan kelas (dari Logical View) ke paket dan modul dari Tampilan Implementasi juga dijelaskan. Ini adalah bagian dari Model Implementasi.
- Tampilan Proses (Process View), yang berisi deskripsi tugas (proses dan utas) yang terlibat, interaksi dan konfigurasinya, serta alokasi objek desain dan kelas untuk tugas. Tampilan ini hanya perlu digunakan jika sistem memiliki tingkat Concurrency yang signifikan. Di RUP, ini adalah bagian dari Model Desain.
- Deployment View (Deployment View), yang berisi deskripsi berbagai node fisik untuk konfigurasi platform paling umum, dan alokasi tugas (dari Tampilan Proses) ke node fisik. Tampilan ini hanya perlu digunakan jika sistem didistribusikan. Ini adalah bagian dari Model Penerapan.
Tampilan arsitektur didokumentasikan dalam Dokumen Arsitektur Perangkat Lunak. kita dapat membayangkan tampilan tambahan untuk mengungkapkan masalah khusus yang berbeda: tampilan antarmuka pengguna, tampilan keamanan, tampilan data, dan sebagainya. Untuk sistem sederhana, Anda dapat menghilangkan beberapa tampilan yang terdapat dalam model tampilan 4 + 1.
Fokus Arsitektur
Meskipun pandangan di atas dapat mewakili keseluruhan desain sistem, arsitektur hanya memperhatikan beberapa aspek tertentu:
- Struktur model (structure)- pola organisasi, misalnya Layering.
- Elemen penting (essential elements)- kasus penggunaan kritis, kelas utama, mekanisme umum, dan sebagainya, sebagai lawan dari semua elemen yang ada dalam model.
- Beberapa skenario utama (key scenarios) yang menunjukkan aliran kontrol utama di seluruh sistem.
- Layanan (services), untuk menangkap modularitas, fitur opsional, aspek lini produk.
Intinya, pandangan arsitektural adalah abstraksi, atau penyederhanaan, dari keseluruhan desain, di mana karakteristik penting dibuat lebih terlihat dengan mengesampingkan detail. Ciri-ciri ini penting ketika mempertimbangkan tentang:
- Evolusi sistem-menuju siklus pengembangan berikutnya.
- Penggunaan kembali arsitektur, atau bagiannya, dalam konteks lini produk.
- Penilaian kualitas tambahan, seperti kinerja, ketersediaan, portabilitas, dan keamanan.
- Penugasan pekerjaan pengembangan kepada tim atau subkontraktor.
- Keputusan tentang menyertakan komponen siap pakai.
- Penyisipan dalam sistem yang lebih luas.
Pola Arsitektur
Pola arsitektur adalah bentuk siap pakai yang memecahkan masalah arsitektur yang berulang. Kerangka arsitektur atau infrastruktur arsitektur (middleware) adalah sekumpulan komponen tempat Anda dapat membangun jenis arsitektur tertentu. Banyak dari kesulitan arsitektural utama harus diselesaikan dalam kerangka kerja atau dalam infrastruktur, biasanya ditargetkan ke domain tertentu: perintah dan kendali, MIS, sistem kendali, dan sebagainya.
Gaya arsitektur
Sebuah arsitektur perangkat lunak, atau hanya tampilan arsitektural, mungkin memiliki atribut yang disebut gaya arsitektur, yang mengurangi himpunan bentuk yang mungkin untuk dipilih, dan memaksakan tingkat keseragaman tertentu pada arsitektur. Gaya dapat ditentukan oleh sekumpulan pola, atau oleh pilihan komponen atau konektor tertentu sebagai blok bangunan dasar. Untuk sistem tertentu, beberapa gaya dapat ditangkap sebagai bagian dari deskripsi arsitektural dalam panduan gaya arsitektur yang disediakan melalui produk kerja Project-Specific Guidelines di RUP. Gaya memainkan peran utama dalam pemahaman dan integritas arsitektur.
Cetak Biru Arsitektur
Penggambaran grafis dari suatu tampilan arsitektur disebut cetak biru arsitektur. Untuk berbagai tampilan yang dijelaskan di atas, cetak biru tersebut terdiri dari diagram berikut dari Unified Modeling Language [UML01]:
- Tampilan Logis (Logical View). Diagram kelas, mesin negara, dan diagram objek
- Tampilan Proses (Process View). Diagram kelas dan diagram objek (mencakup proses tugas dan utas)
- Tampilan Implementasi (Implementation View). Diagram komponen
- Tampilan Penerapan (Deployment View). Diagram penyebaran
- Tampilan Use-Case (Use-Case View). Diagram use-case yang menggambarkan kasus penggunaan, aktor, dan kelas desain biasa; diagram urutan yang menggambarkan objek desain dan kolaborasinya
Proses Arsitek
Dalam RUP, arsitektur utamanya merupakan hasil dari alur kerja analisis & desain. Saat proyek menghidupkan kembali alur kerja ini, iterasi setelah iterasi, arsitektur berevolusi menjadi halus dan halus. Karena setiap iterasi menyertakan integrasi dan pengujian, arsitekturnya cukup kokoh pada saat produk dikirim. Arsitektur ini adalah fokus utama dari iterasi fase Elaborasi, yang pada akhirnya arsitektur biasanya menjadi garis dasar.
Posting Komentar untuk "Visual Progamming Environment | Konsep Software Architecture"