SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere Àhnliche Inhalte

Was ist angesagt?

Unit 3 3 architectural design
Unit 3 3 architectural designUnit 3 3 architectural design
Unit 3 3 architectural designHiren Selani
 
Software engineering 17 architectural design
Software engineering 17 architectural designSoftware engineering 17 architectural design
Software engineering 17 architectural designVaibhav Khanna
 
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...mircea.lungu
 
Software Architecture
Software ArchitectureSoftware Architecture
Software ArchitecturePrabhat gangwar
 
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 ExamsMuhammadTalha436
 
Software archiecture lecture03
Software archiecture   lecture03Software archiecture   lecture03
Software archiecture lecture03Luktalja
 
Software System Engineering - Chapter 15
Software System Engineering - Chapter 15Software System Engineering - Chapter 15
Software System Engineering - Chapter 15Fadhil Ismail
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design IntroductionUsman Khan
 
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 lecture09Luktalja
 
Unit v -Construction and Evaluation
Unit v -Construction and EvaluationUnit v -Construction and Evaluation
Unit v -Construction and EvaluationDhivyaa C.R
 
Component level design
Component   level designComponent   level design
Component level designMidhula Chandren
 
Domain specific Software Architecture
Domain specific Software Architecture Domain specific Software Architecture
Domain specific Software Architecture DIPEN SAINI
 
Software archiecture lecture04
Software archiecture   lecture04Software archiecture   lecture04
Software archiecture lecture04Luktalja
 
SWE-401 - 7. Software Design Strategies
SWE-401 - 7. Software Design StrategiesSWE-401 - 7. Software Design Strategies
SWE-401 - 7. Software Design Strategiesghayour abbas
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Education Front
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notesSudarshan Dhondaley
 
Software architecture
Software architectureSoftware architecture
Software architecturenazn
 

Was ist angesagt? (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
 

Andere mochten auch

Pert 11 anisah 41812110004
Pert 11 anisah 41812110004Pert 11 anisah 41812110004
Pert 11 anisah 41812110004anisahprasetya
 
Pert 11 anisah 41812110004
Pert 11 anisah 41812110004Pert 11 anisah 41812110004
Pert 11 anisah 41812110004anisahprasetya
 
Rpl 41812110004 anisah
Rpl 41812110004 anisahRpl 41812110004 anisah
Rpl 41812110004 anisahanisahprasetya
 
Rpl 41812110004 anisah
Rpl 41812110004 anisahRpl 41812110004 anisah
Rpl 41812110004 anisahanisahprasetya
 
Rpl 41812110004 anisah
Rpl 41812110004 anisahRpl 41812110004 anisah
Rpl 41812110004 anisahanisahprasetya
 
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)Tinkqi Qtink
 
Bab iv-ketidakpastian
Bab iv-ketidakpastianBab iv-ketidakpastian
Bab iv-ketidakpastianWayan Supantara
 
10. manajemen-resiko
10. manajemen-resiko10. manajemen-resiko
10. manajemen-resikoI-moch Malik
 

Andere mochten auch (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
 

Ähnlich wie Pertemuan 13

Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssadPreeti Mishra
 
Chapter 08
Chapter 08Chapter 08
Chapter 08Nazir Ahmed
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptxtaxegap762
 
Design engineering
Design engineeringDesign engineering
Design engineeringVikram Dahiya
 
Design engineering
Design engineeringDesign engineering
Design engineeringVikram Dahiya
 
design-concept.ppt
design-concept.pptdesign-concept.ppt
design-concept.pptMangeshKetkar1
 
software design: design fundamentals.pptx
software design: design fundamentals.pptxsoftware design: design fundamentals.pptx
software design: design fundamentals.pptxDr.Shweta
 
Chapter 6 design
Chapter 6 designChapter 6 design
Chapter 6 designnikshaikh786
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3SIMONTHOMAS S
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and conceptsSlideshare
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for BegginersChinh Ngo Nguyen
 
Software design i (2) (1)
Software design   i (2) (1)Software design   i (2) (1)
Software design i (2) (1)Shagufta shaheen
 
Software engg. pressman_ch-9
Software engg. pressman_ch-9Software engg. pressman_ch-9
Software engg. pressman_ch-9Dhairya Joshi
 
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.PPTmalathijanapati1
 
Software engineering
Software engineeringSoftware engineering
Software engineeringStella526835
 
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.pptxKarthigaiSelviS3
 

Ähnlich wie 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
 

KĂŒrzlich hochgeladen

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
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 Scriptwesley chun
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

KĂŒrzlich hochgeladen (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

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