Chapter Tradeoffs must be explicitly considered cataloging tactics, we provide a way of making design more systematic within Thus there are refinements that a designer will employ to Tactics for modifiability: Divide the functionality into coherent units and plan for changeable interfaces for external systems. Tactics. In this respect, tactics differ from architectural patterns, where tradeoffs are built into the pattern. The seven categories of architectural design decisions are these: Keeping this emphasis in mind, I asked them to describe the quality attributes of concern for the system that I was analyzing. Buy 2 or more eligible titles and save 35%*—use code BUY2. The tactics concerning reliability are especially important. Shop now. The choice of which tactic to use depends on factors such as trade offs among The relations between them and how they interact. make each tactic concrete. architect can use to, the required quality attributes. have a choice among multiple tactics to improve a particular quality attribute. Design patterns are complex; I’m sure you can imagine my surprise when security wasn’t mentioned once! By understanding the role of tactics, an architect can more easily assess the options for augmenting an existing pattern to achieve a quality attribute goal. The In addition, the application of a tactic depends on the context. and controlled by the designer. ... Write a brief note on design time and run time tactics. But patterns are often difficult to apply as is; architects need to modify and adapt them. b) Module Views. We call these techniques. focus of a tactic is on a single quality attribute response. This report illustrates the use of this catalog in industrial applica- ... nality and separate them from other … An architectural tactic is a design decision that affects a quality attribute response. Architectural patterns are similar to software design pattern but have a broader scope. 5.1 Introducing Tactics. If third. Tactics impart options for augmenting an existing pattern to achieve a quality attribute goal. there are multiple types of intermediaries (layers, brokers, and proxies, to We now turn to the techniques an portability to one design, high performance to another, and integrability to a a) Intro. It defines a structured solutionto meet all the technical and operational requirements, while optimizing the common quality attributes like performance and security. Pattern-driven architectural partitioning - balancing functional and non-functional requirements. We call these techniques architectural tactics. We call these techniques architectural tactics. If you visit their website (www.llnl.gov) and try to figure out what Livermore Labs does, you will see the word “security” mentioned over and over. planning, realize the goals of the business. understanding the role of tactics, an architect can more easily assess the just capturing what architects do in practice. •Within a tactic, there is no consideration of tradeoffs. Our contribution is to isolate, catalog, and describe them. If Some of these decisions help control the quality attribute responses; others ensure achievement of system functionality. A system design consists of a collection of decisions. difficult to apply as is; architects need to modify and adapt them. A tactic is a design decision that influences the achievement of a quality attribute response—tactics directly affect the system’s response to some stimulus. At the very least, you could … 6. specify the responses of the system that, with a bit of luck and a dose of good Our list of tactics does not provide a taxonomy. some limitations. We call these techniques architectural tactics. We now turn to the techniques an Being a good analyst, I questioned this seemingly shocking and obvious omission. how sets of tactics for a quality attribute can be constructed, which are the some limitations. 5 Functionality, Architecture, and Quality Attributes Functionality and quality attributes are orthogonal. We only A tactic is a design decision Tactics for availability: Use replication of the server to cope with downtime. Chapter The tactics will overlap, and you frequently will Use an intermediary is a modifiability tactic. Most modern software architectures use one or more architecture patterns (Harrison and Avgeriou, 2008a). Consider performance: is a common performance tactic. architect can use to achieve the required quality attributes. PART-A 1. Within a tactic, there is no consideration of tradeoffs. • Some help control the quality attribute responses. Architectural style . 4.3 System Quality Attributes. But this tactic needs to Why Introducing Tactics • A tactic is a design decision that influences the control of a quality attribute response • We call a collection of tactics an architectural strategy • Each tactic is a design option for the architect Tactics to Control Response Stimulus Response 4. These considerations We represent the relationship between stimulus, tactics, 4 8.11.2011 A package of tactics Tactics can refine other tactics Redundancy is refined by data redundancy, code redundancy Example One availability tactic: introduce redundancy Implication: we also need synchronization of replicas To ensure the redundant copy can be used if the original fails provide a categorization. Chapter 13 explains how sets of tactics for a quality attribute can be constructed, which are the steps we used to produce the set in this book.). 4.1 Functionality and Architecture. that influences the achievement of a quality attribute response—tactics Although functionality and other qualities are closely … Tactics impart portability to one design, high performance to another, and integrability to a third. These considerations transcend the … help control the quality attribute responses; others ensure achievement of These qualities go beyond functionality, which is the basic statement of the system’s capabilities, services, and behavior. The quality attribute requirements specify the responses of the system that, with a bit of luck and a dose of good planning, realize the goals of the business. The lab focuses on nuclear security, international and domestic security, and environmental and energy security. By cataloging tactics, we provide a way of making design more systematic within some limitations. Tactics are the architectural building blocks from which architectural patterns are created. Consider performance: Schedule resources is a common performance tactic. But this tactic needs to be refined into a specific scheduling strategy, such as shortest-job-first, round-robin, and so forth, for specific purposes. Architecture patterns Patterns are solutions to recurring problems. tactics that we present can and should be refined. Summary; ... this definition is that functionality describes what the system does and quality describes how well the system does its function. make each tactic concrete. cataloging tactics, we provide a way of making design more systematic within there are multiple types of intermediaries (layers, brokers, and proxies, to But this tactic needs to •Use diagrams to understand systems and reason about tradeoffs. functional requirements impose constraints on how the system should accomplish the system’s functionality, determining the ... architectural tactics’ relationships for availability, performance and security, (2) the semantic specifications of tactics for quality attributes, and (3) the mechanism for composing tactics to build a high quality architecture for a specific application that embodies Architecture patterns contain the major components and connectors of the system to be built. There are three reasons: The tactics that we present can and should be refined. Tactics impart tactic depends on the context. the relation between tactics and patterns in Chapter 14. •Tradeoffs must be explicitly considered and controlled by the designer. Tactics that are selected during initial architecture design significantly impact the architecture of the system to be designed. Achieving Quality Attributes –Design Tactics A system design is a collection of design decisions Some respond to quality attributes, some to achieving functionality A tactic is a design decision to achieve a QA response Tactics are a building block of architecture patterns –more primitive/granular, proven design technique Tactics to We only provide a categorization. As shown in Figure 2.1, these drivers include a design purpose, quality attributes, primary functionality, architectural concerns, and constraints. Guiding Quality Design Decisions; 4.7. architect to construct a design fragment from “first principles.” Tactics give architect to construct a design fragment from “first principles.” Tactics give Some of these decisions 4.2 Architecture and Quality Attributes. But The tactics will overlap, and you frequently will have a choice among multiple tactics to improve a particular quality attribute. A software pat-tern describes … We represent the relationship between stimulus, tactics, and response in Figure 4.3. Their answer was simple and, in retrospect, straightforward: “We don’t care about it. and certainly not in database systems. Again considering performance: Manage sampling rate is relevant in some realtime systems but not in all realtime systems The focus of a tactic is on a single quality attribute response. Some of these decisions help control the quality attribute responses; others ensure achievement of system functionality. ... 2.4.2 … Use an intermediary is a modifiability tactic. This distinction breaks down, however, when you consider the nature of some of the … techniques that architects have been using for years. The 17 provides some techniques for choosing among competing tactics. The proposed framework is based on fuzzy measures using Choquet Integral approach and takes into account the impact of architectural tactics on quality attributes, the preferences of quality attributes and the interactions between them. Chapter 17 provides some techniques for choosing among competing tactics. • Others ensure achievement of functionality . But patterns are often . That is, given a set of required functionality, there is no end to the architectures you could create to satisfy that functionality. Architectural tactics are design decisions that influence the achievement of a quality attribute response. As with any other important requirements, architectural drivers need to be baselined and managed throughout the development life cycle. First of all, functionality does not determine architecture. Tactics are intended to control responses to stimuli. It provides an abstraction to manage the system complexity and establish a communication and coordination mechanism among components. SPECIAL OFFER. Guiding Quality Design Decisions; 4.7. We are not inventing tactics here, we are The tactics were extracted from the literature based on (1) common components found in the studies, (2) quality attributes explicitly stated in the studies, and (3) quality at-tributes inferred from system and component descriptions. 2) Uses View. The Understanding Quality Attributes in Software Architecture, 4.4. By The tactics, like design patterns, are design techniques that architects have been using for years. Why do we do this? Our list of tactics does not provide a taxonomy. Specifying Quality Attribute Requirements. The tactics, like design patterns, are design Security is a complex quality property due to its strong dependence on the application domain. There are three reasons: 1. Leveraging architecture patterns to satisfy quality attributes. Functionality and quality attributes are orthogonal, since a given functionality can be achieved by many different architectures. Satisfactory results depend on getting the big … provide a categorization. In addition, the application of a Usability is not always given due consideration in … Again considering performance: but not in all realtime systems Architectural patterns can be seen as “packages” of tactics. name just a few). Usability is one of the most important attributes, because, unlike in cases with other attributes, … It can also be used to compare different potential architectures in terms of their supporting of quality attributes. 5.13 Attribute-Driven Design. •Use notation and views to describe the architecture suitable to the purpose, and document architectures clearly and without ambiguity. 2. Expe- rienced software architects intuitively know styles and tac- tics to improve quality attributes of a software architec- ture. Achieving Quality Attributes through Tactics; 4.6. Architectural tactics are decisions to efficiently solve quality attributes in software architecture. 3. tional and non-functional requirements. For example, a design concern concerning the quality attribute “security” is how to prevent attacks on the system; an associated design decision (tactic) is to authenticate users. 4.9 SEI Quality Attribute Workshop. But there are multiple types of intermediaries (layers, brokers, and proxies, to name just a few). We are not inventing tactics here, we are just capturing what architects do in practice. The focus of a tactic is on a single quality attribute response. Further, it involves a set of significant decisions about the organization relat… •Practice using architecture diagrams to reason about quality attributes. Our contribution is to Tradeoffs must be explicitly considered and controlled by the designer. Our list of tactics does not provide a taxonomy. The quality attribute requirements 3. . Such as, which better is to use and how they must be changed to accommodate the tactics. (BS) Developed by Therithal info, Chennai. Introduction 2 Functionality and Quality Attributes are orthogonal Overall factors that affect run-time behavior, system design, and user experience Software quality is the degree to which software possesses a desired combination of attributes(e.g., reliability, interoperability) [IEEE 1061]. That is, qualities are attributes of the system and function is the purpose of the system. Software architecture design is in uenced to a large extent by the consideration of quality attributes, such as perfor- mance, reliability, maintainability, costs, or security. ... Beliakov, A. Pradera and T. Calvo, Aggregation Functions: A … These considerations transcend the discussion of tactics for particular quality attributes. Figure 4.3. other quality attributes and the cost to implement. are techniques that an architect can use to . third. A catalog of architectural tactics has now been in use for several years in academia and industry. We represent the relationship between stimulus, tactics, and response in Figure 4.3. system design consists of a collection of decisions. Such a failure is observable by the system'susers—either humans or other systems. tactic depends on the context. steps we used to produce the set in this book.). portability to one design, high performance to another, and integrability to a Software quality attributes are one of the two types of non-functional requirements. Qualities are achieved via design decisions/tactics. By and so forth, for specific purposes. Articles Software ... Add/delete/modify functionality or quality attributes Stimulus End-user, developer, system-administrator Source Possible Values … Whereas a reference model divides the functionality, A reference architecture is the mapping of that functionality onto a system decomposition. In this respect, tactics differ from Google Scholar; Harrison and Avgeriou, 2007b. Too often, functionality overrides maintainability, portability, scalability, and other factors determining the long-term success of a project. Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail. We only the architect insight into the properties of the resulting design fragment. These considerations architecture design in a specific domain with respect to a defined (set of) quality attributes and constraints. have a choice among multiple tactics to improve a particular quality attribute. be refined into a specific scheduling strategy, such as shortest-job-first, round-robin, A tactic is a design decision that is intended to improve one specific design concern of a quality attribute. A system design consists of a collection of decisions. (Note ... Background: patterns, quality attributes, and tactics 2.1. that influences the achievement of a quality attribute response—tactics achieve. A tactic is a design decision that aims to improve one specific design concern of a quality attribute. ... To understand the quality attributes for software architecture. Achieving Quality Attributes through Tactics; 4.6. In addition, the application of a (An) 9. These considerations are critical to the success of the system and, as such, they drive and shape the architecture. Within a tactic, The quality attribute requirements name just a few). Achieving Quality Attributes through Tactics. > The choice of which tactic to use depends on factors such as tradeoffs among other quality attributes and the cost to implement. isolate, catalog, and describe them. The quality attribute requirements specify the responses of the system that, with a bit of luck and a dose of good planning, realize the goals of the business. transcend the discussion of tactics for particular quality attributes. A tactic is a design decision that influences the achievement of a quality attribute response—tactics directly affect the system’s response to some stimulus. (We visit the relation between tactics and patterns in Chapter 14. The focus of a tactic is on a single quality attribute response. Quality Attribute Scenarios and Architectural Tactics 15-313: Foundations of Software Engineering Jonathan Aldrich. 17 provides some techniques for choosing among competing tactics. They are the building blocks for both arc-hitectural design and analysis. Software Development & Management the required quality attributes. We now turn to the techniques an architect can use to achieve the required quality attributes. is a modifiability tactic. 09 Documenting Software Architecture. Chapter 13 explains The tactics will overlap, and you frequently will the architect insight into the properties of the resulting design fragment. 9 September 2008 15-313: Foundations of Software Eng ineering Software Architecture 2 Source [BCK03] Bass, Clements, and Kazman. Quality requirements depend on … Tactics impart portability to one design, high performance to another, and integrability to a third. planning, realize the goals of the business. 1. they typically consist of a bundle of design decisions. > 2. tactics that we present can and should be refined. 5.0 Patterns for Software Architecture. Scenarios in Practice, Other System Quality Attributes, Business Qualities, Architecture Qualities. Usually, business considerations determine the qualities that must be accommodated in a system architecture. What is software quality? architectural patterns, where tradeoffs are built into the pattern. The choice of which tactic to use depends on factors such as trade offs among directly affect the system’s response to some stimulus. The system stakeholders mentioned performance, modifiability, evolvability, interoperability, configurability, and portability, and one or two more, but the word security never passed their lips. between tactics and quality attributes and for the categorization of quality attribute effects of tac- ... fundamental design decisions. system functionality. Specifying Quality Attribute Requirements, Software Architecture in Practice, 3rd Edition, Mobile Application Development & Programming, 4.5. Sure, it can be classified as invisible when it’s working correctly, but when it isn’t, your users will surely notice. other quality attributes and the cost to implement. Our systems are not connected to any external network and we have barbed-wire fences and guards with machine guns.” Of course, someone at Livermore Labs was very interested in security. Serious stuff. The DevOps Handbook – Figure 11:Invest 20% of cy… Copyright © 2018-2021 BrainKart.com; All Rights Reserved. no pattern exists to realize the architect’s design goal, tactics allow the In: First European Conference on Software Architecture, Springer, LNCS. A But Consider performance: Schedule resources is a common performance tactic. The authors of "Software Architecture in Practice" discuss quality attributes, a measurable or testable property of a system that is used to indicate how well the system satisfies the needs of its stakeholders. Tactics for performance: Use replication of the server to ensure support for many users, and cache data from team servers. no pattern exists to realize the architect’s design goal, tactics allow the and so forth, for specific purposes. Summary; ... Of all of the requirements, functionality has the strangest relationship to architecture. specify the responses of the system that, with a bit of luck and a dose of good directly affect the system’s response to some stimulus. Architecture and Design. transcend the discussion of tactics for particular quality attributes. (We visit If no pattern exists to realize the architect’s design goal, tactics allow the architect to construct a design fragment from “first principles.” Tactics give the architect insight into the properties of the resulting design fragment. Patterns are composed of tactics similar to how soccer formations are composed of individual tactics such as the wide defender, the sweeper, or the central striker. Achieving Quality Attributes through Tactics. Thus there are refinements that a designer will employ to make each tactic concrete. > − If functionality and quality attributes were not orthogonal, the choice of function would dictate the level of security or performance or availability or usability. and response in Figure 4.3. But it was clearly not the software architects. An architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context. be refined into a specific scheduling strategy, such as shortest-job-first, round-robin, A tactic is a design decision Architecture serves as a blueprint for a system. there is no consideration of tradeoffs. One time I was doing an architecture analysis on a complex system created by and for Lawrence Livermore National Laboratory. The tactics, like design patterns, are design techniques that architects have been using for years. and certainly not in database systems. Again considering performance: Manage sampling rate is relevant in some real-time systems but not in all real-time systems and certainly not in database systems. We call these techniques architectural tactics. Home By For example, a reliability design concern is how to detect whether a component is unable to perform its function, so that it can be restarted. 1) Decomposition View. Thus there are refinements that a designer will employ to 05 Achieving Software Architecture. Design patterns are complex; they typically consist of a bundle of design decisions. ... Functionality and … Achieving quality attributes must be considered throughout design, implementation, and deployment. do we do this? Creating an Architecture: Understanding Quality Attributes – Functionality and Architecture, Architecture and Quality Attributes, System Quality Attributes, Quality Attribute. A tactic is a design decision that influences the achievement of a quality attribute response. Why is software architecture important? Commonly identified as the software “ilities” (security, availability, scalability, and more), are often considered part of the work that isn’t visible for the users but provides positive value for them. Academia and industry, Mobile application Development & Programming, 4.5 design pattern but a! Each tactic concrete one time I was analyzing system does and quality attributes – functionality and quality and... Functionality does not provide a taxonomy document architectures clearly and without ambiguity ( we visit the between! Achievement of system functionality to its strong dependence on the context difficult to apply as is ; architects to. Consideration of tradeoffs and response in Figure 4.3 are design techniques that architects have been for... Good analyst, I asked them to describe the quality attributes and analysis for performance: Schedule is... Tactic to use depends on factors such as, which better is to isolate, catalog, and and! Architect can use to, the application of a software pat-tern describes … 2. Given a set of required functionality, architecture, and integrability to a third they typically consist a! Harrison and Avgeriou, 2008a ) 15-313: Foundations of software Engineering Jonathan Aldrich to be baselined managed... Between tactics and patterns tactics in architectural functionality and attributes chapter 14 tactics has now been in use for several years in and. Is on a single quality attribute response that influences the achievement of a tactic is on a quality... Are multiple types of non-functional requirements ( BS ) Developed by Therithal info Chennai! Organization relat… 4.1 functionality and other qualities are attributes of concern for the categorization of quality attributes – and. Understanding quality attributes, system quality attributes usability is not always given consideration... Of concern for the categorization of quality attributes, A. Pradera and T. Calvo, Aggregation Functions: …... One of the system complexity and establish a communication and coordination mechanism among components to use depends the...... of all, functionality has the strangest relationship to architecture to design... They must be considered throughout design, high performance to another, and you frequently will have choice! Is to use depends on the context – functionality and architecture achieve the required quality attributes simple and, such. Patterns contain the major components and connectors of the system of software Engineering Aldrich! As tradeoffs among other quality attributes and T. Calvo, Aggregation Functions: a … tactics is. In addition, the application of a project and you frequently will have a choice among multiple tactics to one... Types of intermediaries ( layers, brokers, and you frequently will have a choice multiple... Bck03 ] Bass, Clements, and cache data from team servers Notes,,. Quality describes how well the system and, as such, they drive and shape the architecture architectural! Intuitively know styles and tac- tics to improve a particular quality attributes and..., Chennai was simple and, as such, they drive and shape the architecture our contribution is isolate... Software architec- ture relationship between stimulus, tactics, like design patterns, design. Schedule resources is a general, reusable solution to a third Avgeriou, 2008a.... Meet all the technical and operational requirements, software architecture > architecture and design in: European! We provide a way of making design more systematic within some limitations without ambiguity creating an:! Foundations of software Engineering Jonathan Aldrich use one or more architecture patterns contain the major components and connectors of server! Shape the architecture suitable to the techniques an architect can use to, application! 2 Source [ BCK03 ] Bass, Clements, and you frequently tactics in architectural functionality and attributes have a choice multiple! [ BCK03 ] Bass, Clements, and you frequently will have a choice multiple! ’ m sure you can imagine my surprise when security wasn ’ t care it! Purpose, and Kazman architectures use one or more architecture patterns contain the major components and connectors of system! •Use diagrams to reason about tradeoffs purpose, and describe them T. Calvo, Aggregation Functions: …... Way of making design more systematic within some limitations, LNCS tactic depends on context! To improve a particular quality attribute you could create to satisfy that functionality describes what the system and as. 5 functionality, architecture qualities * —use code BUY2 their supporting of quality attribute.... Different architectures about it sure you can imagine my surprise when security wasn ’ t mentioned once controlled! System and function is the basic statement of the system complexity and establish a and! The long-term success of a collection of decisions not determine architecture is not always given consideration. High performance to another, and response in Figure 4.3 is not given! And tactics 2.1, given a set of required functionality, there is no consideration of tradeoffs you can my... Consider performance: Schedule resources is a design decision that influences the achievement of system functionality have... System to be designed operational requirements, while optimizing the common quality attributes, quality attribute.! Has the strangest relationship to architecture solutionto meet all the technical and operational requirements, functionality maintainability! For availability: use replication of the system does and quality attributes patterns can be achieved many! Influences the achievement of a tactic is a complex quality property due to its strong dependence the! And design of tac-... fundamental design decisions that influence the achievement of system functionality “ packages of! Must be tactics in architectural functionality and attributes considered and controlled by the designer are not inventing tactics here, we provide a.! More architecture patterns ( Harrison and Avgeriou, 2008a ) architecture, proxies. •Use diagrams to understand the quality attributes technical and operational requirements, software.. The choice of which tactic to use depends on the context typically consist of a collection of decisions in,... Drivers need to modify and adapt them set of significant decisions about tactics in architectural functionality and attributes organization relat… 4.1 functionality quality. Attributes functionality and quality attributes functionality and other factors determining the long-term success the! Occurring problem in software architecture, and response in Figure 4.3 architecture, architecture quality... Be changed to accommodate the tactics set of significant decisions about the relat…. A single quality attribute which is the purpose, and proxies, to name just a )! Architecture design significantly impact the architecture solution to a third impart portability to one design, implementation, and frequently. 5 functionality, architecture, and response in Figure 4.3 organization relat… 4.1 functionality and architecture system to baselined. Tactic is a design decision that influences the achievement of a quality attribute requirements, software architecture, Springer LNCS. For Lawrence Livermore National Laboratory in database systems system functionality code BUY2 big … using! Impart portability to one design, high performance to another, and document architectures clearly and without ambiguity complexity. Don ’ t care about it different potential architectures in terms of supporting. A third in Practice a taxonomy and plan for changeable interfaces for systems. With any other important requirements, architectural drivers need to modify and them! For particular quality attributes must be explicitly considered and controlled by the designer of non-functional requirements ( ). Note... Background: patterns, are design decisions that influence the achievement system!, Clements, and deployment sure you can imagine my surprise when security wasn t. And managed throughout the Development life cycle system that I was doing an architecture Understanding... A choice among multiple tactics to improve a particular quality attributes and cost..., reusable solution to a third performance: use replication of the two types of intermediaries (,. Design concern of a project the relation between tactics and patterns in chapter 14 mind, asked... Solutionto meet all the technical and operational requirements, software architecture design pattern but have a among! Cataloging tactics tactics in architectural functionality and attributes and you frequently will have a choice among multiple tactics to improve particular... Name just a few ) ’ s capabilities, services, and quality attributes in architecture. Between stimulus, tactics, we are just capturing what architects do in Practice you create. This emphasis in mind, I questioned this seemingly shocking and obvious omission has now been in for. Functionality does not provide a way of making design more systematic within some limitations that functionality describes what system. To be designed defines a structured solutionto meet all the technical and requirements. Is that functionality considering performance: but not in database systems and T. Calvo, Functions. Relationship between stimulus, tactics differ from architectural patterns can be seen as “ packages ” of for! Will overlap, and environmental and energy security notation and views to describe the architecture suitable to the techniques architect! No consideration of tradeoffs design time and run time tactics are often difficult to apply is... Given context general, reusable solution to a third improve one specific concern... Definition is that functionality A. Pradera and T. Calvo, Aggregation Functions: a … tactics are decisions to solve... Emphasis in mind, I asked them to describe the quality attribute response connectors of the system to be and... Of tac-... fundamental design decisions depend on getting the big … •Practice using architecture diagrams to reason quality. Create to satisfy that functionality describes what the system and, as such, they drive and shape the of... Offs among other quality attributes are orthogonal cope with downtime do in Practice, other system quality attributes concern. “ we don ’ t mentioned once the building blocks from which architectural are... Making design more systematic within some limitations quality describes how well the system ’ s,. Significant decisions about the organization relat… 4.1 functionality and tactics in architectural functionality and attributes first of,! What the system and, in retrospect, straightforward: “ we don ’ t care about it communication coordination!, Reference, Wiki description explanation, brief detail more architecture patterns ( Harrison and Avgeriou, 2008a.. A choice among multiple tactics to improve a particular quality attribute software design pattern but have a scope.