Local cover image
Local cover image

Fundamentals of software architecture : an engineering approach

By: Contributor(s): Material type: TextTextPublication details: Sebastopol : O'Reilly Media, 2020Description: xvii, 400 p. : ilISBN:
  • 9781492043454
Subject(s):
Contents:
Preface: Invalidating Axioms -- 1. Introduction -- Defining Software Architecture -- Expectations of an Architect -- Intersection of Architecture and… -- Laws of Software Architecture -- I. Foundations -- 2. Architectural Thinking -- Architecture Versus Design -- Technical Breadth -- Analyzing Trade-Offs -- Understanding Business Drivers -- Balancing Architecture and Hands-On Coding -- 3. Modularity -- Definition -- Measuring Modularity -- From Modules to Components -- 4. Architecture Characteristics Defined -- Architectural Characteristics (Partially) Listed -- Trade-Offs and Least Worst Architecture -- 5. Identifying Architectural Characteristics -- Extracting Architecture Characteristics from Domain Concerns -- Extracting Architecture Characteristics from Requirements -- Case Study: Silicon Sandwiches -- 6. Measuring and Governing Architecture Characteristics -- Measuring Architecture Characteristics -- Governance and Fitness Functions -- 7. Scope of Architecture Characteristics -- Coupling and Connascence -- Architectural Quanta and Granularity -- 8. Component-Based Thinking -- Component Scope -- Architect Role -- Developer Role -- Component Identification Flow -- Component Granularity -- Component Design -- Case Study: Going, Going, Gone: Discovering Components -- Architecture Quantum Redux: Choosing Between Monolithic Versus Distributed Architectures -- II. Architecture Styles -- 9. Foundations -- Fundamental Patterns -- Monolithic Versus Distributed Architectures -- 10. Layered Architecture Style -- Topology -- Layers of Isolation -- Adding Layers -- Other Considerations -- Why Use This Architecture Style -- Architecture Characteristics Ratings -- 11. Pipeline Architecture Style -- Topology -- Example -- Architecture Characteristics Ratings -- 12. Microkernel Architecture Style -- Topology -- Registry -- Contracts -- Examples and Use Cases -- Architecture Characteristics Ratings -- 13. Service-Based Architecture Style -- Topology -- Topology Variants -- Service Design and Granularity -- Database Partitioning -- Example Architecture -- Architecture Characteristics Ratings -- When to Use This Architecture Style -- 14. Event-Driven Architecture Style -- Topology -- Broker Topology -- Mediator Topology -- Asynchronous Capabilities -- Error Handling -- Preventing Data Loss -- Broadcast Capabilities -- Request-Reply -- Choosing Between Request-Based and Event-Based -- Hybrid Event-Driven Architectures -- Architecture Characteristics Ratings -- 15. Space-Based Architecture Style -- General Topology -- Data Collisions -- Cloud Versus On-Premises Implementations -- Replicated Versus Distributed Caching -- Near-Cache Considerations -- Implementation Examples -- Architecture Characteristics Ratings -- 16. Orchestration-Driven Service-Oriented Architecture -- History and Philosophy -- Topology -- Taxonomy -- Reuse…and Coupling -- Architecture Characteristics Ratings -- 17. Microservices Architecture -- History -- Topology -- Distributed -- Bounded Context -- Granularity -- API Layer -- Operational Reuse -- Frontends -- Communication -- Architecture Characteristics Ratings -- Additional References -- 18. Choosing the Appropriate Architecture Style -- Shifting "Fashion" in Architecture -- Decision Criteria -- Monolith Case Study: Silicon Sandwiches -- Distributed Case Study: Going, Going, Gone -- III. Techniques and Soft Skills -- 19. Architecture Decisions -- Architecture Decision Anti-Patterns -- Architecturally Significant -- Architecture Decision Records -- 20. Analyzing Architecture Risk -- Risk Matrix -- Risk Assessments -- Risk Storming -- Agile Story Risk Analysis -- Risk Storming Examples -- 21. Diagramming and Presenting Architecture -- Diagramming -- Presenting -- 22. Making Teams Effective -- Team Boundaries -- Architect Personalities -- How Much Control? -- Team Warning Signs -- Leveraging Checklists -- Providing Guidance -- Summary -- 23. Negotiation and Leadership Skills -- Negotiation and Facilitation -- The Software Architect as a Leader -- Integrating with the Development Team -- Summary -- 24. Developing a Career Path -- The 20-Minute Rule -- Developing a Personal Radar -- Using Social Media -- Parting Words of Advice -- Appendix. Self-Assessment Questions -- Index
Star ratings
    Average rating: 0.0 (0 votes)
Holdings
Item type Home library Call number Status Date due Barcode
Libro Libro Biblioteca de la Facultad de Informática D.2.11 RIC (Browse shelf(Opens below)) Available DIF-05058

Incluye índice.

Preface: Invalidating Axioms -- 1. Introduction -- Defining Software Architecture -- Expectations of an Architect -- Intersection of Architecture and… -- Laws of Software Architecture -- I. Foundations -- 2. Architectural Thinking -- Architecture Versus Design -- Technical Breadth -- Analyzing Trade-Offs -- Understanding Business Drivers -- Balancing Architecture and Hands-On Coding -- 3. Modularity -- Definition -- Measuring Modularity -- From Modules to Components -- 4. Architecture Characteristics Defined -- Architectural Characteristics (Partially) Listed -- Trade-Offs and Least Worst Architecture -- 5. Identifying Architectural Characteristics -- Extracting Architecture Characteristics from Domain Concerns -- Extracting Architecture Characteristics from Requirements -- Case Study: Silicon Sandwiches -- 6. Measuring and Governing Architecture Characteristics -- Measuring Architecture Characteristics -- Governance and Fitness Functions -- 7. Scope of Architecture Characteristics -- Coupling and Connascence -- Architectural Quanta and Granularity -- 8. Component-Based Thinking -- Component Scope -- Architect Role -- Developer Role -- Component Identification Flow -- Component Granularity -- Component Design -- Case Study: Going, Going, Gone: Discovering Components -- Architecture Quantum Redux: Choosing Between Monolithic Versus Distributed Architectures -- II. Architecture Styles -- 9. Foundations -- Fundamental Patterns -- Monolithic Versus Distributed Architectures -- 10. Layered Architecture Style -- Topology -- Layers of Isolation -- Adding Layers -- Other Considerations -- Why Use This Architecture Style -- Architecture Characteristics Ratings -- 11. Pipeline Architecture Style -- Topology -- Example -- Architecture Characteristics Ratings -- 12. Microkernel Architecture Style -- Topology -- Registry -- Contracts -- Examples and Use Cases -- Architecture Characteristics Ratings -- 13. Service-Based Architecture Style -- Topology -- Topology Variants -- Service Design and Granularity -- Database Partitioning -- Example Architecture -- Architecture Characteristics Ratings -- When to Use This Architecture Style -- 14. Event-Driven Architecture Style -- Topology -- Broker Topology -- Mediator Topology -- Asynchronous Capabilities -- Error Handling -- Preventing Data Loss -- Broadcast Capabilities -- Request-Reply -- Choosing Between Request-Based and Event-Based -- Hybrid Event-Driven Architectures -- Architecture Characteristics Ratings -- 15. Space-Based Architecture Style -- General Topology -- Data Collisions -- Cloud Versus On-Premises Implementations -- Replicated Versus Distributed Caching -- Near-Cache Considerations -- Implementation Examples -- Architecture Characteristics Ratings -- 16. Orchestration-Driven Service-Oriented Architecture -- History and Philosophy -- Topology -- Taxonomy -- Reuse…and Coupling -- Architecture Characteristics Ratings -- 17. Microservices Architecture -- History -- Topology -- Distributed -- Bounded Context -- Granularity -- API Layer -- Operational Reuse -- Frontends -- Communication -- Architecture Characteristics Ratings -- Additional References -- 18. Choosing the Appropriate Architecture Style -- Shifting "Fashion" in Architecture -- Decision Criteria -- Monolith Case Study: Silicon Sandwiches -- Distributed Case Study: Going, Going, Gone -- III. Techniques and Soft Skills -- 19. Architecture Decisions -- Architecture Decision Anti-Patterns -- Architecturally Significant -- Architecture Decision Records -- 20. Analyzing Architecture Risk -- Risk Matrix -- Risk Assessments -- Risk Storming -- Agile Story Risk Analysis -- Risk Storming Examples -- 21. Diagramming and Presenting Architecture -- Diagramming -- Presenting -- 22. Making Teams Effective -- Team Boundaries -- Architect Personalities -- How Much Control? -- Team Warning Signs -- Leveraging Checklists -- Providing Guidance -- Summary -- 23. Negotiation and Leadership Skills -- Negotiation and Facilitation -- The Software Architect as a Leader -- Integrating with the Development Team -- Summary -- 24. Developing a Career Path -- The 20-Minute Rule -- Developing a Personal Radar -- Using Social Media -- Parting Words of Advice -- Appendix. Self-Assessment Questions -- Index

Click on an image to view it in the image viewer

Local cover image