Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

IF 1483 - RPL TEKNIK INFORMATIKA UPN “VETERAN” YK REKAYASA PERANGKAT LUNAK ( IF 1483) Pertemuan 8&9 Software Design Fundamentals.

Presentasi serupa


Presentasi berjudul: "IF 1483 - RPL TEKNIK INFORMATIKA UPN “VETERAN” YK REKAYASA PERANGKAT LUNAK ( IF 1483) Pertemuan 8&9 Software Design Fundamentals."— Transcript presentasi:

1 IF 1483 - RPL TEKNIK INFORMATIKA UPN “VETERAN” YK REKAYASA PERANGKAT LUNAK ( IF 1483) Pertemuan 8&9 Software Design Fundamentals

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

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

4 IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK 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

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

6 IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK 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

7 IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK 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]

8 IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK Prinsip Spesifikasi Data Menerapkan prinsip analysa fungsioanal pada data Identifikasi struktur data dan operasi yang sesuai Menetapkan kamus 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

9 IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK Architectural Design Tujuannya adalah untuk membuat struktur 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

10 IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK 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)

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

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

13 IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK 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

14 IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK 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

15 IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK 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

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

17 IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK 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

18 IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK 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

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

20 IF 1483 - RPLTEKNIK INFORMATIKA UPN “VETERAN” YK 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”

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

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

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

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

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


Download ppt "IF 1483 - RPL TEKNIK INFORMATIKA UPN “VETERAN” YK REKAYASA PERANGKAT LUNAK ( IF 1483) Pertemuan 8&9 Software Design Fundamentals."

Presentasi serupa


Iklan oleh Google