Designing Software Architectures A Practical Approach 1st Edition by Humberto Cervantes, Rick Kazman – Ebook PDF Instant Download/Delivery. 9780134390833 ,0134390830
Full download Designing Software Architectures A Practical Approach 1st Edition after payment
Product details:
ISBN 10: 0134390830
ISBN 13: 9780134390833
Author: Humberto Cervantes, Rick Kazman
Designing Software Architectures A Practical Approach 1st Edition Table of contents:
1. Introduction
1.1 Motivations
1.2 Software Architecture
1.2.1 The Importance of Software Architecture
1.2.2 Life-Cycle Activities
1.3 The Role of the Architect
1.4 A Brief History of ADD
1.5 Summary
1.6 Further Reading
2. Architectural Design
2.1 Design in General
2.2 Design in Software Architecture
2.2.1 Architectural Design
2.2.2 Element Interaction Design
2.2.3 Element Internals Design
2.3 Why Is Architectural Design So Important?
2.4 Architectural Drivers
2.4.1 Design Purpose
2.4.2 Quality Attributes
2.4.3 Primary Functionality
2.4.4 Architectural Concerns
2.4.5 Constraints
2.5 Design Concepts: The Building Blocks for Creating Structures
2.5.1 Reference Architectures
2.5.2 Architectural Design Patterns
2.5.3 Deployment Patterns
2.5.4 Tactics
2.5.5 Externally Developed Components
2.6 Architecture Design Decisions
2.7 Summary
2.8 Further Reading
3. The Architecture Design Process
3.1 The Need for a Principled Method
3.2 Attribute-Driven Design 3.0
3.2.1 Step 1: Review Inputs
3.2.2 Step 2: Establish the Iteration Goal by Selecting Drivers
3.2.3 Step 3: Choose One or More Elements of the System to Refine
3.2.4 Step 4: Choose One or More Design Concepts That Satisfy the Selected Drivers
3.2.5 Step 5: Instantiate Architectural Elements, Allocate Responsibilities, and Define Interfaces
3.2.6 Step 6: Sketch Views and Record Design Decisions
3.2.7 Step 7: Perform Analysis of Current Design and Review Iteration Goal and Achievement of Design Purpose
3.2.8 Iterate If Necessary
3.3 Following a Design Roadmap According to System Type
3.3.1 Design of Greenfield Systems for Mature Domains
3.3.2 Design of Greenfield Systems for Novel Domains
3.3.3 Design for an Existing System (Brownfield)
3.4 Identifying and Selecting Design Concepts
3.4.1 Identification of Design Concepts
3.4.2 Selection of Design Concepts
3.5 Producing Structures
3.5.1 Instantiating Elements
3.5.2 Associating Responsibilities and Identifying Properties
3.5.3 Establishing Relationships Between the Elements
3.6 Defining Interfaces
3.6.1 External Interfaces
3.6.2 Internal Interfaces
3.7 Creating Preliminary Documentation During Design
3.7.1 Recording Sketches of the Views
3.7.2 Recording Design Decisions
3.8 Tracking Design Progress
3.8.1 Use of an Architectural Backlog
3.8.2 Use of a Design Kanban Board
3.9 Summary
3.10 Further Reading
4. Case Study: FCAPS System
4.1 Business Case
4.2 System Requirements
4.2.1 Use Case Model
4.2.2 Quality Attribute Scenarios
4.2.3 Constraints
4.2.4 Architectural Concerns
4.3 The Design Process
4.3.1 ADD Step 1: Review Inputs
4.3.2 Iteration 1: Establishing an Overall System Structure
4.3.3 Iteration 2: Identifying Structures to Support Primary Functionality
4.3.4 Iteration 3: Addressing Quality Attribute Scenario Driver (QA-3)
4.4 Summary
4.5 Further Reading
5. Case Study: Big Data System
5.1 Business Case
5.2 System Requirements
5.2.1 Use Case Model
5.2.2 Quality Attribute Scenarios
5.2.3 Constraints
5.2.4 Architectural Concerns
5.3 The Design Process
5.3.1 ADD Step 1: Review Inputs
5.3.2 Iteration 1: Reference Architecture and Overall System Structure
5.3.3 Iteration 2: Selection of Technologies
5.3.4 Iteration 3: Refinement of the Data Stream Element
5.3.5 Iteration 4: Refinement of the Serving Layer
5.4 Summary
5.5 Further Reading
6. Case Study: Banking System
6.1 Business Case
6.1.1 Use Case Model
6.1.2 Quality Attribute Scenarios
6.1.3 Constraints
6.1.4 Architectural Concerns
6.2 Existing Architectural Documentation
6.2.1 Module View
6.2.2 Allocation View
6.3 The Design Process
6.3.1 ADD Step 1: Review Inputs
6.3.2 Iteration 1: Supporting the New Drivers
6.4 Summary
6.5 Further Reading
7. Other Design Methods
7.1 A General Model of Software Architecture Design
7.2 Architecture-Centric Design Method
7.3 Architecture Activities in the Rational Unified Process
7.4 The Process of Software Architecting
7.5 A Technique for Architecture and Design
7.6 Viewpoints and Perspectives Method
7.7 Summary
7.8 Further Reading
8. Analysis in the Design Process
8.1 Analysis and Design
8.2 Why Analyze?
8.3 Analysis Techniques
8.4 Tactics-Based Analysis
8.5 Reflective Questions
8.6 Scenario-Based Design Reviews
8.7 Architecture Description Languages
8.8 Summary
8.9 Further Reading
9. The Architecture Design Process in the Organization
9.1 Architecture Design and the Development Life Cycle
9.1.1 Architecture Design During Pre-Sales
9.1.2 Architecture Design During Development and Operation
9.2 Organizational Aspects
9.2.1 Designing as an Individual or as a Team
9.2.2 Using a Design Concepts Catalog in Your Organization
9.3 Summary
9.4 Further Reading
10. Final Words
10.1 On the Need for Methods
10.2 Next Steps
10.3 Further Reading
A. A Design Concepts Catalog
A.1 Reference Architectures
A.1.1 Web Applications
A.1.2 Rich Client Applications
A.1.3 Rich Internet Applications
A.1.4 Mobile Applications
A.1.5 Service Applications
A.2 Deployment Patterns
A.2.1 Nondistributed Deployment
A.2.2 Distributed Deployment
A.2.3 Performance Patterns: Load-Balanced Cluster
A.3 Architectural Design Patterns
A.3.1 Structural Patterns
A.3.2 Interface Partitioning
A.3.3 Concurrency
A.3.4 Database Access
A.4 Tactics
A.4.1 Availability Tactics
A.4.2 Interoperability Tactics
A.4.3 Modifiability Tactics
A.4.4 Performance Tactics
A.4.5 Security Tactics
A.4.6 Testability Tactics
A.4.7 Usability Tactics
A.5 Externally Developed Components
A.5.1 Spring Framework
A.5.2 Swing Framework
A.5.3 Hibernate Framework
A.5.4 Java Web Start Framework
A.6 Summary
A.7 Further Reading
B. Tactics-Based Questionnaires
B.1 Using the Questionnaires
B.2 Availability
B.3 Interoperability
B.4 Modifiability
B.5 Performance
B.6 Security
B.7 Testability
B.8 Usability
B.9 DevOps
B.10 Further Reading
Glossary
About the Authors
Index
People also search for Designing Software Architectures A Practical Approach 1st Edition:
designing software architectures a practical approach 1/e
designing software architectures a practical approach 1/e book
designing software architectures a practical approach 1 e
designing software architectures 2nd edition