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

dokumen-dokumen yang mirip
REKAYASA PERANGKAT LUNAK MATERI TM 10

Minggu 6 Prinsip & Konsep Desain

P10 Konsep & Prinsip Desain. A. Sidiq P.

Pertemuan 9 PRINSIP DAN KONSEP DESAIN

Prinsip dan Konsep Desain Perangkat Lunak

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

PRINSIP DAN KONSEP DESAIN

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

Dibuat Oleh : 1. Andrey ( )

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

Rekayasa Perangkat Lunak

KONSEP DAN PRINSIP DESAIN. Oleh I Made Cipta Wahyudi

MAKALAH REKAYASA PERANGKAT LUNAK ( KONSEP DESAIN PERANGKAT LUNAK )

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

Prinsip & Konsep Perancangan Sistem

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

REKAYASA PERANGKAT LUNAK

Tujuan 04/07/ :01

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

13. KONSEP DAN PRINSIP PERANCANGAN (DESAIN)

DESAIN PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK

Design Engineering. Tim RPL. Program Studi Teknik Informatika

5 Perancangan Perangkat Lunak

Terjemahan model analisis menjadi desain software

BAB V KONSEP DAN PRINSIP DESAIN

Bab 6 PERANCANGAN PERANGKAT LUNAK

DESAIN PERANGKAT LUNAK

Prinsip Fundamental dalam Desain Perangkat Lunak

12. KONSEP DAN PRINSIP ANALISIS

10/4/2007. Posisi Perancangan dalam RPL. Fungsi Proses Perancangan. Elemen Proses Perancangan (1) Perancangan vs Kualitas PL

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

Kenapa Arsitektur? Tim RPL 1 2

DESAIN TEST CASE. Tugas ke 11 Rekayasa Perangkat Lunak

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

Gambar 3.1 Desain Penelitian

1. Konsep dan Prinsip Analisa

IMPLEMENTASI PERANGKAT LUNAK

PEMODELAN ANALISIS. Di Susun Oleh : Linda Liana Dosen Pengampu : Wahyu Hari Haji M.Kom

BAB III METODOLOGI PENELITIAN

BAB III METODE PENELITIAN

Desain arsitektur adalah untuk mengembangkan struktur program modular dan merepresentasikan hubungan kontrol antar modul. Metode desain yang

Nama : Rendi Setiawan Nim :

PENDAHULUAN. A. Berorientasi Objek. 1. Karakteristik dari Objek

Analisis dan desain model

BAB III METODOLOGI PENELITIAN

BAB III METODOLOGI PENELITIAN. calon seleksi alih golongan (SAG) dengan menggunakan metode SMART (Simple

REKAYASA PERANGKAT LUNAK MATERI TM 12

Metode Perancangan. Tahap Perancangan

Data & Architecural Design. Tim RPL Progdi Teknik Informatika

Analisis (Konvensional)

Review Rekayasa Perangkat Lunak. Nisa ul Hafidhoh

BAB III METODOLOGI PENELITIAN. Desain penelitian yang akan dilakukan dalam proses penelitian skripsi yang

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

TINJAUAN UMUM PENGEMBANGAN SISTEM

MODEL DESAIN DOKUMENTASI DESAIN

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

BAB III METODOLOGI PENELITIAN

ANALISA DAN PERANCANGAN SISTEM INFORMASI. Pendekatan Terstruktur dan alat-alat pemodelan Sistem

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

BAB III METODOLOGI PENELITIAN

Rekayasa Perangkat Lunak

BAB III METODOLOGI PENELITIAN. 1. Spesifikasi komputer yang digunakan dalam penelitian ini adalah sebagai. Processor INTEL Pentium Dual Core T4300

BAB II LANDASAN TEORI. Pengertian sistem terbagi menjadi dua yaitu : pendekatan yang menekankan pada elemen / komponen.

BAB III METODOLOGI PENELITIAN

Pertemuan 10 METODE DESAIN (1)

PROSES MODEL DESAIN PERANGKAT LUNAK

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

Object Oriented Analysis and Design -Pendahuluan- Nisa ul Hafidhoh

FASE PENGEMBANGAN. MPSI sesi 7 & 8

PEMROGRAMAN TERSTRUKTUR

MAKALAH ELEMEN MODEL ANALISIS. NAMA : RANI JUITA NIM : DOSEN : WACHYU HARI HAJI. S.Kom.MM

Pengayaan Software/Hardware dan Pengantarmukaan

DASAR REKAYASA PERANGKAT LUNAK

BAB II LANDASAN TEORI

Program Development Cycle

Teknik Informatika S1

BAB 1 PENDAHULUAN Latar Belakang Masalah

BAB III PERANCANGAN PROGRAM

MODEL DESAIN & DOKUMENTASI DESAIN

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

Testing dan Implementasi Sistem Informasi

Manajemen Proyek Sistem Informasi DAY-1. Wiratmoko Yuwono, ST

Object-Oriented Design

ARSITEKTURAL DESIGN. Struktur Arsitektur. Bass, Clements, dan Kazman [Bass, 2003 via Pressman, 2010) mendefinisikan:

Parno, SKom., MMSI. Personal Khusus Tugas

BAB III KONSEP DAN PRINSIP ANALISIS

A. Model Desain Perangkat Lunak

2.1 Definisi Analisis Kebutuhan Analisis kebutuhan adalah proses menemukan permasalahan dan menghasilkan alternatif pemecahan yang relevan.

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

IF2261 Software Analysis Part I

MAKALAH REKAYASA PERANGKAT LUNAK ( SIKLUS HIDUP PERANGKAT LUNAK )

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

PERANCANGAN BERORIENTASI OBJEK

Rekayasa Perangkat Lunak (Software Engineering)

BAHASA PEMROGRAMAN. Merupakan prosedur/tata cara penulisan program.

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

Perancangan Sistem Informasi. Teknik Informatika UNIKOM

BAB V PERANCANGAN MOXIE

Information System Analysis and Design

BAB III METODOLOGI PENELITIAN. Desain penelitian disusun berdasarkan tahapan sebagai berikut:

Transkripsi:

Software Design Konsep dan Prinsip Desain Struktur Desain

Catatan dari Sebuah Desain PSPEC one or more components" in the software design

Analisis Ke Desain Data Object Description Entity- Relationship Diagram Data Flow Diagram Process Specification (PSPEC) procedural design Data Dictionary interface design State-Transition Diagram Control Specification (CSPEC) architectural design data design THE ANALYSIS MODEL THE DESIGN MODEL

Proses Desain Desain P/L adalah suatu proses Interaktif yang melalui persyaratan diterjemahkan ke dalam blue print untuk membangun suatu perangkat lunak. Sepanjang proses desain, kualitas desain yang melengkapi dinilai dengan serangkaian kajian teknis formal atau desain awal. Pedoman bagi evaluasi suatu desain yang baik : Desain harus mengimplementasi keseluruhan persyaratan eksplisit yang dibebankan dalam model analisis, dan harus mengakomodasi semua persyaratan implisit yang diinginkan pelanggan. Desain harus menjadi panduan yang dapat dibaca. Desain harus memberikan suatu gambaran lengkap mengenai P/L.

Evolusi dari Desain P/L Pengembangan program Modular Pemrograman Terstruktur Aspek-aspek prosedural dari definisi desain Menterjemahkan aliran data atau struktur data kedalam definisi desain OO design

Prinsip Desain Proses Desain tidak boleh menderita karena tunnel vision Harus memperhatikan pendekatan-pendekatan alternatif. Desain harus dapat ditelusuri sampai model analisis Desain tidak boleh berulang gunakan pola desain Design harus meminimalkan kesenjangan intelektual antara P/L dan masalah yang ada di dunia nyata. Desain harus mengungkapkan keseragaman dan integrasi Desain harus terstruktur untuk mengakomodasi perubahan Desain harus terstruktur untuk berdegradasi dengan baik, bahkan pada saat data dan event-event menyimpang atau menghadapi kondisi operasi Desain bukanlah pengkodean dan pengkodean bukanlah desain. Desain harus dinilai kualitasnya pada saat desain dibuat, bukanlah setelah jadi. Desain haruslah dinilai kualitasnya pada saat desai dibuat, bukan setelah jadi. Desain harus dikaji untuk meminimalkan kesalahan-kesalahan konseptual (semantik)

Fundamental Concepts Abstraksi/Abstraction - memungkinkan designers untuk berkonsentrasi pada suatu permasalahan pada beberapa tingkat generalisasi tanpa memperhatikan detail tingkat rendah yang tidak relevan (Abstraksi prosedural urutan instruksi yg diberi nama yg mempunyai fungsi tertentu dan terbatas, abstraksi data kumpulan data yg bernama yg menggambarkan objek data) Penyaringan/Refinement proses elaborasi, dimana the designer berhasil membuat detail dari setiap komponen yang didesain. Modularitas/Modularity di mana perangkat lunak dibagi ke dalam komponen-komponen bernama dan dapat dipanggil terpisah. Arsitektur/P/LSoftware architecture struktur keseluruhan perangkat lunak dan cara di mana struktur memberikan integrasi konseptual bagi sistem.

Fundamental Concepts (2) Hirarki Kontrol/Control hierarchy or program structure merepresentasikan organisasi komponen program (modul) serta mengimplikasikan suatu hirarki kontrol, tidak mengimplikasikan aspek prosedural dari P/L, seperti urutan proses, kejadian dari keputusan, atau pengulangan operasi. Partisi Struktural/Structural partitioning partisi horisontal menentukan cabangcabang terpisah dari hirarki modular untuk setiap fungsi program mayor(input, transformasi data, dan output); partisi vertikal (Pemfaktoran) menyatakan bahwa kontrol dan kerja harus didistribusikan secara top-down dalam arsitektur program Struktur Data/Data structure representasi dari hubungan logis antara elemenelemen data individual Prosedur P/L/Software procedure - precise specification of processing (event sequences, decision points, repetitive operations, data organization/structure) Penyembunyian Informasi/Information hiding - informasi (data and procedure) yang diisikan pada sebuah modul tidak dapat diakses ke modul alin yang tidak memiliki kepentingan terhadap informasi tersebut.

Modular Design easier to build, easier to change, easier to fix...

Independensi Fungsional COHESION /KOHESI Ukuran kekuatan fungsional relatif dari sebuah modul COUPLING/PERANGKAIAN Ukuran kesalingtergantungan relatif di antara modul-modul

Rendah Tinggi Cohesion and Coupling Spectrum Koinsidental Logikal Temporal Prosedural Komunikasional Sekuensial Fungsional Rendah Tinggi Tidak ada perangkaian langsung Perangkaian Data Perangkaian Melekat Perangkaian Kontrol Eksternal Perangkaian Umum Perangkaian Isi

Why Information Hiding? Menyatakan bahwa modul ditandai dengan keputusan desain (masingmasing) tersebunyi dari desain lain Modul seharusnya ditentukan dan didesain sehingga informasi informasi yang diisikan pada sebuah modul tidak dapat diakses ke modul lain yang tidak memiliki kepentingan terhadap informasi tertentu Menetapkan dan menyelenggarakan batasan-batasan akses ke detail prosedural pada suatu modul dan struktur data lokal yang digunakan oleh modul tersebut Suatu kriteria desain untuk sistem modular memberikan keuntungan terbesarnya pada saat dibutuhkan modifikasi selama pengujian dan sesudahnya, selama pemeliharaan P/L Kesalahan kecil yang terjadi selama modifikasi punya kemungkinan lebih kecil untuk menyebar ke lokasi lain dalam P/L

Why Architecture? Arsitektur Perangkat lunak bukan menggambarkan P/L Operasional melainkan merepresentasikan struktur keseluruhan P/L cara di mana struktur memberikan integrasi konseptual bagi suatu sistem. Kenapa harus dibuat : (1) Mendapatkan gambaran arsitektural sebuah sistem. (2) Gambaran tersebut berfungsi sebagai kerangka kerja dari aktivitas desain yang lebih detail ang dilakukan. (3) Mengurangi resiko dalam pembangunan P/L

Architectural Styles Data-centered architectures Data flow architectures Call and return architectures Object-oriented architectures Layered architectures

Data-Centered Architecture

Data Flow Architecture

Call and Return Architecture

Layered Architecture

Deriving Program Architecture Program Architecture

Partitioning the Architecture horizontal and vertical partitioning are required

Horizontal Partitioning Menentukan cabang-cabang terpisah dari hirarki modular untuk setiap fungsi program mayor. Modul kontrol digunakan untuk mengkoordinasi komunikasi di antara dan eksekusi fungsi-fungsi program function 1 function 3 function 2

Vertical Partitioning: Factoring Pembuatan keputusan dan kerja harus didistribusikan secara topdown dalam arsitektur program. Modul-modul tingkat puncak harus melakukan fungsi-fungsi kontrol dan melakukan sedikit kerja pemrosesan aktual. decision-makers workers

Why Partitioned Architecture? Menghasilkan P/L yang lebih mudah diuji. Membawa kepada P/L yang lebih mudah dipelihara Menghasilkan penyebaran efek samping yang lebih sedikit Menghasilkan P/L yang lebih mudah untuk diperluas

Heuristik Desain Bagi Modularitas Yang Efektif Evaluasi iterasi pertama dari struktur program untuk mengurangi perangkaian/coupling dan meningkatkan kohesi/cohesion. Usahakan meminimalkan struktur dengan fan-out tinggi, usahakan untuk melakukan fan-in pada saat kedalaman bertambah Jagalah supaya lingkup efek dari suatu modul ada dalam lingkup kontrol dari modul itu. Evaluasi interface modul untuk mengurangi kompleksitas dan redundansi dan meningkatkan konsistensi. Tetapkan modul-modul fungsinya dapat diprediksi, tetapi hindari modul yang terlalu rekstriktif. Usahakan modul-modul entri terkontrol dengan menghindari hubungan patologis. Kemaslah P/L berdasarkan batasan desain dan persyaratan.