After this chapter the student should have acquired the following knowledge and skills: Introduction to architectural styles, categorizations of architectural styles, hierarchical architectures, layered architecture. | SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07 Review Architectural Representation Using UML Using ADL Outline Introduction to architectural styles Categorizations of architectural styles Hierarchical architectures Layered Architecture Architectural Styles An architecture style (also known as an “architecture pattern”) abstracts the common properties of a family of similar designs. Define a family of systems in terms of a pattern of its structural organization. Components of a style The key components of an architecture style are: Elements/components that perform functions required by a system connectors that enable communication, coordination, and cooperation among elements constraints that define how elements can be integrated to form the system attributes that describe the advantages and disadvantages of the chosen structure Categories of Architectural Styles Hierarchal Software Architecture Layered Distributed Software Architecture Client Server SOA Data Flow Software Architecture Pipe n Filter Batch Sequential Event Based Software Architecture Data Centered Software Architecture Black board Shared Repository Interaction-Oriented Software Architectures Model View Controller Component-Based Software Architecture Hierarchal Software Architecture Hierarchal Style The hierarchical software architecture is characterized by viewing the entire system as a hierarchy structure. The software system is decomposed into logical modules (subsystems) at different levels in the hierarchy. Hierarchal Style Modules at different levels are connected by explicit or implicit method invocations. a lower-level module provides services to its adjacent upper-level modules, which invokes the methods or procedures in the lower level. Hierarchal Style System software is typically designed using the hierarchical architecture style; examples include Microsoft .NET, Unix operating system, TCP/IP, etc. Hierarchal Style Lower levels provide more specific functionality down to fundamental utility | SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07 Review Architectural Representation Using UML Using ADL Outline Introduction to architectural styles Categorizations of architectural styles Hierarchical architectures Layered Architecture Architectural Styles An architecture style (also known as an “architecture pattern”) abstracts the common properties of a family of similar designs. Define a family of systems in terms of a pattern of its structural organization. Components of a style The key components of an architecture style are: Elements/components that perform functions required by a system connectors that enable communication, coordination, and cooperation among elements constraints that define how elements can be integrated to form the system attributes that describe the advantages and disadvantages of the chosen structure Categories of Architectural Styles Hierarchal Software Architecture Layered Distributed Software Architecture Client Server SOA Data Flow Software Architecture .