TIENE EN SU CESTA DE LA COMPRA
en total 0,00 €
Modern-day projects require software and systems engineers to work together in realizing architectures of large and complex software-intensive systems. To date, the two have used their own tools and methods to deal with similar issues when it comes to the requirements, design, testing, maintenance, and evolution of these architectures.
Software and Systems Architecture in Action explores practices that can be helpful in the development of architectures of large-scale systems in which software is a major component. Examining the synergies that exist between the disciplines of software and systems engineering, it presents concepts, techniques, and methods for creating and documenting architectures.
The book describes an approach to architecture design that is driven from systemic quality attributes determined from both the business and technical goals of the system, rather than just its functional requirements. This architecture-centric design approach utilizes analytically derived patterns and tactics for quality attributes that inform the architect's design choices and help shape the architecture of a given system.
The book includes coverage of techniques used to assess the impact of architecture-centric design on the structural complexity of a system. After reading the book, you will understand how to create architectures of systems and assess their ability to meet the business goals of your organization.
Ideal for anyone involved with large and complex software-intensive systems, the book details powerful methods for engaging the software and systems engineers on your team. The book is also suitable for use in undergraduate and graduate-level courses on software and systems architecture as it exposes students to the concepts and techniques used to create and manage architectures of software-intensive systems.
Architecture and Its Significance
Introduction
Rising Complexity
Constant Change
Distributed Development
Practice for Architecture-Centric Engineering
Summary
Questions
References
Stakeholders and Their Business Goals
Introduction
Influence of Business Goals on the Architecture
Representing Business Goals
Refining Business Goals
Translating Engineering Objectives into Architectural Requirements
Prioritizing Architectural Requirements
Summary
Questions
References
Establishing Broad Functional Understanding
Introduction
System Context
System Use Cases
Domain Model
An End-to-End Operational View
Constraints
Summary
Questions
References
Getting Ready for Designing the Architecture
Introduction
Architectural Drivers
Patterns
Layered View
Data Flow View
Data-Centered View
Adaptation View
Language Extension View
User Interaction View
Component Interaction View
Distribution View
What Is a Tactic?
Tactics for Availability
Tactics for Interoperability
Tactics for Modifiability
Tactics for Performance
Tactics for Security
Tactics for Testability
Tactics for Usability
Summary
Questions
References
Creating the Architecture
Introduction
Architecture of the Building Automation System
Support for Adding New Field Devices
Addressing Latency and Load Conditions
Addressing International Language Support
Architecture Trade-offs
Revisiting Modifiability Drivers
Revisiting Performance Drivers
The Final Architecture
Summary
Questions
References
Communicating the Architecture
Introduction
Views as a Basis for Documentation
Documenting a View
Building an Architecture Description Document
Architecture Description for the Building Automation System
Section 1: Document Road Map
Section 1.1: Description of the Architecture Documentation
Section 1.2: How Stakeholders Can Use the Documentation
Section 2: System Overview
Section 2.1: Business Goals
Section 2.2: System Context
Section 2.3: Functions
Section 2.4: Quality Attribute Requirements
Section 2.5: Constraints
Section 2.6: Architectural Drivers
Section 3: View Template
Section 4: Views
Section 4.1: Module View
Section 4.2: Component-and-Connector View
Section 4.3: Deployment View
Section 5: Mapping between Views
Section 6: Rationale
Conclusions
Questions
References
Architecture and Detailed Design
Introduction
Defining Interfaces
Creating the Domain Object Model
The Rule Manager
Addressing Architectural Responsibilities
Addressing Functional Responsibilities
Summary
Question
References
Role of Architecture in Managing Structural Complexity
Introduction
Analyzing System Complexity
Partitioning a DSM
Partitioning Algorithms
Tearing a DSM
Managing Structural Complexity
Testing the Hypothesis
Discussion and Conclusions
Discussion Questions
References