konsep dan prinsip desain

24
PERTEMUAN 7 KONSEP DAN PRINSIP DESAIN

Upload: trisatya-marthadison

Post on 21-Jul-2015

901 views

Category:

Documents


3 download

TRANSCRIPT

PERTEMUAN 7KONSEP DAN PRINSIP DESAIN

Pendahuluan Desain

langkah pertama dalam fase pengembangan bagi setiap produk/ sistem yg direkayasa Definisi desain proses aplikasi berbagai teknik dan prinsip bagi tujuan pendefinisian suatu perangkat, suatu proses/ sistem dalam detail yg memadai untuk memungkinkan realisasi fisiknya

.. lanjutan Tujuan

desainer menghasilkan suatu model/ representasi dari entitas yang kemudian akan dibangun Seperti desain rekayasa pada disiplin ilmu lainnya, desain PL berubah secara kontinu sebagai metode-metode baru, analisis yang lebih baik, serta membangun pemahaman yg lebih baik

Desain PL dan RPL Desain

PL berada pada inti teknik dari proses RPL dan diaplikaskan tanpa memperhatikan model proses PL yg digunakan Begitu persyaratan PL telah mulai dianalisis dan ditentukan, maka desain PL menjadi yg pertama dari 3 aktifitas teknikdesain, coding dan testing.

.. lanjutan Aliran

informasi selama desain PL ditunjukkan pada gambar

.. lanjutan Dengan

menggunakan satu dari sejumlah metode desain, langkah desain menghasilkan desain data, desain arsitektur, desain interface serta desain prosedural

.. lanjutan

Desain data mentransformasi model domain informasi yg dibuat selama analisis ke dalam struktur data yg akan diperlukan untuk implementasi PL (basisnya ERD & detail dari kamus data) Desain arsitektur menentukan hubungan diantara elemen struktur utama dari program (kerangka kerja sebuah program komp. dari model analisis) Desain interface bagaimana PL berkomunikasi dalam dirinya sendiri, dengan sistem yg berinteroperasi dengannya serta dengan user (mengimplikasikan aliran informasi [data/ kontrol]) Desain prosedural mentransformasi elemen2 struktural dari arsitektur program ke dalam suatu deskripsi prosedural dari komponen PL. (dasar dari desain prosedural dari PSPEC, CSPEC dan STD)

Proses desainDesain PL suatu proses interaktif yang melaluinya dari analisis persyaratan diterjemahkan ke dalam suatu cetak biru u/ membangun PL 1. Desain dan kualitas PL 2. Evolusi desain PL

Desain dan kualitas PL

1.

2.

3.

McGlaughlin mengusulkan 3 karakteristik yang berfungsi sebagai pedoman bagi evaluasi suatu desain yg baik: Desain harus mengimplementasikan keseluruhan persyaratan eksplisit yg dibebankan dalam model analisis, dan harus mengakomodasi semua persyaratan implisit yg diinginkan pelanggan Desain harus menjadi panduan yg dapat dibaca, dapat dipahami bagi mereka yg menghasilkan code dan yg menguji serta memelihara PL Desain harus memberikan suatu gambaran lengkap mengenai PL, yg menekankan data, dan domain perilaku dari perspektif implementasi

.. LanjutanPedoman u/ mengevaluasi kualitas desain secara detail

Desain harus memperlihatkan suatu organisasi hirarki yg dengan baik menggunakan kontrol di antara elemen2 PL Desain harus modular PL harus dipartisi secara logika ke dalam elemen2 yg melakukan fungsi dan subfungsi khusus Desain harus berisi data dan abstrasi prosedural Desain harus membawa ke arah modul (subrutin/prosedur) yg memperlihatkan karakteristik fungsional independen Desain harus mengarah kepada interface yg mengurangi kompleksitas hubungan antara modul2 dan dengan lingkungan eksternal Desain harus didapat dengan menggunakan metode berulang yang dikendalikan oleh informasi yg diperoleh selama analisis persyaratan PL

Evolusi desain PL Suatu

proses kontinu yg terus berlangsung selama tiga dekade Kerja desain awal dikonsentrasikan pd kriteria u/ pengemb.program moduler dan metode u/ menyaring arsitektur PL dg cara top-down Aspek prosedural dari definisi desain yg tercakup dalam suatu filosofi (perograman terstruktur) Usaha selanjutnya mengusulkan metode struktur data ke dalam definisi desain Pendekatan yg lebih baru mengusulkan suatu pendekatan orientasi objek ke desain

Prinsip desain Desain

model Proses desain seragkaian langkah iteratif yg memungkinkan desainer menggambarkan semua aspek PL dibangun Keahlian kreatif, pengalaman, rasa tentang apa yg membuat PL baik, dan keseluruhan komitmen thd kualitas faktor2 sukses bagi suatu desain kompeten Model desain ekivalen rencana arsitek u/ sebuah rumah (dari betuk 3dpembentukan detail spt layout pipa)

perangkat lunak berupa proses dan

Konsep-konsep desain Abstraksi Penyaringan Modularitas Arsitektur

PL Hirarki kontrol Partisi struktural Struktur data Prosedur PL Penyembunyian informasi

Abstraksi Pada

saat kita bergerak melalui tingkat abstraksi yg berbeda, kita bekerja u/ membuat abstraksi data dan prosedural Abstraksi data sekumpulan data yang menggambarkan objek data. Ex: pintu (tipe pintu, arah buka, berat, dimensi dsb) Abstraksi prosedural urutan instruksi yang diberi nama yg mempunyai fungsi tertentu dan terbatas. Ex: kata open pada sebuah pintu. Open mengimplementasikan urutan panjang mulai dari berjalan k pintumeraih tombolmembuka tombol dst

Penyaringan Penyaringan

stepwise (seragkaian langkah) strategi desain top down yg diusulkan o/ Wiklaus Wirth Arsitektur program dikembangkan dengan cara urut menyaring tingkat detail prosedural

Modularitas Adalah

atribut tunggal dari PL yang memungkinkan sebuha program u/ dikelola secara intelektual PL monolitik (program besar yg terdiri dari modul tunggal) tidak dapat dipahami dengan mudah oleh pembaca Jumlah alur kontrol, cakupan referensi, jumlah variabel dan kompleksitas keseluruhan akan membuat pemahaman menjadi hampir tidak mungkin rumus

.. lanjutan

1. 2. 3. 4. 5.

Bagaimana kita menentukan sebuah modul yg sesuai u/ suatu ukuran yg diberikan? Meyer menyebutkan 5 kriteria yg memungkinkan kita mengevaluasi suatu metode desain Dekomposabilitas modular Komposabilitas modular Kemampuan pemahaman modular Kontinuitas modular Proteksi modular

.. lanjutan1. 2. 3. 4. 5.

Dekomposabilitas modular (dekomposisi masalah menjadi submasalah2) Komposabilitas modular (komponen desain reusable dipasang ke dalam sistem baru) Kemampuan pemahaman modular (unit yg berdiri sendiri maka modul akan lebih mudah dibangun dan diubah) Kontinuitas modular (meminimalisir efek dari perubahan kecil yg tjd) Proteksi modular (bila tjd kondisi yg menyimpang pada modul pengaruh efek samping bisa diminimalisir)

Arsitektur PL Mencakup

struktur keseluruhan PL dan cara dimana struktur memberikan integrasi konseptual bagi suatu sistem Arsitektur merupakan struktur hirarki dari komponen program, cara bagaimana komponen tsb berinteraksi dll

Hirarki kontrol

Disebut juga struktur program merepresentasikan organisasi komponen program serta mengimplikasikan suatu hirarki kontrol hirarki kontrol merepresentasikan 2 karakteristik yg berbeda dari arsitektur PL visibilitas dan konektivitas Visibilitas menunjukkan serangkaian komp.program yg dapat diminta / dipakai sbg data o/ komponen yg diberikan (ex:modul pd sistem BO dpt memilliki akses ke suatu array dar atribut data) Konektivitas: mengindikasikan serangkaian komponen yg diminta secara tidak langsung / digunakan sbg data o/ sebuah modul yg ditetapkan (ex. Sebuah modul yg secara langsung menyebabkan modul lain memulai eksekusi akan disambungkan dengan modul tsb)

Partisi struktural 1. 2. 3. 4.

Struktur program harus dipartisi secara horisontal maupun vertikal Partisi arsitektur secara horisontal memberkan keuntungan: Menghasilkan PL yg lebih mudah diuji Membawa kpd PL yg lebih mudah dipelihara Menghasilkan penyebaran efek samping yg lebih sedikit Menghasilkan PL yg lebih mudah u/ diperluas Partisi vertikal (pemfaktoran):menyatakan bahwa kontrol (pembuatan keputusan) dan kerja harus didistribusikan secara top down dlm arsitektur program

Struktur data Representasi

dari hubungan logis antara elemen2 data individual Struktur data seperti struktur program dapat direpresentasikan pada tingkat abstraksi yg berbeda Ex: stack model konseptual dari suatu struktur data yg dpt dimplementasi sbg vendor/ linked list

Prosedur PL Berfokus

pada detail2 pemrosesan dari masing2 modul secara individual Prosedur harus memberikan spesifikasi yg teliti thd pemrosesan, menckup urutan event, point2 keputusan, operasi dan struktur data itu sendiri

Penyembunyian informasi Bagaimana

mendekomposisi suatu solusi PL u/ mendapatkan serangkaian modul terbaik? Menyatakan bahwa modul ditandai dg keputusan desain yg masing2 tersembunyi dari semua desain lain