Presentation is loading. Please wait.

Presentation is loading. Please wait.

By Xiangzhe Li Thanh Nguyen.  Introduction  Terminology  Architecture  Component  Connector  Configuration  Architectural Style  Architectural.

Similar presentations


Presentation on theme: "By Xiangzhe Li Thanh Nguyen.  Introduction  Terminology  Architecture  Component  Connector  Configuration  Architectural Style  Architectural."— Presentation transcript:

1 By Xiangzhe Li Thanh Nguyen

2  Introduction  Terminology  Architecture  Component  Connector  Configuration  Architectural Style  Architectural Pattern  Model  Processes  Stakeholders  Conclusion

3  Main idea of this chapter:  Define the key terms & ideas from the field of software architecture.  Provide a uniform basis for their discussion in the remainder of the book.

4  Definition: A software system’s architecture is the set of principal design decisions made about the system.  The architecture is the blueprint for the construction and evolution of the system.

5  Design decisions are involved in every aspect during the construction of the system:  Structure  Behavior  Interaction  Nonfunctional  Implementation

6

7  Definition:  Principal implies a degree of importance that grants a design decision architectural status.  Not all design decisions impact a system’s architecture. Ex: Algorithm and data structure

8  Prescriptive architecture represents how the system is intended characteristics and functionalities that are prior to the construction.  Descriptive architecture represents how the system is actually realized after the implementation.

9  Prescriptive architecture is modified during the development of the system due to several factors:  Accommodate actual requirements  Code optimization  Inadequate techniques and tool support  This leads to...

10  Architectural drift: Introduction of principal design decisions into a system’s descriptive architecture that - Was not included by the prescriptive architecture. - Do not violate any of the prescriptive architecture’s design decisions.  Architectural erosion: Introduction of architectural design decisions into a system’s descriptive architecture that violate its prescriptive architecture.

11

12  Perry and Wolf Architecture = {elements, form, rationale}  ANSI/IEEE standard 1471-2000 Fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution  Chris Verhoef The software architecture of deployed software is determined by those aspects that are the hardest to change

13  Definition:  An architectural entity that 1) Encapsulates a subset of the system’s functionality and/or data 2) Restricts access to that subset via an explicitly defined interface 3) Has explicitly defined dependencies on its required execution context Note: components are usually application specific

14  Clemens Szyperski A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third parties.

15  Definition: A software connector is an architectural element tasked with effecting and regulating interactions among components. Examples of connectors:  Procedure call connectors  Shared memory connectors  Distribution connectors

16  Simplest and widely used type  Directly implemented in programming languages  Enable synchronous exchange of data and control between components  Caller to callee relationship

17  Allow multiple software components to interact by reading from and writing to the shared facilities.  All writers and readers does not depend on each other to perform its tasks.

18  Encapsulate network library application programming interfaces (API)  Enable components in a distributed system to interact  Joined with multiple basic connector to separate the interacting components from the system distribution details

19  Architecture  Design decisions  Principal  Prescriptive architecture  Descriptive architecture  Architectural drift  Architectural erosion  Component  Connector


Download ppt "By Xiangzhe Li Thanh Nguyen.  Introduction  Terminology  Architecture  Component  Connector  Configuration  Architectural Style  Architectural."

Similar presentations


Ads by Google