250 likes | 411 Views
Ar s ite k tur Perangkat Lunak. Pengantar. Setiap s i stem yang kompleks terdiri dari sub-s i stem yang saling berinteraksi
E N D
Arsitektur Perangkat Lunak 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
Arsitektur adalah perancangan sistem pada level tertinggi • Pemilihan tentang teknologi, produk yang akan digunakan, server, dll dilakukan pada level arsitektur 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 negosiasidan persetujuan • Ars PL juga dapat digunakan untuk memahami sistem yang berjalan systems 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
konstruksidand evolusi • Beberapa struktur dalam deskripsi arsakan digunakan untuk memandu pengembangan sistem • Pembagian pada level arsitektur dapat juga digunakan untuk alokasi pekerjaan terhadap tim yang ada • Berkenaan dengan evolusi, arsmembantu menentukan apa yang dibutuhkan untuk diubah mengakomodasi fitur baru (new change) • Arch membantu menentukan dampak dari perubahan terhadap komponen yang ada s 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 parameterseperti load etc disediakan Software Architecture
Arsitektur View • Terdapat view yang berbeda sistem PL • view terdiri dari element-elemen dan relasi antara elemen, dan menjelaskansuatu struktur • Element dari view tergantung denganapa yang view inginkan untuk penekanan • view fokus pada beberapa aspeks mengurangi kompleksitas yang ada Software Architecture
Banyak tipe view yang telah diperkenalkan • Dari kesemuanya memiliki satu dari 3 tipe berikut • Module • Component dan Connector • Allocation Software Architecture
View Module • Suatu sys adalah kumpulan unit kode • Element-elemen yang termasuk module, eg. Class, package, function, procedure,… • Relasi antaraelemen-elemen adalah berbasis kode e.g. part of, depends on, calls, generalization-specialization,.. Software Architecture
Views… • Component dan Connector (C&C) • Elemen-elemen adalah entitas run time yang disebut komponen • Komponen adalah unit yang mempunyai identitasdalama mengeksekusi sistem, e.g. objects, processes, .exe, .dll • Konnector menyediakan sarana interaksi antara komponen-komponen, e.g. pipes, shared memory, sockets Software Architecture
Allocation • Fokus pada bagaimanaunit PL dialokasikan untuk resources seperti hw, file system, people • Menentukan relasi antara element PLdan unit eksekusi dalam suatu lingkungan • Eg. Proses jalan pada processor yang mana, file yang mana berada dimana, … Software Architecture
Deskripsi ars terdiri dari view dari tipe yang berbeda, masing-masing menunjukkan struktur yang berbeda • Sistem yang berbeda perlu tipe view yang berbedatergantung 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
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
Contoh Connector 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
Pada Sistem juga ketika user submit form,Mahasiswa ditunjukkanhasil survey, berapa persentase mahasiswa yang telah mengisi form Gambarkan arsitektur PL untuk sistem diatas? Software Architecture
contoh Software Architecture
Dengan security Software Architecture
Peningkatan Reliabilitas 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
Contoh lain Software Architecture