Sabtu, 05 November 2016

Software Architecture

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 (pip
e) 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