Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Madhata,S.KomRekayasa Perangkat Lunak 1 bimocahyo1 SOFTWARE DESIGN.

Presentasi serupa


Presentasi berjudul: "Madhata,S.KomRekayasa Perangkat Lunak 1 bimocahyo1 SOFTWARE DESIGN."— Transcript presentasi:

1 Madhata,S.KomRekayasa Perangkat Lunak 1 bimocahyo1 SOFTWARE DESIGN

2 Madhata,S.KomRekayasa Perangkat Lunak 2 bimocahyo2  Merancang adalah proses kreatif  Kuncinya harus sering berlatih  Tiga tahap mengatasi problema dalam perancangan Stages of design PELAJARI & PAHAMI PERMASALAHAN TENTUKAN RANCANGAN GLOBAL BUAT RANCANGAN RINCI

3 Madhata,S.KomRekayasa Perangkat Lunak 3 bimocahyo3 Stages of design  Tiga tahap mengatasi problema dalam perancangan(ljt)  Pelajari & pahami permasalahan  Tanpa pemahaman tidak bermanfaat  Pemahaman bisa salah  Pemahaman yg salah membawa kearah yg salah  Pemahaman yang benar  Memudahkan penerimaan oleh user

4 Madhata,S.KomRekayasa Perangkat Lunak 4 bimocahyo4 Stages of design  Lihat dari berbagai sudut pandang  Kebutuhan bisa terlihat berbeda  Cara memahami kebutuhan  Gunakan berbagai pemodelan

5 Madhata,S.KomRekayasa Perangkat Lunak 5 bimocahyo5 Stages of design  Tiga tahap mengatasi problema dalam perancangan(ljt)  Tentukan rancangan global  Buat garis besar pemecahan permasalahan  Rancang lebih dari satu alternatif  kemudian lakukan evaluasi bersama user  Pilihan solusi tergantung  Pengalaman & pengetahuan perancang  Mempengaruhi bentuk & pilihan solusi

6 Madhata,S.KomRekayasa Perangkat Lunak 6 bimocahyo6 Stages of design  Ketersediaan reusable component  Komponen yang diadopsi dari sistem lain  Kesederhanaan (simplicity )  rancangan harus diupayakan sederhana

7 Madhata,S.KomRekayasa Perangkat Lunak 7 bimocahyo7 Stages of design  Tiga tahap mengatasi problema dalam perancangan (ljt)  Buat rancangan rinci  Solusi yang terpilih dirinci  Dilakukan tahap-tahap implementasi  Terdiri dari-tahap-tahap  Perancangan antar muka  Perancangan komponen  Perancangan struktur data  Perancangan algoritma

8 Madhata,S.KomRekayasa Perangkat Lunak 8 bimocahyo8 Stages of design  Rancangan rinci bisa memperlihatkan  Kesalahan  ketidak lengkapan TEMUKAN & PERBAIKI

9 Madhata,S.KomRekayasa Perangkat Lunak 9 bimocahyo9 Tahap-tahap perancangan SPESIFIKASI KEBUTUHAN RANCANGAN ARSITEKTUR SPESIFIKASI ABSTRAK RANCANGAN ANTAR-MUKA RANCANGAN KOMPONEN RANCANGAN STRUKTUR DATA RANCANGAN ALGORITMA ARSITEKTUR SISTEM SPESIFIKASI PERANGKAT LUNAK SPESIFIKASI ANTAR-MUKA SPESIFIKASI KOMPONEN SPESIFIKASI STRUKTUR DATA SPESIFIKASI ALGORITMA

10 Madhata,S.KomRekayasa Perangkat Lunak 10 bimocahyo10 Tahap-tahap perancangan Rancangan arsitektur  Rancangan arsitektur  Sistem akan berisi apa saja  Komponen apa yang terdapat di dalam sistem  Penentuan sub-sistem yang mendukung  Interaksi sistem dengan lingkungannya  Sistem apa saja yang ada disekitarnya  Apa yang dibutuhkan dari sistem disekitarnya  Apa yang dapat diberikan untuk sistem disekitarnya

11 Madhata,S.KomRekayasa Perangkat Lunak 11 bimocahyo11 Tahap-tahap perancangan Spesifikasi abstrak  Spesifikasi abstrak  Spesifikasi tentang perilaku sistem  Dibuat untuk tiap sub-sistem  Satu untuk tiap sub-sistem  Menjelaskan tentang:  Kemampuan sistem  Apa yang dapat dilakukan oleh sistem  Apa yang tidak dapat dilakukan oleh sistem  batasan sistem  Bagaimana sistem melakukan proses

12 Madhata,S.KomRekayasa Perangkat Lunak 12 bimocahyo12 Tahap-tahap perancangan Rancangan antar-muka  Rancangan antar-muka  Penghubung antara sistem dengan dunia luar  Sistem dengan sistem lainnya  Sistem dengan user  Sub-sistem satu dengan lainnya Rancangan komponen  Rancangan komponen  Proses dikelompokkan  Ditempatkan ke dalam modul-modul terpisah  Penentuan antar-muka antar komponen

13 Madhata,S.KomRekayasa Perangkat Lunak 13 bimocahyo13 Tahap-tahap perancangan  Rancangan struktur-data  Rincian struktur-data yang dipakai oleh sistem  Pilihan struktur data ditentukan Rancangan algoritma  Rancangan algoritma  Rincian algoritma pemecahan masalah  Pilihan pemanfaatan algoritma tertentu

14 Madhata,S.KomRekayasa Perangkat Lunak 14 bimocahyo14 Strategi perancangan STRATEGI PERANCANGAN FUNCTIONAL DESIGN OBJECT-ORIENTED DESIGN

15 Madhata,S.KomRekayasa Perangkat Lunak 15 bimocahyo15 Strategi perancangan Rancangan fungsional  Rancangan fungsional  Sistem dirancang dengan melihat proses apa saja yang ada di dalamnya  Bertahap dari high-level ke detail design  Strategi yang dipakai structure design memanfaatkan :  Data-flow model  Entity-relationship model  Structural model  Structure chart

16 Madhata,S.KomRekayasa Perangkat Lunak 16 bimocahyo16 Strategi perancangan  Alternatif strategi  Jackson method  Warnier-orr method

17 Madhata,S.KomRekayasa Perangkat Lunak 17 bimocahyo17 Strategi perancangan Rancangan berorientasi obyek  Rancangan berorientasi obyek  Sistem dirancang sebagai koleksi dari obyek  Ide dasarnya adalah information hiding  Penyembunyian informasi  Tiap obyek mempunyai  sejumlah attribut  Operasi berdasarkan attribut yang ada  Obyek bisa mempunyai attribut yang diturunkan dari obyek lainnya  Obyek berkomunikasi dengan obyek lainnya  Melalui message

18 Madhata,S.KomRekayasa Perangkat Lunak 18 bimocahyo18 Kualitas Rancangan  Tidak ada kesepakatan tentang rancangan yang baik.  Yang penting rancangan sesuai spesifikasi.  Rancangan yang baik kemungkinan berbentuk.  Rancangan efisien  Menghasilkan program yang bekerja dengan efisien  Rancangan minimal  Menghasilkan program sangat kompak  Ukurannya kecil

19 Madhata,S.KomRekayasa Perangkat Lunak 19 bimocahyo19 Kualitas Rancangan  Rancangan yang mudah dirawat  Mudah diadaptasi  Disesuaikan dengan kebutuhan, diubah/ ditambah/dikurangi  Rancangan terpadu  Perubahan bersifat lokal  Kohesi tinggi  Kopling rendah

20 Madhata,S.KomRekayasa Perangkat Lunak 20 bimocahyo20 Elemen Proses Perancangan  Perancangan Data Transformasi model data yang dihasilkan oleh proses analisis menjadi struktur data yang dibutuhkan pada saat implementasi.  Perancangan Arsitektur Definisi keterkaitan antar elemen-elemen utama yang akan membentuk program

21 Madhata,S.KomRekayasa Perangkat Lunak 21 bimocahyo21  Perancangan Antarmuka Penjabaran komunikasi : internal PL; antar PL dengan sistem diluarnya dan antara PL dengan usernya.  Perancangan Prosedural Transformasi dari elemen struktur dari arsitektur program menjadi deskripsi prosedur. Elemen Proses Perancangan

22 Madhata,S.KomRekayasa Perangkat Lunak 22 bimocahyo22 Posisi Perancangan  Merupakan proses kreatif dalam memecahkan dan memberikan solusi atas pembangunan PL  Filosofi proses perancangan : -Mengemukakan suatu solusi -Membangun model dari suatu solusi -Evaluasi terhadap kebutuhan -Penjabaran atas solusi tersebut

23 Madhata,S.KomRekayasa Perangkat Lunak 23 bimocahyo23 Fungsi Proses Perancangan  Translasi/pengembangan spesifikasi PL  Penjabaran bagaimana PL dapat berfungsi  Penjabaran bagaimana spesifikasi PL dapat diimplementasikan.

24 Madhata,S.KomRekayasa Perangkat Lunak 24 bimocahyo24 Perancangan vs Kualitas PL  Selama proses perancangan kualitas perancangan selalu dipantau melalui “review teknik formal”  Petunjuk untuk evaluasi kualitas (Mcglaughlin)  Perancangan harus mengimplementasikan semua kebutuhan PL baik secara implisit dan eksplisit.  Harus readable, understandable, khususnya bagi programmer, tester dan pelaku maintenance.  Harus menyajikan gambaran lengkap PL meliputi : model data, fungsi, prilaku PL dari sudut pandang prefektif implementasi.

25 Madhata,S.KomRekayasa Perangkat Lunak 25 bimocahyo25 Prinsip-prinsip Perancangan oMempertimbangkan beberapa alternatif solusi oTraceable (dapat dilacak) terhadap model analisis. oMempertimbangkan dan menghasilkan komponen reusable oMeminimasi kesenjangan antara PL dengan kondisi nyata oMemperlihatkan keragaman dan integrasi oMengakomodasi perubahan oAbstrak lebih detail dari analisis & lebih tinggi dari coding oHarus di-review untuk meminimasi kesalahan.

26 Madhata,S.KomRekayasa Perangkat Lunak 26 bimocahyo26 Perancangan Data oMemilih respresentasi lojik dari objek data yang ditemukan pada proses analisis. oRefinement (perbaikan) terhadap data dictionary menjadi : -Struktur data -Struktur file/database oPenentuan struktur data dan struktur file membutuhkan kreativitas dan sistematika yang rapih agar tidak menyulitkan untuk proses perancangan berikutnya

27 Madhata,S.KomRekayasa Perangkat Lunak 27 bimocahyo27 Perancangan Data oHasil Perancangan Data adalah : -Struktur data siap diprogram -Struktur basis data siap dibuat oleh programmer -Prosedur/operasi untuk mengakses data siap diprogram.

28 Madhata,S.KomRekayasa Perangkat Lunak 28 bimocahyo28 Fokus : oAntarmuka antar modul-modul PL oAntarmuka antar PL dengan sumber informasi selain manusia (external Entity) oAntarmuka antar manusia (users) dengan komputernya Perancangan Antarmuka

29 Madhata,S.KomRekayasa Perangkat Lunak 29 bimocahyo29 Hal penting dalam perancangan antarmuka : o Harus konsisten (font, warna, bahasa) o Memberikan umpan balik ke pengguna o Efisiensi dialog, gerak dan pikiran pengguna o Mengelompokkan aktivitas berdasarkan fungsi o Sediakan bantuan (help) o Pesan kesalahan harus berarti o Sesuaikan dengan kubutuhan dan kebiasaan user. Perancangan Antarmuka

30 Madhata,S.KomRekayasa Perangkat Lunak 30 bimocahyo30 o Perancangan antarmuka dapat dilakukan secara : -Manual, dilakukan pada kertas -Bantuan alat bantu berupa software o Hasil perancangan antarmuka : -Definisi antarmuka modul yang siap untuk diprogram -Definisi/format rancangan yang siap diimplementasikan Perancangan Antarmuka

31 Madhata,S.KomRekayasa Perangkat Lunak 31 bimocahyo31 Perancangan Prosedural  Tahapan akhir pada proses perancangan  Membentuk algoritma siap program dengan menggunakan dan mengacu pada : -Struktur data yang terbentuk pada perancangan data -Struktur modul kendali pada structure chart hasil perancangan arsitektur. -Struktur, rancangan menu dan format layar hasil perancangan antarmuka.

32 Madhata,S.KomRekayasa Perangkat Lunak 32 bimocahyo32  Dua hal yang harus diperhatikan : -Coupling : ukuran kekuatan saling ketegantungan antar modul-modul software. -Cohesion : Ukuran kekuatan modul- modul perangkat lunak secara fungsional relatis terhadap modul perangkat lunak itu sendiri. Perancangan Prosedural

33 Madhata,S.KomRekayasa Perangkat Lunak 33 bimocahyo33 K o h e s i • Keterkaitan aktifitas di dalam modul • Semakin tinggi kohesi semakin baik • Kohesi ada 7 macam 1 Functional cohesion 2 Sequential cohesion 3 Communicational cohesion 4 Procedural cohesion 5 Temporal cohesion 6 Logical cohesion 7 Coincidental cohesion

34 Madhata,S.KomRekayasa Perangkat Lunak 34 bimocahyo34 K o h e s i Functional cohesion 1 Functional cohesion  Hanya mengerjakan satu tugas  Hanya mempunyai satu tujuan FUNCTIONAL DESIGN Module Calculate Salary Input Work_Days, Pay_Per_Day Salary = Work_Days X Pay_Per_Day End Module

35 Madhata,S.KomRekayasa Perangkat Lunak 35 bimocahyo35 Informational (sequential) cohesion 2 Informational (sequential) cohesion  Modul mengerjakan urutan tugas  Dengan memakai struktur data yang sama O-O DESIGN K o h e s i Module Calculate Final_Grade Input Absen, Mid_Term, Final Calculate Final_Point Transfer Final_Point into Grade End Module

36 Madhata,S.KomRekayasa Perangkat Lunak 36 bimocahyo36 K o h e s i Communicational cohesion 3 Communicational cohesion  Modul berisi sejumlah aktifitas Dengan memakai data yg sama Module Calculate Input Length, Wide Keliling = (Length + Wide) X 2 Area = Length X Wide End Module

37 Madhata,S.KomRekayasa Perangkat Lunak 37 bimocahyo37 K o h e s i Procedural cohesion 4. Procedural cohesion  Modul mengerjakan urutan proses tertentu Module Entry_Student Open Student_File Input Student_Data Write Student_Data Close Student_File End Module

38 Madhata,S.KomRekayasa Perangkat Lunak 38 bimocahyo38 K o h e s i Temporal cohesion 5 Temporal cohesion  Modul berisi kelompok komponen-komponen modul  Terkelompok karena kesamaan waktu eksekusi Module Begin Line_Number = 0 Page_Number = 0 Total = 0 Clear Buffer End Module

39 Madhata,S.KomRekayasa Perangkat Lunak 39 bimocahyo39 K o h e s i Logical cohesion 6 Logical cohesion  Modul berisi komponen yang mengerjakan tugas yang sama  Contoh: Sebuah modul yang berisi semua kegiatan mencetak Module Open_Files Open Student_File Open Course_File Open Lecture_File End Module Module Checking Find Maximum Find Minimum Find Avegrae End Module

40 Madhata,S.KomRekayasa Perangkat Lunak 40 bimocahyo40 K o h e s i Coincidental cohesion 7 Coincidental cohesion  Modul mengerjakan beragam tugas  Yang tidak saling terkait  Biasanya berisi 25 sampai 50 baris program Module Process Open Student_File Find Maximum_Salary Print Lecture_Data Calculate Gross_Income End Module

41 Madhata,S.KomRekayasa Perangkat Lunak 41 bimocahyo41 One Task? YES NO 6. Logical 7. Coincidental 1. Functional YES NO BY SEQUENCE YES NO 2. Sequential 3. Communicational DATA YES NO 4. Procedural 5. Temporal NONE FLOW OF CONTROL Activity Connected By BY SEQUENCE SAME ACTIVYTIES Good Design Guideline

42 Madhata,S.KomRekayasa Perangkat Lunak 42 bimocahyo42 K o p l i n g • Keterkaitan modul satu dengan lainnya • Semakin rendah kopling semakin baik • Kelompok kopling ada 3 : 1 Normal coupling a. Data coupling b. Stamp coupling c. Control coupling 2 Common coupling 3 Content coupling

43 Madhata,S.KomRekayasa Perangkat Lunak 43 bimocahyo43 K o p l i n g Normal coupling 1 Normal coupling a. Data coupling • Komunikasi dengan data b. Stamp coupling • Komunikasi dengan struktur data (Keseluruhan record) c. Control coupling • Komunikasi dengan flag/switch

44 Madhata,S.KomRekayasa Perangkat Lunak 44 bimocahyo44 K o p l i n g a. Data coupling • Komunikasi dengan data CALCULATE FINAL-GRADE CONVERT GRADE ALPHABET-G NUMBER-G

45 Madhata,S.KomRekayasa Perangkat Lunak 45 bimocahyo45 K o p l i n g b. Stamp coupling • Komunikasi dengan struktur data (Keseluruhan record) FIND-DATA READ F-STUDENT STUDENT-REC

46 Madhata,S.KomRekayasa Perangkat Lunak 46 bimocahyo46 K o p l i n g c. Control coupling • Komunikasi dengan flag/switch COLLECT-DATA READ F-STUDENT STUDENT-REC EOF

47 Madhata,S.KomRekayasa Perangkat Lunak 47 bimocahyo47 K o p l i n g Common coupling 2 Common coupling • Komunikasi menggunakan global variable Content coupling 3 Content coupling • Modul mempengaruhi bentuk statement pada modul yang dipanggil ataupun sebaliknya

48 Madhata,S.KomRekayasa Perangkat Lunak 48 bimocahyo48  Alat bantu yang dapat digunakan : -Flowchart -Algoritma/psedoucode/Program design language (PDL) Perancangan Prosedural


Download ppt "Madhata,S.KomRekayasa Perangkat Lunak 1 bimocahyo1 SOFTWARE DESIGN."

Presentasi serupa


Iklan oleh Google