NIM : A11.2021.13808
Perbandingan antara Desain Dengan Pendekatan Terstruktur dan Desain Berorientasi Obyek
Desain Dengan Pendekatan Terstruktur
Tujuan perancangan :
Memodelkan solusi agar siap diimplemnetasikan(dibuat programnya)
Yang dimodelkan pada tahap perancangan
Perancangan aksitektural : struktur modul
Perancangan antarmuka :
o Antarmuka antar-modul
o Antarmuka dengan S/W lain atau H/W
o Antarmuka dengan pengguna
Perancangan data : Struktur data dan Skema Basis Data
Perancangan Prosedural/Component-Level: Algoritma
Prinsip Desain :
Mempertimbangkan pendekatan alternatif
Harus dirujuk dari model analisis
Desain bukan coding, coding bukan desain
Harus dinilai untuk kualitas
Harus direview untuk meminimalkan konseptual(semantic) erorr
Yang dihasilkan pada perancangan antarmuka:
Inter-modular interface design
External interface design
Human-computer interface design
Apa arahan untuk merancang antarmuka ?
Three golden rules – Theo Mandel :
Place user in control
Reduce the user’s memory load
Make the interface consistent
Apa arahan untuk merancang antarmuka ?
Three golden rules – Theo Mandel :
Place user in control
Reduce the user’s memory load
Make the interface consistent
Apa yang dihasilkan pada perancangan Data ?
Struktur data
Skema basis data
Rancangan detil tiap tabel:
Nama, deskripsi, volume, field, key, dll
Bagaimana tahapan merancang Data ?
Review ERD
Petakan menjadi skema basis data
Entity tabel
Relasi: N ke M jadi table
1 ke N jadi table
1 ke 1 dititipkan
Apa yang dihasilkan dari perancangan prosedural ?
Rancangan detil tiap modul dan fungsi
Notasi apa yang bisa digunakan ?
Flowcharts
Box diagrams (Nassi-Scheidnerman charts)
Decision table
Program Design Language
Modularity
Notasi mendukung pengembangan PL
Overall simplicity
Mudah di pelajari, digunakan dan di tulis
Ease of editing
Mudah untuk di modifikasi Ketika terjadi perubahan
Machine readability
notation dapat diinput langsung kedalam system
Maintainability
Mantenance konfigurasi melibatkan pemeliharaan desain procedural
Structure enforcement
Menggunakan pemrograman terstruktur
Automatic processing
Mengizinkan perancang untuk memverifikasi kebeneran dan kualitas
perancangan
Data representation
Kemampuan untuk merepresentasikan data lokal dan global secara langsung
Logic verification
Verifikasi logika otomatis meningkatkan kecukupan pengujian
Easily converted to program source code
Membuat pembuatan kode lebih cepat
Desain Berorientasi Obyek
Desain: mengumpulkan kebutuhan stakeholder, keperluan bisnis dan pertimbangan
teknologi untuk memformulasikan suatu produk / system
Memodelkan aktivitas dan persiapan untuk tahap konstruksi (coding dan testing)
Goal : Memodelkan solusi yang siap diimplementasikan (membuat program)
Proses Desain :
Proses iteratif untuk menerjemahkan kebutuhan menjadi “blueprint” untuk
membangun perangkat lunak
Karakteristik untuk mengevaluasi desain yang baik:
o Desain harus mengimplementasikan seluruh kebutuhan baik yang
eksplisit dan implisit
o Desain harus mudah dibaca dan dipahami
o DEsain harus menyediakan gambaran lengkap suatu perangkat lunak
What is a class?
• Penjelasan tentang satu set objek yang berbagi tanggung jawab yang sama,
hubungan, operasi, atribut, dan semantik.
What is a package?
• Mekanisme umum untuk mengatur elemen dalam kelompok-kelompok
• Sebuah model elemen yang dapat berisi elemen model lainnya
Package Visibilty
Hanya public classes yang dapat diakses oleh class lain di luar packagenya sendiri.
Boundary Class
Digunakan untuk memodelkan interaksi antara sistem dan aktor
Sering mewakili windows, forms, sensors, terminals
Terkait dengan setidaknya satu aktor dan sebaliknya
Contol Class
Merepresentasikan koordinasi, urutan, transaksi dan pengendalian benda-benda
lain
Sering merangkum use case yang terkait control
Satu use case memiliki satu control class
Entity Class
Digunakan untuk memodelkan informasi
Biasanya berumur panjang dan/ atau persisten
Biasanya berasal langsung dari badan usaha
Dapat dibagi oleh batas dan kontrol beberapa kelas
Tahapan Perencanaan Use Case
Tentukan Interaksi Antara Objek Perancangan
Memperbaiki Penjelasan Aliran Peristiwa
Menyatukan Kelas dan Subsystem
Penjelasan Interaksi antara Objek Perancangan
Mengidentifikasi objek yang berpartisipasi
Model Pesan antara objek
Jelaskan proses yang dihasilkan dari pesan
Enkapsulasi interaksi subsitem
Subsistem harus diwakili oleh antarmuka mereka pada diagram interaksi
Pesan untuk subsistem dimodelkan sebagai pesan ke antarmuka subsistem
Pesan untuk subsistem sesuai dengan operasi dari antarmuka subsistem
Interaksi dalam subsistem yang dimodelkan dalam Subsystem Desain
Keuntungan Enkapsulasi interaksi Subsitem
Realisasi Use Case mengurangi kekacauan
Realisasi Use Case dapat dibuat sebelum desain internal subsistem diciptakan
Realisasi Use Case lebih umum dan mudah untuk perubahan
Mendukung pengembangan subsistem paralel