Nama : Dahlia Safarinah No. Reg : 5235131577 Rangkuman Materi

advertisement
Nama
: Dahlia Safarinah
No. Reg
: 5235131577
Rangkuman Materi Kuliah.
Chapter 8 (Design Concep).
Mitch Kapor pembuat Lotus 1-2-3 menyatakan bahwa perangkat lunak harus bisa di
examined melalui firmness, commodity dan delight. Design itu harus mengimplementasikan
seluruh persyaratan eksplisit, dapat mudah dibaca dan mudah digunakan serta harus
memberikan gambaran penuh perangkat lunak.
Dalam design guidelines designnya harus memperlihatkan arsitektur yang telah
digunakan, harus bias dimodular, berisi representasi yang berbeda, membimbing struktur data
yang telah disesuaikan, membimbing komponen dan fungsi indepentnya, membimbing interface
sehingga mengurangi kompleksitas, menggunakan metode-metode yang berulang dan
direpresentasikan menggunakan notasi yang dapat dimengerti dengan efektif.
Design Principle harus bisa dilacak analisis modelnya, tidak harus selalu memilih jalan
sesuai putaran, harus meminimalisir jarak intelektual, harus terstruktur dalam pengakomodisian
perubahan, harus terstruktur untuk mendeklarasi bukan coding dan harus dinilai kualitasnya.
Fundamental Concepts
Keseluruhan struktur perangkat lunak dan cara pembuatan dalam system.
-
Structural properties
-
Extra-functional properties
-
Families or related system
-
Pola yang membuktikan solusi design, Template pola design Nama pola
-
Intent
-
Also known as
-
Motivasi
-
Applicability
-
Struktur
-
Partisipan
-
Kolaborasi
-
Konsekuensi
-
Pola yang berhubungan
Pemisah masalah dapat diselesaikan lebih mudah, masalahnya bisa berupa perilaku yang
ditetapkan sebagai bagian persyaratan perangkat lunak.dengan cara ini lebih mudah
diselesaikan.
Modularitas adalah atribut tunggal dari perangkat lunak yang memungkinkan program
untuk menjadi intelektual dikelola. Software monolitik (yaitu, sebuah program besar yang terdiri
dari satu modul ) tidak dapat dengan mudah ditangkap oleh seorang insinyur perangkat lunak.
Jumlah jalur kontrol, rentang referensi, jumlah variabel, dan kompleksitas keseluruhan akan
membuat pemahaman hampir tidak mungkin. Dalam hampir semua kasus, harus istirahat desain
ke dalam berbagai modul, berharap untuk membuat pemahaman lebih mudah dan sebagai
konsekuensinya, mengurangi biaya yang diperlukan untuk membangun perangkat lunak.
Hiding-kontrol interface
-
Mengurangi kemungkinan efek samping
-
Membatasi dampak global dari keputusan desain local
-
Menekankan komunikasi melalui interface
-
Kualitas hasil perangkat lunak lebih tinggi
Kebebasan fungsi-funsgi satu arah
Independensi fungsional dicapai dengan mengembangkan modul dengan " single- minded "
fungsi dan " keengganan " untuk interaksi yang berlebihan dengan modul lain. Kohesi merupakan
indikasi kekuatan fungsional relatif modul. Sebuah modul kohesif melakukan tugas tunggal ,
membutuhkan sedikit interaksi dengan komponen lain di bagian lain dari program . Lain
sederhana, modul kohesif harus ( idealnya ) melakukan satu hal. Kopling merupakan indikasi
saling ketergantungan relatif antara modul. Coupling tergantung pada kompleksitas antarmuka
antara modul , titik di mana masuk atau referensi dibuat untuk sebuah modul , dan data apa lulus
seluruh antarmuka.
Perbaikan – elaborasi detail untuk seluruh ketidakjelasan
Mempertimbangkan dua persyaratan, A dan B. Kebutuhan A crosscuts persyaratan B " jika
dekomposisi software [penyempurnaan] telah terpilih di mana B tidak dapat dipenuhi tanpa
ngambil A ke rekening. Sebuah aspek adalah representasi dari keprihatinan lintas sektoral.
Aspek – mekanisme persyaratan global desain affect
Pertimbangkan dua persyaratan untuk SafeHomeAssured.com webapp. Kebutuhan Sebuah
dijelaskan melalui penggunaan - kasus kamera pengintai Akses melalui Internet. Sebuah
perbaikan desain akan fokus pada modul tersebut yang akan memungkinkan pengguna terdaftar
untuk mengakses video dari kamera ditempatkan di seluruh ruang. Persyaratan B merupakan
persyaratan keamanan umum yang menyatakan bahwa pengguna terdaftar harus divalidasi
sebelum menggunakan SafeHomeAssured.com. Persyaratan ini berlaku untuk semua fungsi yang
tersedia untuk pengguna terdaftar SafeHome. Seperti desain perbaikan terjadi, A * merupakan
representasi desain untuk kebutuhan A dan B * merupakan representasi desain untuk kebutuhan
B. Oleh karena itu, A * dan B * adalah representasi dari keprihatinan, dan B * lintas - luka A
*.Sebuah aspek adalah representasi dari keprihatinan lintas sektoral. Oleh karena itu,
representasi desain, B *, dari kebutuhan, pengguna terdaftar harus divalidasi sebelum
menggunakan SafeHomeAssured.com, merupakan aspek dari SafeHome webapp.
Perbaikan (refactoring) – reorganisasi teknik
Fowler mendefinisikan refactoring dengan cara sebagai berikut :
" Refactoring adalah proses mengubah sistem perangkat lunak sedemikian rupa bahwa itu tidak
mengubah perilaku eksternal dari kode [ desain ] menigkatkan struktur internal . "
Ketika perangkat lunak refactored , desain yang ada diperiksa untuk Redundansi, elemen desain
yang tidak terpakai algoritma yang tidak efisien atau tidak perlu konstruksi yang buruk atau tidak
pantas struktur data atau kesalahan desain lain yang dapat diperiksa untuk menghasilkan desain
yang lebih baik.
OO konsep desain – appendix II
-
Kelas desain
-
Kelas entitas
-
Kelas batas
-
Kelas kontroler
Warisan - semua tanggung jawab dari superclass akan diwarisi oleh semua subclass
Pesan - stimulasi beberapa perilaku yang terjadi pada objek penerima
Polimorfisme - karakteristik yang sangat mengurangi usaha yang dibutuhkan untuk memperluas
desain
Design Classes – detail desain untuk analisi
Analisis class disempurnakan dalam desain untuk menjadi kelas entitas
Kelas boundary dikembangkan selama desain untuk membuat interface (misalnya, layar
interaktif atau laporan cetak) yang pengguna melihat dan berinteraksi dengan perangkat lunak
yang digunakan. Kelas batas dirancang dengan tanggung jawab mengelola cara objek entitas
ditampilkan kepada pengguna. Kelas kontroler dirancang untuk mengelola penciptaan atau
update objek entitas, Instansiasi objek boundary dengan mengambil informasi dari objek entitas,
komunikasi yang kompleks antara set objek. Validasi data yang dikomunikasikan antara objek
atau antara pengguna dan aplikasi.
Desain model elements
Elemen data
Model data - > struktur data
Model data - > arsitektur database
Elemen arsitektur
Aplikasi domain
Kelas analisis, relasinya, kolaborasi dan perilaku diubah menjadi realisasi desain Pola dan "gaya"
Elemen antarmuka
User interface ( UI )
Antarmuka eksternal ke sistem lain, perangkat, jaringan atau produsen maupun konsumen
informasi antarmuka internal antara berbagai komponen desain.
Arsitektur element
Model arsitektur berasal dari tiga sumber :
Informasi tentang domain aplikasi untuk perangkat lunak yang akan dibangun, spesifik unsur
persyaratan Model seperti diagram aliran data atau kelas analisis, hubungan dan kolaborasi
mereka untuk masalah di tangan, dan ketersediaan pola arsitektur
Chapter 9 (Arsitektural Design)
Arsitektur
Arsitektur bukanlah software operasional. Sebaliknya, itu adalah representasi yang
memungkinkan seorang insinyur perangkat lunak untuk :
1. Menganalisis efektivitas desain dalam memenuhi persyaratan yang dinyatakannya.
2. Mempertimbangkan alternatif arsitektur pada tahap ketika membuat perubahan desain
masih relatif mudah.
3. Mengurangi risiko yang terkait dengan pembangunan perangkat lunak.
Arsitektur desain
IEEE Computer Society telah mengusulkan IEEE - Std - 1471-2000, Direkomendasikan Praktek
untuk Deskripsi Arsitektur Software - Intensif Sistem, [ IEE00 ] untuk membangun kerangka kerja
konseptual dan kosakata untuk digunakan selama desain arsitektur perangkat lunak,
untuk memberikan pedoman rinci untuk mewakili deskripsi arsitektur, dan untuk mendorong
praktek desain arsitektur suara. IEEE Standard mendefinisikan deskripsi arsitektur ( AD ) sebagai
" kumpulan produk untuk mendokumentasikan arsitektur. " Deskripsi sendiri diwakili
menggunakan beberapa pandangan, di mana masing-masing pandangan adalah " representasi
dari seluruh sistem dari perspektif satu set terkait [ pemangku kepentingan ] kekhawatiran. "
Arsitektur Genres
Genre menyiratkan kategori tertentu dalam domain perangkat lunak secara keseluruhan .
Dalam setiap kategori , kita menemukan sejumlah subkategori. Sebagai contoh , dalam genre
bangunan, Anda akan menemukan gaya umum berikut : rumah, kondominium, gedung
apartemen, gedung perkantoran, bangunan industri, gudang, dan sebagainya. Dalam setiap gaya
umum, gaya yang lebih spesifik mungkin berlaku. Setiap gaya akan memiliki struktur yang dapat
digambarkan dengan menggunakan satu set pola diprediksi.
Arsitektur Style
Setiap gaya menggambarkan kategori sistem yang meliputi :
(1) Satu set komponen (misalnya , database , modul komputasi) yang melakukan fungsi yang
dibutuhkan oleh sebuah sistem.
(2) Satu set konektor yang memungkinkan " komunikasi , koordinasi dan kerjasama " antara
komponen.
(3) Kendala yang menentukan bagaimana komponen dapat diintegrasikan untuk membentuk
sistem
(4) Model semantik yang memungkinkan desainer untuk memahami sifat-sifat keseluruhan
sistem dengan menganalisis sifat dikenal dari bagian-bagian penyusunnya.
- Data-centered architectures
- Data flow architectures
- Call and return architectures
- Object-oriented architectures
- Layered architectures
Arsitektur Pattern
Concurrency - aplikasi harus menangani beberapa tugas dengan cara yang mensimulasikan
paralelisme. Pola operasi manajemen proses sistem dan Pola scheduler tugas. Kegigihan Data
berlanjut jika bertahan melewati pelaksanaan proses yang menciptakannya . Dua pola yang
umum :
-
Pola sistem manajemen database yang menerapkan kemampuan penyimpanan dan
pengambilan DBMS untuk arsitektur aplikasi.
-
Pola ketekunan tingkat aplikasi yang membangun kegigihan fitur ke dalam arsitektur
aplikasi.
Distribusi- cara di mana sistem atau komponen dalam sistem berkomunikasi dengan satu sama
lain dalam lingkungan terdistribusi. Seorang broker bertindak sebagai ' - orang tengah ' antara
komponen klien dan komponen server .
Arsitektur Design
Perangkat lunak ini harus ditempatkan dalam konteks desain harus menentukan entitas eksternal
(sistem lain, perangkat, orang) bahwa perangkat lunak berinteraksi dengan dan sifat interaksi.
Satu set arketipe arsitektur harus diidentifikasi. Pola dasar adalah abstraksi (mirip dengan kelas)
yang merupakan salah satu unsur perilaku sistem Desainer menentukan struktur sistem dengan
mendefinisikan dan software pemurnian komponen yang menerapkan pola dasar.
Analyzing Arsitektur Design
1. Skenario Kumpulkan .
2. Menimbulkan persyaratan , kendala , dan deskripsi lingkungan.
3. Jelaskan gaya arsitektur / pola yang telah dipilih untuk mengatasi skenario dan
persyaratan :
- Tampilan modul
- Melihat proses
- Tampilan aliran data
4. Evaluasi atribut kualitas dengan mempertimbangkan setiap atribut dalam isolasi.
5. Mengidentifikasi sensitivitas atribut kualitas untuk berbagai atribut arsitektur untuk gaya
arsitektur tertentu.
6. Arsitektur calon Kritik (dikembangkan pada langkah 3) menggunakan analisis sensitivitas
yang dilakukan pada langkah 5.
Arsitektur Complexity
Kompleksitas keseluruhan arsitektur yang diusulkan dinilai dengan mempertimbangkan
ketergantungan antara komponen dalam arsitektur. Berbagi dependensi mewakili hubungan
ketergantungan antara konsumen yang menggunakan sumber daya yang sama atau produsen
yang memproduksi untuk konsumen yang sama. Dependensi aliran mewakili hubungan
ketergantungan antara produsen dan konsumen sumber daya. Dependensi dibatasi mewakili
kendala pada aliran relatif kontrol di antara serangkaian kegiatan .
ADL
Arsitektur bahasa deskripsi ( ADL ) menyediakan semantik dan sintaksis untuk menggambarkan
arsitektur perangkat lunak. Menyediakan desainer dengan kemampuan untuk :
-
Membusuk komponen arsitektur.
-
Menulis komponen individu menjadi blok arsitektur yang lebih besar.
-
Mewakili interface ( mekanisme koneksi) antara komponen.
General Mapping Approach
Isolat transformasi pusat dengan menetapkan batas-batas aliran masuk dan keluar
Lakukan " tingkat pertama anjak piutang. "Arsitektur program diturunkan menggunakan ini hasil
pemetaan dalam distribusi top-down kontrol. Anjak mengarah ke struktur program di mana
komponen tingkat atas melakukan pengambilan keputusan dan tingkat rendah komponen
melakukan sebagian input, perhitungan , dan bekerja output. Komponen tingkat menengah
melakukan kontrol dan melakukan jumlah moderat pekerjaan.
Download