Software architecture for busy developers : talk and act like a software architect in one weekend /

A quick start guide to learning essential software architecture tools, frameworks, design patterns, and best practices Key Features Apply critical thinking to your software development and architecture practices and bring structure to your approach using well-known IT standards Understand the impact...

Full description

Saved in:
Bibliographic Details
Main Author: Eyskens, Stephane (Author)
Format: eBook
Published: Birmingham : Packt Publishing, 2021.
Online Access:CONNECT
Table of Contents:
  • Cover
  • Title Page
  • Copyright and Credits
  • Contributors
  • Table of Contents
  • Preface
  • Section 1: Introduction
  • Chapter 1: Introducing Software Architecture
  • Software architecture in a nutshell
  • A software architect's duties
  • Introducing the different architecture disciplines
  • EA
  • Positioning software architecture within the global architecture landscape
  • Summary
  • Section 2: The Broader Architecture Landscape
  • Chapter 2: Exploring Architecture Frameworks and Methodologies
  • Introducing frameworks and methodologies
  • Delving into TOGAF, ArchiMate, and related tools
  • EA
  • Introducing TOGAF's ADM
  • Building blocks
  • Architecture patterns
  • EA wrap-up
  • Introducing security frameworks
  • COBIT for risk
  • NIST
  • ITIL in a nutshell
  • Summary
  • Chapter 3: Understanding ATAM and the Software Quality Attributes
  • Introducing ATAM
  • Understanding sensitivity points, trade-off points, risks, and non-risks
  • Exploring quality attributes
  • Getting started with quality-attribute scenarios
  • Practical use case
  • Utility trees
  • Quality-attribute scenarios
  • Identified sensitivity points
  • Architectural approaches
  • ATAM and agile at scale
  • Summary
  • Section 3: Software Design Patterns and Architecture Models
  • Chapter 4: Reviewing the Historical Architecture Styles
  • Introducing architecture styles
  • Starting with monoliths
  • Benefits of monoliths
  • Challenges of monoliths
  • Continuing with service-oriented architecture (SOA)
  • Benefits of SOA
  • Challenges of SOA
  • Microservices
  • Benefits of microservices
  • Challenges of microservices
  • Hosting microservices
  • Microservices in action
  • Summary
  • Chapter 5: Design Patterns and Clean Architecture
  • Technical requirements
  • Understanding design patterns and their purpose
  • Reviewing the GoF
  • Delving into the most recurrent patterns and applying them to a use-case scenario
  • Understanding the DI pattern
  • Exploring the singleton design pattern
  • Factory method
  • Lazy loading/initialization pattern
  • Strategy pattern
  • Mediator pattern
  • Facade design pattern
  • Repository design pattern
  • Design patterns use case
  • Looking at clean architecture
  • My top 10 code smells
  • Summary
  • Section 4: Impact of the Cloud on Software Architecture Practices
  • Chapter 6: Impact of the Cloud on the Software Architecture Practice
  • Technical requirements
  • Introducing cloud service models, the cloud, and cloud-native systems
  • Software as a Service (SaaS)
  • Function as a Service (FaaS)
  • Platform as a Service (PaaS)
  • Containers as a Service (CaaS)
  • Infrastructure as a Service (IaaS)
  • Anything as a Service (XaaS or *aaS)
  • Service models and software quality attributes
  • Cloud versus cloud native
  • Mapping cloud services to architecture styles and patterns
  • Reviewing cloud and cloud-native patterns
  • The Cache-Aside pattern