Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Designing the Architecture

Components & Connectors


• A component is an entity that encapsulates some functionality and
provides services through well-known interfaces
• A connector is an architectural entity that abstracts the complexities
of the interactions between components
Designing Logical Architectural Elements
Using Styles & Patterns
• Architectural patterns provide the means for software architects
to reuse architectural design solutions in different projects
• Together, these architectural patterns serve as a blueprint for
designing elements of the logical architecture of particular groups
of systems
• The application of architectural patterns to the development of
software systems occurs at the highest level of abstraction in the
design process
• Since they are used to create architectural elements, they do not
describe the detailed design of the system and therefore cannot be
directly translated into code
• Identifying patterns at the architectural level (and designing around
them) improves the quality of the final system by reducing the design
of logical architectural elements to a collection of interacting
components whose expected behavior is well understood
Designing the Process Architecture
• Whereas logical elements of the software architecture model static,
structural aspects of the software system, process elements model
how elements interact to evaluate certain aspects of the software’s
quality, such as concurrency
Processes & Threads
• Processes and threads are fundamental units of execution in
today’s modern software systems
• They are created, managed, and terminated by the operating system
• A process is a unit of software execution, that is, a program in
execution
• Threads execute within a single process in a one-to-many
fashion—that is, one process can contain one or more threads
Evaluating the Architecture
• Architecture evaluation is the process of determining how well suited
architecture is for developing a system that meets both its
intended functional and quality requirements
• The architecture trade-off analysis method (ATAM) approach (Bass et
al 2003) provides a rigorous and proven methodology for such
endeavors.

You might also like