2. Setelah mengikuti pertemuan ini, diharapkan mahasiswa dapat :
memahami tantangan aplikasi-aplikasi enterprise
mendefinisikan arsitektur piranti lunak
memahami kebutuhan akan arsitektur piranti lunak
memahami peran, tangung jawab, dan deliverable seorang
arsitek
memahami pemodelan arsitektur menggunakan unified
modeling language (UML)
memahami perbedaan dan kesamaan antara arsitektur dan
disain
mendeskripsikan the SunTone Architecture Methodology
4. Arsitektur piranti lunak mendeskripsikan struktur-struktur sistem
seperti :
Elemen-elemen piranti lunak
Elemen dipotret sebagai abstraksi
Berbentuk modul-modul sistem atau komponen-komponen level
tinggi Correspond to high level system modules or components
External Visible Properties of elements
Mendeskripsikan fitur-fitur elemen yang diekspos
Merepresentasikan layanan yang disediakan untuk elemen-elemen
lainnya
Relationships of elements
Mendeskripsikan cara elemen-elemen berinteraksi dengan yang
lainnya
5.
Sistem piranti lunak besar membutuhkan struktur dari multi
perspektif.
Satu sudut pandang saja tidak cukup untuk memenuhi kebutuhan
Contoh sudut pandang
Sudut pandang disain berorientasi objek memfokuskan kepada
fungsionalitas sistem
Sudut pandang deployment merefleksikan deployment fisik dari
komponen-komponen piranti lunak ke dalam piranti keras komputasi
6.
Perubahan krusial di rekayasa piranti lunak
telah menumbuhkan pentingnya arsitektur :
Skala
Distribusi
Keamanan
10. Arsitek melakukan aktifitas di fase inception sebagai berikut :
Membantu menganalisis kebutuhan dan membuat :
model use case untuk mendefinisikan kebutuhan fungsional
Service Level Requirements (SLR) untuk non kebutuhan fungsional
Bekerja dengan manajer proyek untuk :
Mengidentifikasi piranti keras, piranti lunak, dan sumber daya manusia
yang akan mendukung jalannya proyek
Memvalidasi rencana proyek
Arsitek membuat cetak biru arsitektur di fase elaborasi :
Model domain dalam cetak biru dibuat dari model use case dengan
mengidentifikasi komponen-komponen sistem tingkat tinggi.
Dokumen deskripsi arsitektur dibuat berdasarkan SLR untuk
mendeskripsikan hubungan, interaksim dan distribusi komponenkomponen
11.
Tanggung Jawab Teknis :
Membuat arsitektur untuk memenuhi kebutuhan
Mengidentifikasi use case arsitektural yang mencakup :
▪ Concurrency
▪ Performance
▪ Legacy integration
Merekomendasikan teknologi-teknologi dan framework tepat guna yang
mendukung proyek
Mengembangkan atau mengarahkan pengembangan prototipe arsitektur
Tanggung Jawab Manajerial :
Memahami dan mengelola biaya proyek
Mengelola komunikasi
Memperbaharui dan mengklarifikasi kebutuhan
Meyakinkan pihak-pihak yang berkepentingan dalam pengambilan keputusan.
Menjadi mentor untuk anggota tim proyek
12.
Domain Model
Memotret hubungan struktural dan perilaku antara komponen-
komponen level sistem.
Architecture Description Document (ADD)
Merepresentasikan lingkungan pengembangan
Menunjukkan di mana komponen-komponen diletakkan dan
bagaimana komponen-komponen tersebut saling
berkomunikasi.
Dibuat dalam bentuk diagram UML
Prototipe Arsitektur
Menyediakan demonstrasi atau implementasi end-to-end
teknologi dan komponen utama
13.
Mencakup Domain Model and ADD
Lebih fokus pada quality-related
requirements, daripada fungsionalitas karea :
Multi solusi dapat digunakan untuk implementasi
fungsionalitas sistem
Seorang arsitek harus emilih solusi yang
memenuhi quality-related requirement
Memotret berbagai sudut pandang sistem
14.
Sudut Pandang Logic – mendeskripsikan dekomposisi sistem ke
dalam modul-modul piranti lunak abstrak.
Sudut Pandang Proses – mendeskrisikan concurrency dan
distribusi fungsionalitas ke dalam proses-proses komunikasi.
Sudut Pandang Pengembangan – mendeskripsikan cara modulmodul piranti lunak diorganisir di dalam lingkungan
pengembangan.
Sudut Pandang fisik (deployment)– memetakan modul-modul
piranti lunak ke node-node piranti keras.
Sudut Pandang Use case – memetakan kebutuhan fungsional
15. Mendemonstrasikan kelangsungan teknologiteknologi dan produk-produk yang dirumuskan
dalam cetak biru arsitektur
Menyediakan pltaform pengujian untuk
kebutuhan-kebutuhan quality-of-service (QoS)
Menampilkan tampilan konkrit model
komponen, standarm dan rekomendasirekomendasi lainnya yang diperlukan.
Membentuk backbone pengembangan proyek ke
depannya.
16.
Prototipe arsitektur dapat dibuat pada
tingkat konsep menggunakan dokumendokumen dan diagram-diagram
Prototipe arsitektur juga umumnya membuat
It executable skeleton system (dikenal sebagai
evolutionary prototype)
Fitur-fitur tambahan ditambahkan dalam skeleton
system
Produk akhir dibangun dari prototipe ini.
17.
Arsitek harus mengambil peran dalam
working practices dan skill tim secara umum.
Arsitek harus memahami bagaimana
arsitektur meberi dampak pada tim.
Arsitek bekerjadengan tim untuk menjamin
bahwa produk sesuai dengan arsitektur.
19.
Gunakan diagram interaksi untuk memodelkan interkasi dan komunikasi
antar komponen-komponen.
Diagram interaksi mencakup diagram komunikasi dan diagram sequence.
Contoh diagram komunikasi :
23.
Gunakan diagram package untuk mendeskripsikan
organisasi sistem, teknologi, dan komponen-komponen.
24.
Tidak ada batasan yang jelas antara
arsitektur dengan disain.
Perbedaan umumnya terletak pada :
Tingkat abstraksi.
Deliverable
Area fokus
25.
Karakteristik umum arsitektur dan disain :
Abstraction
Encapsulation
Cohesion
Coupling
Sama halnya dengtan disain dan
implementasi, arsitektur memerlukan proses
refactoring untuk mengakomodir perubahan.
27.
Metodologi arsitektur The SunTone (SunTone
AM) mendeskripsikan proses untuk
mengembangkan aplikasi-aplikasi enterprise
kritis.
Diluncurkan dalam the Sun Java Center pada
tahun 1990-an
Berbasis pada Rational Unified Process (RUP)
Memadukan praktek-praktek terbaik industri
28.
29.
The client tier
The web presentation tier
The business logic tier
The integration tier
The enterprise resource tier
30.
The application layer
The virtual platform layer
The application infrastructure layer
The enterprise services layer
The compute and storage layer
The network infrastructure layer
32.
Use Case Driven Development
Iterative and Incremental Development
Architecture-Centric Development
Service-Driven Development
Pattern-Based Development