SlideShare a Scribd company logo
Faculty of Engineeeing and Technology
Master in Software Engineering Program
Software Design and Architecutre
First Quiz
Architectural Mismatches
Prepared by
Mohammad Shawahneh
1155294
Instructor
Dr. Yousef Hassouneh
How are the Architectural Mismatches being solved? and what are the new challenges.
According to David and his colleagues, all the architectural mismatches they described in the original paper in 1995
are still persist, and none is solved completely, but they described three basic techniques which are being used for
dealing with mismatches nowadays, and they think that these techniques contributed somehow to addressing
some parts or kinds of mismatches but did not solve it:
1. Preventing Architectural mismatches: this technique arise as a result of some other development areas
and benefited from different areas:
a. Architectural specialization: dealing with “narrower design context” and building a specialized
architectural design, like specializing pipe and filter, and specializing components and
connectors such as data flow, call returns and implicit invocation, the era of specialization can
be seen as an increasing of those items from left to right: generic styles, generic styles
specializations, generic component integration standards, domain-specific component
integration standards, and product lines.
b. Open source: Open source software product and components that are developed by
communities can help preventing mismatches in two ways: providing and building standards for
specialized frameworks and architectural styles and producing experiences and example usages
which provide concrete samples about architectural assumptions and how to deal with it and
address it directly and easily.
c. Visualization and common user interfaces: “High level communication protocols and data
standards, common languages and browser environment”, all that made the situation easier for
providing software of little need to dependencies on infrastructure and platforms.
This development techniques did not eliminate the mismatches according to David and his
colleagues even it contributed to that in some area or views, but it added some other complexities
of browser compatibility, languages and implementations
2. Detecting Architectural mismatch: this techniques appears and benefited from different developments
and improved areas in software development:
a. Documentation standards: documentation standards introduced common languages and
protocols which almost all world developers and software engineers are familiar with that and
can easily understand it quickly, now world has guidelines and standards for documenting
architectures, designs assumptions..etc, UML is a common widely known example which is used
for modeling, WSDL (Web Services Definition Language) is another example for Service-Oriented
architectures documentation. The problem of this technique that it is not widely used and many
frameworks and components and services don’t provide it will or in right way expressing the
right architectures, that leads to other mismatches.
b. Process guidelines: the modern software development processes are almost all depend on
iterative programing, that going spiral, and using kinds of prototyping techniques or cumulative
punches of features that being accepted and inserted successively to the main product, this
enables architects and software engineers to detect mismatches and address them early in the
software lifecycle, but this still not of high value due to inexistence of early diagnostic or
corrective automations, and it depends on skills of architects and software engineers.
3. Repairing Architectural Mismatches: if all techniques did not prevent failing in mismatches then no way
but to address them and repair them, modern techniques for that included different mechanisms like:
wrappers , adapters, mediators, and bridges. Also some frameworks provide mechanisms for integrating
legacy and old systems and components. Those techniques decreases the mismatches but did not
contribute much to eliminating mismatches and always according to authors.
New Challenges arise:
1. Trust: the security is a big challenge that arise, in the era of internet, security or trust is another big
challenge that every software need to worry about and exert much effort, and budget for considering it in
all software lifecycle, and this will contradict with other quality attributes, like performance, cost,
development time..etc.
2. Dynamism: modern software need to be dynamic as it needs to be easily reconfigurable or adaptive for
changing user needs, variable resources and environment like appearing of cloud, that can lead to more
complexity and more mismatches, thus need new ways to address those mismatches and then solve
them.
3. Architectural evolution: modern software evolve over its lifecycle, some studies shows that more than
60% of software life cycle goes for evolution, evolution leads to new architectural mismatches and
challenges, that means new components, connectors, dependencies are need to be introduced on an
existing software and the software should still functioning well, but the reality that this process can lead
to architectural mismatches and complexities.
4. Architecture Lock-In: this issue appears when the software change or update is of high cost or in need of
rebuild from scratch so as to do some updates or changes, that appeared when some software tried to go
for cloud for example, resulted in a high cost architectural mismatches, or when need for changing
provider.

More Related Content

What's hot

Software design
Software designSoftware design
Software design
Himanshu Awasthi
 
An approach of software engineering through middleware
An approach of software engineering through middlewareAn approach of software engineering through middleware
An approach of software engineering through middleware
IAEME Publication
 
term paper for cbd models
term paper for cbd modelsterm paper for cbd models
term paper for cbd modelsSukhdeep Singh
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
JayaKamal
 
Cbt component based technology architectures
Cbt   component based technology architecturesCbt   component based technology architectures
Cbt component based technology architecturesSaransh Garg
 
Ch6 architectural design
Ch6 architectural designCh6 architectural design
Ch6 architectural design
software-engineering-book
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
JayaKamal
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technology
Mayukh Maitra
 
Ch7 implementation
Ch7 implementationCh7 implementation
Ch7 implementation
software-engineering-book
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technologySaransh Garg
 
The real time publisher subscriber inter-process communication model for dist...
The real time publisher subscriber inter-process communication model for dist...The real time publisher subscriber inter-process communication model for dist...
The real time publisher subscriber inter-process communication model for dist...yancha1973
 
SWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design BasicsSWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design Basics
ghayour abbas
 
Nina Grantcharova - Approach to Separation of Concerns via Design Patterns
Nina Grantcharova - Approach to Separation of Concerns via Design PatternsNina Grantcharova - Approach to Separation of Concerns via Design Patterns
Nina Grantcharova - Approach to Separation of Concerns via Design Patterns
iasaglobal
 
SathishKumar Natarajan
SathishKumar NatarajanSathishKumar Natarajan
SathishKumar NatarajanSathish Kumar
 
Software architecture
Software architectureSoftware architecture
Software architecture
Ahmad Raza Aslam
 
Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9Ian Sommerville
 
Design and Implementation in Software Engineering
Design and Implementation in Software EngineeringDesign and Implementation in Software Engineering
Design and Implementation in Software Engineering
Kourosh Sajjadi
 
NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...
NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...
NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...
cscpconf
 
SWE-401 - 6. Software Analysis and Design Tools
SWE-401 - 6. Software Analysis and Design ToolsSWE-401 - 6. Software Analysis and Design Tools
SWE-401 - 6. Software Analysis and Design Tools
ghayour abbas
 

What's hot (20)

Software design
Software designSoftware design
Software design
 
Full Paper
Full PaperFull Paper
Full Paper
 
An approach of software engineering through middleware
An approach of software engineering through middlewareAn approach of software engineering through middleware
An approach of software engineering through middleware
 
term paper for cbd models
term paper for cbd modelsterm paper for cbd models
term paper for cbd models
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Cbt component based technology architectures
Cbt   component based technology architecturesCbt   component based technology architectures
Cbt component based technology architectures
 
Ch6 architectural design
Ch6 architectural designCh6 architectural design
Ch6 architectural design
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technology
 
Ch7 implementation
Ch7 implementationCh7 implementation
Ch7 implementation
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technology
 
The real time publisher subscriber inter-process communication model for dist...
The real time publisher subscriber inter-process communication model for dist...The real time publisher subscriber inter-process communication model for dist...
The real time publisher subscriber inter-process communication model for dist...
 
SWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design BasicsSWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design Basics
 
Nina Grantcharova - Approach to Separation of Concerns via Design Patterns
Nina Grantcharova - Approach to Separation of Concerns via Design PatternsNina Grantcharova - Approach to Separation of Concerns via Design Patterns
Nina Grantcharova - Approach to Separation of Concerns via Design Patterns
 
SathishKumar Natarajan
SathishKumar NatarajanSathishKumar Natarajan
SathishKumar Natarajan
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9
 
Design and Implementation in Software Engineering
Design and Implementation in Software EngineeringDesign and Implementation in Software Engineering
Design and Implementation in Software Engineering
 
NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...
NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...
NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...
 
SWE-401 - 6. Software Analysis and Design Tools
SWE-401 - 6. Software Analysis and Design ToolsSWE-401 - 6. Software Analysis and Design Tools
SWE-401 - 6. Software Analysis and Design Tools
 

Similar to Software Architectural mismatches

Software model
Software modelSoftware model
Software model
Delowar hossain
 
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENTTHE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
ijseajournal
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
Nikhil Todkar
 
San se unit
San se unitSan se unit
San se unit
SandhyaTatekalva
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering note
Neelamani Samal
 
software engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semestersoftware engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semesterrajesh199155
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
ethiouniverse
 
Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)
Jkumararaja
 
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
WrushabhShirsat3
 
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
Dr. Anthony Vincent. B
 
The process
The processThe process
The process
prakashvs7
 
01lifecycles
01lifecycles01lifecycles
01lifecycles
Abdihakim Dalmar
 
Model driven process for real time embedded
Model driven process for real time embeddedModel driven process for real time embedded
Model driven process for real time embedded
caijjournal
 
“Scrumbear” framework for solving traditional scrum model problems
“Scrumbear” framework for solving traditional scrum model problems“Scrumbear” framework for solving traditional scrum model problems
“Scrumbear” framework for solving traditional scrum model problems
journalBEEI
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
Vishal Singh
 
Lecture1422914635
Lecture1422914635Lecture1422914635
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_contextMajong DevJfu
 
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERINGUnit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Sangeetha Rangarajan
 
SE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdfSE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdf
Dr. Radhey Shyam
 

Similar to Software Architectural mismatches (20)

7 5-94-101
7 5-94-1017 5-94-101
7 5-94-101
 
Software model
Software modelSoftware model
Software model
 
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENTTHE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
 
San se unit
San se unitSan se unit
San se unit
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering note
 
software engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semestersoftware engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semester
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
 
Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)
 
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
 
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
 
The process
The processThe process
The process
 
01lifecycles
01lifecycles01lifecycles
01lifecycles
 
Model driven process for real time embedded
Model driven process for real time embeddedModel driven process for real time embedded
Model driven process for real time embedded
 
“Scrumbear” framework for solving traditional scrum model problems
“Scrumbear” framework for solving traditional scrum model problems“Scrumbear” framework for solving traditional scrum model problems
“Scrumbear” framework for solving traditional scrum model problems
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
 
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERINGUnit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
 
SE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdfSE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdf
 

Recently uploaded

GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
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
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
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
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
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
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
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
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 

Recently uploaded (20)

GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
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
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
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
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
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
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
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...
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 

Software Architectural mismatches

  • 1. Faculty of Engineeeing and Technology Master in Software Engineering Program Software Design and Architecutre First Quiz Architectural Mismatches Prepared by Mohammad Shawahneh 1155294 Instructor Dr. Yousef Hassouneh
  • 2. How are the Architectural Mismatches being solved? and what are the new challenges. According to David and his colleagues, all the architectural mismatches they described in the original paper in 1995 are still persist, and none is solved completely, but they described three basic techniques which are being used for dealing with mismatches nowadays, and they think that these techniques contributed somehow to addressing some parts or kinds of mismatches but did not solve it: 1. Preventing Architectural mismatches: this technique arise as a result of some other development areas and benefited from different areas: a. Architectural specialization: dealing with “narrower design context” and building a specialized architectural design, like specializing pipe and filter, and specializing components and connectors such as data flow, call returns and implicit invocation, the era of specialization can be seen as an increasing of those items from left to right: generic styles, generic styles specializations, generic component integration standards, domain-specific component integration standards, and product lines. b. Open source: Open source software product and components that are developed by communities can help preventing mismatches in two ways: providing and building standards for specialized frameworks and architectural styles and producing experiences and example usages which provide concrete samples about architectural assumptions and how to deal with it and address it directly and easily. c. Visualization and common user interfaces: “High level communication protocols and data standards, common languages and browser environment”, all that made the situation easier for providing software of little need to dependencies on infrastructure and platforms. This development techniques did not eliminate the mismatches according to David and his colleagues even it contributed to that in some area or views, but it added some other complexities of browser compatibility, languages and implementations 2. Detecting Architectural mismatch: this techniques appears and benefited from different developments and improved areas in software development: a. Documentation standards: documentation standards introduced common languages and protocols which almost all world developers and software engineers are familiar with that and can easily understand it quickly, now world has guidelines and standards for documenting architectures, designs assumptions..etc, UML is a common widely known example which is used for modeling, WSDL (Web Services Definition Language) is another example for Service-Oriented architectures documentation. The problem of this technique that it is not widely used and many frameworks and components and services don’t provide it will or in right way expressing the right architectures, that leads to other mismatches. b. Process guidelines: the modern software development processes are almost all depend on iterative programing, that going spiral, and using kinds of prototyping techniques or cumulative punches of features that being accepted and inserted successively to the main product, this enables architects and software engineers to detect mismatches and address them early in the
  • 3. software lifecycle, but this still not of high value due to inexistence of early diagnostic or corrective automations, and it depends on skills of architects and software engineers. 3. Repairing Architectural Mismatches: if all techniques did not prevent failing in mismatches then no way but to address them and repair them, modern techniques for that included different mechanisms like: wrappers , adapters, mediators, and bridges. Also some frameworks provide mechanisms for integrating legacy and old systems and components. Those techniques decreases the mismatches but did not contribute much to eliminating mismatches and always according to authors. New Challenges arise: 1. Trust: the security is a big challenge that arise, in the era of internet, security or trust is another big challenge that every software need to worry about and exert much effort, and budget for considering it in all software lifecycle, and this will contradict with other quality attributes, like performance, cost, development time..etc. 2. Dynamism: modern software need to be dynamic as it needs to be easily reconfigurable or adaptive for changing user needs, variable resources and environment like appearing of cloud, that can lead to more complexity and more mismatches, thus need new ways to address those mismatches and then solve them. 3. Architectural evolution: modern software evolve over its lifecycle, some studies shows that more than 60% of software life cycle goes for evolution, evolution leads to new architectural mismatches and challenges, that means new components, connectors, dependencies are need to be introduced on an existing software and the software should still functioning well, but the reality that this process can lead to architectural mismatches and complexities. 4. Architecture Lock-In: this issue appears when the software change or update is of high cost or in need of rebuild from scratch so as to do some updates or changes, that appeared when some software tried to go for cloud for example, resulted in a high cost architectural mismatches, or when need for changing provider.