Prinsip Fundamental dalam Desain Perangkat Lunak

dokumen-dokumen yang mirip
REKAYASA PERANGKAT LUNAK MATERI TM 10

MAKALAH REKAYASA PERANGKAT LUNAK ( KONSEP DESAIN PERANGKAT LUNAK )

MAKALAH DESAIN PERANGKAT LUNAK. NAMA : RANI JUITA NIM : DOSEN : WACHYU HARI HAJI. S.Kom.MM

Dibuat Oleh : 1. Andrey ( )

P10 Konsep & Prinsip Desain. A. Sidiq P.

Prinsip dan Konsep Desain Perangkat Lunak

Minggu 6 Prinsip & Konsep Desain

PRINSIP DAN KONSEP DESAIN

: ENDRO HASSRIE. Nim : : REKAYASA PERANGKAT LUNAK DESAIN PERANG LUNAK DAN REKAYASA PERANGKAT LUNAK

Rekayasa Perangkat Lunak

Bab 6 PERANCANGAN PERANGKAT LUNAK

Pertemuan 5 Konsep dan Prinsip Desain TIK : Menjelaskan konsep, prinsip dan tahapan dalam perancangan software

Software Design. Konsep dan Prinsip Desain Struktur Desain. Mira/Rpl/Design

Pertemuan 9 PRINSIP DAN KONSEP DESAIN

Tujuan. entitas yang kemudian akan dibangun. ó Menghasilkan suatu model atau representasi dari. Tim RPL 1 2

REKAYASA PERANGKAT LUNAK

DESAIN PERANGKAT LUNAK. Ign.F.Bayu Andoro.S, M.Kom

DESAIN PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK

BAHASA PEMROGRAMAN. Merupakan prosedur/tata cara penulisan program.

5 Perancangan Perangkat Lunak

Tujuan. Menghasilkan suatu model atau representasi dari entitas yang kemudian akan dibangun. Tim RPL 1 2

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

PEMROGRAMAN TERSTRUKTUR

DESAIN PERANGKAT LUNAK

Tugas 5 Rekayasa Perangkat Lunak. Artikel mengenai Modularity dalam perangkat Lunak

Rekayasa Perangkat Lunak

Design Engineering. Tim RPL. Program Studi Teknik Informatika

Menjelaskan maksud dari arsitektur PL dan kenapa sangat penting.

REKAYASA PERANGKAT LUNAK LANJUT DESIGN ENGINEERING. Defri Kurniawan M.Kom

SATUAN ACARA PERKULIAHAN

Implementasi Sistem dan Maintenace Sistem. Sistem Informasi Universitas Gunadarma 2012/2013

Object-Oriented Design

Nama : Rendi Setiawan Nim :

BAB I PENDAHULUAN. Badan Kepegawaian Daerah (BKD) Kota Bandung merupakan lembaga

Fungsi Bahasa pemrograman adalah sebagai media untuk menyusun dan memahami serta sebagai alat komunikasi antara pemrogram dengan computer.

Perspektif Alur-kerja (workflow) - barisan kegiatan Perspektif Alur Data (Data flow) alur informasi Perspektif Peran/Aksi siapa melakukan apa.

BAB 4 PELAKSANAAN PENGUJIAN

BAB I PENDAHULUAN Masalah Teknologi Informasi dan Konsep Avatar sebagai Solusi

DESAIN TEST CASE. Tugas ke 11 Rekayasa Perangkat Lunak

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

BAB I PENDAHULUAN. Dinas Pendidikan, Pemuda dan Olahraga Kota Tanjungpinang merupakan

Pertemuan 11 METODE DESAIN (2)

BAB 3. METODOLOGI PENELITIAN

ABSTRAKSI DEKOMPOSISI PENGUJIAN Dalam REKAYASA PERANGKAT LUNAK

BAB III OBJEK DAN METODE PENELITIAN. berlokasi di Jl. Leuwi Panjang No. 111 Bandung Telpon Terbaik dalam pelayanan servis di bengkel.

Garis-Garis Besar Program Pembelajaran Berbasis Kompetensi

Pertemuan 10 METODE DESAIN (1)

13. KONSEP DAN PRINSIP PERANCANGAN (DESAIN)

BAB I PENDAHULUAN. 1.1 Latar Belakang

IMPLEMENTASI PERANGKAT LUNAK

BAB I PENDAHULUAN 1.1. Latar Belakang

PEMROGRAMAN TERSTRUKTUR PERTEMUAN II LANGKAH-LANGKAH PENGEMBANGAN PROGRAM 6. DOKUMENTASI DAN PEMELIHARAAN PROGRAM

Tugas Rekayasa Perangkat Lunak

BAB II TINJAUAN PUSTAKA

MODEL DESAIN DOKUMENTASI DESAIN

MODEL DESAIN & DOKUMENTASI DESAIN

Spesifikasi Kebutuhan Perangkat Lunak

MAKALAH REKAYASA PERANGKAT LUNAK ( PEMODELAN DATA )

Kualitas bahasa pemrograman: Ekspresivitas : secara jelas menggambarkan algoritma yang dibuat oleh programmer

TOOL PENGUJIAN OVERVIEW

Testing dan Implementasi

MODEL ANALISA. Untuk Memenuhi Tugas Mata Kuliah Rekayasa Perangkat Lunak. Dosen Pembimbing : Wachyu Hari Haji, S.Kom, MM.

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMELIHARAAN PERANGKAT LUNAK. Kompetensi Lulusan 1. Pengertian Pemeliharaan OHT

REKAYASA ULANG (REENGINEERING)

PROSES MODEL DESAIN PERANGKAT LUNAK

BAB I PENDAHULUAN. Kabupaten Ponorogo suatu daerah yang memiliki luas 1.371,78 km² yang

ALGORITMA PEMROGRAMAN 1C PENDAHULUAN KONSEP BAHASA PEMROGRAMAN

MAKALAH MODEL DESAIN DAN DOKUMENTASI DESAIN. NAMA : RANI JUITA NIM : DOSEN : WACHYU HARI HAJI. S.Kom.MM

Dibuat Oleh : 1. Andrey ( )

SOFTWARE TESTING. Ratna Wardani

Teknik Pengujian Perangkat Lunak By : Afijal. M.Kom

SATUAN ACARA PERKULIAHAN (SAP)

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

Pengenalan Pemrograman

SATUAN ACARA PERKULIAHAN MATA KULIAH TESTING & IMPLEMENTASI SISTEM (KA) KODE / SKS : KK / 3 SKS

BAB III METODE PENELITIAN. a. Menentukan kebutuhan data yang dibutuhkan. b. Mengumpulkan semua data yang dibutuhkan.

Pemrograman Web Berbasis Framework. Pertemuan 13 : Pengembangan Project (Bag. 1) Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

Pendahuluan. SDLC merupakan satu aplikasi dari pendekatan sistem untuk tugas mengembangkan dan menggunakan suatu sistem berbasiskomputer

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB III METODOLOGI PENELITIAN

Tugas Rekayasa Perangkat Lunak

SATUAN ACARA PERKULIAHAN MATA KULIAH REKAYASA PERANGKAT LUNAK KODE/SKS : TI11. C342 / 2 SKS

DESAIN PERANGKAT LUNAK DAN REKAYASA PERANGKAT LUNAK PRINSIP DESAIN KONSEP DESAIN

Bersama ini saya lampirkan bahan yang akan dibahas dalam penulisan Laporan Tugas Akhir ini. Atas perhatiannya saya ucapkan terima kasih.

PE P NGE N NAL NA AN AN K ONS K E ONS P P D A D S A A S R A BAS A I S S D S A D T A A T ( A R ( ev e i v ew) e Dr. Karmilasari

BAB III METODOLOGI PENELITIAN

TEKNIK PENGUJIAN PERANGKAT LUNAK

REKAYASA PERANGKAT LUNAK MATERI TM 12

BAB III OBJEK DAN METODE PENELITIAN. Objek penelitian yang di ambil penulis adalah Apotek Century Jalan

BAB 2 TINJAUAN PUSTAKA

Dwi Hartanto, S.Kom 6/11/2012. Pertemuan 13 PSBO 1

Dibuat Oleh : 1. Andrey ( )

IMPLEMENTASI. Pemasangan Atau Konversi Sistem Baru Ke Sistem Lama. Prinsip Portability & Reusable (Kemudahan & Penggunaan Ulang Komponen)

KONSEP DAN PRINSIP DESAIN. Oleh I Made Cipta Wahyudi

BAB I PENDAHULUAN. 1.1 Latar Belakang. Seiring dengan semakin pesatnya perkembangan teknologi yang ada,

BAB II LANDASAN TEORI

Transkripsi:

Prinsip Fundamental dalam Desain Perangkat Lunak Introduksi Prinsip Desain SEN-261 : Rekayasa Perangkat Lunak Tazeen Muzammil

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

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.

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.

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. Menghasilkan struktur data yang sesuai untuk diterapkan.

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. Desain harus diulas agar meminimalisir kesalahan logika

Model Desain Perangkat Lunak Model fungsional Model informasi Model perilaku Desain Desain arsitektural Desain data Kebutuhan lainnya Desain antar muka Pemrograman Desain tingkat Prosedur/Komponen Modul program Perangkat lunak terintegrasi Pengujian & tervalidasi

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 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

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.

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

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.

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

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 [Wasserman]

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 pemrograman. [Wirth]

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

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.

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 Manager internal Module A Module B - Diagram kontrol berbentuk pohon Module D Module E Module K Module L Module C Module M Module F Module G Module H Module N Module O Module P Module Q Module I Module J Module R

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

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

Desain Modular Keuntungan Mengurangi kompleksitas Memfasilitasi perubahan Lebih mudah untuk dikembangkan Lebih mudah untuk dirawat dan diuji Lebih mudah diimplementasikan dalam lingkungan paralel

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 Tingkat relatif ketergantungan antar modul