SlideShare uma empresa Scribd logo
1 de 20
Software Architecture Simplified

                  By
            Prasad Chitta
     Techno Functional Consultant
Agenda



 Section1 -   Section2 -   Section3 -
Foundation      Styles     Standards
Software Architecture Foundation
• What is “software architecture”
  – What is Software?
  – What is Architecture?

• Why “Software Architecture” > software +
  architecture?

• How “Software Architecture” contrasts and
  compares with “Building Architecture”
Software, Architecture
• Software = that acquires, processes or presents
  “data”
   – Data = observed fact
   – Appears as system, application, component, platform,
     module etc.,
• Architecture = key decisions related to building
  something NEW
   – Vitruvius defines three principles - firmitas, utilitas,
     venustas (durability, utility, beauty)
   – Chiefly describes “structure of components” and their
     “inter-relationships”
Software Architecture defined
• Architecture is the fundamental organization of a system embodied
  in its components, their relationships to each other, and to the
  environment, and the principles guiding its design and evolution.
  [IEEE 1471]
   – A system is a collection of components organized to accomplish a
     specific function or set of functions. The term system encompasses
     individual applications, systems in the traditional sense, subsystems,
     systems of systems, product lines, product families, whole enterprises,
     and other aggregations of interest. A system exists to fulfill one or
     more missions in its environment. [IEEE 1471]
       • A mission is a use or operation for which a system is intended by one or more
         stakeholders to meet some set of objectives. [IEEE 1471]
            – A stakeholder is an individual, team, or organization (or classes thereof) with interests in,
              or concerns relative to, a system. [IEEE 1471]
   – The environment, or context, determines the setting and
     circumstances of developmental, operational, political, and other
     influences upon that system. [IEEE 1471]
Software vs. Buildings
          Software Architecture                         Building Architecture
Even after realization software is still     After realization building is visible
invisible!
Durability means capability to adopt the     Durability means capability to withstand
change                                       the change
Software is dynamic and involves             Buildings are static (no behavior!)
behavior
Aesthetics of software architecture          Aesthetics of a building as well are non-
appear in non functional attributes of the   functional
software
Goal is to achieve the purpose / function    Same here…
of the software in most elegant manner
Multiple viewpoints from different           Same here…
stakeholders
Viewpoints
                           Business
                            process               Information
                           (logical /              flow (data)
                          functional)


         Application                                              Deployment
         (modules)                                                 (physical)
                                      Software


A “Software Architecture” describes static and dynamic aspects of a system from multiple view
         points for a common understanding between all the stakeholders involved.
Agenda



 Section1 -   Section2 -   Section3 -
Foundation      Styles     Standards
Architectural Styles – a list
• Software is all about “data” and   • Independent Components
  its “processing”                      – Event Driven
• Data flow Styles include              – Communicating processes
    – Batch Sequential                  – Messaging Systems
    – Pipes and filters                     • Publish Subscribe style
• Data Centered Styles                  – Peer to peer
    – Repository
    – Blackboard                        – Service oriented
                                        – Shared nothing
• Virtual Machine
                                        – Etc.,
    – Interpreter
    – Rule based
• Call & Return                      • Combining these basic styles,
    – Main & Sub program               heterogeneous and hierarchical
    – Object oriented
                                       architectural styles can be
                                       derived
    – Layered
Scenarios for Creating Architecture
• Descriptive Architecture
  – “As is”
  – Most of the times, a system exists, but the
    architecture is not available in a usable format.
• Prescriptive Architecture
  – “To be”
  – A reference model is taken and style applied to
    create a reference architecture, then a software
    architecture and a system architecture are derived
    from it.
But, Why?

   • Non functional        • Overall System        • Other properties
     Properties              security and            like portability,
     visible at              compliance              flexibility,
     runtime                                         testability etc.,


   Performance             Security                Portability



Creating an architecture considers the “quality attributes” beyond
functionality and usability. For the defined properties, different styles
provide proven and predictable results.
Good Architecture
•   Focus on significant decisions
•   Balances the conflicting stakeholder needs
•   Optimizes available resources
•   Considers scenarios from multiple view points

• And most importantly – evolves with the
  environment!
Agenda



 Section1 -   Section2 -   Section3 -
Foundation      Styles     Standards
Standards, Frameworks,
              Methodologies, …
• Now we know, Software Architects produce “models” from
  multiple viewpoints of a software considering various
  functional and non-functional properties of the system.
• They use some well known styles, patterns which have
  proven solutions for the common problems within the
  domain of software solutions
• The overall process adds value to either building a new
  software or modifying an existing software within an
  enterprise.

• That means, multiple stakeholders need to understand the
  architecture consistently across the globe in larger
  organizations / enterprise.
List of Standards
•   ISO 1471
•   TOGAF
•   DoDAF
•   Etc.,

• Standards are good they give consistency of
  notation
• Standards can be “open” or “closed i.e,
  proprietary”
• Standards sometimes hinder the “creativity”
Framework, methodology
• A framework provides skeletal structure for
  developing, documenting and visualizing the
  architecture like templates etc.,
• Architecture development methodologies give
  directives to build the architectures or review
  the architectures by providing the checklists
  etc.,
Agenda



 Section1 -   Section2 -   Section3 -
Foundation      Styles     Standards
Human Aspects
• Practicing software architecture is just not a
  science or engineering! It is an ART as well.
• Soft skills like interpersonal skills are very
  important for an Architect
• Software Architecture influences and
  influenced by the organization structure
• Sometimes it becomes political as well….
Case Studies
• Developing an elastic enterprise architecture
  for a green field pensions provider on a pay
  per policy model

• As is and To be architecture for a de-merger of
  metering business from a gas utility
  organization
Thank You
Reach Me on: http://www.linkedin.com/in/prasadchitta
Blog: http://technofunctionalconsulting.blogspot.com

Mais conteúdo relacionado

Mais procurados

Importance of software architecture
Importance of software architectureImportance of software architecture
Importance of software architecture
Himanshu
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
Webx
 
04 fse understandingrequirements
04 fse understandingrequirements04 fse understandingrequirements
04 fse understandingrequirements
Mohesh Chandran
 

Mais procurados (19)

Software Architecture: How Much Design?
Software Architecture: How Much Design?Software Architecture: How Much Design?
Software Architecture: How Much Design?
 
business requirements functional and non functional
business requirements functional and  non functionalbusiness requirements functional and  non functional
business requirements functional and non functional
 
Business requirement analysis session 5
Business requirement analysis   session 5Business requirement analysis   session 5
Business requirement analysis session 5
 
overview of analysis, architecture and design process
overview of analysis, architecture and design processoverview of analysis, architecture and design process
overview of analysis, architecture and design process
 
Importance of software architecture
Importance of software architectureImportance of software architecture
Importance of software architecture
 
Orkhan Gasimov "High Performance System Design"
Orkhan Gasimov "High Performance System Design" Orkhan Gasimov "High Performance System Design"
Orkhan Gasimov "High Performance System Design"
 
Actors in requirement engineering process
Actors in requirement engineering processActors in requirement engineering process
Actors in requirement engineering process
 
Software Requirements engineering
Software Requirements engineeringSoftware Requirements engineering
Software Requirements engineering
 
Visualizing non-functional requirements
Visualizing non-functional requirementsVisualizing non-functional requirements
Visualizing non-functional requirements
 
Transition from Systems Analysis to Systems Designs
Transition from Systems Analysis to Systems DesignsTransition from Systems Analysis to Systems Designs
Transition from Systems Analysis to Systems Designs
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Non functional requirements framework
Non functional requirements frameworkNon functional requirements framework
Non functional requirements framework
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Lecture4 requirement engineering
Lecture4 requirement engineeringLecture4 requirement engineering
Lecture4 requirement engineering
 
Soa 1 7.ppsx
Soa 1 7.ppsxSoa 1 7.ppsx
Soa 1 7.ppsx
 
Requirements analysis and modeling
Requirements analysis and modelingRequirements analysis and modeling
Requirements analysis and modeling
 
04 fse understandingrequirements
04 fse understandingrequirements04 fse understandingrequirements
04 fse understandingrequirements
 
Chap02
Chap02Chap02
Chap02
 

Semelhante a Software architecture simplified

Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
Sudarshan Dhondaley
 
System engineering
System engineeringSystem engineering
System engineering
Slideshare
 

Semelhante a Software architecture simplified (20)

Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
 
Architectural design
Architectural designArchitectural design
Architectural design
 
software architecture
software architecturesoftware architecture
software architecture
 
Arch06 1
Arch06 1Arch06 1
Arch06 1
 
Architectural design of software
Architectural  design of softwareArchitectural  design of software
Architectural design of software
 
Sda 1
Sda   1Sda   1
Sda 1
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
 
Lab Software Architecture (in spanish)
Lab Software Architecture (in spanish)Lab Software Architecture (in spanish)
Lab Software Architecture (in spanish)
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
 
System engineering
System engineeringSystem engineering
System engineering
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 ppt
 
Chapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.pptChapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.ppt
 
Chapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.pptChapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.ppt
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
OOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptOOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.ppt
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part i
 

Mais de Prasad Chitta (7)

Decision Intelligence Platform Overview.pptx
Decision Intelligence Platform Overview.pptxDecision Intelligence Platform Overview.pptx
Decision Intelligence Platform Overview.pptx
 
Machine intelligence 4.0 public
Machine intelligence 4.0 publicMachine intelligence 4.0 public
Machine intelligence 4.0 public
 
Introduction to Big Data & Analytics
Introduction to Big Data & AnalyticsIntroduction to Big Data & Analytics
Introduction to Big Data & Analytics
 
Social media & gamification
Social media & gamificationSocial media & gamification
Social media & gamification
 
All (that i know) about exadata external
All (that i know) about exadata externalAll (that i know) about exadata external
All (that i know) about exadata external
 
Cloud Computing - Foundations, Perspectives & Challenges
Cloud Computing - Foundations, Perspectives & ChallengesCloud Computing - Foundations, Perspectives & Challenges
Cloud Computing - Foundations, Perspectives & Challenges
 
Aphorisms on Information Technology & Systems
Aphorisms on Information Technology & SystemsAphorisms on Information Technology & Systems
Aphorisms on Information Technology & Systems
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Software architecture simplified

  • 1. Software Architecture Simplified By Prasad Chitta Techno Functional Consultant
  • 2. Agenda Section1 - Section2 - Section3 - Foundation Styles Standards
  • 3. Software Architecture Foundation • What is “software architecture” – What is Software? – What is Architecture? • Why “Software Architecture” > software + architecture? • How “Software Architecture” contrasts and compares with “Building Architecture”
  • 4. Software, Architecture • Software = that acquires, processes or presents “data” – Data = observed fact – Appears as system, application, component, platform, module etc., • Architecture = key decisions related to building something NEW – Vitruvius defines three principles - firmitas, utilitas, venustas (durability, utility, beauty) – Chiefly describes “structure of components” and their “inter-relationships”
  • 5. Software Architecture defined • Architecture is the fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution. [IEEE 1471] – A system is a collection of components organized to accomplish a specific function or set of functions. The term system encompasses individual applications, systems in the traditional sense, subsystems, systems of systems, product lines, product families, whole enterprises, and other aggregations of interest. A system exists to fulfill one or more missions in its environment. [IEEE 1471] • A mission is a use or operation for which a system is intended by one or more stakeholders to meet some set of objectives. [IEEE 1471] – A stakeholder is an individual, team, or organization (or classes thereof) with interests in, or concerns relative to, a system. [IEEE 1471] – The environment, or context, determines the setting and circumstances of developmental, operational, political, and other influences upon that system. [IEEE 1471]
  • 6. Software vs. Buildings Software Architecture Building Architecture Even after realization software is still After realization building is visible invisible! Durability means capability to adopt the Durability means capability to withstand change the change Software is dynamic and involves Buildings are static (no behavior!) behavior Aesthetics of software architecture Aesthetics of a building as well are non- appear in non functional attributes of the functional software Goal is to achieve the purpose / function Same here… of the software in most elegant manner Multiple viewpoints from different Same here… stakeholders
  • 7. Viewpoints Business process Information (logical / flow (data) functional) Application Deployment (modules) (physical) Software A “Software Architecture” describes static and dynamic aspects of a system from multiple view points for a common understanding between all the stakeholders involved.
  • 8. Agenda Section1 - Section2 - Section3 - Foundation Styles Standards
  • 9. Architectural Styles – a list • Software is all about “data” and • Independent Components its “processing” – Event Driven • Data flow Styles include – Communicating processes – Batch Sequential – Messaging Systems – Pipes and filters • Publish Subscribe style • Data Centered Styles – Peer to peer – Repository – Blackboard – Service oriented – Shared nothing • Virtual Machine – Etc., – Interpreter – Rule based • Call & Return • Combining these basic styles, – Main & Sub program heterogeneous and hierarchical – Object oriented architectural styles can be derived – Layered
  • 10. Scenarios for Creating Architecture • Descriptive Architecture – “As is” – Most of the times, a system exists, but the architecture is not available in a usable format. • Prescriptive Architecture – “To be” – A reference model is taken and style applied to create a reference architecture, then a software architecture and a system architecture are derived from it.
  • 11. But, Why? • Non functional • Overall System • Other properties Properties security and like portability, visible at compliance flexibility, runtime testability etc., Performance Security Portability Creating an architecture considers the “quality attributes” beyond functionality and usability. For the defined properties, different styles provide proven and predictable results.
  • 12. Good Architecture • Focus on significant decisions • Balances the conflicting stakeholder needs • Optimizes available resources • Considers scenarios from multiple view points • And most importantly – evolves with the environment!
  • 13. Agenda Section1 - Section2 - Section3 - Foundation Styles Standards
  • 14. Standards, Frameworks, Methodologies, … • Now we know, Software Architects produce “models” from multiple viewpoints of a software considering various functional and non-functional properties of the system. • They use some well known styles, patterns which have proven solutions for the common problems within the domain of software solutions • The overall process adds value to either building a new software or modifying an existing software within an enterprise. • That means, multiple stakeholders need to understand the architecture consistently across the globe in larger organizations / enterprise.
  • 15. List of Standards • ISO 1471 • TOGAF • DoDAF • Etc., • Standards are good they give consistency of notation • Standards can be “open” or “closed i.e, proprietary” • Standards sometimes hinder the “creativity”
  • 16. Framework, methodology • A framework provides skeletal structure for developing, documenting and visualizing the architecture like templates etc., • Architecture development methodologies give directives to build the architectures or review the architectures by providing the checklists etc.,
  • 17. Agenda Section1 - Section2 - Section3 - Foundation Styles Standards
  • 18. Human Aspects • Practicing software architecture is just not a science or engineering! It is an ART as well. • Soft skills like interpersonal skills are very important for an Architect • Software Architecture influences and influenced by the organization structure • Sometimes it becomes political as well….
  • 19. Case Studies • Developing an elastic enterprise architecture for a green field pensions provider on a pay per policy model • As is and To be architecture for a de-merger of metering business from a gas utility organization
  • 20. Thank You Reach Me on: http://www.linkedin.com/in/prasadchitta Blog: http://technofunctionalconsulting.blogspot.com