Nama : Muhammad Irfan Faisal
Npm : 43A87007150396
Kelas : S1/SI 3B Pagi
Ringkasan Dari Software Architecture :
- Arsitektur dari sistem perangkat lunak menyediakan tampilan tingkat tinggi yang sangat dari
sistem dalam hal bagian dari sistem dan bagaimana mereka berhubungan untuk membentuk
seluruh sistem.
- Deskripsi arsitektur sistem karena itu akan menggambarkan struktur yang berbeda dari
sistem. Pertanyaan alami berikutnya adalah mengapa harus tim membangun sistem perangkat
lunak untuk beberapa pelanggan tertarik dalam menciptakan dan mendokumentasikan struktur
dari sistem yang diusulkan. Beberapa penting menggunakan itu deskripsi arsitektur perangkat
lunak bermain adalah [6, 23, 54]:
1. Pemahaman dan komunikasi. Deskripsi arsitektur terutama untuk berkomunikasi
arsitektur untuk berbagai pemangku kepentingan, termasuk pengguna yang akan
menggunakan sistem, klien yang ditugaskan sistem, pembangun yang akan membangun
sistem, dan, tentu saja, arsitek. Melalui penjelasan ini para pemangku kepentingan
memperoleh pemahaman tentang beberapa sifat makro dari sistem dan bagaimana
sistem bermaksud untuk ful mengisi persyaratan fungsional dan kualitas. Sebagai
gambaran menyediakan bahasa umum antara pemangku kepentingan, itu juga menjadi
kendaraan untuk negosiasi dan kesepakatan di antara para pemangku kepentingan,
yang mungkin memiliki tujuan yang saling bertentangan.
2. Penggunaan kembali. Dunia rekayasa perangkat
lunak telah, untuk waktu yang lama, telah bekerja menuju suatu disiplin di mana
perangkat lunak dapat dirakit dari bagian-bagian yang dikembangkan oleh orang
yang berbeda dan tersedia untuk orang lain untuk digunakan. Jika seseorang
ingin membangun sebuah produk perangkat lunak di mana komponen yang ada dapat
digunakan kembali, maka arsitektur menjadi titik kunci di mana menggunakan
kembali di tingkat tertinggi diputuskan. arsitektur harus dipilih sedemikian
rupa bahwa komponen yang harus digunakan kembali dapat cocok dengan baik dan
bersama-sama dengan komponen lain yang dapat dikembangkan. Arsitektur juga
memfasilitasi penggunaan kembali antara produk-produk yang keluarga yang sama
dan membangun produk tersebut bahwa bagian-bagian umum dari produk-produk yang
berbeda tetapi sama dapat digunakan kembali. Arsitektur membantu menentukan apa
yang tetap dan apa yang variabel dalam produk-produk yang berbeda, dan dapat
membantu meminimalkan set elemen variabel sehingga produk yang berbeda dapat
berbagi bagian software secara maksimal. Sekali lagi, sangat sulit untuk
mencapai jenis ini digunakan kembali pada tingkat rinci.
3. Konstruksi
dan Evolution. Arsitektur partisi sistem menjadi bagian-bagian, beberapa
arsitektur tersedia partisi dapat digunakan secara alami untuk membangun
sistem, yang juga mensyaratkan bahwa sistem akan dipecah menjadi bagian-bagian
sehingga tim yang berbeda (atau individu) secara terpisah dapat bekerja pada
bagian yang berbeda. Sebuah partisi cocok dalam arsitektur dapat memberikan
proyek dengan bagian-bagian yang perlu dibangun untuk membangun sistem.
Seperti, hampir menurut definisi, bagian-bagian yang ditentukan dalam
arsitektur relatif independen (ketergantungan antara bagian-bagian yang datang
melalui hubungan mereka), mereka dapat dibangun secara mandiri.
4. Analisis. Hal ini sangat diinginkan jika dapat
ditentukan beberapa sifat penting tentang perilaku sistem sebelum sistem ini
benar-benar dibangun. Hal ini akan memungkinkan para desainer untuk
mempertimbangkan alternatif dan memilih salah satu yang terbaik akan sesuai
dengan kebutuhan. Banyak disiplin ilmu teknik menggunakan model untuk
menganalisis desain produk untuk biaya, kehandalan, kinerja, dll Arsitektur
membuka kemungkinan seperti untuk perangkat lunak juga. Hal ini dimungkinkan
(meskipun metode tidak sepenuhnya dikembangkan atau standar belum) untuk
menganalisis atau memprediksi sifat dari sistem yang dibangun dari arsitektur.
Misalnya, keandalan atau kinerja sistem dapat dianalisis. analisis tersebut
dapat membantu menentukan apakah sistem akan memenuhi persyaratan kualitas dan
kinerja, dan jika tidak, apa yang perlu dilakukan untuk memenuhi persyaratan.
Misalnya, sambil membangun sebuah website untuk belanja, adalah mungkin untuk
menganalisis waktu respon atau throughput untuk arsitektur yang diusulkan,
mengingat beberapa asumsi mengenai beban permintaan dan hardware. Hal ini
kemudian dapat memutuskan apakah kinerja yang memuaskan atau tidak, dan jika
tidak, apa kemampuan baru harus ditambahkan (misalnya, arsitektur yang berbeda
atau server yang lebih cepat untuk back end) untuk meningkatkan ke tingkat yang
memuaskan.
- Tergantung pada bagaimana sistem dipartisi, kita mendapatkan tampilan arsitektur yang berbeda dari sistem. Akibatnya, arsitektur sistem perangkat lunak didefinisikan sebagai struktur dari sistem yang terdiri dari unsur perangkat lunak, sifat eksternal terlihat mereka, dan hubungan di antara mereka.
- Arsitektur memfasilitasi pengembangan sistem berkualitas tinggi. Hal ini juga memungkinkan analisis dari banyak sifat sistem seperti kinerja yang tergantung sebagian besar pada arsitektur harus dilakukan di awal siklus hidup perangkat lunak.
- Ada tiga pandangan arsitektur utama dari modul sistem, komponen dan konektor, dan alokasi. Dalam pandangan modul, sistem ini dipandang sebagai struktur modul pemrograman seperti paket, kelas, fungsi, dll dalam komponen dan konektor (C & C) lihat, sistem adalah kumpulan dari entitas runtime disebut komponen, yang saling berinteraksi melalui konektor. Pandangan alokasi menggambarkan bagaimana unit perangkat lunak yang berbeda dialokasikan ke sumber daya perangkat keras dalam sistem.
- Component and Connerctor (C & C) view adalah yang paling umum, dan sering pusat dari deskripsi arsitektur. Pandangan ini sering digambarkan oleh diagram blok menentukan komponen yang berbeda dan konektor yang berbeda antara komponen.
- Ada beberapa gaya umum untuk C & C tampilan yang telah ditemukan berguna untuk membuat arsitektur ini tampilan untuk sistem. Ini termasuk pipa dan filter, data bersama, client server, mempublikasikan-berlangganan, peer to peer, dan berkomunikasi proses gaya. Masing-masing gaya ini menggambarkan jenis komponen dan konektor yang ada dan kendala pada bagaimana mereka digunakan.
- Pipa dan filter memiliki satu jenis komponen (filter) dan satu jenis konektor (pipe) dan komponen dapat dihubungkan melalui pipa.
- Gaya client-server memiliki dua jenis komponen (client dan server) dan ada satu konektor (permintaan / reply). Seorang klien hanya dapat berkomunikasi dengan server, dan interaksi yang diprakarsai oleh klien.
- Dalam gaya data bersama dua jenis komponen yang repositori dan data accesor. Accesor data membaca / menulis repositori dan berbagi informasi di antara mereka sendiri melalui repositori.
- Arsitektur membentuk dasar untuk sistem dan sisanya dari kegiatan desain dan pengembangan, dan perlu didokumentasikan dengan baik. Sebuah dokumen arsitektur yang tepat harus menjelaskan konteks di mana arsitektur dirancang, pandangan arsitektur yang berbeda yang diciptakan, dan bagaimana pandangan yang berbeda berhubungan satu sama lain. Deskripsi arsitektur harus menentukan jenis elemen dan perilaku eksternal mereka, dan alasan arsitektur.
-
Dokumen pendukung yang diperlukan untuk tampilan diagram. dokumen pendukung ini
harus memiliki beberapa atau semua hal berikut:
1
Elemen Katalog. Memberikan informasi
lebih lanjut tentang unsur-unsur yang ditampilkan dalam representasi utama.
Selain menjelaskan tujuan dari elemen, juga harus menjelaskan antarmuka elemen
'(ingat bahwa semua elemen memiliki antarmuka di mana mereka berinteraksi
dengan unsur-unsur lain). Semua di ff erent antarmuka yang disediakan oleh
elemen harus ditentukan. Interface harus memiliki identitas yang unik, dan
spesifikasi harus memberikan kedua informasi sintaksis dan semantik. informasi
sintaksis sering dalam hal tanda tangan, yang menggambarkan semua item data
yang terlibat dalam antarmuka dan jenis mereka. informasi semantik harus
menjelaskan apa antarmuka tidak. deskripsi juga harus jelas menyatakan kondisi
kesalahan bahwa antarmuka dapat kembali.
2
Arsitektur Dasar pemikiran. Meskipun
pandangan menentukan unsur-unsur dan hubungan antara mereka, tidak memberikan
wawasan ke dalam mengapa arsitek memilih struktur tertentu. Arsitektur alasan
memberikan alasan untuk memilih unsur-unsur yang berbeda dan menyusun mereka
dengan cara itu dilakukan. Bagian ini juga dapat memberikan beberapa diskusi
tentang alternatif yang dipertimbangkan dan mengapa mereka ditolak. Diskusi
ini, selain menjelaskan pilihan, juga berguna kemudian ketika seorang analis
membuat perubahan bertanya-tanya mengapa arsitektur tidak harus diubah dalam
beberapa cara (yang mungkin bisa membuat perubahan mudah).
3
Tingkah laku. Pandangan memberikan
informasi struktural. Tidak mewakili perilaku aktual atau eksekusi. Akibatnya,
dalam struktur, semua interaksi yang mungkin selama eksekusi akan ditampilkan.
Kadang-kadang, perlu untuk mendapatkan beberapa gagasan tentang perilaku aktual
dari sistem dalam beberapa skenario. seperti deskripsi berguna untuk berdebat
tentang sifat seperti kebuntuan. deskripsi perilaku dapat diberikan untuk
membantu pemahaman bantuan eksekusi sistem. Sering diagram seperti diagram
kolaborasi atau urutan diagram (kita akan membahas ini lebih lanjut dalam Bab 6
tentang desain OO) digunakan.
4
Informasi lainnya. Ini mungkin termasuk
keterangan tentang semua keputusan-keputusan yang belum diambil selama
pembuatan arsitektur tetapi telah sengaja untuk masa depan, seperti, pilihan
server atau protokol. Jika ini dilakukan, maka harus ditetapkan sebagai
memperbaiki ini akan memiliki dampak pada arsitektur.
- Arsitektur harus dievaluasi untuk melihat bahwa itu memenuhi persyaratan. Pendekatan yang umum adalah untuk melakukan evaluasi subjektif sehubungan dengan sifat yang diinginkan.
Tidak ada komentar:
Posting Komentar