Presentation is loading. Please wait.

Presentation is loading. Please wait.

By Xiangzhe Li Thanh Nguyen.  Components and connectors are composed in a specific way in a given system’s architecture to accomplish that system’s objective.

Similar presentations


Presentation on theme: "By Xiangzhe Li Thanh Nguyen.  Components and connectors are composed in a specific way in a given system’s architecture to accomplish that system’s objective."— Presentation transcript:

1 By Xiangzhe Li Thanh Nguyen

2  Components and connectors are composed in a specific way in a given system’s architecture to accomplish that system’s objective.  Definition – An architectural configuration is a set of specific associations between the components and connectors of a software system’s architecture

3

4  “A set of design rules that identify the kinds of components and connectors that may be used to compose a system or subsystem, together with local or global constraints on the way the composition is done” - Shaw & Clements, 1996

5  Components  Blackboard client programs  Connector  Blackboard: shared data repository, possibly with finite capacity  Configurations  Multiple clients sharing single blackboard  Underlying computational model  Synchronized, shared data transactions, with control driven entirely by blackboard state  Stylistic invariants  All clients see all transactions in the same order

6  Definition- An architectural pattern is a named collection of architectural design decisions that are applicable to a recurring design problem, parameterized to account for different software development contexts in which that problem appears

7  Patterns help you build on the collective experience of skilled software engineers.  They capture existing, well-proven experience in software development and help to promote good design practice  Every pattern deals with a specific recurring problem in the design or implementation of a software system  Patterns can be used to construct software architectures with specific properties…

8  First learn rules and physical requirements  e.g., names of pieces, legal movements, chess board geometry and orientation, etc.  Then learn principles  e.g., relative value of certain pieces, strategic value of center squares, power of a threat, etc.  However, to become a master of chess, one must study the games of other masters  These games contain patterns that must be understood memorized, and applied repeatedly  There are hundreds of these patterns

9  First learn the rules  e.g., the algorithms, data structures and languages of software  Then learn the principles  e.g., structured programming, modular programming, object oriented programming, generic programming, etc.  However, to truly master software design, one must study the designs of other masters  These designs contain patterns must be understood, memorized, and applied repeatedly  There are hundreds of these patterns

10  Style and pattern are similar and it is not always possible to identify. However, in general styles and patterns differ in at least three important ways:  Scope  Style focus on development context while pattern focus on specific design problem  Abstraction  Style helps to constrain the architectural design decisions one makes about the system while patterns are parameterized architectural fragments  Relationship  A single pattern could be applied to systems designed of multiple styles.  A single style may involve the use of multiple pattern

11  Definition – An architectural model is an artifact that captures some or all of the design decisions that comprise a system’s architecture. Architectural modeling is the reification and documentation of those design decisions  The notations for modeling software architectures are frequently referred to as Architecture Description Languages ( ADLs)  Used as the foundation for most other activities in architecture- based software development processes such as analysis, system implementation, deployment, and dynamic adaptation

12

13  Architectural design  Architecture modeling and visualization  Architecture driven system analysis  Architecture-driven system implementation  Architecture-driven system deployment, run-time redeployment, and mobility  Architecture-based design for nonfunctional properties, including security and trust  Architecture adaptation  Architecture recovery

14  If architectural degradation is allowed to occur, one will be forced to recover the system’s architecture sooner or later  Definition – Architectural recovery is the process of determining a software system’s architecture from its implementation level artifacts  -Implementation-level artifacts can be  Source code  Executable files  Java.class files

15  Definition: - A person, group or organization that has interest or concern in an organization - Stakeholders can affect or be affected by the organization's actions, objectives and policies.

16  Architects  Developers  Testers  Managers  Customers  Users  Vendors

17   


Download ppt "By Xiangzhe Li Thanh Nguyen.  Components and connectors are composed in a specific way in a given system’s architecture to accomplish that system’s objective."

Similar presentations


Ads by Google