Introduction to Software Architecture

Introduction to Software Architecture
Slide Note
Embed
Share

Software architecture encompasses the significant decisions governing the organization, structure, behavior, and composition of a software system. This article delves into the definition, common assumptions, and importance of software architecture patterns. Explore the art and science behind building software structures and designs to effectively guide system development and implementation.

  • Software
  • Architecture
  • Design Patterns
  • Structure
  • Organization

Uploaded on Apr 13, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Software Architecture and Software Architecture Patterns (1) Space plan Services Stuff Structure Skin Site Introduction to Design Patterns

  2. What is architecture? o an overall blueprint/model describing the structures and properties of a "system" o designed mechanisms (causal chains & loops) which lead to - o emergent (intended) behaviour (but always some unintended behaviour as well) o "mapping" the boundaries (questions about the level of "closure")

  3. Dictionary definition: Architecture n 1: the art of science of building, specifically, the art or practice of designing and building structures and esp. habitable ones 2 a: formation or construction as or as if as the result of conscious act <the ~ of the garden> b: a unifying or coherent form or structure <the novel lacks ~> [Webster s Colligiate Dictionary - 10th ed.]

  4. Software Architecture defined: Software architecture encompasses the set of significant decisions about the organization of a software system - selection of the structural elements and their interfaces by which a system is composed - behavior as specified in collaborations among those elements - composition of these structural and behavioral elements into larger subsystem - architectural style that guides this organization [Ref: Grady Booch et. al.]

  5. Common assumptions about software architecture: Architecture and design are the same thing Architecture and infrastructure are the same thing <my favorite technology> is the architecture A good architecture is the work of a single architect Architecture is flat, one blueprint is enough Architecture is just structure System architecture precedes software architecture Architecture cannot be measured and validated Architecture is a Science Architecture is an Art [ref: Philippe Kruchten]

  6. Software Architecture (again) : The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships between them. The term also refers to documentation of a system's software architecture. Documenting software architecture facilitates communication between stakeholders, documents early decisions about high-level design, and allows reuse of design components and patterns between projects. [Kazman et. al. ref: Wikipedia]

  7. Implies specific questions and answers about: structures, mechanisms, communication, components, resilience, scalability, performance, adaptability, reliability, changeability, maintainability, extensibility, security, technologies, standards, aesthetics, and other key concerns.

  8. The What, Who, Why & How of SA: The why The what System Features Architecture Qualities Satisfies S/W Requirements Constrain Architecture Representation System Quality Attributes Technology Produces Defines The how The who Follows Architect Process Skills Defines role Organization Stakeholders

  9. Software Architecture Meta-model: Software Architecture Software Architects is part of are actors in System architecture is represented by Architecture Design Process produces Software Architecture Description Logical view has Process view is made of relates to Implemen- tation view is a Architecture Style guide Architectural view Deployment view has Use case view is made of Architectural style has constrains is a Form Connection depicts Architectural Pattern Component Constraints satisfies Architectural Blueprint constrains Requirements

  10. But A Kuhnian paradigm shift since the 90 s - Architecture breaking out of the enterprise . my web is bigger than your enterprise - from closed to open - from machine to network - from individual to social - from local to global - from platform to application

  11. oh but there is so much more now filling the architecture pie.. towards

More Related Content