Chapter 8 - Belajar Pintar RPL

advertisement
Chapter 8
Konsep Desain
Mitch Kapor pembuat Lotus 1-2-3 menyatakan bahwa perangkat lunak harus bisa di examined
melalui firmness, commodity dan delight.
A.
Desain dan Kualitas
 Desain harus mengimplementasikan seluruh persyaratan eksplisit
 Desain harus dapat mudah dibaca, dan mudah digunakan
 Desain harus memberikan gambaran penuh perangkat lunak tersebut
B.
Pedoman Kualitas
 Desain harus memperlihatkan arsitektur yang telah digunakan.
 Desain harus bias dimodular
 Desain harus berisi representasi yang berbeda
 Desain harus membimbing struktur data yang telah disesuaikan
 Desain harus membimbing komponen yang fungsi indepentnya telah diperlihatkan
 Desain harus membimbing interface sehingga mengurangi kompleksitas
 Desain harus menggunakan metode yang berulang
 Desain harus direpresentasikan menggunakan notasi yang dapat dimengerti
dengan efektif.
C.
Prinsip-prinsip Desain
 Proses desain tidak boleh terjebak dalam tunnel vision
 Desain harus bias dilacak analisis modelnya
 Desain tidak harus selalu berjalan sesuai putaran
 Desain harus meminimalisirkan jarak intelektual
 Desain harus terstruktur dalam pengakomodasian perubahan
 Desain harus tersktruktur untuk mendegradasi
 Desan bukan coding, coding bukan desain
 Desain harus dinilai kualitasnya
 Desain harus bias di review untuk meminimalkan kesalahan konseptual
D.
Konsep Fundamental
a.
Abstrak yaitu data, prosedur, kontrol
b. Arsitektur yaitu struktur keseluruhan perangkat lunak
Kesuluruhan struktur perangkat lunak dan cara pembuatannya dalam system.
- Structural properties
- Extra-functional properties
- Families or related system
c.
Pola yaitu membuktikan solusi desain
Template pola desain
- Nama pola
- Intent
- Also known as
- Motivasi
- Applicability
- Struktur
- Partisipan
- Kolaborasi
- Konsekuensi
- Pola yang berhubungan
d. Pemisahan masalah yaitu permasalahan dapat diselesaikan dengan cara lebih
mudah.
Masalah biasanya berupa perilaku yang ditetapkan sebagai bagian
persayaratan perangkat lunak. Dengan memisahkan jenis-jenis masalah maka
akan lebih mudah diselesaikan.
e.
Modularitas yaitu compartmentalisasi data dan fungsi
Modularitas adalah atribut tunggal dari perangkat lunak yang memungkinkan
program agar lebih intelektual untuk dikelola. Software monolitik (sebuah
program besar yang terdiri dari satu modul ) tidak dapat dengan mudah dipahami
oleh seorang insinyur perangkat lunak. Jumlah jalur kontrol, rentang referensi,
jumlah variabel, dan kompleksitas keseluruhan akan sangat sulit untuk dipahami.
Dalam hampir semua kasus, Anda harus membagi desain ke dalam berbagai
modul, agar pemahaman lebih mudah serta mengurangi biaya yang diperlukan
untuk membuat perangkat lunak.
f.
Hiding-kontrol interface
Dapat berguna untuk;
g.

Mengurangi kemungkinan efek samping

Membatasi dampak global dari keputusan desain local

Menekankan komunikasi melalui interface

Kualitas hasil perangkat lunak lebih tinggi
Kebebasan fungsi yaitu funsgi satu arah
Kebebasan funsgsi dicapai dengan mengembangkan modul "single-minded"
dan "keengganan". Kohesi merupakan indikasi kekuatan fungsional relatif modul.
Sebuah modul kohesif melakukan tugas tunggal, membutuhkan sedikit interaksi
dengan komponen lain di bagian lain dari program. Coupling merupakan indikasi
saling ketergantungan relatif antara modul. Coupling tergantung pada
kompleksitas antarmuka antara modul.
h. Perbaikan yaitu elaborasi detail untuk seluruh ketidakjelasan
Mempertimbangkan dua persyaratan ,bagian apa yang harus digunakan.
Sebuah aspek adalah representasi dari keprihatinan lintas sektoral .
i.
Aspek yaitu mekanisme persyaratan global desain affect
Sebuah aspek adalah representasi dari keprihatinan lintas sektoral. Kebutuhan
desain dijelaskan melalui penggunaan. Contoh pilihan untuk home secure.
j.
Perbaikan (refactoring) – reorganisasi teknik
" Refactoring adalah proses mengubah sistem perangkat lunak sedemikian rupa
tidak mengubah perilaku eksternal dari kode [ desain ] guna menigkatkan struktur
internal.”
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 diperiksa untuk menghasilkan desain yang lebih baik.
k.
OO konsep desain – appendix II
Kelas desain dibagi menjadi :
Kelas entitas
Kelas batas
Kelas kontroler
Turunan yaitu dimana superclass bertanggung jawab terhadap
pewarisan oleh semua subclass.
Pesan yaitu stimulasi beberapa perilaku yang terjadi pada objek
penerima
Polimorfisme yaitu karakteristik yang sangat mengurangi usaha yang
dibutuhkan untuk memperluas desain
l.
Design Classes yaitu detail desain untuk analisi
a. Kelas Entitas merupakan kelas analisis yang disempurnakan dalam desain.
b. Kelas Boundary dikembangkan selama desain membuat interface.
c. Kelas Batas dirancang untuk bertanggung jawab terhadap pengelolaan objek
entitas yang ditampilkan ke pengguna.
d. Kelas kontroler dirancang untuk mengelola;
-
Pembuatan atau update entitas objek;
-
Instansiasi objek boundary dengan mengambil informasi dari objek
entitas;
-
Komunikasi yang kompleks antara set objek ;
-
Validasi data dikomunikasikan antara objek atau antara pengguna dan
aplikasi.
E.
Desain model elements

Elemen data
Model data - > struktur data
Model data - > arsitektur database

Elemen arsitektur
Aplikasi domain
Kelas analisis
Pola dan gaya

Elemen antarmuka
User Interface ( UI )
External Interface
Internal Interface
F.

Elemen komponen

Elemen deployment
Arsitektur element
Model arsitektur berasal dari tiga sumber :
1.
Informasi tentang domain aplikasi untuk perangkat lunak yang akan dibangun
2.
Spesifik unsur persyaratan Model
3.
Ketersediaan pola arsitektur.
Bethanyna Natasha
5235131568
Download