1 / 48

SOFTWARE DESIGN

SOFTWARE DESIGN. Stages of design. Merancang adalah proses kreatif Kuncinya harus sering berlatih Tiga tahap mengatasi problema dalam perancangan. BUAT RANCANGAN RINCI. TENTUKAN RANCANGAN GLOBAL. PELAJARI & PAHAMI PERMASALAHAN. Stages of design. Tiga tahap

Download Presentation

SOFTWARE DESIGN

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SOFTWARE DESIGN

  2. Stages of design • Merancang adalah proses kreatif • Kuncinya harus sering berlatih • Tiga tahap mengatasi problema dalam perancangan BUAT RANCANGAN RINCI TENTUKAN RANCANGAN GLOBAL PELAJARI & PAHAMI PERMASALAHAN

  3. 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. Stages of design • Lihat dari berbagai sudut pandang • Kebutuhan bisa terlihat berbeda • Cara memahami kebutuhan • Gunakan berbagai pemodelan

  5. 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. Stages of design • Ketersediaan reusable component • Komponen yang diadopsi dari sistem lain • Kesederhanaan (simplicity ) • rancangan harus diupayakan sederhana

  7. 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. Stages of design • Rancangan rinci bisa memperlihatkan • Kesalahan • ketidak lengkapan TEMUKAN & PERBAIKI

  9. 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. Tahap-tahap perancangan • 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. Tahap-tahap perancangan • 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. Tahap-tahap perancangan • Rancangan antar-muka • Penghubung antara sistem dengan dunia luar • Sistem dengan sistem lainnya • Sistem dengan user • Sub-sistem satu dengan lainnya • Rancangan komponen • Proses dikelompokkan • Ditempatkan ke dalam modul-modul terpisah • Penentuan antar-muka antar komponen

  13. Tahap-tahap perancangan • Rancangan struktur-data • Rincian struktur-data yang dipakai oleh sistem • Pilihan struktur data ditentukan • Rancangan algoritma • Rincian algoritma pemecahan masalah • Pilihan pemanfaatan algoritma tertentu

  14. Strategi perancangan STRATEGI PERANCANGAN FUNCTIONAL DESIGN OBJECT-ORIENTED DESIGN

  15. Strategi perancangan • 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. Strategi perancangan • Alternatif strategi • Jackson method • Warnier-orr method

  17. Strategi perancangan • 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. 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. Kualitas Rancangan • Rancangan yang mudah dirawat • Mudah diadaptasi • Disesuaikan dengan kebutuhan, diubah/ ditambah/dikurangi • Rancangan terpadu • Perubahan bersifat lokal • Kohesi tinggi • Kopling rendah

  20. 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. Elemen Proses Perancangan • 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.

  22. 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 Posisi Perancangan

  23. Translasi/pengembangan spesifikasi PL Penjabaran bagaimana PL dapat berfungsi Penjabaran bagaimana spesifikasi PL dapat diimplementasikan. Fungsi Proses Perancangan

  24. 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. Perancangan vs Kualitas PL

  25. Mempertimbangkan beberapa alternatif solusi Traceable (dapat dilacak) terhadap model analisis. Mempertimbangkan dan menghasilkan komponen reusable Meminimasi kesenjangan antara PL dengan kondisi nyata Memperlihatkan keragaman dan integrasi Mengakomodasi perubahan Abstrak lebih detail dari analisis & lebih tinggi dari coding Harus di-review untuk meminimasi kesalahan. Prinsip-prinsip Perancangan

  26. Memilih respresentasi lojik dari objek data yang ditemukan pada proses analisis. Refinement (perbaikan) terhadap data dictionary menjadi : - Struktur data - Struktur file/database Penentuan struktur data dan struktur file membutuhkan kreativitas dan sistematika yang rapih agar tidak menyulitkan untuk proses perancangan berikutnya Perancangan Data

  27. Perancangan Data • Hasil Perancangan Data adalah : • - Struktur data siap diprogram • - Struktur basis data siap dibuat oleh programmer • - Prosedur/operasi untuk mengakses data siap diprogram.

  28. Perancangan Antarmuka • Fokus : • Antarmuka antar modul-modul PL • Antarmuka antar PL dengan sumber informasi selain manusia (external Entity) • Antarmuka antar manusia (users) dengan komputernya

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

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

  31. 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. Perancangan Prosedural

  32. 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. K o h e s i • Keterkaitan aktifitas di dalam modul • Semakin tinggi kohesi semakin baik • Kohesi ada 7 macam • Functional cohesion • Sequential cohesion • Communicational cohesion • Procedural cohesion • Temporal cohesion • Logical cohesion • Coincidental cohesion

  34. K o h e s i • Functional cohesion • Hanyamengerjakansatutugas • Hanyamempunyaisatutujuan FUNCTIONAL DESIGN Module Calculate Salary Input Work_Days, Pay_Per_Day Salary = Work_Days X Pay_Per_Day End Module

  35. K o h e s i • Informational (sequential) cohesion • Modulmengerjakanurutantugas • Denganmemakaistruktur data yang sama O-O DESIGN Module Calculate Final_Grade Input Absen, Mid_Term, Final Calculate Final_Point Transfer Final_Point into Grade End Module

  36. K o h e s i • Communicational cohesion • Modulberisisejumlahaktifitas Denganmemakai data ygsama Module Calculate Input Length, Wide Keliling = (Length + Wide) X 2 Area = Length X Wide End Module

  37. K o h e s i • Procedural cohesion • Modulmengerjakanurutanprosestertentu Module Entry_Student Open Student_File Input Student_Data Write Student_Data Close Student_File End Module

  38. K o h e s i • Temporal cohesion • Modulberisikelompokkomponen-komponenmodul • Terkelompokkarenakesamaanwaktueksekusi Module Begin Line_Number = 0 Page_Number = 0 Total = 0 Clear Buffer End Module

  39. K o h e s i • Logical cohesion • Modulberisikomponen yang mengerjakantugas yang sama • Contoh: Sebuahmodul yang berisisemuakegiatanmencetak 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. K o h e s i • Coincidental cohesion • Modulmengerjakanberagamtugas • Yang tidaksalingterkait • Biasanyaberisi 25 sampai 50 baris program Module Process Open Student_File Find Maximum_Salary Print Lecture_Data Calculate Gross_Income End Module

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

  42. K o p l i n g • Keterkaitan modul satu dengan lainnya • Semakin rendah kopling semakin baik • Kelompok kopling ada 3 : • Normal coupling • Data coupling • Stamp coupling • Control coupling • Common coupling • Content coupling

  43. K o p l i n g • Normal coupling • Data coupling • Komunikasidengan data • Stamp coupling • Komunikasidenganstruktur data • (Keseluruhan record) • Control coupling • Komunikasidengan flag/switch

  44. K o p l i n g • Data coupling • Komunikasi dengan data CALCULATE FINAL-GRADE NUMBER-G ALPHABET-G CONVERT GRADE

  45. FIND-DATA STUDENT-REC READ F-STUDENT K o p l i n g • Stamp coupling • Komunikasidenganstruktur data • (Keseluruhan record)

  46. COLLECT-DATA STUDENT-REC EOF READ F-STUDENT K o p l i n g • Control coupling • Komunikasi dengan flag/switch

  47. K o p l i n g • Common coupling • Komunikasi menggunakan global variable • Content coupling • Modul mempengaruhi bentuk statement pada modul yang dipanggil ataupun sebaliknya

  48. Alat bantu yang dapat digunakan : - Flowchart - Algoritma/psedoucode/Program design language (PDL) Perancangan Prosedural

More Related