Arsitektur Perangkat Lunak Software Architecture
Software Architecture Pengantar Setiap sistem yang kompleks terdiri dari sub-sistem yang saling berinteraksi Dalam perancangan sistem, suatu pendekatan dilakukan untuk mengidentifikasi sub-sistem dan bagaimana sub sistem tersebut saling berinteraksi antara satu dengan yang lain Arsitektur PL digunakan untuk hal tersebut Software Architecture
Software Architecture Arsitektur adalah perancangan sistem pada level tertinggi Pemilihan tentang teknologi, produk yang akan digunakan, server, dll dilakukan pada level arsitektur Software Architecture
Software Architecture Arsitektur Arsitektur adalah perancangan PL yang memberikan view dari komponen-komponen pada level yang sangat tinggi dan relasi diantara komponen-komponen tersebut Sistem yang kompleks dapat dibagi dengan menggunakan beberapa cara yang berbeda yang masing-masing menyediakan view yang berguna Software Architecture
Penggunaan Deskripsi Arsitektur Pemahaman dan Komunikasi Dengan memperlihatkan sistem pada level yang tinggi dan menyembunyikan kompleksitas bagian memungkinkan Ars PL memfasilitasi komunikasi Untuk mendapatkan pemahaman umum antara stakeholders yang berbeda(user, client, arsitek, designer,…) Untuk negosiasi dan persetujuan Ars PL juga dapat digunakan untuk memahami sistem yang berjalan systems Software Architecture
Software Architecture Penggunaan Ulang Metoda penggunaan ulang untuk membuat sistem dari bagian-bagian dan menggunakan bagian yang sudah ada Untuk menggunakan ulang komponen yang ada harus dipastikan bahwa komponen tersebut sesuai dengan komponen yang lain Oleh karenanya , keputusan mengenai penggunaan ulang komponen dilakukan pada perancangan arsitektur Software Architecture
Software Architecture konstruksi dand evolusi Beberapa struktur dalam deskripsi ars akan digunakan untuk memandu pengembangan sistem Pembagian pada level arsitektur dapat juga digunakan untuk alokasi pekerjaan terhadap tim yang ada Berkenaan dengan evolusi, ars membantu menentukan apa yang dibutuhkan untuk diubah mengakomodasi fitur baru (new change) Arch membantu menentukan dampak dari perubahan terhadap komponen yang ada s Software Architecture
Software Architecture Analisis Jika perf, reliabilitas dapat ditentukan di design, sebagai alternatif dapat dipertimbangkan selama design untuk mencapai level perf yang diinginkan Ars PL membuka kemungkinan hal tersebut untuk PL E.g. rel dand perf sistem dapat diprediksi dari ars-nya, jika estimasi untuk parameter seperti load etc disediakan Software Architecture
Software Architecture Arsitektur View Terdapat view yang berbeda sistem PL view terdiri dari element-elemen dan relasi antara elemen, dan menjelaskan suatu struktur Element dari view tergantung denganapa yang view inginkan untuk penekanan view fokus pada beberapa aspeks mengurangi kompleksitas yang ada Software Architecture
Software Architecture Banyak tipe view yang telah diperkenalkan Dari kesemuanya memiliki satu dari 3 tipe berikut Module Component dan Connector Allocation Software Architecture
Software Architecture View Module Suatu sys adalah kumpulan unit kode Element-elemen yang termasuk module, eg. Class, package, function, procedure,… Relasi antara elemen-elemen adalah berbasis kode e.g. part of, depends on, calls, generalization-specialization,.. Software Architecture
Software Architecture Views… Component dan Connector (C&C) Elemen-elemen adalah entitas run time yang disebut komponen Komponen adalah unit yang mempunyai identitas dalama mengeksekusi sistem, e.g. objects, processes, .exe, .dll Konnector menyediakan sarana interaksi antara komponen-komponen, e.g. pipes, shared memory, sockets Software Architecture
Software Architecture Allocation Fokus pada bagaimana unit PL dialokasikan untuk resources seperti hw, file system, people Menentukan relasi antara element PL dan unit eksekusi dalam suatu lingkungan Eg. Proses jalan pada processor yang mana, file yang mana berada dimana, … Software Architecture
Software Architecture Deskripsi ars terdiri dari view dari tipe yang berbeda, masing-masing menunjukkan struktur yang berbeda Sistem yang berbeda perlu tipe view yang berbeda tergantung kebutuhan E.g. Untuk analisis perf, allocation view diperlukan necessary; Untuk planning, module view diperlukan View C&C hampir selalu digunakan, dan telah menjadi view yang utama kita fokus utama pada view C&C View Module tercakup pada level design, yang fokus pada identifikasi module Software Architecture
View Component dan Connector Dua element utama – komponen dan konektor komponen: element-elemen komputasi atau data stores konektor: sarana interaksi antara komponen View C&C menentukan komp, dan tiap komp terkoneksi melalui konnektor View C&C menjelaskan stuktur runtime sistem – komp apa yang ada di runtime dan bagaimana mereka berinteraksi selama eksekusi Berbentuk suatu graph; digambarkan dengan box dan line Software Architecture
Software Architecture komponen Unit komputasi atau data store Memiliki nama, yang merepresentasikan perannya, dan menyediakan identitas Suatu komp dapat memiliki suatu tipe, tipe yang berbeda direpresentasi dengan simbol yang berbeda Komp menggunakan ports (atau interfaces) untuk komunikasi dengan yang lain Suatu arsitektur dapan menggunakan beberapa simbol untuk merepresentasikan komponen; beberapa diantaranya adalah sbb Software Architecture
Contoh beberapa komponen Software Architecture
Software Architecture Contoh Connector Software Architecture
Software Architecture Contoh Akan dirancang system sederhana untuk membuat survey on-line di kampus. Sistem memiliki sekumpulan pertanyaan multiple-choice sistem yang dibuat akan menyediakan form survey kepada mahasiswa, yang dapat diisi dan disubmit on-line. Software Architecture
Software Architecture Pada Sistem juga ketika user submit form,Mahasiswa ditunjukkan hasil survey, berapa persentase mahasiswa yang telah mengisi form Gambarkan arsitektur PL untuk sistem diatas? Software Architecture
Software Architecture contoh Software Architecture
Software Architecture Dengan security Software Architecture
Peningkatan Reliabilitas Software Architecture
Software Architecture Contoh soal PMB mahasiswa STMIK MDP Repository terdiri dari data mahasiswa, kuliah, jadwal, dll Pengakses Data : ADM, Bagian Marketing, Bagian Kemahasiswaan Gambarkan share-data style untuk registrasi (PMB) tersebut Software Architecture
Software Architecture Contoh lain Software Architecture