SlideShare a Scribd company logo
1 of 31
Advance Software Engineering
Syed Saqib Raza Rizvi
Lecture 3
Architecture Design
What is Design?
• Design allows you to model the system or
product that is to be built.
• Design helps to understand Technical details
better.
• Design is a Process of Converting:
What to do?? ======= How to do?
(R.E) (Design)
What is Design?
• Design is what almost every engineer wants to
do, core of engineering process
• It is the place where creativity rules—where
stakeholder requirements, business needs,
and technical considerations all come
together in the formulation of a product or
system
What is Design?
• The design model provides detail about
software architecture, data structures,
interfaces, and components that are
necessary to implement the system
System
A system is a collection of components
organized to accomplish a specific function or
set of functions
(IEEE Std. 610.12-1990)
Software Architecture
The software architecture of a program or
computing system is the structure or
structures of the system, which comprise
software elements, and the relationships
among them
Software Architecture
Architectural design represents the structure
of data and program components that are
required to build a computer-based system.
Why is it important?
• You wouldn’t attempt to build a house
without a map, would you?
• You’d need to look at the big picture—the
house itself—before you worry about details.
• That’s what architectural design does—it
provides you with the big picture and ensures
that you’ve got it right
Why is it important?
Representations of software architecture are an
enabler for communication between all parties
(stakeholders)
The architecture highlights early design decisions
that provide you solid foundations on which
software will be built
Architecture “constitutes a relatively small,
intellectually graspable model of how the system is
structured and how its components work together”
Software Architecture
Software architecture is:
• An overall view of the solution to a problem
• The high-level design of modular components
and how they interact
• A foundation that one can build on to solve a
problem (e.g., rules, policies, attributes, etc.)
A Brief Taxonomy of Architectural
Styles
• Data-centered architectures:
A Brief Taxonomy of Architectural
Styles
• Call and return architectures:
A Brief Taxonomy of Architectural
Styles
• Main program/subprogram architecture:
A Brief Taxonomy of Architectural
Styles
• Object-oriented architectures:
Software Architecture: Example
Security
Check
Student’s
Records
Student’s
Account
Student’s
Academic
Teacher’s
Record
Teacher’s
Account
Software Architecture: Example
User Name
&
Password
Secret Question
Access Deny
Gives New
Password
Allow Access
Allow Access
Open Main Page
WRONG Right
WRONG Right
Software Architecture: Example
Student Main
Page
Add new
Student
Record
Add Student
Personal
Information
Add Student
Academic
Information
Add Student
Accounts
Information
Search
Student
Record
Grant All
Available
Information
Admin
Department Examination Accounts
Software Architecture
• Defining architecture is part of the software
development process
• Its primary goal is to define the non-functional/
functional requirements of a system.
Architecture is also important because it:
• Controls complexity
• Gives Consistency and Uniformity
• Reduces risk
• Enables re-use
Software Architecture
Architecture focuses on how the major
elements and components within an
application are used by, or interact with,
other major elements and components
within the application
Why is Architecture Important?
The risks exposed by poor architecture
include software that is unstable, is unable to
support existing or future business
requirements, or is difficult to deploy or
manage in a production environment
Why is Architecture Important?
Systems should be designed with consideration
for the user, the system, and the business goal
Business
System
User
Why is Architecture Important?
Consider the following high level concerns when
thinking about software architecture:
• How will the users be using the application?
• What are the quality attribute requirements for the
application, such as security, performance, and
configuration?
• How can the application be designed to be flexible
and maintainable over time?
The Goals of Architecture
• Application architecture seeks to build a
bridge between business requirements and
technical requirements
• The goal of architecture is to identify the
requirements that affect the structure of the
application
• A good design is sufficiently flexible to be able
to handle the natural change that will occur
over time in hardware and software
technology, as well as in user requirements
The Goals of Architecture
An architect must consider the overall effect
of design decisions, the inherent tradeoffs
between quality attributes (such as
performance and security), and the tradeoffs
required to address user, system, and business
requirements
The Goals of Architecture
Keep in mind that the architecture should:
• Expose the structure of the system but hide
the implementation details
• Realize all of the use cases and scenarios
• Try to address the requirements of various
stakeholders
• Handle both functional and quality
requirements
The Principles of Architecture Design
• Current thinking on architecture assumes that
your design will evolve over time and that you
cannot know everything you need to know up
front in order to fully architect your system
• Your design will generally need to evolve
during the implementation stages of the
application
• Create your architecture with this evolution in
mind so that it will be able to adapt to
requirements that are not fully known at the
start of the design process
The Principles of Architecture Design
Consider the following questions as you create
an architectural design:
• What are the foundational parts of the
architecture that represent the greatest risk?
• What are the parts of the architecture that are
most likely to change?
• What are your key assumptions, and how will
you test them?
• What conditions may require you to re-factor
the design?
The Principles of Architecture Design
Do not attempt to over engineer the
architecture, and do not make
assumptions that you cannot verify,
Instead, keep your options open for
future change
The Principles of Architecture Design
Key Architecture Principles:
• Build to change
• Reduce risk
• Use models and visualizations as a
communication and collaboration tool
• Identify key engineering decisions
ASSIGNMENT
• Architectural Patterns:
• Built architectural patterns from your
Requirement Documents.
Architecture Design

More Related Content

What's hot

Architectural Design Concept
Architectural Design ConceptArchitectural Design Concept
Architectural Design ConceptNiteesh Patel
 
Architectural Design Process - In brief
Architectural Design Process - In briefArchitectural Design Process - In brief
Architectural Design Process - In briefSharaniSomasundaram
 
Lecture 1 - Introduction to architecture
Lecture 1 -  Introduction to architectureLecture 1 -  Introduction to architecture
Lecture 1 - Introduction to architectureYosef Yemane
 
System Quality Attributes for Software Architecture
System Quality Attributes for Software ArchitectureSystem Quality Attributes for Software Architecture
System Quality Attributes for Software ArchitectureAdnan Masood
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycleHimanshu
 
Architecture drawing presentation
Architecture drawing presentationArchitecture drawing presentation
Architecture drawing presentationCarlson Ko
 
Criticism report [autosaved]
Criticism report [autosaved]Criticism report [autosaved]
Criticism report [autosaved]Haf Bedagh
 
Presentation1 plane-FORM SPACE AND ORDER
Presentation1 plane-FORM SPACE AND ORDERPresentation1 plane-FORM SPACE AND ORDER
Presentation1 plane-FORM SPACE AND ORDERSamridhi Gupta
 
Architectural design-process
Architectural design-processArchitectural design-process
Architectural design-processHakim Danish
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling Benazir Fathima
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principlessaurabhshertukde
 

What's hot (20)

Architectural Design
Architectural DesignArchitectural Design
Architectural Design
 
Architectural Design Concept
Architectural Design ConceptArchitectural Design Concept
Architectural Design Concept
 
Architectural Design Process - In brief
Architectural Design Process - In briefArchitectural Design Process - In brief
Architectural Design Process - In brief
 
Lecture 1 - Introduction to architecture
Lecture 1 -  Introduction to architectureLecture 1 -  Introduction to architecture
Lecture 1 - Introduction to architecture
 
Design principles and architecture
Design principles and architectureDesign principles and architecture
Design principles and architecture
 
System Quality Attributes for Software Architecture
System Quality Attributes for Software ArchitectureSystem Quality Attributes for Software Architecture
System Quality Attributes for Software Architecture
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
 
Class notes
Class notesClass notes
Class notes
 
Architecture drawing presentation
Architecture drawing presentationArchitecture drawing presentation
Architecture drawing presentation
 
Criticism report [autosaved]
Criticism report [autosaved]Criticism report [autosaved]
Criticism report [autosaved]
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
 
Presentation1 plane-FORM SPACE AND ORDER
Presentation1 plane-FORM SPACE AND ORDERPresentation1 plane-FORM SPACE AND ORDER
Presentation1 plane-FORM SPACE AND ORDER
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Architectural design-process
Architectural design-processArchitectural design-process
Architectural design-process
 
Articulation of form
Articulation of formArticulation of form
Articulation of form
 
Documenting Software Architectures
Documenting Software ArchitecturesDocumenting Software Architectures
Documenting Software Architectures
 
Theory of design
Theory of designTheory of design
Theory of design
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
 
THEORY OF DESIGN
THEORY OF DESIGN THEORY OF DESIGN
THEORY OF DESIGN
 

Viewers also liked

Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 
Sustainable Design Architecture and The Current Home Design Trends
Sustainable Design Architecture and The Current Home Design TrendsSustainable Design Architecture and The Current Home Design Trends
Sustainable Design Architecture and The Current Home Design Trendscsvarchitect
 
Software Architecture & Design - Our Meetup Group
Software Architecture & Design - Our Meetup GroupSoftware Architecture & Design - Our Meetup Group
Software Architecture & Design - Our Meetup GroupOliver Stadie
 
Software Architecture: How Much Design?
Software Architecture: How Much Design?Software Architecture: How Much Design?
Software Architecture: How Much Design?Òscar Vilaplana
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for BegginersChinh Ngo Nguyen
 
Software architecture & design patterns for MS CRM Developers
Software architecture & design patterns for MS CRM  Developers Software architecture & design patterns for MS CRM  Developers
Software architecture & design patterns for MS CRM Developers sebedatalabs
 
Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design Arslan Anwar
 
Architectural Professional Practice - Design
Architectural Professional Practice - DesignArchitectural Professional Practice - Design
Architectural Professional Practice - DesignGalala University
 
Sva Intro to Information Architecture & Design Fall 09
Sva Intro to Information Architecture & Design Fall 09Sva Intro to Information Architecture & Design Fall 09
Sva Intro to Information Architecture & Design Fall 09Anh Dang
 
Sustainable Design Begins with Planning
Sustainable Design Begins with PlanningSustainable Design Begins with Planning
Sustainable Design Begins with PlanningThomas Tate
 
Willowtree Office Presentation
Willowtree Office PresentationWillowtree Office Presentation
Willowtree Office PresentationSusan Lynn
 
Community project
Community projectCommunity project
Community projectCammy Davis
 
ENERGY EFFICIENT SUSTAINABLE DESIGN MANFRED HEGGER
ENERGY EFFICIENT SUSTAINABLE DESIGN MANFRED HEGGERENERGY EFFICIENT SUSTAINABLE DESIGN MANFRED HEGGER
ENERGY EFFICIENT SUSTAINABLE DESIGN MANFRED HEGGERVoyatzaki Maria
 
SES Chicago 2010 - SEO and the Development Life Cycle
SES Chicago 2010 - SEO and the Development Life CycleSES Chicago 2010 - SEO and the Development Life Cycle
SES Chicago 2010 - SEO and the Development Life Cycleseoinhouse
 
090313 Sustainable Guide Booklet
090313 Sustainable Guide Booklet090313 Sustainable Guide Booklet
090313 Sustainable Guide BookletDamian Farrell
 
Theorizing Sustainable Design through Human Geographies
Theorizing Sustainable Design through Human GeographiesTheorizing Sustainable Design through Human Geographies
Theorizing Sustainable Design through Human GeographiesEdge Hill University
 
Booklet two integrated building designs
Booklet two integrated building designsBooklet two integrated building designs
Booklet two integrated building designslibnam
 
Sesmester 2 Portfolio
Sesmester 2 PortfolioSesmester 2 Portfolio
Sesmester 2 PortfolioStephan Homer
 
BASF_Booklet_Sustainable_Solution_Steering
BASF_Booklet_Sustainable_Solution_SteeringBASF_Booklet_Sustainable_Solution_Steering
BASF_Booklet_Sustainable_Solution_SteeringMete Galip Sayil
 

Viewers also liked (20)

Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Sustainable Design Architecture and The Current Home Design Trends
Sustainable Design Architecture and The Current Home Design TrendsSustainable Design Architecture and The Current Home Design Trends
Sustainable Design Architecture and The Current Home Design Trends
 
Software Architecture & Design - Our Meetup Group
Software Architecture & Design - Our Meetup GroupSoftware Architecture & Design - Our Meetup Group
Software Architecture & Design - Our Meetup Group
 
Software Architecture: How Much Design?
Software Architecture: How Much Design?Software Architecture: How Much Design?
Software Architecture: How Much Design?
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
 
Software architecture & design patterns for MS CRM Developers
Software architecture & design patterns for MS CRM  Developers Software architecture & design patterns for MS CRM  Developers
Software architecture & design patterns for MS CRM Developers
 
Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design
 
Architectural Professional Practice - Design
Architectural Professional Practice - DesignArchitectural Professional Practice - Design
Architectural Professional Practice - Design
 
Sva Intro to Information Architecture & Design Fall 09
Sva Intro to Information Architecture & Design Fall 09Sva Intro to Information Architecture & Design Fall 09
Sva Intro to Information Architecture & Design Fall 09
 
Sustainable Design Begins with Planning
Sustainable Design Begins with PlanningSustainable Design Begins with Planning
Sustainable Design Begins with Planning
 
Willowtree Office Presentation
Willowtree Office PresentationWillowtree Office Presentation
Willowtree Office Presentation
 
Community project
Community projectCommunity project
Community project
 
ENERGY EFFICIENT SUSTAINABLE DESIGN MANFRED HEGGER
ENERGY EFFICIENT SUSTAINABLE DESIGN MANFRED HEGGERENERGY EFFICIENT SUSTAINABLE DESIGN MANFRED HEGGER
ENERGY EFFICIENT SUSTAINABLE DESIGN MANFRED HEGGER
 
SES Chicago 2010 - SEO and the Development Life Cycle
SES Chicago 2010 - SEO and the Development Life CycleSES Chicago 2010 - SEO and the Development Life Cycle
SES Chicago 2010 - SEO and the Development Life Cycle
 
090313 Sustainable Guide Booklet
090313 Sustainable Guide Booklet090313 Sustainable Guide Booklet
090313 Sustainable Guide Booklet
 
Booklet review
Booklet reviewBooklet review
Booklet review
 
Theorizing Sustainable Design through Human Geographies
Theorizing Sustainable Design through Human GeographiesTheorizing Sustainable Design through Human Geographies
Theorizing Sustainable Design through Human Geographies
 
Booklet two integrated building designs
Booklet two integrated building designsBooklet two integrated building designs
Booklet two integrated building designs
 
Sesmester 2 Portfolio
Sesmester 2 PortfolioSesmester 2 Portfolio
Sesmester 2 Portfolio
 
BASF_Booklet_Sustainable_Solution_Steering
BASF_Booklet_Sustainable_Solution_SteeringBASF_Booklet_Sustainable_Solution_Steering
BASF_Booklet_Sustainable_Solution_Steering
 

Similar to Architecture Design

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
 
Chapter 1 - Software Design - Introduction.pptx
Chapter 1 - Software Design - Introduction.pptxChapter 1 - Software Design - Introduction.pptx
Chapter 1 - Software Design - Introduction.pptxHaifaMohd3
 
Architectural design
Architectural designArchitectural design
Architectural designKiranStha
 
Lecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfLecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfAkilaGamage2
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptswweinmeyer79
 
Software design and Software engineering.pptx
Software design and Software engineering.pptxSoftware design and Software engineering.pptx
Software design and Software engineering.pptxDrTThendralCompSci
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAAiman Hud
 
Lab Software Architecture (in spanish)
Lab Software Architecture (in spanish)Lab Software Architecture (in spanish)
Lab Software Architecture (in spanish)Fáber D. Giraldo
 
Greate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyGreate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyMohamed Shahpoup
 
Software Architecture Introduction
Software Architecture IntroductionSoftware Architecture Introduction
Software Architecture IntroductionSARCCOM
 
Software architecture introduction
Software architecture introductionSoftware architecture introduction
Software architecture introductionFreddy Munandar
 
Software engineering
Software engineeringSoftware engineering
Software engineeringSeungho Nam
 

Similar to Architecture Design (20)

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
 
Introduction Software engineering
Introduction   Software engineeringIntroduction   Software engineering
Introduction Software engineering
 
Chapter 1 - Software Design - Introduction.pptx
Chapter 1 - Software Design - Introduction.pptxChapter 1 - Software Design - Introduction.pptx
Chapter 1 - Software Design - Introduction.pptx
 
Chapter 6 design
Chapter 6 designChapter 6 design
Chapter 6 design
 
Architectural design
Architectural designArchitectural design
Architectural design
 
Sda 1
Sda   1Sda   1
Sda 1
 
DESIGN CONCEPTS
DESIGN CONCEPTSDESIGN CONCEPTS
DESIGN CONCEPTS
 
Lecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfLecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdf
 
Software Design Concepts
Software Design ConceptsSoftware Design Concepts
Software Design Concepts
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture concepts
 
Software design and Software engineering.pptx
Software design and Software engineering.pptxSoftware design and Software engineering.pptx
Software design and Software engineering.pptx
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA
 
Lab Software Architecture (in spanish)
Lab Software Architecture (in spanish)Lab Software Architecture (in spanish)
Lab Software Architecture (in spanish)
 
Chapter1
Chapter1Chapter1
Chapter1
 
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
 
Greate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyGreate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT Academy
 
Scope of software engineering
Scope of software engineeringScope of software engineering
Scope of software engineering
 
Software Architecture Introduction
Software Architecture IntroductionSoftware Architecture Introduction
Software Architecture Introduction
 
Software architecture introduction
Software architecture introductionSoftware architecture introduction
Software architecture introduction
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 

More from Saqib Raza

The Design and Analysis of Algorithms.pdf
The Design and Analysis of Algorithms.pdfThe Design and Analysis of Algorithms.pdf
The Design and Analysis of Algorithms.pdfSaqib Raza
 
An Introduction to the Analysis of Algorithms (2nd_Edition_Robert_Sedgewick,_...
An Introduction to the Analysis of Algorithms (2nd_Edition_Robert_Sedgewick,_...An Introduction to the Analysis of Algorithms (2nd_Edition_Robert_Sedgewick,_...
An Introduction to the Analysis of Algorithms (2nd_Edition_Robert_Sedgewick,_...Saqib Raza
 
Data_Mining: Practical Machine Learning Tools and Techniques 2ndEd.pdf
Data_Mining: Practical Machine Learning Tools and Techniques 2ndEd.pdfData_Mining: Practical Machine Learning Tools and Techniques 2ndEd.pdf
Data_Mining: Practical Machine Learning Tools and Techniques 2ndEd.pdfSaqib Raza
 
Social Impacts of Artificial intelligence
Social Impacts of Artificial intelligenceSocial Impacts of Artificial intelligence
Social Impacts of Artificial intelligenceSaqib Raza
 
Professional Practice Course Outline
Professional Practice Course OutlineProfessional Practice Course Outline
Professional Practice Course OutlineSaqib Raza
 
Ethical hacking
Ethical hackingEthical hacking
Ethical hackingSaqib Raza
 
12 security policies
12 security policies12 security policies
12 security policiesSaqib Raza
 
11 Computer Privacy
11 Computer Privacy11 Computer Privacy
11 Computer PrivacySaqib Raza
 
Software Engineering Code Of Ethics And Professional Practice
Software Engineering Code Of Ethics And Professional PracticeSoftware Engineering Code Of Ethics And Professional Practice
Software Engineering Code Of Ethics And Professional Practice Saqib Raza
 
7 Engineering Profession
7 Engineering Profession7 Engineering Profession
7 Engineering ProfessionSaqib Raza
 
6 software contracts
6 software contracts6 software contracts
6 software contractsSaqib Raza
 
Introduction to Intellectual Property
Introduction to Intellectual PropertyIntroduction to Intellectual Property
Introduction to Intellectual PropertySaqib Raza
 
Itroduction to Business Ethics
Itroduction to Business EthicsItroduction to Business Ethics
Itroduction to Business EthicsSaqib Raza
 
Types of Ethics
Types of EthicsTypes of Ethics
Types of EthicsSaqib Raza
 
Introduction to ethics
Introduction to ethicsIntroduction to ethics
Introduction to ethicsSaqib Raza
 
Project Management Concepts
Project Management ConceptsProject Management Concepts
Project Management ConceptsSaqib Raza
 
Software Re-Engineering
Software Re-EngineeringSoftware Re-Engineering
Software Re-EngineeringSaqib Raza
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality AssuranceSaqib Raza
 
User Interface Analysis and Design
User Interface Analysis and DesignUser Interface Analysis and Design
User Interface Analysis and Design Saqib Raza
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
 

More from Saqib Raza (20)

The Design and Analysis of Algorithms.pdf
The Design and Analysis of Algorithms.pdfThe Design and Analysis of Algorithms.pdf
The Design and Analysis of Algorithms.pdf
 
An Introduction to the Analysis of Algorithms (2nd_Edition_Robert_Sedgewick,_...
An Introduction to the Analysis of Algorithms (2nd_Edition_Robert_Sedgewick,_...An Introduction to the Analysis of Algorithms (2nd_Edition_Robert_Sedgewick,_...
An Introduction to the Analysis of Algorithms (2nd_Edition_Robert_Sedgewick,_...
 
Data_Mining: Practical Machine Learning Tools and Techniques 2ndEd.pdf
Data_Mining: Practical Machine Learning Tools and Techniques 2ndEd.pdfData_Mining: Practical Machine Learning Tools and Techniques 2ndEd.pdf
Data_Mining: Practical Machine Learning Tools and Techniques 2ndEd.pdf
 
Social Impacts of Artificial intelligence
Social Impacts of Artificial intelligenceSocial Impacts of Artificial intelligence
Social Impacts of Artificial intelligence
 
Professional Practice Course Outline
Professional Practice Course OutlineProfessional Practice Course Outline
Professional Practice Course Outline
 
Ethical hacking
Ethical hackingEthical hacking
Ethical hacking
 
12 security policies
12 security policies12 security policies
12 security policies
 
11 Computer Privacy
11 Computer Privacy11 Computer Privacy
11 Computer Privacy
 
Software Engineering Code Of Ethics And Professional Practice
Software Engineering Code Of Ethics And Professional PracticeSoftware Engineering Code Of Ethics And Professional Practice
Software Engineering Code Of Ethics And Professional Practice
 
7 Engineering Profession
7 Engineering Profession7 Engineering Profession
7 Engineering Profession
 
6 software contracts
6 software contracts6 software contracts
6 software contracts
 
Introduction to Intellectual Property
Introduction to Intellectual PropertyIntroduction to Intellectual Property
Introduction to Intellectual Property
 
Itroduction to Business Ethics
Itroduction to Business EthicsItroduction to Business Ethics
Itroduction to Business Ethics
 
Types of Ethics
Types of EthicsTypes of Ethics
Types of Ethics
 
Introduction to ethics
Introduction to ethicsIntroduction to ethics
Introduction to ethics
 
Project Management Concepts
Project Management ConceptsProject Management Concepts
Project Management Concepts
 
Software Re-Engineering
Software Re-EngineeringSoftware Re-Engineering
Software Re-Engineering
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
User Interface Analysis and Design
User Interface Analysis and DesignUser Interface Analysis and Design
User Interface Analysis and Design
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 

Recently uploaded

Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 

Recently uploaded (20)

Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 

Architecture Design

  • 1. Advance Software Engineering Syed Saqib Raza Rizvi Lecture 3 Architecture Design
  • 2. What is Design? • Design allows you to model the system or product that is to be built. • Design helps to understand Technical details better. • Design is a Process of Converting: What to do?? ======= How to do? (R.E) (Design)
  • 3. What is Design? • Design is what almost every engineer wants to do, core of engineering process • It is the place where creativity rules—where stakeholder requirements, business needs, and technical considerations all come together in the formulation of a product or system
  • 4. What is Design? • The design model provides detail about software architecture, data structures, interfaces, and components that are necessary to implement the system
  • 5. System A system is a collection of components organized to accomplish a specific function or set of functions (IEEE Std. 610.12-1990)
  • 6. Software Architecture The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, and the relationships among them
  • 7. Software Architecture Architectural design represents the structure of data and program components that are required to build a computer-based system.
  • 8. Why is it important? • You wouldn’t attempt to build a house without a map, would you? • You’d need to look at the big picture—the house itself—before you worry about details. • That’s what architectural design does—it provides you with the big picture and ensures that you’ve got it right
  • 9. Why is it important? Representations of software architecture are an enabler for communication between all parties (stakeholders) The architecture highlights early design decisions that provide you solid foundations on which software will be built Architecture “constitutes a relatively small, intellectually graspable model of how the system is structured and how its components work together”
  • 10. Software Architecture Software architecture is: • An overall view of the solution to a problem • The high-level design of modular components and how they interact • A foundation that one can build on to solve a problem (e.g., rules, policies, attributes, etc.)
  • 11. A Brief Taxonomy of Architectural Styles • Data-centered architectures:
  • 12. A Brief Taxonomy of Architectural Styles • Call and return architectures:
  • 13. A Brief Taxonomy of Architectural Styles • Main program/subprogram architecture:
  • 14. A Brief Taxonomy of Architectural Styles • Object-oriented architectures:
  • 16. Software Architecture: Example User Name & Password Secret Question Access Deny Gives New Password Allow Access Allow Access Open Main Page WRONG Right WRONG Right
  • 17. Software Architecture: Example Student Main Page Add new Student Record Add Student Personal Information Add Student Academic Information Add Student Accounts Information Search Student Record Grant All Available Information Admin Department Examination Accounts
  • 18. Software Architecture • Defining architecture is part of the software development process • Its primary goal is to define the non-functional/ functional requirements of a system. Architecture is also important because it: • Controls complexity • Gives Consistency and Uniformity • Reduces risk • Enables re-use
  • 19. Software Architecture Architecture focuses on how the major elements and components within an application are used by, or interact with, other major elements and components within the application
  • 20. Why is Architecture Important? The risks exposed by poor architecture include software that is unstable, is unable to support existing or future business requirements, or is difficult to deploy or manage in a production environment
  • 21. Why is Architecture Important? Systems should be designed with consideration for the user, the system, and the business goal Business System User
  • 22. Why is Architecture Important? Consider the following high level concerns when thinking about software architecture: • How will the users be using the application? • What are the quality attribute requirements for the application, such as security, performance, and configuration? • How can the application be designed to be flexible and maintainable over time?
  • 23. The Goals of Architecture • Application architecture seeks to build a bridge between business requirements and technical requirements • The goal of architecture is to identify the requirements that affect the structure of the application • A good design is sufficiently flexible to be able to handle the natural change that will occur over time in hardware and software technology, as well as in user requirements
  • 24. The Goals of Architecture An architect must consider the overall effect of design decisions, the inherent tradeoffs between quality attributes (such as performance and security), and the tradeoffs required to address user, system, and business requirements
  • 25. The Goals of Architecture Keep in mind that the architecture should: • Expose the structure of the system but hide the implementation details • Realize all of the use cases and scenarios • Try to address the requirements of various stakeholders • Handle both functional and quality requirements
  • 26. The Principles of Architecture Design • Current thinking on architecture assumes that your design will evolve over time and that you cannot know everything you need to know up front in order to fully architect your system • Your design will generally need to evolve during the implementation stages of the application • Create your architecture with this evolution in mind so that it will be able to adapt to requirements that are not fully known at the start of the design process
  • 27. The Principles of Architecture Design Consider the following questions as you create an architectural design: • What are the foundational parts of the architecture that represent the greatest risk? • What are the parts of the architecture that are most likely to change? • What are your key assumptions, and how will you test them? • What conditions may require you to re-factor the design?
  • 28. The Principles of Architecture Design Do not attempt to over engineer the architecture, and do not make assumptions that you cannot verify, Instead, keep your options open for future change
  • 29. The Principles of Architecture Design Key Architecture Principles: • Build to change • Reduce risk • Use models and visualizations as a communication and collaboration tool • Identify key engineering decisions
  • 30. ASSIGNMENT • Architectural Patterns: • Built architectural patterns from your Requirement Documents.