• Tidak ada hasil yang ditemukan

Prinsip Fundamental dalam Desain Perangkat Lunak

N/A
N/A
Protected

Academic year: 2021

Membagikan "Prinsip Fundamental dalam Desain Perangkat Lunak"

Copied!
21
0
0

Teks penuh

(1)

Prinsip Fundamental dalam

Desain Perangkat Lunak

Introduksi

Prinsip Desain

SEN-261 : Rekayasa Perangkat

Lunak

Tazeen Muzammil

(2)

S/W Design Fundamentals 2

Desain Perangkat Lunak

Definisi umum desain

“… suatu proses menerapkan berbagai teknik dan prinsip dengan tujuan menentukan suatu perangkat, proses atau sistem dalam tingkat kejelasan yang cukup untuk dapat menghasilkan produk akhir.”

Tujuan:

Untuk menghasilkan suatu model atau representasi yang nantinya akan dibangun

Disiplin ilmu terkait:

Desain data

Desain arsitektur Desain antar muka Desain komponen

(3)

Kualitas desain dan perangkat

lunak

Kualitas

Dalam RPL, desain adalah titik pengembangan kualitas.

Desain memberikan suatu representasi perangkat lunak yang dapat ditentukan kualitasnya.

Desain adalah satu-satunya cara untuk

menerjemahkan kebutuhan pelanggan menjadi suatu perangkat lunak atau sistem.

Desain perangkat lunak merupakan fondasi untuk setiap tahap pada rekayasa perangkat lunak.

S/W Design Fundamentals 3

(4)

Karakteristik suatu desain

yang baik

Desain yang dikembangkan mencakup semua

kebutuhan eksplisit hasil analisis, dan mengakomodir semua kebutuhan implisit pelanggan.

Desain harus dapat dibaca dengan mudah, sehingga menjadi suatu panduan bagi pembuat kode maupun penguji dan pendukung aplikasi.

Desain memberikan gambaran utuh mengenai

perangkat lunak yang dirancang, tercakup dalamnya adalah data, fungsi maupun perilaku perangkat lunak dilihat dari sudut pandang implementasi.

S/W Design Fundamentals 4

(5)

S/W Design Fundamentals 5

Panduan umum desain

Suatu desain sepatutnya menggunakan suatu struktur

arsitektur yang 1) telah dikembangkan dengan pola desain yang dikenal secara umum, 2) terdiri atas komponen yang sesuai dengan karakteristik suatu desain yang baik 3) dan dapat diterapkan dalam waktu yang cepat.

Dibagi secara jelas ke dalam komponen-komponen yang hanya menjalankan suatu tugas atau sub-tugas tertentu.

Menghasilkan suatu antar muka yang mengurangi kompleksitas antar modul dan lingkungan eksternal.

Dihasilkan dengan suatu metode yang dapat diuji kembali, dan didorong oleh informasi yang telah terkumpul pada tahap

analisa kebutuhan.

(6)

S/W Design Fundamentals 6

Prinsip Desain

1. Proses desain harus dilakukan untuk mengakomodir semua

tujuan, bukan terpaku atas suatu tujuan sempit

2. Desain dapat ditelusuri kembali oleh analisis model 3. Desain tidak mengulang proses yang telah dilakukan 4. Desain menunjukkan keseragaman dan integritas 5. Desain dirancang untuk mengakomodir perubahan

6. Desain bukanlah pemrograman dan pemrograman bukanlah

desain

(7)

S/W Design Fundamentals 7

Model Desain Perangkat

Lunak

Model informasi Model fungsional Model perilaku Kebutuhan lainnya Desain Pemrograman Pengujian Desain data Desain arsitektural

Desain tingkat Prosedur/Komponen

Modul program Perangkat lunak terintegrasi & tervalidasi Desain antar muka

(8)

S/W Design Fundamentals 8

Desain data

Desain data mengubah model informasi yang diciptakan pada tahap analisis menjadi suatu

struktur data yang menjadi kebutuhan perangkat lunak.

Entitas dan hubungan data didefinisikan secara umum dengan ERD, dan secara spesifik dengan Kamus Data, yang selanjutnya menjadi landasan dalam aktivitas desain selanjutnya

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.

(9)

S/W Design Fundamentals 9

Desain arsitektural

Bertujuan untuk mengembangkan suatu struktur program modular yang merepresentasikan

hubungan antar tiap modul

Diperoleh dari spesifikasi sistem, analisis model, dan interaksi sub-sistem yang telah didefinisikan pada tahap analisis model.

(10)

Desain Antar Muka

Menggabungkan program dan struktur data dengan

menentukan suatu antar muka yang memungkinkan terjadi perpindahan data pada program

Desain antar muka menjelaskan bagaimana perangka

lunak berkomunikasi dengan dirinya, antar sistem maupun dengan manusia yang menggunakannya.

Data dan diagram alur data memberikan informasi yang dibutuhkan untuk melakukan desain antar muka

S/W Design Fundamentals 10

(11)

11

Desain prosedur

Merubah elemen dasar pada arsitektur perangkat lunak menjadi deskripsi prosedural komponen aplikasi

Setelah data dan struktur program ditentukan, menentukan deskripsi dan detail prosedur tanpa ambigu menjadi suatu keharusan

Informasi yang diperoleh dari spesifikasi proses, spesifikasi kendali dan desain perangkat lunak menjadi landasan untuk desain komponen.

(12)

S/W Design Fundamentals 12

Prinsip Fundamental Desain

Perangkat Lunak

“Awal dari pengetahuan seorang pemrogram komputer ialah mengenali perbedaan antara mendapatkan suatu program yang berjalan dengan program yang benar.”

[Jackson]

Abstraksi

Penyempurnaan Modularitas

Arsitektur Perangkat Lunak Architecture Hierarki kendali

Struktur Data

Prosedur perangkat lunak Penyamaran informasi

(13)

S/W Design Fundamentals 13

Prinsip Fundamental Desain

Abstraksi

Merupakan satu cara fundamental yang dapat digunakan untuk mengatasi kompleksitas.

Tingkatan kejelasan/bahasa yang digunakan untuk mendeskripsikan suatu permasalahan Tingkat tertinggi Tingkat bawah Tingkat ter-rendah Jenis-jenis: Abstraksi prosedural Abstraksi data Abstraksi 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…

(14)

S/W Design Fundamentals 14

Prinsip Fundamental Desain

(lanjut)

Penyempurnaan

Strategi Top-down

Abstraksi 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

(15)

Prinsip Fundamental Desain

(lanjut)

Modularitas

Memecah aplikasi menjadi beberapa komponen, yang sering disebut sebagai modul, yang pada akhirnya diintegrasikan untuk menyelesaikan permasalahan

Kriteria untuk mengevaluasi metoda desain

Tingkat keteruraian suatu modul Tingkat ketersusunan suatu modul

Tingkat keter-pemahaman suatu modul Tingkat kontinuitas suatu modul

Tingkat proteksi suatu modul

S/W Design Fundamentals 15

(16)

S/W Design Fundamentals 16

Prinsip Fundamental Desain

(lanjut)

Arsitektur perangkat lunak

Struktur hierarkis dari komponen program, cara interaksi komponen dan struktur data yang digunakan tiap komponen.

Sifat suatu desain arsitektur

Sifat struktural

Mendefinisikan komponen sistem, cara pembungkusan komponen tersebut, dan interaksi dengan komponen lainnya.

Sifat fungsional lainnya

Menjelaskan bagaimana desain arsitektur tersebut memenuhi persyaratan pada performa, kapasitas, ketersediaan, keandalan, keamanan, kemampuan adaptasi, dan karakteristik sistem lainnya.

Himpunan sifat yang terkait

Kenali pola yang berulang, yang sering dijumpai pada desain sistem yang serupa. Desain yang ada seharusnya mampu digunakan kembali pada desain sistem serupa.

(17)

Prinsip Fundamental Desain

(lanjut)

Hierarki kendali /Struktur Program

Pengaturan modul sedemikian rupa sehingga mengimplikasikan hierarki kendali

Tingkat kedalaman, tingkat kelebaran, tingkat keterhubungan eksternal, tingkat keterhubungan internal

- Diagram kontrol berbentuk pohon

S/W Design Fundamentals 17 Module D Module E Module F Module I Module G Module J Module H Module A Module K Module B Module L Module N Module R

Module O Module P Module Q Module M

Module C Manager

(18)

S/W Design Fundamentals 18

Prinsip Fundamental Desain

(lanjut)

Struktur Data

Representasi logis tentang keterkaitan antar tiap elemen data

Skalar, vektor, array, linked list, stacks, dsb

Prosedur perangkat lunak

Detail pemrosesan tiap modul

Spesifikasi mencakup tahapan kejadian, titik kondisi, perulangan dan organisasi data

(19)

S/W Design Fundamentals 19

Prinsip Fundamental Desain

(lanjut)

Penyamaran Informasi

Tiap modul seharusnya memiliki karakter yang secara sadar didesain agar menyamarkan

informasi yang digunakan terhadap modul lainnya” Modul didesain sedemikian rupa agar informasi yang tidak dibutuhkan tidak dapat diakses oleh modul lain

Mendefinisikan dan melaksankan batasan pengaksesan informasi

(20)

S/W Design Fundamentals 20

Desain Modular

Keuntungan

Mengurangi kompleksitas Memfasilitasi perubahan

Lebih mudah untuk dikembangkan Lebih mudah untuk dirawat dan diuji

Lebih mudah diimplementasikan dalam lingkungan paralel

(21)

S/W Design Fundamentals 21

Kemandirian fungsional

Rancanglah perangkat lunak agar tiap modul menyelesaikan satu permasalahan spesifik dan memiliki antar muka yang sederhana jika dilihat dari keterhubungan dengan bagian program yang lain

Keuntungan

Lebih mudah untuk dikembangkan Lebih mudah untuk dirawat dan diuji

Tingkat kemandirian

Kepaduan

Ukuran secara relatif terhadap tingkat kepentingan fungsional secara modul Suatu modul terpadu (secara ideal) hanya menyelesaikan satu

masalah/melakukan satu tugas

Keterhubungan

Referensi

Dokumen terkait

String matching fokus pada pencarian satu, atau lebih umum, semua kehadiran sebuah kata (lebih umum disebut pattern ) dalam sebuah teks. Semua algoritma yang akan dibahas

Hal i n i menunjukkan bahwa padang lamun mungkin muncul pada beberapa daerah dekat pantai dari perairan pesisir Bahama atau mungkin padang lamun muncul dengan jenis lain dan

Dibutuhkan suatu program pelatihan kerja yang terus menerus bagi para pegawai baik yang baru saja diterima maupun yang sudah lama bekerja di dalam

Hal-hal yang dilakukan oleh kepala sekolah sebagai manajer adalah (1) pemberdayaan orangtua dilakukan kepala sekolah dengan melibatkan seluruh komponen masyarakat untuk ikut andil

Adriani menghendaki bahwa Hukum Pajak berdiri sendiri merupakan suatu ilmu pengetahuan yang terlepas dari Hukum Tata Usaha Negara karena Hukum Pajak mempunyai

Penyusunan laporan ini merupakan salah satu syarat yang harus dipenuhi untuk menyelesaikan Program Studi Teknik Mesin D III pada Fakultas Teknik Universitas Muria Kudus..

4.2.2.5 Diagram Aktivitas Sistem Informasi Pemetaan Sekolah SMP-SMA Sederajat Tingkat Kabupaten Kudus Berbasis OpenSource

Kesimpulan, tidak terdapat perbedaan bermakna kadar IFN-γ pada serum maternal baik pada kelompok early-onset preeclampsia maupun late-onset preeclampsia , sedangkan