07
Desain
Rekayasa
Perangkat
Lunak
by : Raden Wirawan, SE., M.Kom
OUTLINE PENGANTAR DESAIN PERANGKAT
LUNAK
Pengantar Desain
Perangkat Lunak
What is Software Design?
Software Design
Software design adalah tahap dalam pengembangan perangkat
lunak di mana struktur dan arsitektur sistem perangkat lunak
dirancang. Tahap desain berkaitan dengan mengubah persyaratan
pelanggan sebagaimana dijelaskan dalam dokumen SRS menjadi
bentuk yang dapat diimplementasikan menggunakan bahasa
pemrograman.
Why is Software Design Important?
Development Efficiency Software Quality
Easy Maintenance Scalability
Pengembangan perangkat lunak menjadi lebih
terstruktur dan terarah dengan desain yang
baik. Ini memungkinkan desainer untuk
mengurangi waktu dan biaya pengembangan
dengan mengidentifikasi dan mengatasi
masalah yang mungkin terjadi lebih awal.
Development Efficiency
Perangkat lunak yang lebih stabil dan andal
dibuat dengan desain yang matang, yang
meminimalkan kesalahan dan memastikan
bahwa sistem beroperasi sesuai dengan
kebutuhan pengguna.
Software Quality
Pemeliharaan dan pembaruan perangkat lunak
lebih mudah dengan desain yang baik. Struktur
yang jelas memungkinkan perubahan atau
penambahan fitur baru tanpa mengganggu
komponen lain sistem.
Easy Maintenance
Desain yang tepat memungkinkan perangkat
lunak untuk berkembang dan menyesuaikan diri
dengan kebutuhan masa depan. Ini penting
untuk memastikan bahwa perangkat lunak
dapat menangani peningkatan beban kerja
atau penambahan fitur baru seiring
Scalability
berjalannya waktu.
Software Design Categories
Software Design Categories
Architectural Design Detail Design
Berfokus pada struktur keseluruhan Menyiasati setiap modul secara
sistem, termasuk pembagian tugas khusus, termasuk algoritma, struktur
dan interaksi antar komponen. Juga data, dan interface. Tujuannya adalah
mencakup keputusan tentang untuk memastikan bahwa setiap
bagaimana sistem akan dibagi komponen beroperasi dengan benar
menjadi modul-modul yang lebih kecil, dan terintegrasi dengan baik dalam
serta bagaimana modul-modul ini sistem secara keseluruhan.
akan berkomunikasi satu sama lain.
Prinsip dalam
Desain Perangkat
Lunak
Software Design Categories
Memecah sistem menjadi modul-modul yang
independen dan dapat dikelola. Ini memudahkan
pengembangan dan pemeliharaan serta meningkatkan
keterbacaan kode.
Software Design Categories
Kopling merupakan istilah untuk mengukur dan
menunjukkan seberapa dekat ketergantungan antara
modul perangkat lunak satu sama lain.
Software Design Categories
Untuk mengurangi kompleksitas dan membuat sistem
lebih mudah dipahami, detail implementasi
disembunyikan dan hanya ditampilkan untuk pengguna
atau sistem lain.
Software Design Categories
Kebutuhan perangkat lunak terus berubah, yang
mengakibatkan perubahan persyaratan perangkat
lunak. Kemampuan untuk menyesuaikan diri dengan
perubahan ini sangat penting untuk desain perangkat
lunak yang kuat.
Software Design Categories
Menjaga agar semuanya tetap sederhana adalah
tujuan dari desain perangkat lunak yang hebat. Setiap
pekerjaan memiliki modul yang dapat digunakan dan
diubah secara independen. Modul-modul ini
memudahkan penggunaan kode dan mengurangi
jumlah kesalahan.
Software Design Categories
Untuk memastikan bahwa program telah dibangun
dengan benar dan lengkap, desain perangkat lunak
yang baik menjamin bahwa program tersebut
memadai dan komprehensif dalam hal persyaratan.
Methods and Techniques
in Software Design
• UML (Unified Modeling Language) digunakan untuk
memvisualisasikan, merancang, dan
mendokumentasikan sistem perangkat lunak. Terdiri
dari class diagram, sequential diagram dsb
Methods and • Design Patterns pola desain seperti Singleton,
Factory, dan Observer, antara lain, menawarkan
Techniques in solusi yang terbukti untuk masalah desain yang
Software umum. Penggunaan pola desain juga dapat
mempercepat proses pengembangan dan
Design meningkatkan kualitas kode.
• Architectural Patterns menyediakan kerangka kerja
untuk merancang struktur sistem perangkat lunak.
seperti Model-View-Controller (MVC), Layered
Architecture, dan Microservices
Challenges in
Software Design
Challenges in • Kebutuhan yang Berubah
Software • Kompleksitas Sistem
Design
• Keterbatasan Sumber Daya
PERENCANAAN
Flowchart adalah diagram yang menggambarkan alur atau urutan langkah-langkah
dalam suatu proses atau sistem. Flowchart biasanya digunakan untuk
memvisualisasikan proses, mengidentifikasi langkah-langkah dalam urutan yang logis,
dan menunjukkan bagaimana setiap langkah terhubung.
Flowchart terdiri dari simbol-simbol standar, seperti persegi panjang untuk aktivitas
atau proses, belah ketupat untuk keputusan, dan panah untuk menunjukkan alur
proses.
PEMODELAN (DESAIN)
•Fungsi
P. Trtstr •DFD
•Objek
P.OO •UML
ANALYSIS AND DESIGN PROCESS
Zachman Framework
System requirements
legend
Use Case Class
Model Diagram Structural
Behavioral
Activity/Sequence State
Diagram Chart
Component Deployment
Diagram Diagram
Sistem informasi manajemen perpustakaan Berbasis Web
Any Question ?
Thank’s