Fundamentals of Software Architecture
eBook - ePub

Fundamentals of Software Architecture

Practical guide to building resilient software and high-performance systems (English Edition)

  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Fundamentals of Software Architecture

Practical guide to building resilient software and high-performance systems (English Edition)

About this book

Description
With the rising complexity of modern software systems, strong, scalable software architecture has become the backbone of any successful application. This book gives you the essential knowledge to grasp the core ideas and methods of effective software design, helping you build strong, flexible systems right from the start.The book systematically navigates the critical aspects of software architecture, commencing with a clear definition of its significance and the pivotal role of the software architect. It delves into fundamental architectural properties like performance, security, and maintainability, underscoring the importance of modularity in crafting well-structured systems. You will explore various established architectural styles, including microservices and layered architecture, alongside key design patterns such as MVC and repository, gaining insights into their practical application. The book further elucidates the function of software components, the art of architecting for optimal performance and security, and essential design principles for building robust solutions. Finally, it examines the impact of modern development practices (Agile, DevOps), positions architecture within the broader engineering context, emphasizes the importance of testing at the architectural level, and offers a glimpse into current and future trends shaping the field.By the end of this book, you will have a solid understanding of the core concepts, helping you to contribute effectively to software design discussions, make informed architectural decisions, and build a strong foundation for creating high-quality, future-proof software systems.

What you will learn
? Define core architecture, architect roles, and fundamental design attributes.
? Apply modularity principles for resilient and adaptable software design.
? Design cohesive components, manage coupling, and optimize system decomposition.
? Cultivate essential soft skills for effective leadership and stakeholder management.
? Define technical requirements and understand modern development practices.

Who this book is for
This book is for software developers, technical leads, and anyone involved in software creation, seeking a foundational understanding of software architecture principles and practices to enhance their design skills and project outcomes.

Table of Contents
Prologue
1. Defining Software Architecture
2. The Role of a Software Architect
3. Architectural Properties
4. The Importance of Modularity
5. Architectural Styles
6. Architectural Patterns
7. Component Architecture
8. Architecting for Performance
9. Architecting for Security
10. Design and Presentation
11. Evolutionary Architecture
12. Soft Skills for Software Architects
13. Writing Technical Requirements
14. Development Practices
15. Architecture as Engineering
16. Testing in Software Architecture
17. Current and Future Trends in Software
18. Synthesizing Architectural Principles
Appendix

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Fundamentals of Software Architecture by Craig Risi in PDF and/or ePUB format, as well as other popular books in Computer Science & Computer Science General. We have over one million books available in our catalogue for you to explore.

Table of contents

  1. Cover
  2. Title Page
  3. Copyright Page
  4. Dedication Page
  5. About the Author
  6. About the Reviewer
  7. Acknowledgement
  8. Preface
  9. Table of Contents
  10. Prologue
  11. 1. Defining Software Architecture
  12. 2. The Role of a Software Architect
  13. 3. Architectural Properties
  14. 4. The Importance of Modularity
  15. 5. Architectural Styles
  16. 6. Architectural Patterns
  17. 7. Component Architecture
  18. 8. Architecting for Performance
  19. 9. Architecting for Security
  20. 10. Design and Presentation
  21. 11. Evolutionary Architecture
  22. 12. Soft Skills for Software Architects
  23. 13. Writing Technical Requirements
  24. 14. Development Practices
  25. 15. Architecture as Engineering
  26. 16. Testing in Software Architecture
  27. 17. Current and Future Trends in Software
  28. 18. Synthesizing Architectural Principles
  29. Appendix
  30. Index