1 / 25

REKAYASA PERANGKAT LUNAK ( IF 1483 )

REKAYASA PERANGKAT LUNAK ( IF 1483 ). Pertemuan 8&9 Software Design Fundamentals. Deskripsi. Menjelaskan konsep disain PL. Tujuan Instruksional Umum (TIU). Memahami konsep disain perangkat lunak. Software Design / Disain PL. Definisi Umum dari d i s a in

Download Presentation

REKAYASA PERANGKAT LUNAK ( IF 1483 )

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. REKAYASA PERANGKAT LUNAK (IF 1483) Pertemuan 8&9 Software Design Fundamentals IF 1483 - RPL TEKNIK INFORMATIKA UPN “VETERAN” YK

  2. Deskripsi • Menjelaskan konsep disain PL IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  3. Tujuan Instruksional Umum (TIU) • Memahami konsep disain perangkat lunak IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  4. Software Design/ Disain PL • Definisi Umum dari disain • “… the process of applying various techniques and principles for the purpose of defining a device, a process, or a system in sufficient detail to permit its physical realization.” • Penerapan variasi teknik dan prinsip2 untuk menentukan device, proses atau sistem lebih detil untuk direalisasikan secara fisik • Goal/Tujuan: • Membuat model yang akan diimplementasikan • Engineering or Art?/ Engineering / Seni IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  5. Software Design Model Functional model Information model Behavioral model Data design Design Architectural design Code Other requirements Integrated & validated software Procedural design Program modules Test IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  6. General Design Guidelines • Menunjukkan hirarki organisasi software dalam mengatur komponen-komponennya • Secara logik dibagi ke dalam beberapa komponen yang menampilkan spsesifik task dan subtask • Merepresentikan secara jelas data dan procedure • Membuat interface yang mereduksi kompleksitas • Diturunkan menggunakan metode yang berulang berdasar pada informasi yang diperoleh selama tahapan requirements IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  7. Data Design • Identifikasi modul program yang beroperasi dengan struktur data logik • Disain Data menentukan struktur program yang lebih baik, effective modularity, & mengurangi kompleksitas The primary activity during data design is to select logical representations of data objects identified during the requirements definition and specification phase. The selection process may involve algorithmic analysis of alternative structures in order to determine the most efficient design or may simply involve the use of a set of modules that provide the operations upon some representation of an object. [Wasserman] IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  8. Prinsip Spesifikasi Data • Menerapkan prinsip analysa fungsioanal pada data • Identifikasi struktur data dan operasi yang sesuai • Menetapkankamus data untuk mendefinisikan disain data & program • Defer/menunda keputusan untuk disain low-level data • Representasif structure data hanya diketahui oleh modul yang menggunakan langsung data tersebut • Mendevelop library structure data • Bahasa harus support abstract data types IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  9. Architectural Design • Tujuannya adalah untukmembuatstruktur program yang modular dan merepresentasikan hubungan control diantara modul • Mengkombinasikan program dan struktur dengan mendefinisikan interfaces yang mengijinkan data mengalir diseluruh program • “Holistic view” dari software IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  10. Procedural Design • Setelah data & program structure telah ditetapkan, selanjutnya menentukan detil procedural tanpa ambiguity • Design Notations • Structured programming • Graphical design notation • Tabular design notation • Program design language (PDL) IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  11. Software Design Fundamentals • Good design is not accomplished by chance • Disain yang baik tidak diselesaikan secara kebetulan “The beginning of wisdom for a computer programmer is to recognize the difference between getting a program to work, and getting it right.” [Jackson] • Fundamental concepts provide the framework for “getting it right” IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  12. Design Fundamentals • Abstraction • Refinement • Modularity • Software Architecture • Control Hierarchy • Data Structure • Software Procedure • Information Hiding IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  13. Design Fundamentals • Abstraction • Levels of detail/language used to describe a problem …notion of “abstraction” permits one to concentrate on a problem at some level of generalization without regard to irrelevant low level details; use of abstraction also permits one to work with concepts and terms that are familiar in the problem environment… [Wasserman] • Types of abstractions IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  14. Design Fundamentals (cont.) • Refinement/perbaikan • Top-down strategy In each step, one or several instructions of the given program are decomposed into more detailed instructions. This successive decomposition or refinement of specification terminates when all instructions are expressed in terms of any underlying computer or programming language. [Wirth] • Modularity • Membagi software menjadi kompnen-komponen terpisah yang terintegrasi untuk menampilkan kemampuan software IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  15. Design Fundamentals (cont.) • Software Architecture • The hierarchical structure of procedural components & the structure of data • Transition between analysis and design • Control Hierarchy/Program Structure • Organization of modules that implies a hierarchy of control • Metrics - depth, width, fan-out, fan-in • Visibility & connectivity IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  16. Control Hierarchy IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  17. Design Fundamentals (cont.) • Data Structure • Logical representation of the relationship among individual data elements • Scalar, sequential vector, array, linked list, hierarchical data structure • Software Procedure • Processing details of each module • Precise specification includes sequence of events, decision points, repetitive operations, data organization IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  18. Design Fundamentals (cont.) • Information Hiding • Modules should be “characterized by design decisions that each hides from all others” • Modules are designed so that information within a module is inaccessible to other modules with no need for the information • Defines and enforces access constraints IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  19. Modular Design • Benefits • Reduces complexity • Facilitates change • Easier implementation afforded by parallel development • Activation Mechanisms • Pattern of Control IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  20. Functional Independence • Benefits • Easier to develop • Easier to maintain & test • Measures of Independence • Cohesion • Coupling “Design software so that each module addresses a specific sub-function of requirements and has a simple interface when viewed from other parts of the program structure” IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  21. Cohesion • “A cohesive module should do just one thing.” • Levels of Cohesion • Coincidental • Logical • Temporal • Procedural • Communicational • Sequential • Functional IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  22. Coupling • Measure of interconnection among modules • Levels of Coupling • No direct coupling • Data coupling • Stamp coupling • Control coupling • External coupling • Common coupling • Content coupling IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  23. Ringkasan Materi • Definisi Umum disain PL • Prinsip disain PL • Disain Modular IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  24. Tugas • Membuat disain perangkat lunak IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

  25. Referensi Software Engineering:  A Practitioner's Approach (Bab 13) Pengarang :  Roger S. Pressman Penerbit:  Fourth Edition, McGraw-Hill, 1997 IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK

More Related