SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

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 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
 
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
 

La actualidad más candente (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
 

Destacado

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
 
10. manajemen-resiko
10. manajemen-resiko10. manajemen-resiko
10. manajemen-resikoI-moch Malik
 

Destacado (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
 

Similar a Pertemuan 13

Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssadPreeti Mishra
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptxtaxegap762
 
software design: design fundamentals.pptx
software design: design fundamentals.pptxsoftware design: design fundamentals.pptx
software design: design fundamentals.pptxDr.Shweta
 
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 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
 

Similar a 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
 

Último

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 

Último (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 

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