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

Software Architecture: How Much Design?
Software Architecture: How Much Design?Software Architecture: How Much Design?
Software Architecture: How Much Design?Òscar Vilaplana
 
business requirements functional and non functional
business requirements functional and  non functionalbusiness requirements functional and  non functional
business requirements functional and non functionalCHANDRA KAMAL
 
Business requirement analysis session 5
Business requirement analysis   session 5Business requirement analysis   session 5
Business requirement analysis session 5sampad_senapati
 
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 processcsk selva
 
Importance of software architecture
Importance of software architectureImportance of software architecture
Importance of software architectureHimanshu
 
Orkhan Gasimov "High Performance System Design"
Orkhan Gasimov "High Performance System Design" Orkhan Gasimov "High Performance System Design"
Orkhan Gasimov "High Performance System Design" LogeekNightUkraine
 
Actors in requirement engineering process
Actors in requirement engineering processActors in requirement engineering process
Actors in requirement engineering processSyed Zaid Irshad
 
Visualizing non-functional requirements
Visualizing non-functional requirementsVisualizing non-functional requirements
Visualizing non-functional requirementsNeil Ernst
 
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 DesignsAnalene de Guzman
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement AnalysisWebx
 
Non functional requirements framework
Non functional requirements frameworkNon functional requirements framework
Non functional requirements frameworkwweinmeyer79
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysisSangeet Shah
 
Lecture4 requirement engineering
Lecture4 requirement engineeringLecture4 requirement engineering
Lecture4 requirement engineeringShahid Riaz
 
Requirements analysis and modeling
Requirements analysis and modelingRequirements analysis and modeling
Requirements analysis and modelingSyed Zaid Irshad
 
04 fse understandingrequirements
04 fse understandingrequirements04 fse understandingrequirements
04 fse understandingrequirementsMohesh 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 Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for BegginersChinh Ngo Nguyen
 
Arch06 1
Arch06 1Arch06 1
Arch06 1nazn
 
Software Architecture
Software ArchitectureSoftware Architecture
Software ArchitectureAhmed Misbah
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 
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
 
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 Architecturebashcode
 
Lab Software Architecture (in spanish)
Lab Software Architecture (in spanish)Lab Software Architecture (in spanish)
Lab Software Architecture (in spanish)Fáber D. Giraldo
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notesSudarshan Dhondaley
 
System engineering
System engineeringSystem engineering
System engineeringSlideshare
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 pptDr VISU P
 
Chapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.pptChapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.pptRushikeshChikane1
 
Chapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.pptChapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.pptRushikeshChikane2
 
Software Architecture
Software ArchitectureSoftware Architecture
Software ArchitectureVikas Dhyani
 
OOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptOOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptitadmin33
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part iBisrat Girma
 

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

Decision Intelligence Platform Overview.pptx
Decision Intelligence Platform Overview.pptxDecision Intelligence Platform Overview.pptx
Decision Intelligence Platform Overview.pptxPrasad Chitta
 
Machine intelligence 4.0 public
Machine intelligence 4.0 publicMachine intelligence 4.0 public
Machine intelligence 4.0 publicPrasad Chitta
 
Introduction to Big Data & Analytics
Introduction to Big Data & AnalyticsIntroduction to Big Data & Analytics
Introduction to Big Data & AnalyticsPrasad Chitta
 
Social media & gamification
Social media & gamificationSocial media & gamification
Social media & gamificationPrasad Chitta
 
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 externalPrasad Chitta
 
Cloud Computing - Foundations, Perspectives & Challenges
Cloud Computing - Foundations, Perspectives & ChallengesCloud Computing - Foundations, Perspectives & Challenges
Cloud Computing - Foundations, Perspectives & ChallengesPrasad Chitta
 
Aphorisms on Information Technology & Systems
Aphorisms on Information Technology & SystemsAphorisms on Information Technology & Systems
Aphorisms on Information Technology & SystemsPrasad Chitta
 

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

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Último (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

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