Software Architecture and Software Architecture Patterns 1 Space

  • Slides: 12
Download presentation
Software Architecture and Software Architecture Patterns (1) Space plan Services Stuff Structure Skin Site

Software Architecture and Software Architecture Patterns (1) Space plan Services Stuff Structure Skin Site

What is architecture? o an overall blueprint/model describing the structures and properties of a

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")

Dictionary definition: Architecture n 1: the art of science of building, specifically, the art

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 10 th ed. ]

Software Architecture defined: Ø Software architecture encompasses the set of significant decisions about the

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. ]

“Common” assumptions about software architecture: • • • Architecture and design are the same

“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]

Software Architecture (again) : The software architecture of a program or computing system is

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]

Implies specific questions and answers about: structures, mechanisms, communication, components, resilience, scalability, performance, adaptability,

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.

The What, Who, Why & How of SA: The “why” The “what” Architecture Qualities

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

Software Architecture Meta model:

Software Architecture Meta model:

But… A Kuhnian “paradigm shift” since the 90’s… Architecture breaking out of the enterprise….

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

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

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