Architectural Patterns

Architectural Patterns

DCC / ICEx / UFMG Architectural Patterns Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Architectural Patterns ◼ An architectural pattern is a general, reusable solution to a recurring problem in software architecture ◼ It documents knowledge about a common problem ◼ It is supposed to be reused across applications Patterns in Software ◼ Architecture patterns represent general architecture structures Design patterns (detailed design) Idioms (programming) ◼ Architecture patterns define the high level structure of a system Design patterns and idioms are used in successive phases All Patterns are Template ◼ (Architectural) Patterns do not define a complete solution The partial solution should be refined ◼ Examples of refinements To include program-specific components and relationships To define design patterns and idioms to detail the solution Reference Architecture ◼ A software system is unique However, several software systems may share similar architectures ◼ A system may use an architectural pattern as a reference Architecture style and reference architecture are similar concepts Key Elements of a Pattern ◼ The choice of an architectural pattern is part of the problem solution ◼ Architectural patterns usually define A set of components Responsibility of the involved components (roles) Relationships among components Choosing an Architecture ◼ Architectural patterns define ways to organize the system general structure Each architectural pattern may favor specific system properties ◼ Therefore, it is important to know alternative architectural patterns to achieve particular software needs Non-Functional Requirements ◼ The choice of an architectural pattern is largely dependent of The type of system Non-functional requirements ◼ Questions to be considered Is the system interactive? Does it require frequent changes? What non-functional requirements are important? Reliability? Performance? Composition of Patterns ◼ Each architectural pattern focuses on specific non-functional requirements There are also alternative patterns to address similar problems ◼ Complex systems may follow several architectural patterns Similarly, a system may include several design patterns Architectural Patterns (POSA) ◼ From Mud to Structure Layered Architecture Blackboard Pipes and Filters ◼ Distributed Systems Client-Server Broker ◼ Interactive Systems Model-View-Controller (MVC) Presentation-Abstraction-Control ◼ Adaptable Systems Microkernel Reflection Architectural Patterns Books ◼ Pattern-Oriented Software Architecture: A System of Patterns (Vol. 1) Bibliography ◼ F. Buschmann et al. Pattern-Oriented Software Architecture: A System of Patterns. John Wiley & Sons, 1996. Chap. 2 Architectural Patterns ◼ Ian Sommerville. Software Engineering, 9th Edition. Pearson Education, 2011. Chapter 6 Architectural Design.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    12 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us