Deriving Architectural Tactics: A Step Toward Methodical Architectural Design

Abstract

This is one of several reports that provide the current status on the work being done by the Software Engineering Institute (SEIsm) to understand the relationship between quality requirements and architectural design. The ultimate objective of this work is to provide analysis-based guidance to designers so that the quality attributes of generated designs are more predictable and better understood. Currently, four distinct problems must be solved to achieve that objective: (1) the precise specification of quality attribute requirements, (2) the enumeration of architectural decisions that can be used to achieve desired quality attribute requirements, (3) a means of coupling one quality attribute requirement to the relevant architectural decisions, and (4) a means of composing the relevant architectural decisions into a design. Embodying the solutions to these four problems into a design method that is sensitive to business priorities is an additional problem. This report deals with the third problem-coupling one quality attribute requirement to architectural decisions that achieve it. This report provides initial evidence that there is, in fact, a systematic relationship between general scenarios, concrete scenarios, architectural tactics, and design fragments. It examines, in detail, two concrete scenarios for performance and one for modifiability-and describes how to move from each scenario, through tactics, to design fragments that satisfy the scenario.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Mar 01, 2003
Accession Number
ADA413701

Entities

People

  • Felix H. Bachmann
  • Len Bass
  • Mark Klein

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Human Systems

DTIC Thesaurus Topics

  • Algorithms
  • Central Processing Units
  • Commerce
  • Computations
  • Concrete
  • Couplings
  • Department Of Defense
  • Detection
  • Engineering
  • Guarantees
  • Guidance
  • Language
  • Probability
  • Reliability
  • Software Design
  • Software Development
  • Specifications

Fields of Study

  • Computer science
  • Engineering

Readers

  • Software Engineering.
  • Systems Analysis and Design