Designing Software Architectures A Practical Approach 1st Edition by Humberto Cervantes, Rick Kazman – Ebook PDF Instant Download/Delivery: 0134390784, 9780134390789
Full dowload Designing Software Architectures A Practical Approach 1st Edition after payment
Product details:
ISBN 10: 0134390784
ISBN 13: 9780134390789
Author: Humberto Cervantes, Rick Kazman
This book introduces a practical methodology for architecture design that any professional software engineer can use, provides structured methods supported by reusable chunks of design knowledge, and includes rich case studies that demonstrate how to use the methods.
Using realistic examples, you’ll master the powerful new version of the proven Attribute-Driven Design (ADD) 3.0 method and will learn how to use it to address key drivers, including quality attributes, such as modifiability, usability, and availability, along with functional requirements and architectural concerns.
Drawing on their extensive experience, Humberto Cervantes and Rick Kazman guide you through crafting practical designs that support the full software life cycle, from requirements to maintenance and evolution. You’ll learn how to successfully integrate design in your organizational context, and how to design systems that will be built with agile methods.
Comprehensive coverage includes
- Understanding what architecture design involves, and where it fits in the full software development life cycle
- Mastering core design concepts, principles, and processes
- Understanding how to perform the steps of the ADD method
- Scaling design and analysis up or down, including design for pre-sale processes or lightweight architecture reviews
- Recognizing and optimizing critical relationships between analysis and design
- Utilizing proven, reusable design primitives and adapting them to specific problems and contexts
- Solving design problems in new domains, such as cloud, mobile, or big data
Designing Software Architectures A Practical Approach 1st Table of contents:
PART I: INTRODUCTION TO SOFTWARE ARCHITECTURE
-
Chapter 1: What Is Software Architecture?
- Defining software architecture
- The role of software architecture in system design
- Importance of architectural decisions in software engineering
-
Chapter 2: The Architecture-Centric Development Process
- How architecture impacts the development lifecycle
- Architecture as the foundation for quality attributes
- The iterative process of architectural design
PART II: DESIGNING SOFTWARE ARCHITECTURES
-
Chapter 3: Architecting for Quality Attributes
- Introduction to quality attributes (performance, security, scalability, etc.)
- Methods for achieving quality goals through architectural decisions
- Trade-offs and balancing different quality requirements
-
Chapter 4: Creating Architecture Models
- The role of architecture models in design
- Techniques for modeling software architectures
- Notations and documentation methods (UML, C4, etc.)
-
Chapter 5: Design Patterns and Architecture Styles
- The role of design patterns in architecture
- Common architectural styles (client-server, layered, microservices, etc.)
- Applying design patterns to solve architecture problems
-
Chapter 6: Identifying Key Architectural Decisions
- How to identify and make critical architectural decisions
- Techniques for decision-making in complex systems
- Documenting decisions and rationale
PART III: EVALUATING AND REFLECTING ON ARCHITECTURAL DESIGN
-
Chapter 7: Evaluating Software Architectures
- Methods for evaluating architecture (e.g., ATAM, SAAM)
- Criteria for assessing architecture quality
- Using metrics and simulations for evaluation
-
Chapter 8: Re-architecting and Evolving Software Systems
- The importance of managing architecture evolution
- Techniques for re-architecting legacy systems
- Strategies for continuous architectural improvement
PART IV: PRACTICAL CONSIDERATIONS
-
Chapter 9: Architecture and Agile Methods
- Integrating software architecture with agile development
- Architectural decision-making in agile environments
- Balancing agility and architecture
-
Chapter 10: Architecting for Distributed and Cloud Systems
- Designing architectures for distributed systems
- Cloud computing and the implications for software architecture
- Handling scalability and resilience in distributed environments
PART V: CASE STUDIES AND EXAMPLES
-
Chapter 11: Case Study 1: Architecting a Web Application
- Practical case study of designing the architecture for a web application
- Trade-offs and challenges encountered during the design process
-
Chapter 12: Case Study 2: Architecting a Distributed System
- Case study of designing architecture for a distributed system
- Considerations for handling communication, consistency, and fault tolerance
People also search for Designing Software Architectures A Practical Approach 1st:
design approach architecture example
what is design approach in architecture
designing software architecture
designing a software application
application architecture design principles
Reviews
There are no reviews yet.