0% menganggap dokumen ini bermanfaat (0 suara)
365 tayangan21 halaman

Prinsip Desain Perangkat Lunak

Dokumen tersebut membahas prinsip-prinsip dasar dalam desain perangkat lunak meliputi ekstraksi, penyempurnaan, modularitas, arsitektur perangkat lunak, hierarki kendali, struktur data, prosedur perangkat lunak, dan penyamaran informasi.

Diunggah oleh

Syakur Rahman
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
365 tayangan21 halaman

Prinsip Desain Perangkat Lunak

Dokumen tersebut membahas prinsip-prinsip dasar dalam desain perangkat lunak meliputi ekstraksi, penyempurnaan, modularitas, arsitektur perangkat lunak, hierarki kendali, struktur data, prosedur perangkat lunak, dan penyamaran informasi.

Diunggah oleh

Syakur Rahman
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd

Prinsip Fundamental dalam Desain Perangkat Lunak

Introduksi Prinsip Desain

SEN-261 : Rekayasa Perangkat Lunak a!een "u!ammil

De%inisi umum desain

Desain Perangkat Lunak

&' suatu proses menerapkan (er(agai teknik dan prinsip dengan tu#uan menentukan suatu perangkat) proses atau sistem dalam tingkat ke#elasan yang *ukup untuk dapat meng$asilkan produk ak$ir+,

u#uan:
-ntuk meng$asilkan suatu model atau representasi yang nantinya akan di(angun

Disiplin ilmu terkait:


Desain data Desain arsitektur Desain antar muka Desain komponen

.ualitas desain dan perangkat lunak


.ualitas
Dalam RPL) desain adala$ titik pengem(angan kualitas+ Desain mem(erikan suatu representasi perangkat lunak yang dapat ditentukan kualitasnya+ Desain adala$ satu-satunya *ara untuk mener#ema$kan ke(utu$an pelanggan men#adi suatu perangkat lunak atau sistem+ Desain perangkat lunak merupakan %ondasi untuk setiap ta$ap pada rekayasa perangkat lunak+

.arakteristik suatu desain yang (aik


Desain yang dikem(angkan men*akup semua ke(utu$an eksplisit $asil analisis) dan mengakomodir semua ke(utu$an implisit pelanggan+ Desain $arus dapat di(a*a dengan muda$) se$ingga men#adi suatu panduan (agi pem(uat kode maupun pengu#i dan pendukung aplikasi+ Desain mem(erikan gam(aran utu$ mengenai perangkat lunak yang diran*ang) ter*akup dalamnya adala$ data) %ungsi maupun perilaku perangkat lunak dili$at dari sudut pandang implementasi+

Panduan umum desain


Suatu desain sepatutnya menggunakan suatu struktur arsitektur yang 1/ tela$ dikem(angkan dengan pola desain yang dikenal se*ara umum) 2/ terdiri atas komponen yang sesuai dengan karakteristik suatu desain yang (aik 0/ dan dapat diterapkan dalam 1aktu yang *epat+ Di(agi se*ara #elas ke dalam komponen-komponen yang $anya men#alankan suatu tugas atau su(-tugas tertentu+ "eng$asilkan suatu antar muka yang mengurangi kompleksitas antar modul dan lingkungan eksternal+ Di$asilkan dengan suatu metode yang dapat diu#i kem(ali) dan didorong ole$ in%ormasi yang tela$ terkumpul pada ta$ap analisa ke(utu$an+ "eng$asilkan struktur data yang sesuai untuk diterapkan+

Prinsip Desain
1+ Proses desain $arus dilakukan untuk mengakomodir semua 2+ 0+ 2+ 3+ 6+ 4+

tu#uan) (ukan terpaku atas suatu tu#uan sempit Desain dapat ditelusuri kem(ali ole$ analisis model Desain tidak mengulang proses yang tela$ dilakukan Desain menun#ukkan keseragaman dan integritas Desain diran*ang untuk mengakomodir peru(a$an Desain (ukanla$ pemrograman dan pemrograman (ukanla$ desain Desain $arus diulas agar meminimalisir kesala$an logika

"odel Desain Perangkat Lunak


Model fungsional Model informasi Desain data Model perilaku Desain arsitektural Desain

Kebutu an lainn!a

Desain antar "emrograman muka

Modul program

"erangkat lunak terintegrasi "engu#ian $ ter%alidasi

Desain tingkat "rosedur/Komponen

Desain data
Aktivitas utama pada tahap desain data ialah menentukan representasi logis entitas data (tipe data) yang telah teridentifikasi pada tahap analisis kebutuhan dan spesifikasi. Pemilihan representasi dapat berlandaskan atas analisis algoritma untuk mendapatkan perilaku yang paling efisien, atau berdasarkan operasi yang dilakukan pada entitas tersebut.

Desain data mengu(a$ model in%ormasi yang di*iptakan pada ta$ap analisis men#adi suatu struktur data yang men#adi ke(utu$an perangkat lunak+ Entitas dan $u(ungan data dide%inisikan se*ara umum dengan ERD) dan se*ara spesi%ik dengan .amus Data) yang selan#utnya men#adi landasan dalam akti5itas desain selan#utnya

Desain arsitektural
6ertu#uan untuk mengem(angkan suatu struktur program modular yang merepresentasikan $u(ungan antar tiap modul Diperole$ dari spesi%ikasi sistem) analisis model) dan interaksi su(-sistem yang tela$ dide%inisikan pada ta$ap analisis model+

Desain 7ntar "uka


"engga(ungkan program dan struktur data dengan menentukan suatu antar muka yang memungkinkan ter#adi perpinda$an data pada program Desain antar muka men#elaskan (agaimana perangka lunak (erkomunikasi dengan dirinya) antar sistem maupun dengan manusia yang menggunakannya+ Data dan diagram alur data mem(erikan in%ormasi yang di(utu$kan untuk melakukan desain antar muka

Desain prosedur
"eru(a$ elemen dasar pada arsitektur perangkat lunak men#adi deskripsi prosedural komponen aplikasi Setela$ data dan struktur program ditentukan) menentukan deskripsi dan detail prosedur tanpa am(igu men#adi suatu ke$arusan In%ormasi yang diperole$ dari spesi%ikasi proses) spesi%ikasi kendali dan desain perangkat lunak men#adi landasan untuk desain komponen+

Prinsip Fundamental Desain Perangkat Lunak


*+,al dari pengeta uan seorang pemrogram komputer iala mengenali perbedaan antara mendapatkan suatu program !ang ber#alan dengan program !ang benar-. /0a1kson2

7(straksi Penyempurnaan "odularitas 7rsitektur Perangkat Lunak 7r*$ite*ture 8ierarki kendali Struktur Data Prosedur perangkat lunak Penyamaran in%ormasi

Prinsip Fundamental Desain


7(straksi
"erupakan satu *ara %undamental yang dapat digunakan untuk mengatasi kompleksitas+ ingkatan ke#elasan9(a$asa yang digunakan untuk mendeskripsikan suatu permasala$an
ingkat tertinggi ingkat (a1a$ ingkat ter-renda$

:enis-#enis:
7(straksi prosedural 7(straksi data 7(straksi kendali

Konsep abstraksi secara psikologis memungkinkan seseorang memusatkan perhatian pada suatu permasalahan secara umum tanpa memedulikan penjelasan dan permasalahan tingkat bawah yang tidak terkait salah satu fungsi abstraksi adalah memungkinkan seseorang menggunakan konsep dan terminologi yang biasa digunakan pada cakupan permasalahan yang dibahas! "#asserman$

Prinsip Fundamental Desain ;lan#ut/


Penyempurnaan
Strategi op-do1n 7(straksi dan penyempurnaan merupakan pelengkap

Pada tiap tahap, satu atau beberapa instruksi pada program dipecah menjadi instruksi yang lebih detail. Proses ini terus dilakukan secara berulang hingga semua instruksi merupakan suatu instruksi yang dapat diekspresikan ke dalam bahasa pemrograman. "#irth$

Prinsip Fundamental Desain ;lan#ut/


"odularitas
"eme*a$ aplikasi men#adi (e(erapa komponen) yang sering dise(ut se(agai modul) yang pada ak$irnya diintegrasikan untuk menyelesaikan permasala$an

.riteria untuk menge5aluasi metoda desain


ingkat keteruraian suatu modul ingkat ketersusunan suatu modul ingkat keter-pema$aman suatu modul ingkat kontinuitas suatu modul ingkat proteksi suatu modul

Prinsip Fundamental Desain ;lan#ut/


7rsitektur perangkat lunak
Struktur $ierarkis dari komponen program) *ara interaksi komponen dan struktur data yang digunakan tiap komponen+

Si%at suatu desain arsitektur


Sifat struktural
"ende%inisikan komponen sistem) *ara pem(ungkusan komponen terse(ut) dan interaksi dengan komponen lainnya+

Sifat fungsional lainnya


"en#elaskan (agaimana desain arsitektur terse(ut memenu$i persyaratan pada per%orma) kapasitas) ketersediaan) keandalan) keamanan) kemampuan adaptasi) dan karakteristik sistem lainnya+

Himpunan sifat yang terkait


.enali pola yang (erulang) yang sering di#umpai pada desain sistem yang serupa+ Desain yang ada se$arusnya mampu digunakan kem(ali pada desain sistem serupa+

Prinsip Fundamental Desain ;lan#ut/


8ierarki kendali 9Struktur Program
Pengaturan modul sedemikian rupa se$ingga mengimplikasikan $ierarki kendali ingkat kedalaman) tingkat kele(aran) tingkat keter$u(ungan eksternal) tingkat keter$u(ungan "anager internal - Diagram kontrol (er(entuk po$on
"odule D "odule E "odule . "odule 7 "odule 6 "odule ? "odule L "odule "

"odule F

"odule <

"odule 8

"odule N

"odule =

"odule P

"odule >

"odule I

"odule :

"odule R

Prinsip Fundamental Desain ;lan#ut/


Struktur Data
Representasi logis tentang keterkaitan antar tiap elemen data Skalar) 5ektor) array) linked list) sta*ks) ds(

Prosedur perangkat lunak


Detail pemrosesan tiap modul Spesi%ikasi men*akup ta$apan ke#adian) titik kondisi) perulangan dan organisasi data

Prinsip Fundamental Desain ;lan#ut/


Penyamaran In%ormasi
iap modul se$arusnya memiliki karakter yang se*ara sadar didesain agar menyamarkan in%ormasi yang digunakan ter$adap modul lainnya, "odul didesain sedemikian rupa agar in%ormasi yang tidak di(utu$kan tidak dapat diakses ole$ modul lain "ende%inisikan dan melaksankan (atasan pengaksesan in%ormasi

Desain "odular
.euntungan
"engurangi kompleksitas "em%asilitasi peru(a$an Le(i$ muda$ untuk dikem(angkan Le(i$ muda$ untuk dira1at dan diu#i Le(i$ muda$ diimplementasikan dalam lingkungan paralel

Ran*angla$ perangkat lunak agar tiap modul menyelesaikan satu permasala$an spesi%ik dan memiliki antar muka yang seder$ana #ika dili$at dari keter$u(ungan dengan (agian program yang lain

.emandirian %ungsional

.euntungan
Le(i$ muda$ untuk dikem(angkan Le(i$ muda$ untuk dira1at dan diu#i

ingkat kemandirian
.epaduan
-kuran se*ara relati% ter$adap tingkat kepentingan %ungsional se*ara modul Suatu modul terpadu ;se*ara ideal/ $anya menyelesaikan satu masala$9melakukan satu tugas

.eter$u(ungan
ingkat relati% ketergantungan antar modul

Anda mungkin juga menyukai