SlideShare a Scribd company logo
Design Decisions
Afaq Mansoor Khan
Teacher: Mr. Ahsan Ashfaq
Subject: Software Architecture & Design
Architectural Design Decisions
“In software engineering and software architecture design, design
decisions address architecturally significant requirements; they are
perceived as hard to make and/or costly to change.”
It is called also architecture strategies and tactics.
Design as a series of Decisions
A designer is faced with a series of design issues
1. These are sub-problems of the overall design problem.
2. Each issue normally has several alternative solutions(or design options)
3. The designer makes a design decision to resolve each issue.
The designer makes a design decision to resolve each issue.
This process involves choosing the best option from among the alternatives.
Taking Decisions
To take each design decision, the software engineer uses:
→the “current” knowledge
1. the requirements
2. the design as created so far
→and “past” knowledge
1. the technology available
2. what has worked well in the past
3. software design principles and “best practices”
Types of Design Decisions
There are two types of undocumented design decisions:
● The design decision is implicit: this can happen mainly because the architect
is unaware of the decision. It happens when designers or developers break
the architecture or use it in an unanticipated way without communicating the
issue to software architects.
● The design decision is explicit but undocumented: the architect takes the
decision for some reasons and due to the lack of governance they are not
documented and there is no traceability why this decision has been taken.
Notations and Tools
QOC
Questions, Options, Criteria
1. Questions: key design issues
2. Options: possible answers
3. Criteria: assess and compare the options
Tools
Archium: A meta-model and tool developed my Anton Jansen et al
ADDSS: a web based tool developed by Rafael Capilla et al
AREL: a rationale based model developed by Antony Tang et al
DAMSAK: Data Model for Software Architecture Knowledge developed by Babar
et al developed by Babar et al
PAKME : a tool that supports DAMSAK
SEURAT: Software Engineering using Rationale, which integrates tools for
rationale capture, visualization, and use into a standard software engineering
environment
Why are the architecture decisions important?
1) We can consider it as a way of thinking to summarize why we needed this
decision and why we decided this change to happen and chose this option for
it.
2) It will provide a way of traceability of these decisions as we know why we took
them, what are the concerns and business requirements related to these
decisions, who are the contributors to these decisions.
References
1) https://melsatar.blog/2017/04/29/architectural-design-decisions/
2) https://www.infoq.com/articles/sustainable-architectural-design-decisions/
3) https://medium.com/omarelgabrys-blog/design-decisions-ac852e28270e
4) https://stal.blogspot.com/2010/03/implicit-versus-explicit.html

More Related Content

What's hot

Introduction to UML
Introduction to UMLIntroduction to UML
Behavioural modelling
Behavioural modellingBehavioural modelling
Behavioural modelling
Benazir Fathima
 
Deployment Diagram
Deployment DiagramDeployment Diagram
Deployment Diagram
University of Texas at Dallas
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
Darshit Metaliya
 
Collaboration Diagram
Collaboration DiagramCollaboration Diagram
Collaboration Diagram
fahad_uaar
 
Unit 2
Unit 2Unit 2
Eleven step of software testing process
Eleven step of software testing processEleven step of software testing process
Eleven step of software testing process
Himanshu
 
Unified process model
Unified process modelUnified process model
Unified process model
RyndaMaala
 
Grasp patterns and its types
Grasp patterns and its typesGrasp patterns and its types
Grasp patterns and its types
Syed Hassan Ali
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
Rupesh Vaishnav
 
10 component diagram
10 component diagram10 component diagram
10 component diagram
Baskarkncet
 
Critical System Validation in Software Engineering SE21
Critical System Validation in Software Engineering SE21Critical System Validation in Software Engineering SE21
Critical System Validation in Software Engineering SE21koolkampus
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
Preeti Mishra
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
Ajit Nayak
 
Software process
Software processSoftware process
Software process
Jennifer Polack
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignHaitham El-Ghareeb
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
Benazir Fathima
 

What's hot (20)

Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Behavioural modelling
Behavioural modellingBehavioural modelling
Behavioural modelling
 
Deployment Diagram
Deployment DiagramDeployment Diagram
Deployment Diagram
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Collaboration Diagram
Collaboration DiagramCollaboration Diagram
Collaboration Diagram
 
Unit 2
Unit 2Unit 2
Unit 2
 
Eleven step of software testing process
Eleven step of software testing processEleven step of software testing process
Eleven step of software testing process
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Unified process model
Unified process modelUnified process model
Unified process model
 
Grasp patterns and its types
Grasp patterns and its typesGrasp patterns and its types
Grasp patterns and its types
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 
10 component diagram
10 component diagram10 component diagram
10 component diagram
 
Critical System Validation in Software Engineering SE21
Critical System Validation in Software Engineering SE21Critical System Validation in Software Engineering SE21
Critical System Validation in Software Engineering SE21
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Software process
Software processSoftware process
Software process
 
Rad model
Rad modelRad model
Rad model
 
Unit1
Unit1Unit1
Unit1
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
 

Similar to Software Architecture Design Decisions

DART Conference Presentation
DART Conference PresentationDART Conference Presentation
DART Conference PresentationMatthew Watkins
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
Research & Development LAB QUEST Nawabshah
 
softwareengineeringpractice-141002214920-phpapp02 (1).pdf
softwareengineeringpractice-141002214920-phpapp02 (1).pdfsoftwareengineeringpractice-141002214920-phpapp02 (1).pdf
softwareengineeringpractice-141002214920-phpapp02 (1).pdf
SanRock2
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
Hitesh Mohapatra
 
HCI Chapter_2.pdf
HCI Chapter_2.pdfHCI Chapter_2.pdf
HCI Chapter_2.pdf
NorshadilaAhmadBadel1
 
HCI Chapter_2.ppt
HCI Chapter_2.pptHCI Chapter_2.ppt
HCI Chapter_2.ppt
NorshadilaAhmadBadel1
 
11 - Evaluating Framework in Interaction Design_new.pptx
11 - Evaluating Framework in Interaction Design_new.pptx11 - Evaluating Framework in Interaction Design_new.pptx
11 - Evaluating Framework in Interaction Design_new.pptx
ZahirahZairul2
 
lesson-4.pptx
lesson-4.pptxlesson-4.pptx
lesson-4.pptx
Out Cast
 
computer aided ergonomics and aesthetic design
computer aided ergonomics and aesthetic designcomputer aided ergonomics and aesthetic design
computer aided ergonomics and aesthetic design
Gaurav Patel
 
design_fundamental_new_.ppt
design_fundamental_new_.pptdesign_fundamental_new_.ppt
design_fundamental_new_.ppt
MohsenGhorbani9
 
Software engineering
Software engineeringSoftware engineering
Software engineering
Hitesh Mohapatra
 
CH1.pptx
CH1.pptxCH1.pptx
CH1.pptx
rshoukatimtek
 
Concept in engineering design
Concept in engineering designConcept in engineering design
Concept in engineering design
Siddharth Sharma
 
Communication Skills Lecture # 1.pptx
Communication Skills Lecture # 1.pptxCommunication Skills Lecture # 1.pptx
Communication Skills Lecture # 1.pptx
FarhanAhmad254929
 
Introduction Software engineering
Introduction   Software engineeringIntroduction   Software engineering
Introduction Software engineering
Jennifer O. Contreras Coloma
 
The Role of the Architect
The Role of the ArchitectThe Role of the Architect
The Role of the Architect
Jonathan Holloway
 
The Design Process
The Design ProcessThe Design Process
The Design Process
ahmad bassiouny
 
Software engineering -core topics
Software engineering -core topicsSoftware engineering -core topics
Software engineering -core topics
Amnah_Ch
 
Assignment Details Design PhaseOne of the most time-consumi.docx
Assignment Details Design PhaseOne of the most time-consumi.docxAssignment Details Design PhaseOne of the most time-consumi.docx
Assignment Details Design PhaseOne of the most time-consumi.docx
standfordabbot
 

Similar to Software Architecture Design Decisions (20)

DART Conference Presentation
DART Conference PresentationDART Conference Presentation
DART Conference Presentation
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
 
softwareengineeringpractice-141002214920-phpapp02 (1).pdf
softwareengineeringpractice-141002214920-phpapp02 (1).pdfsoftwareengineeringpractice-141002214920-phpapp02 (1).pdf
softwareengineeringpractice-141002214920-phpapp02 (1).pdf
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
HCI Chapter_2.pdf
HCI Chapter_2.pdfHCI Chapter_2.pdf
HCI Chapter_2.pdf
 
HCI Chapter_2.ppt
HCI Chapter_2.pptHCI Chapter_2.ppt
HCI Chapter_2.ppt
 
ppt chapter 1.ppt
ppt chapter 1.pptppt chapter 1.ppt
ppt chapter 1.ppt
 
11 - Evaluating Framework in Interaction Design_new.pptx
11 - Evaluating Framework in Interaction Design_new.pptx11 - Evaluating Framework in Interaction Design_new.pptx
11 - Evaluating Framework in Interaction Design_new.pptx
 
lesson-4.pptx
lesson-4.pptxlesson-4.pptx
lesson-4.pptx
 
computer aided ergonomics and aesthetic design
computer aided ergonomics and aesthetic designcomputer aided ergonomics and aesthetic design
computer aided ergonomics and aesthetic design
 
design_fundamental_new_.ppt
design_fundamental_new_.pptdesign_fundamental_new_.ppt
design_fundamental_new_.ppt
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
CH1.pptx
CH1.pptxCH1.pptx
CH1.pptx
 
Concept in engineering design
Concept in engineering designConcept in engineering design
Concept in engineering design
 
Communication Skills Lecture # 1.pptx
Communication Skills Lecture # 1.pptxCommunication Skills Lecture # 1.pptx
Communication Skills Lecture # 1.pptx
 
Introduction Software engineering
Introduction   Software engineeringIntroduction   Software engineering
Introduction Software engineering
 
The Role of the Architect
The Role of the ArchitectThe Role of the Architect
The Role of the Architect
 
The Design Process
The Design ProcessThe Design Process
The Design Process
 
Software engineering -core topics
Software engineering -core topicsSoftware engineering -core topics
Software engineering -core topics
 
Assignment Details Design PhaseOne of the most time-consumi.docx
Assignment Details Design PhaseOne of the most time-consumi.docxAssignment Details Design PhaseOne of the most time-consumi.docx
Assignment Details Design PhaseOne of the most time-consumi.docx
 

More from Afaq Mansoor Khan

Feature Selection - Natural Language Processing
Feature Selection - Natural Language ProcessingFeature Selection - Natural Language Processing
Feature Selection - Natural Language Processing
Afaq Mansoor Khan
 
WiFi vs LiFi - A Comparison
WiFi vs LiFi - A ComparisonWiFi vs LiFi - A Comparison
WiFi vs LiFi - A Comparison
Afaq Mansoor Khan
 
Role of Electronic Media in Pakistan
Role of Electronic Media in PakistanRole of Electronic Media in Pakistan
Role of Electronic Media in Pakistan
Afaq Mansoor Khan
 
Agile Testing - Approach and Strategies
Agile Testing - Approach and StrategiesAgile Testing - Approach and Strategies
Agile Testing - Approach and Strategies
Afaq Mansoor Khan
 
Ethical Hacking - An Overview
Ethical Hacking - An OverviewEthical Hacking - An Overview
Ethical Hacking - An Overview
Afaq Mansoor Khan
 
How to Design an Algorithm
How to Design an AlgorithmHow to Design an Algorithm
How to Design an Algorithm
Afaq Mansoor Khan
 
Software Quality Qssurance, Scrum and Linkedin
Software Quality Qssurance, Scrum and LinkedinSoftware Quality Qssurance, Scrum and Linkedin
Software Quality Qssurance, Scrum and Linkedin
Afaq Mansoor Khan
 
Quick sort
Quick sortQuick sort
Quick sort
Afaq Mansoor Khan
 
.Physics presentation - Asteroids
.Physics presentation - Asteroids.Physics presentation - Asteroids
.Physics presentation - Asteroids
Afaq Mansoor Khan
 
Graph Data Structure
Graph Data StructureGraph Data Structure
Graph Data Structure
Afaq Mansoor Khan
 
AVL Tree Data Structure
AVL Tree Data StructureAVL Tree Data Structure
AVL Tree Data Structure
Afaq Mansoor Khan
 
Binary tree
Binary treeBinary tree
Binary tree
Afaq Mansoor Khan
 
Queue Data Structure
Queue Data StructureQueue Data Structure
Queue Data Structure
Afaq Mansoor Khan
 
Prefix, Infix and Post-fix Notations
Prefix, Infix and Post-fix NotationsPrefix, Infix and Post-fix Notations
Prefix, Infix and Post-fix Notations
Afaq Mansoor Khan
 
Stack Data Structure
Stack Data StructureStack Data Structure
Stack Data Structure
Afaq Mansoor Khan
 
Doubly & Circular Linked Lists
Doubly & Circular Linked ListsDoubly & Circular Linked Lists
Doubly & Circular Linked Lists
Afaq Mansoor Khan
 
Linked List - Insertion & Deletion
Linked List - Insertion & DeletionLinked List - Insertion & Deletion
Linked List - Insertion & Deletion
Afaq Mansoor Khan
 
Dynamic Memory & Linked Lists
Dynamic Memory & Linked ListsDynamic Memory & Linked Lists
Dynamic Memory & Linked Lists
Afaq Mansoor Khan
 
Sorting Algorithms
Sorting AlgorithmsSorting Algorithms
Sorting Algorithms
Afaq Mansoor Khan
 
Recursion and Sorting Algorithms
Recursion and Sorting AlgorithmsRecursion and Sorting Algorithms
Recursion and Sorting Algorithms
Afaq Mansoor Khan
 

More from Afaq Mansoor Khan (20)

Feature Selection - Natural Language Processing
Feature Selection - Natural Language ProcessingFeature Selection - Natural Language Processing
Feature Selection - Natural Language Processing
 
WiFi vs LiFi - A Comparison
WiFi vs LiFi - A ComparisonWiFi vs LiFi - A Comparison
WiFi vs LiFi - A Comparison
 
Role of Electronic Media in Pakistan
Role of Electronic Media in PakistanRole of Electronic Media in Pakistan
Role of Electronic Media in Pakistan
 
Agile Testing - Approach and Strategies
Agile Testing - Approach and StrategiesAgile Testing - Approach and Strategies
Agile Testing - Approach and Strategies
 
Ethical Hacking - An Overview
Ethical Hacking - An OverviewEthical Hacking - An Overview
Ethical Hacking - An Overview
 
How to Design an Algorithm
How to Design an AlgorithmHow to Design an Algorithm
How to Design an Algorithm
 
Software Quality Qssurance, Scrum and Linkedin
Software Quality Qssurance, Scrum and LinkedinSoftware Quality Qssurance, Scrum and Linkedin
Software Quality Qssurance, Scrum and Linkedin
 
Quick sort
Quick sortQuick sort
Quick sort
 
.Physics presentation - Asteroids
.Physics presentation - Asteroids.Physics presentation - Asteroids
.Physics presentation - Asteroids
 
Graph Data Structure
Graph Data StructureGraph Data Structure
Graph Data Structure
 
AVL Tree Data Structure
AVL Tree Data StructureAVL Tree Data Structure
AVL Tree Data Structure
 
Binary tree
Binary treeBinary tree
Binary tree
 
Queue Data Structure
Queue Data StructureQueue Data Structure
Queue Data Structure
 
Prefix, Infix and Post-fix Notations
Prefix, Infix and Post-fix NotationsPrefix, Infix and Post-fix Notations
Prefix, Infix and Post-fix Notations
 
Stack Data Structure
Stack Data StructureStack Data Structure
Stack Data Structure
 
Doubly & Circular Linked Lists
Doubly & Circular Linked ListsDoubly & Circular Linked Lists
Doubly & Circular Linked Lists
 
Linked List - Insertion & Deletion
Linked List - Insertion & DeletionLinked List - Insertion & Deletion
Linked List - Insertion & Deletion
 
Dynamic Memory & Linked Lists
Dynamic Memory & Linked ListsDynamic Memory & Linked Lists
Dynamic Memory & Linked Lists
 
Sorting Algorithms
Sorting AlgorithmsSorting Algorithms
Sorting Algorithms
 
Recursion and Sorting Algorithms
Recursion and Sorting AlgorithmsRecursion and Sorting Algorithms
Recursion and Sorting Algorithms
 

Recently uploaded

How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
KrzysztofKkol1
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 

Recently uploaded (20)

How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 

Software Architecture Design Decisions

  • 1. Design Decisions Afaq Mansoor Khan Teacher: Mr. Ahsan Ashfaq Subject: Software Architecture & Design
  • 2. Architectural Design Decisions “In software engineering and software architecture design, design decisions address architecturally significant requirements; they are perceived as hard to make and/or costly to change.” It is called also architecture strategies and tactics.
  • 3. Design as a series of Decisions A designer is faced with a series of design issues 1. These are sub-problems of the overall design problem. 2. Each issue normally has several alternative solutions(or design options) 3. The designer makes a design decision to resolve each issue. The designer makes a design decision to resolve each issue. This process involves choosing the best option from among the alternatives.
  • 4.
  • 5. Taking Decisions To take each design decision, the software engineer uses: →the “current” knowledge 1. the requirements 2. the design as created so far →and “past” knowledge 1. the technology available 2. what has worked well in the past 3. software design principles and “best practices”
  • 6. Types of Design Decisions There are two types of undocumented design decisions: ● The design decision is implicit: this can happen mainly because the architect is unaware of the decision. It happens when designers or developers break the architecture or use it in an unanticipated way without communicating the issue to software architects. ● The design decision is explicit but undocumented: the architect takes the decision for some reasons and due to the lack of governance they are not documented and there is no traceability why this decision has been taken.
  • 8. QOC Questions, Options, Criteria 1. Questions: key design issues 2. Options: possible answers 3. Criteria: assess and compare the options
  • 9.
  • 10. Tools Archium: A meta-model and tool developed my Anton Jansen et al ADDSS: a web based tool developed by Rafael Capilla et al AREL: a rationale based model developed by Antony Tang et al DAMSAK: Data Model for Software Architecture Knowledge developed by Babar et al developed by Babar et al PAKME : a tool that supports DAMSAK SEURAT: Software Engineering using Rationale, which integrates tools for rationale capture, visualization, and use into a standard software engineering environment
  • 11. Why are the architecture decisions important? 1) We can consider it as a way of thinking to summarize why we needed this decision and why we decided this change to happen and chose this option for it. 2) It will provide a way of traceability of these decisions as we know why we took them, what are the concerns and business requirements related to these decisions, who are the contributors to these decisions.
  • 12. References 1) https://melsatar.blog/2017/04/29/architectural-design-decisions/ 2) https://www.infoq.com/articles/sustainable-architectural-design-decisions/ 3) https://medium.com/omarelgabrys-blog/design-decisions-ac852e28270e 4) https://stal.blogspot.com/2010/03/implicit-versus-explicit.html