SOFTWARE ARSITEKTUR

Nama  : santi
Npm    : 43a87007150347
Kelas  : s1/si/3b/p

software Arsitektur
 
Setiap sistem yang kompleks terdiri dari subsistem yang berinteraksi di bawah kendali desain sistem sehingga sistem menyediakan perilaku yang diharapkan.
Sebagai sistem perangkat lunak yang semakin menjadi didistribusikan dan lebih kompleks, arsitektur menjadi langkah penting dalam membangun sistem... Arsitektur juga merupakan tempat awal ketika properti seperti keandalan dan kinerja dapat dievaluasi untuk sistem, sebuah kemampuan yang semakin menjadi penting.

5.1 Peran Software Arsitektur
Arsitektur sistem memberikan pandangan tingkat yang sangat tinggi dari bagian-bagian dari sistem dan bagaimana mereka berhubungan untuk membentuk seluruh sistem.
Setiap sistem yang kompleks dapat dipartisi dalam banyak cara di ff erent, setiap pro-masi pandangan yang berguna dan masing-masing memiliki jenis di ff erent bagian logis.
Karena kemungkinan ini memiliki beberapa struktur, salah satu definisi yang paling banyak diterima dari arsitektur perangkat lunak adalah bahwa arsitektur perangkat lunak sistem adalah struktur atau struktur dari sistem, yang terdiri software el-ements, sifat eksternal terlihat dari elemen-elemen , dan hubungan di antara mereka.

5.1 Peran Software Arsitektur 97
negosiasi dan kesepakatan di antara para pemangku kepentingan, yang mungkin memiliki tujuan konflik-ing.
2. Reuse. 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 di ff erent orang dan tersedia bagi orang lain untuk digunakan
3. Konstruksi dan Evolution. Arsitektur partisi sistem menjadi bagian-bagian, beberapa partisi arsitektur yang disediakan dapat digunakan secara alami untuk membangun system
4. Analisis. Hal ini sangat diinginkan jika dapat ditentukan beberapa sifat penting tentang be-havior dari sistem sebelum sistem ini benar-benar dibangun.

98 5. Arsitektur Software
tidak, apa kemampuan baru harus ditambahkan (misalnya, di ff erent archi-tecture atau server yang lebih cepat untuk back end) untuk meningkatkan ke tingkat yang memuaskan.

5.2 Arsitektur Views
Ada pandangan umum yang muncul bahwa tidak ada arsitektur yang unik dari sistem. Definisi yang kita anut (diberikan di atas) juga mengungkapkan sentimen ini. Akibatnya, tidak ada gambar salah satu arsitektur sistem.
Serupa adalah situasi dengan arsitektur perangkat lunak. Dalam perangkat lunak, gambar-gambar di ff erent disebut views. Pandangan mewakili sistem sebagai terdiri dari beberapa jenis elemen dan hubungan di antara mereka.
Pandangan menjelaskan struktur sistem. Kami akan menggunakan dua pandangan concepts- dan struktur-bergantian. Kami juga akan menggunakan tampilan arsitektur istilah untuk merujuk ke tampilan. Banyak jenis views telah diusulkan. Sebagian besar dari pandangan diusulkan umumnya termasuk salah satu dari ketiga jenis
5.2 Arsitektur Views 99
- Modul
- Komponen dan konektor
- Alokasi

Dalam pandangan modul, sistem ini dipandang sebagai kumpulan unit kode, masing-masing menerapkan beberapa bagian dari fungsi sistem.
Dalam komponen dan konektor (C & C) lihat, sistem ini dipandang sebagai col-pembacaan entitas runtime disebut komponen. Artinya, komponen adalah unit yang memiliki identitas dalam sistem mengeksekusi. Objects (tidak kelas), sebuah kolektif-tion benda, dan proses adalah contoh dari komponen.
pandangan alokasi menentukan hubungan antara unsur-unsur perangkat lunak dan elemen lingkungan di mana sistem perangkat lunak dijalankan. Mereka mengekspos sifat struktural seperti dimana proses berjalan pada prosesor mana, dan bagaimana file sistem diatur pada sistem file.
Perhatikan bahwa pandangan erent di ff tidak berhubungan. Mereka semua merupakan sistem yang sama. Oleh karena itu, ada hubungan antara unsur-unsur dalam satu tampilan dan ele-KASIH dalam pandangan lain. Hubungan ini mungkin sederhana atau mungkin rumit.

100 5. Arsitektur Software
Misalnya, hubungan antara modul dan komponen mungkin 1-1 dalam satu modul mengimplementasikan salah satu komponen
Namun, meskipun fakta bahwa ada beberapa gambar yang menunjukkan tampilan erent di ff bangunan, ada satu pandangan yang mendominasi dalam konstruksi-yang struktur fisik.
Situasi dengan arsitektur perangkat lunak juga agak mirip. Seperti yang telah kami katakan, tergantung pada sifat-sifat apa yang menarik, pemandangan di ff erent dari arsitektur perangkat lunak yang diperlukan.

5.3 Komponen dan Connector View
C & C lihat arsitektur sistem memiliki dua utama elemen-komponen dan konektor. Komponen biasanya elemen komputasi atau toko data yang memiliki beberapa kehadiran selama pelaksanaan sistem. Konektor menentukan sarana interaksi antara komponen-komponen ini.

5.3.1 Komponen
Komponen umumnya unit perhitungan atau menyimpan data dalam sistem. Sebuah komponen memiliki nama, yang umumnya dipilih untuk mewakili peran


102 5. Arsitektur Software
komponen atau fungsi melakukan. Nama ini juga menyediakan identitas unik untuk komponen, yang diperlukan untuk referensi rincian tentang komponen dalam dokumen pendukung, sebagai C & C menggambar hanya akan menampilkan nama-nama komponen.
Komponen adalah dari jenis komponen, di mana jenis merupakan komponen generik, mendefinisikan komputasi umum dan interface komponen dari jenis yang harus memiliki.
jenis komponen simbol mewakili.

5.3.2 Konektor
Komponen erent di ff dari sistem cenderung berinteraksi sementara sistem dalam operasi untuk menyediakan layanan yang diharapkan dari sistem. Setelah semua, komponen yang ada untuk memberikan bagian dari layanan dan fitur dari sistem, dan ini harus dikombinasikan untuk memberikan fungsionalitas sistem secara keseluruhan.
Interaksi antar komponen dapat melalui cara sederhana yang didukung oleh infrastruktur pelaksanaan proses yang mendasari sistem operasi.

104 5. Arsitektur Software
dalam komponen untuk menggunakan infrastruktur. Akibatnya, hal ini sangat penting untuk mengidentifikasi dan secara eksplisit merupakan konektor ini. Spesifikasi konektor akan membantu mengidentifikasi infrastruktur yang sesuai yang diperlukan untuk menerapkan arsitektur, serta memperjelas kebutuhan pemrograman untuk komponen menggunakan mereka.
Sebuah konektor juga memiliki nama yang harus menggambarkan sifat interaksi konektor mendukung.

 Komponen kedua adalah:
5.3 Komponen dan Connector View 105
server, yang memproses data yang diajukan oleh siswa, dan menyimpannya pada database, yang merupakan komponen ketiga. Server juga query database untuk mendapatkan hasil survei dan mengirimkan hasilnya dalam format yang tepat (HTML) kembali ke client, yang kemudian menampilkan hasilnya.
Arsitektur di atas tidak memiliki keamanan dan mahasiswa dapat mengambil survei sebagai

106 5. Arsitektur Software
sebanyak yang ia inginkan. Selanjutnya, bahkan nonstudent dapat mengambil survei. Sekarang anggaplah Dekan Mahasiswa ingin bahwa sistem ini hanya terbuka untuk siswa yang terdaftar, dan bahwa setiap siswa diperbolehkan untuk mengambil survei paling banyak sekali.
Untuk membuat sistem yang lebih handal, strategi berikut diusulkan. Ketika siswa mengajukan survei, server berinteraksi dengan database seperti sebelumnya. Hasil survei, bagaimanapun, juga disimpan di cache oleh server.

5.4 Gaya Arsitektur untuk C & C View
Ini harus jelas bahwa sistem di ff erent akan memiliki arsitektur di ff erent. Ada beberapa arsitektur umum yang telah diamati di banyak sistem dan yang tampaknya mewakili struktur umum yang berguna untuk arsitektur kelas masalah.

5.4.1 Pipa dan Filter
Pipa-dan-filter bergaya arsitektur cocok untuk sistem yang terutama melakukan transformasi data dimana beberapa input data yang diterima dan tujuan dari sistem ini adalah untuk menghasilkan beberapa data output dengan sesuai mengubah input data.

5.4 Gaya Arsitektur untuk C & C View 109
urutan elemen data yang diterima. Sebagai filter bisa asynchronous dan harus bekerja tanpa sepengetahuan identitas produsen atau konsumen, bu ff kenai dan sinkronisasi perlu memastikan kelancaran fungsi hubungan produsen-konsumen diwujudkan dalam menghubungkan dua filter oleh pipa dipastikan dengan pipa. Filter hanya mengkonsumsi dan menghasilkan data.

110 5. Arsitektur Software
Ini struktur pemilahan kata-kata pertama telah dipilih karena akan membuat tugas menentukan frekuensi lebih e FFI efisien, meskipun itu melibatkan operasi semacam.

5.4.2-Data Bersama Style
Dalam gaya ini, ada dua jenis repositori komponen-data dan accesor data. Komponen tipe data repositori yang mana toko-toko sistem data bersama-ini bisa menjadi sistem file atau database. Komponen-komponen ini pro-vide penyimpanan yang handal dan permanen, mengurus setiap kebutuhan sinkronisasi untuk akses bersamaan, dan memberikan dukungan akses data
Ada dua variasi dari gaya ini mungkin. Dalam gaya papan, jika beberapa data yang diposting di repositori data, semua komponen accessor yang perlu tahu tentang hal itu diinformasikan. Dengan kata lain, sumber data bersama merupakan agen aktif juga yang baik menginformasikan komponen tentang kedatangan data yang menarik, atau mulai pelaksanaan komponen yang perlu bertindak berdasarkan data baru ini.

5.4 Gaya Arsitektur untuk C & C View 111
Seperti yang bisa dibayangkan, banyak aplikasi database menggunakan gaya arsitektur ini. Database, meskipun awalnya lebih seperti repositori, sekarang bertindak baik sebagai repositori serta papan tulis karena mereka memberikan pemicu dan dapat bertindak sebagai e FFI penyimpanan efisien data juga

112 5. Arsitektur Software
Misalnya, jika kemudian diputuskan bahwa penjadwalan kursus bisa auto-dikawinkan berdasarkan data pada pendaftaran (dan informasi lain tentang ruang kelas dll), maka komponen lain yang disebut Penjadwalan dapat hanya menambahkan.
Perhatikan juga bahwa dalam banyak kasus lainnya, konektor melibatkan sejumlah pertimbangkan-mampu infrastruktur yang mendasarinya. Misalnya, membaca dan menulis ke sistem file melibatkan cukup banyak perangkat lunak sistem file yang melibatkan isu-isu seperti direktori, bu ff kenai, mengunci, dan sinkronisasi.

5.4.3 Client-Server Style
Gaya lain yang sangat umum digunakan untuk membangun sistem saat ini adalah gaya client-server. komputasi client-server adalah salah satu paradigma dasar didistribusikan com-puting dan gaya arsitektur ini dibangun di atas paradigma ini.

Ada satu jenis konektor dalam gaya ini-jenis permintaan / balasan. A con-nector menghubungkan klien ke server. Jenis konektor asimetris-akhir klien konektor hanya dapat membuat permintaan (dan menerima balasan), sedangkan end server hanya dapat mengirim balasan dalam menanggapi permintaan itu akan melalui konektor ini.

5.4 Gaya Arsitektur untuk C & C View 113
Sebuah bentuk umum dari gaya ini adalah struktur n-tier. Dalam gaya ini, klien mengirimkan permintaan ke server, tetapi server, untuk melayani permintaan, mengirim beberapa permintaan ke server lain. Yaitu, server juga bertindak sebagai klien untuk tingkat berikutnya. Hirarki ini dapat berlanjut selama beberapa tingkat, menyediakan sistem n-tier.

5.4.4 Beberapa Styles Lain
Publish-Subscribe Style Dalam gaya ini, ada dua jenis komponen. Salah satu jenis komponen berlangganan seperangkat peristiwa didefinisikan. Jenis lain dari compo-motivasional menghasilkan atau mempublikasikan acara. Menanggapi peristiwa ini, komponen yang telah menerbitkan niat mereka untuk memproses acara, dipanggil. jenis gaya yang paling alami dalam kerangka antarmuka pengguna, di mana banyak peristiwa didefinisikan (seperti klik mouse) dan komponen yang ditugaskan untuk peristiwa ini.

114 5. Arsitektur Software
jenis konektor (yaitu, mempublikasikan-berlangganan) didukung. Gaya ini dapat dilihat sebagai kasus khusus dari gaya papan, kecuali bahwa aspek repositori tidak digunakan.

Peer-to-peer gaya, atau gaya berorientasi objek Jika kita mengambil gaya client-server, dan generalisasi setiap komponen menjadi klien serta server, maka kita memiliki gaya ini.

5.5 Mendokumentasikan Desain Arsitektur
Sejauh ini kita telah berfokus pada yang mewakili pandangan melalui diagram. Sementara de-penandatanganan, diagram memang cara yang baik untuk mengeksplorasi pilihan dan mendorong diskusi dan curah pendapat antara arsitek.
Sama seperti proyek erent di ff memerlukan tampilan ff erent di, proyek erent di ff perlu tingkat erent di ff detail dalam dokumentasi arsitektur mereka. Secara umum, bagaimanapun, sebuah dokumen yang menjelaskan arsitektur harus berisi sebagai berikut:
- Sistem dan arsitektur konteks
- Deskripsi views arsitektur
- Di dokumentasi views

Kita tahu bahwa arsitektur untuk sistem didorong oleh tujuan sistem dan kebutuhan para pemangku kepentingan. Oleh karena itu, aspek pertama yang dokumen arsitektur harus berisi adalah identifikasi pemangku kepentingan dan keprihatinan mereka
.
mendukung doc-umentation diperlukan untuk tampilan diagram. dokumen pendukung ini harus memiliki beberapa atau semua hal berikut:

-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 signa-tulisan, yang menggambarkan semua item data yang terlibat dalam interface dan mereka

116 5. Arsitektur Software
jenis. informasi semantik harus menjelaskan apa antarmuka tidak. De-skripsi juga harus jelas menyatakan kondisi kesalahan bahwa antarmuka dapat kembali.
- Arsitektur Dasar Pemikiran. Meskipun pandangan menentukan unsur-unsur dan rela-tionship antara mereka, tidak memberikan wawasan ke dalam mengapa arsitek memilih struktur tertentu.
- Perilaku. Pandangan memberikan informasi struktural. Tidak mewakili perilaku aktual atau eksekusi. Akibatnya, dalam struktur, semua mungkin dalam-teraksi selama eksekusi akan ditampilkan. Kadang-kadang, perlu untuk mendapatkan beberapa gagasan tentang perilaku aktual dari sistem dalam beberapa skenario.
- 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.

Kita tahu bahwa pandangan di ff erent terkait. Dalam apa yang telah kita bahas sejauh ini, pandangan telah dijelaskan secara independen. Dokumen arsitektur, oleh karena itu, selain menggambarkan pandangan, harus juga menggambarkan hubungan antara tampilan erent di ff.
5.5 Mendokumentasikan Desain Arsitektur 117
menunjukkan hubungan yang kuat antara dua pandangan (dan dalam proses juga mengurangi seluruh tampilan dokumentasi). Dikombinasikan pandangan juga berguna untuk beberapa analisis yang memerlukan beberapa tampilan, misalnya, kinerja Analy-sis, yang sering memerlukan kedua C & C lihat serta tampilan alokasi. Jadi, kadang-kadang, mungkin diinginkan untuk menunjukkan beberapa pandangan gabungan.

5.6 Mengevaluasi Arsitektur
Arsitektur sistem perangkat lunak dampak beberapa kunci nonfungsional qual-ity atribut seperti modifiability, kinerja, kehandalan, mudah dibawa, dll arsitektur memiliki dampak yang jauh lebih signifikan pada beberapa sifat ini dari desain dan pilihan coding. Artinya, meskipun pilihan algoritma, struktur data, dll, yang penting bagi banyak atribut ini, seringkali mereka memiliki kurang dari dampak dari pilihan arsitektur. Jelas kemudian, mengevaluasi arsitektur yang diusulkan untuk sifat ini dapat memiliki dampak yang menguntungkan pada perubahan proyek-apa arsitektur yang diperlukan untuk memenuhi tujuan yang diinginkan untuk atribut ini dapat dilakukan selama desain arsitektur itu sendiri.

Pendekatan lain adalah prosedural-urutan langkah-langkah diikuti untuk subjec-tively mengevaluasi dampak dari arsitektur pada beberapa atribut.
5.7 Ringkasan
- 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.

- Tergantung pada bagaimana sistem dipartisi, kita mendapatkan di ff erent lihat arsitektur 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 sistem-modul, 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 software erent di ff dialokasikan ke sumber daya perangkat keras dalam sistem.

- C & C lihat adalah yang paling umum, dan sering pusat dari deskripsi arsitektur. Pandangan ini sering digambarkan oleh diagram blok menentukan di ff komponen erent dan di ff konektor erent 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 KOMUNIKASI-ing 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 (pipa) 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. Yang tepat

120 5. Arsitektur Software
Dokumen arsitektur harus menjelaskan konteks di mana arsitektur dirancang, pandangan arsitektur di ff erent yang diciptakan, dan bagaimana pandangan erent di ff berhubungan satu sama lain. Deskripsi arsitektur harus menentukan jenis di ff erent elemen dan perilaku eksternal mereka, dan alasan arsitektur.

- Arsitektur harus dievaluasi untuk melihat bahwa itu memenuhi persyaratan. Pendekatan yang umum adalah untuk melakukan evaluasi subjektif sehubungan dengan sifat yang diinginkan.




Komentar

Postingan populer dari blog ini

CARA MERUBAH BAHASA DI FOXIT READER (PDF)

Tugas 1. Pengertian Waterfall, Prototyping, Iterative, RUP, Time boxing, extreme programing & Agile