SlideShare une entreprise Scribd logo
1  sur  20
PERTEMUAN-13
KONSEP DAN PRINSIP DESAIN
(DESIGN CONCEPTS AND PRINCIPLES)
By : anisah 41812110004
Aliran Informasi Selama Desain
Perangkat Lunak
Desain Perangkat Lunak dan Rekayasa Perangkat Lunak
Desain Data mentransformasi model domain informasi yang dibuat selama
analisis ke dalam struktur data yang akan diperlukan untuk mengimplementasikan
perangkat lunak.
Desain Arsitektur menentukan hubungan diantara elemen-elemen struktur
utama dari program
Desain Interface menggambarkan bagaimana perangkat lunak berkomunikasi
dalam dirinya sendiri dengan system yang berinteroperasi dengannya dan dengan
manusia yang menggunakannya
Desain Prosedural mentransformasi elemen-elemen structural dari arsitektur
program ke dalam suatu deskripsi procedural dari komponen-komponen perangkat
lunak.
PRINSIP-PRINSIP RANCANGAN
 The design process should not suffer from ‘tunnel vision.’  harus ada pendekatan-
pendekatan alternative dan menilai masing-masing pendekatan berdasarkan
persyaratan masalah.
 The design should be traceable to the analysis model.
 The design should not reinvent (menciptakan kembali) the wheel.  tidak boleh
berulang
 The design should “minimize the intellectual distance”(meminimalkan kesenjangan
intelektual) [DAV95] between the software and the problem as it exists in the real
world.
 The design should exhibit uniformity (memperlihatkan kesatuan) and integration.
 The design should be structured to accommodate change. (terstruktur untuk
mengakomodasi perubahan)
 The design should be structured to degrade gently, even when aberrant
(menyimpang dari kebiasaan) data, events, or operating conditions are encountered.
 Design is not coding, coding is not design.
 The design should be assessed (diperkirakan / ditaksir) for quality as it is being
created, not after the fact.
 The design should be reviewed to minimize conceptual (semantic) errors.
KONSEP YANG MENDASAR
• Abstraction—data, procedure, control
• Refinement (penyaringan) —elaboration of detail for all abstractions
• Modularity— atribut tunggal dari perangkat lunak yang memungkinkan sebuah
program untuk dikelola secara intelektual) compartmentalization of data and
function
• Architecture—overall structure of the software
o Structural properties
o Extra-structural properties
o Styles and patterns
• Procedure—the algorithms that achieve function
• Hiding—controlled interfaces
GAMBARAN PROSEDURAL
LANGKAH-LANGKAH
Open
walk to the door;
reach for knob;
open the door;
walk through;
close the door.
Repeat until door open
turn knob clockwise;
if knob doesn’t turn,
then;
turn key out;
find correct key;
insert in lock;
endif;
pull/push door;
move out of way;
end repeat.
RANCANGAN MODULER
easier to build, easier to change, easier to fix ...
RANCANGAN MODULER
ARSITEKTUR
 “The overall structure of the software and the ways in which that structure
provides conceptual integrity for a system.” (struktur keseluruhan
perangkat lunak dan cara dimana struktur memberikan integrasi konseptual
bagi suatu system) [SHA95a]
 Structural properties. This aspect of the architectural design representation
defines the components of a system (e.g., modules, objects, filters) and the
manner in which those components are packaged and interact with one
another. For example, objects are packaged to encapsulate both data and
the processing that manipulates the data and interact via the invocation of
methods .
 Extra-functional properties. The architectural design description should
address how the design architecture achieves requirements for
performance, capacity, reliability, security, adaptability, and other system
characteristics.
 Families of related systems. The architectural design should draw upon
repeatable patterns that are commonly encountered in the design of
families of similar systems. In essence, the design should have the ability to
reuse architectural building blocks (polanya dapat diulangi yang umumnya
ditentukan dalam desain dari keluarga system yang sama)
HIRARKI KONTROL
• Represents the organization of program components & implies a
hierarchy of control (merepresentasikan organisasi komponen program
dan mengimplikasikan suatu hirarki control)
• Tapi tidak merepresentasikan (Does not represent) :
 Procedural aspect of SW such as sequence, order, repetition (aspek
prosedur dari perangkat lunak seperti urutan proses, kejadian /
urutan dari suatu keputusan dan pengulangan operasi)
 Applicability to all architectural styles
CATATAN UNTUK DIAGRAM DI ATAS
o Depth and width provide an indication of the number of levels of control and
overall span of control, respectively
o Fan-out is a measure of the number of modules that are directly controlled by
another module
o Fan-in indicates how many modules directly control a given modules
o A module that control another module is said to be super-ordinate to it
o A module controlled by another is said to be subordinate to the controller
o Eg. M is super-ordinate to a, b & c
o Eg. h is subordinate to e & ultimately to M
PEMBAGIAN STRUKTUR
 Pembagian secara Horizontal
 Pembagian secara Vertical (factoring)
STRUKTUR DATA
 A representation of the logical relationship among individual elements of
data
• Scalar item
• Sequential vector
• N-dimensional space (array)
• Linked list
 Hierarchical data structure – multi linked list
 Different level of abstraction, eg. Stack
MENGAPA (PERLU) INFORMATION HIDING ?
• reduces the likelihood of “side effects”
• limits the global impact of local design decisions
• emphasizes communication through controlled interfaces
• discourages the use of global data
• leads to encapsulation—an attribute of high quality design
• results in higher quality software
DESIGN HEURISTICS
 Reduce coupling, improve cohesion
 Minimize fan-out, strive for fan-in
 Keep the scope of effect within the scope of control
 Evaluate module interface to reduce complexity and redundancy and improve
consistency
 Function is predictable, but not overly restrictive
 Strive for “controlled entry” modules by avoiding “pathological connection”
DOKUMENTASI RANCANGAN
 Scope of design effort, yang mencakup :
• Sasaran system
• Persyaratan utama perangkat lunak
• Batasan-batasan dan pembatasan desain
 Data design, yang mencakup :
• Objek data dan struktur data resultan
• Struktur file dan database
 Struktur file eksternal
a. Struktur logis
b. Deskripsi record logis
c. Metode akses
 Data global
 File dan referensi lintas data
 Architectural design, yang mencakup :
• Kajian data dan aliran control
• Struktur program yang diperoleh
 Interfaces, yang meliputi :
• Spesifikasi antarmuka manusia - mesin
• Aturan desain antarmuka manusia-mesin
• Desain antarmuka eksternal
o Interface untuk data eksternal
o Interface untuk system atau peralatan eksternal
 Components
o Narasi
o Deskripsi
o Bahasa
o Modul yang digunakan
o Struktur data internal
o Ketentuan / larangan
 Cross reference
Test plan yang meliputi :
Panduan pengujian
Strategi integrasi
Pertimbangan khusus
constraints
Supplementary data

Contenu connexe

Tendances

Unit 3 3 architectural design
Unit 3 3 architectural designUnit 3 3 architectural design
Unit 3 3 architectural design
Hiren Selani
 
Software archiecture lecture03
Software archiecture   lecture03Software archiecture   lecture03
Software archiecture lecture03
Luktalja
 
10 architectural design (1)
10 architectural design (1)10 architectural design (1)
10 architectural design (1)
Ayesha Bhatti
 
Software archiecture lecture09
Software archiecture   lecture09Software archiecture   lecture09
Software archiecture lecture09
Luktalja
 
Software archiecture lecture04
Software archiecture   lecture04Software archiecture   lecture04
Software archiecture lecture04
Luktalja
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
Sudarshan Dhondaley
 

Tendances (20)

Unit 3 3 architectural design
Unit 3 3 architectural designUnit 3 3 architectural design
Unit 3 3 architectural design
 
Software engineering 17 architectural design
Software engineering 17 architectural designSoftware engineering 17 architectural design
Software engineering 17 architectural design
 
Software Architecture Recovery: The 5 Questions You Always Asked Yourself Abo...
Software Architecture Recovery: The 5 Questions You Always Asked Yourself Abo...Software Architecture Recovery: The 5 Questions You Always Asked Yourself Abo...
Software Architecture Recovery: The 5 Questions You Always Asked Yourself Abo...
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
 
Software archiecture lecture03
Software archiecture   lecture03Software archiecture   lecture03
Software archiecture lecture03
 
Software System Engineering - Chapter 15
Software System Engineering - Chapter 15Software System Engineering - Chapter 15
Software System Engineering - Chapter 15
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
 
10 architectural design (1)
10 architectural design (1)10 architectural design (1)
10 architectural design (1)
 
Software archiecture lecture09
Software archiecture   lecture09Software archiecture   lecture09
Software archiecture lecture09
 
Unit v -Construction and Evaluation
Unit v -Construction and EvaluationUnit v -Construction and Evaluation
Unit v -Construction and Evaluation
 
Component level design
Component   level designComponent   level design
Component level design
 
Domain specific Software Architecture
Domain specific Software Architecture Domain specific Software Architecture
Domain specific Software Architecture
 
Software archiecture lecture04
Software archiecture   lecture04Software archiecture   lecture04
Software archiecture lecture04
 
SWE-401 - 7. Software Design Strategies
SWE-401 - 7. Software Design StrategiesSWE-401 - 7. Software Design Strategies
SWE-401 - 7. Software Design Strategies
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
 
System requirements analysis
System requirements analysisSystem requirements analysis
System requirements analysis
 

En vedette (9)

Pert 11 anisah 41812110004
Pert 11 anisah 41812110004Pert 11 anisah 41812110004
Pert 11 anisah 41812110004
 
Pertemuan 6
Pertemuan 6Pertemuan 6
Pertemuan 6
 
Pert 11 anisah 41812110004
Pert 11 anisah 41812110004Pert 11 anisah 41812110004
Pert 11 anisah 41812110004
 
Rpl 41812110004 anisah
Rpl 41812110004 anisahRpl 41812110004 anisah
Rpl 41812110004 anisah
 
Rpl 41812110004 anisah
Rpl 41812110004 anisahRpl 41812110004 anisah
Rpl 41812110004 anisah
 
Rpl 41812110004 anisah
Rpl 41812110004 anisahRpl 41812110004 anisah
Rpl 41812110004 anisah
 
PRINSIP DAN KONSEP ANALISA (ANALYSIS CONCEPT AND PRINCIPLES)
 PRINSIP DAN KONSEP ANALISA (ANALYSIS CONCEPT AND PRINCIPLES) PRINSIP DAN KONSEP ANALISA (ANALYSIS CONCEPT AND PRINCIPLES)
PRINSIP DAN KONSEP ANALISA (ANALYSIS CONCEPT AND PRINCIPLES)
 
Bab iv-ketidakpastian
Bab iv-ketidakpastianBab iv-ketidakpastian
Bab iv-ketidakpastian
 
10. manajemen-resiko
10. manajemen-resiko10. manajemen-resiko
10. manajemen-resiko
 

Similaire à Pertemuan 13

Design process and concepts
Design process and conceptsDesign process and concepts
Design process and concepts
Slideshare
 
Software engg. pressman_ch-9
Software engg. pressman_ch-9Software engg. pressman_ch-9
Software engg. pressman_ch-9
Dhairya Joshi
 

Similaire à Pertemuan 13 (20)

Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
rEFUP.pdf
rEFUP.pdfrEFUP.pdf
rEFUP.pdf
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
design-concept.ppt
design-concept.pptdesign-concept.ppt
design-concept.ppt
 
06 fse design
06 fse design06 fse design
06 fse design
 
Software design
Software designSoftware design
Software design
 
software design: design fundamentals.pptx
software design: design fundamentals.pptxsoftware design: design fundamentals.pptx
software design: design fundamentals.pptx
 
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
 
Chapter 6 design
Chapter 6 designChapter 6 design
Chapter 6 design
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and concepts
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
 
Software design i (2) (1)
Software design   i (2) (1)Software design   i (2) (1)
Software design i (2) (1)
 
Software engg. pressman_ch-9
Software engg. pressman_ch-9Software engg. pressman_ch-9
Software engg. pressman_ch-9
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPT
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 

Pertemuan 13

  • 1. PERTEMUAN-13 KONSEP DAN PRINSIP DESAIN (DESIGN CONCEPTS AND PRINCIPLES) By : anisah 41812110004
  • 2. Aliran Informasi Selama Desain Perangkat Lunak
  • 3. Desain Perangkat Lunak dan Rekayasa Perangkat Lunak Desain Data mentransformasi model domain informasi yang dibuat selama analisis ke dalam struktur data yang akan diperlukan untuk mengimplementasikan perangkat lunak. Desain Arsitektur menentukan hubungan diantara elemen-elemen struktur utama dari program Desain Interface menggambarkan bagaimana perangkat lunak berkomunikasi dalam dirinya sendiri dengan system yang berinteroperasi dengannya dan dengan manusia yang menggunakannya Desain Prosedural mentransformasi elemen-elemen structural dari arsitektur program ke dalam suatu deskripsi procedural dari komponen-komponen perangkat lunak.
  • 4.
  • 5. PRINSIP-PRINSIP RANCANGAN  The design process should not suffer from ‘tunnel vision.’  harus ada pendekatan- pendekatan alternative dan menilai masing-masing pendekatan berdasarkan persyaratan masalah.  The design should be traceable to the analysis model.  The design should not reinvent (menciptakan kembali) the wheel.  tidak boleh berulang  The design should “minimize the intellectual distance”(meminimalkan kesenjangan intelektual) [DAV95] between the software and the problem as it exists in the real world.  The design should exhibit uniformity (memperlihatkan kesatuan) and integration.  The design should be structured to accommodate change. (terstruktur untuk mengakomodasi perubahan)  The design should be structured to degrade gently, even when aberrant (menyimpang dari kebiasaan) data, events, or operating conditions are encountered.  Design is not coding, coding is not design.  The design should be assessed (diperkirakan / ditaksir) for quality as it is being created, not after the fact.  The design should be reviewed to minimize conceptual (semantic) errors.
  • 6. KONSEP YANG MENDASAR • Abstraction—data, procedure, control • Refinement (penyaringan) —elaboration of detail for all abstractions • Modularity— atribut tunggal dari perangkat lunak yang memungkinkan sebuah program untuk dikelola secara intelektual) compartmentalization of data and function • Architecture—overall structure of the software o Structural properties o Extra-structural properties o Styles and patterns • Procedure—the algorithms that achieve function • Hiding—controlled interfaces
  • 8. LANGKAH-LANGKAH Open walk to the door; reach for knob; open the door; walk through; close the door. Repeat until door open turn knob clockwise; if knob doesn’t turn, then; turn key out; find correct key; insert in lock; endif; pull/push door; move out of way; end repeat.
  • 9. RANCANGAN MODULER easier to build, easier to change, easier to fix ...
  • 11. ARSITEKTUR  “The overall structure of the software and the ways in which that structure provides conceptual integrity for a system.” (struktur keseluruhan perangkat lunak dan cara dimana struktur memberikan integrasi konseptual bagi suatu system) [SHA95a]  Structural properties. This aspect of the architectural design representation defines the components of a system (e.g., modules, objects, filters) and the manner in which those components are packaged and interact with one another. For example, objects are packaged to encapsulate both data and the processing that manipulates the data and interact via the invocation of methods .  Extra-functional properties. The architectural design description should address how the design architecture achieves requirements for performance, capacity, reliability, security, adaptability, and other system characteristics.  Families of related systems. The architectural design should draw upon repeatable patterns that are commonly encountered in the design of families of similar systems. In essence, the design should have the ability to reuse architectural building blocks (polanya dapat diulangi yang umumnya ditentukan dalam desain dari keluarga system yang sama)
  • 12. HIRARKI KONTROL • Represents the organization of program components & implies a hierarchy of control (merepresentasikan organisasi komponen program dan mengimplikasikan suatu hirarki control) • Tapi tidak merepresentasikan (Does not represent) :  Procedural aspect of SW such as sequence, order, repetition (aspek prosedur dari perangkat lunak seperti urutan proses, kejadian / urutan dari suatu keputusan dan pengulangan operasi)  Applicability to all architectural styles
  • 13.
  • 14. CATATAN UNTUK DIAGRAM DI ATAS o Depth and width provide an indication of the number of levels of control and overall span of control, respectively o Fan-out is a measure of the number of modules that are directly controlled by another module o Fan-in indicates how many modules directly control a given modules o A module that control another module is said to be super-ordinate to it o A module controlled by another is said to be subordinate to the controller o Eg. M is super-ordinate to a, b & c o Eg. h is subordinate to e & ultimately to M PEMBAGIAN STRUKTUR  Pembagian secara Horizontal  Pembagian secara Vertical (factoring)
  • 15. STRUKTUR DATA  A representation of the logical relationship among individual elements of data • Scalar item • Sequential vector • N-dimensional space (array) • Linked list  Hierarchical data structure – multi linked list  Different level of abstraction, eg. Stack
  • 16.
  • 17. MENGAPA (PERLU) INFORMATION HIDING ? • reduces the likelihood of “side effects” • limits the global impact of local design decisions • emphasizes communication through controlled interfaces • discourages the use of global data • leads to encapsulation—an attribute of high quality design • results in higher quality software DESIGN HEURISTICS  Reduce coupling, improve cohesion  Minimize fan-out, strive for fan-in  Keep the scope of effect within the scope of control  Evaluate module interface to reduce complexity and redundancy and improve consistency  Function is predictable, but not overly restrictive  Strive for “controlled entry” modules by avoiding “pathological connection”
  • 18.
  • 19. DOKUMENTASI RANCANGAN  Scope of design effort, yang mencakup : • Sasaran system • Persyaratan utama perangkat lunak • Batasan-batasan dan pembatasan desain  Data design, yang mencakup : • Objek data dan struktur data resultan • Struktur file dan database  Struktur file eksternal a. Struktur logis b. Deskripsi record logis c. Metode akses  Data global  File dan referensi lintas data  Architectural design, yang mencakup : • Kajian data dan aliran control • Struktur program yang diperoleh  Interfaces, yang meliputi : • Spesifikasi antarmuka manusia - mesin • Aturan desain antarmuka manusia-mesin
  • 20. • Desain antarmuka eksternal o Interface untuk data eksternal o Interface untuk system atau peralatan eksternal  Components o Narasi o Deskripsi o Bahasa o Modul yang digunakan o Struktur data internal o Ketentuan / larangan  Cross reference Test plan yang meliputi : Panduan pengujian Strategi integrasi Pertimbangan khusus constraints Supplementary data