Download presentation
Presentation is loading. Please wait.
1
Software Architecture and
Software Architecture Patterns (1) Skin Structure Services Space plan Stuff Site
2
What is architecture? an overall blueprint/model describing the structures and properties of a "system" designed mechanisms (causal chains & loops) which lead to - emergent (intended) behaviour (but always some unintended behaviour as well) "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:
Architecture Qualities Process Representation The “what” The “why” The “how” The “who” System Features S/W Requirements Quality Attributes Satisfies Constrain Organization Architect Skills Stakeholders Defines role Produces Follows Defines Technology
9
Software Architecture Meta-model:
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
much more now filling the architecture pie..
oh… but there is so much more now filling the architecture pie.. towards…
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.