Buy Balancing Coupling in Software Design at Bookstore UAE
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Home > Computing and Information Technology > Computer programming / software engineering > Software Engineering > Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems
Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems

Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems


     0     
5
4
3
2
1



Out of Stock


Notify me when this book is in stock
X
About the Book

Learn How Coupling Impacts Every Software Design Decision You Make--and How to Control It If you want to build modular, evolvable, and resilient software systems, you have to get coupling right. Every design decision you make influences coupling, which in turn shapes the design options available to you. Despite its importance, coupling often doesn't receive the attention it deserves--until now. Since the dawn of software engineering, it's been clear that proper management of coupling is essential for architecting modular software systems. This topic has been extensively researched over the years, but some of that knowledge has been forgotten, and some of it is challenging to apply in this day and age. In Balancing Coupling in Software Design, author Vlad Khononov has built a model that not only draws on this accumulated knowledge, but also adapts it to modern software engineering practices, offering a fresh perspective on modular software design. With principles grounded in practice, Vlad teaches you not only to navigate the multi-dimensional nature of coupling but also to use coupling as a tool for managing complexity and increasing modularity. And who knows, maybe this book will change the way you think about software design as whole. Defines the concept of coupling and the role it plays in system design and architecture Explains how coupling can both increase complexity and foster modularity of a system Introduces a holistic model that turns coupling into a tool for designing modular software Shows how to evolve design decisions to support continuous growth of software systems Illustrates the discussed principles with detailed examples based on real-life case studies "Coupling is one of those words that is used a lot, but little understood. Vlad propels us from simplistic slogans like 'always decouple components' to a nuanced discussion of coupling in the context of complexity and software evolution. If you build modern software, read this book!" --Gregor Hohpe, author of The Software Architect Elevator Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

Table of Contents:
Series Editor Foreword xv Foreword by Rebecca Wirfs-Brock xix Foreword by Kent Beck xxi Preface xxiii Acknowledgments xxix About the Author xxxi Introduction 1 Part I: Coupling 3 Chapter 1: Coupling and System Design 5 What Is Coupling? 5 Magnitude of Coupling 6 Flow of Knowledge 10 Systems 10 Key Takeaways 16 Quiz 17 Chapter 2: Coupling and Complexity: Cynefin 19 What Is Complexity? 19 Cynefin 20 Comparing Cynefin Domains 26 Cynefin in Software Design 27 Cynefin Applications 31 Cynefin and Complexity 32 Key Takeaways 32 Quiz 33 Chapter 3: Coupling and Complexity: Interactions 35 Nature of Complexity 35 Complexity and System Design 36 Hierarchical Complexity 39 Degrees of Freedom 43 Complexity and Constraints 46 Coupling and Complex Interactions 47 Example: Connecting Coupling and Complexity 48 Key Takeaways 54 Quiz 54 Chapter 4: Coupling and Modularity 57 Modularity 57 Modules 59 Modularity in Software Systems 62 Modularity, Complexity, and Coupling 68 Coupling in Modularity 73 Key Takeaways 74 Quiz 74 Part II: Dimensions 77 Chapter 5: Structured Design's Module Coupling 79 Structured Design 80 Module Coupling 80 Comparison of Module Coupling Levels 94 Key Takeaways 95 Quiz 96 Chapter 6: Connascence 97 What Is Connascence? 97 Static Connascence 98 Dynamic Connascence 104 Evaluating Connascence 110 Key Takeaways 113 Quiz 114 Chapter 7: Integration Strength 117 Strength of Coupling 118 Integration Strength 121 Intrusive Coupling 122 Functional Coupling 125 Model Coupling 128 Contract Coupling 134 Integration Strength Discussion 143 Integration Strength and Asynchronous Execution 146 Key Takeaways 147 Quiz 148 Chapter 8: Distance 151 Distance and Encapsulation Boundaries 151 Additional Factors Affecting Distance 157 Distance Versus Proximity 160 Distance Versus Integration Strength 161 Key Takeaways 161 Quiz 162 Chapter 9: Volatility 165 Changes and Coupling 165 Why Software Changes 166 Evaluating Rates of Changes 169 Volatility and Integration Strength 175 Inferred Volatility 177 Key Takeaways 178 Quiz 179 Part III: Balance 181 Chapter 10: Balancing Coupling 183 Combining the Dimensions of Coupling 184 Combining Strength, Distance, and Volatility 189 Balancing Coupling on a Numeric Scale 192 Key Takeaways 198 Quiz 199 Chapter 11: Rebalancing Coupling 201 Resilient Design 201 Software Change Vectors 202 Rebalancing Coupling 205 Key Takeaways 213 Quiz 213 Chapter 12: Fractal Geometry of Software Design 215 Growth 215 Innovation 223 Fractal Geometry 228 Fractal Modularity 230 Key Takeaways 230 Quiz 231 Chapter 13: Balanced Coupling in Practice 233 Microservices 233 Architectural Patterns 239 Business Objects 245 Methods 251 Key Takeaways 256 Quiz 256 Chapter 14: Conclusion 257 Epilogue 261 Appendix A: The Ballad of Coupling 263 Appendix B: Glossary of Coupling 265 Appendix C: Answers to Quiz Questions 271 Bibliography 275 Index 279

About the Author :
Vlad Khononov is a software engineer with extensive industry experience, working for companies large and small in roles ranging from webmaster to chief architect. His core areas of expertise are distributed systems and software design. Vlad consults with companies to make sense of their business domains, untangle monoliths, and tackle complex architectural challenges. Vlad maintains an active media career as a public speaker and author. Prior to Balancing Coupling in Software Design, he authored the best-selling O'Reilly book Learning Domain-Driven Design. He is a sought-after keynote speaker, presenting on topics such as domain-driven design, microservices, and software architecture in general.

Review :
"Your software can get easier to change over time, but it’s hard work to make that happen. With the concepts and skills you'll gain from this book, though, you will be well on your way." --Kent Beck, creator of Extreme Programming and Test-Driven Development "Get ready to unravel the multi-dimensional nature of coupling and the forces at work behind the scenes. The reference for those looking for a means to both assess and understand the real impact of design decisions." --Chris Bradford, Director of Digital Services, Cambridge Consultants "Coupling is a tale as old as software. It's a difficult concept to grasp and explain, but Vlad effortlessly lays out the many facets of coupling in this book, presenting a tangible model to measure and balance coupling in modern distributed systems. This is a must-read for every software professional!" --Laila Bougria, solutions architect & engineer "This book is essential for every software architect and developer, offering an unparalleled, thorough, and directly applicable exploration of the concept of coupling. Vlad's work is a crucial resource that will be heavily quoted and referenced in future discussions and publications." --Michael Plöd, fellow @ INNOQ "Every software engineer is sensitive to coupling, the measure of interconnection between parts. Still, many times the understanding of such a fundamental property remains unarticulated. In this book, Vlad introduces a much-needed intellectual tool to reason about coupling in a systematic way, offering a novel perspective on this essential topic." --Ilio Catallo, senior software engineer "Coupling is among the most slippery topics in software development. However, with this book, Vlad simplifies for us how coupling, from a great villain, can become a design tool when well understood. This is an indispensable guide for anyone dealing with software design--especially complex ones." --William Santos, software architect "Balancing Coupling in Software Design by Vlad Khononov is an essential read for architects aiming for quality, evolvable systems. Khononov expertly classifies dependencies and reveals how varying designs impact effort based on component distance and change frequency, introducing a unified metric for coupling. With insightful case studies, he guides readers toward achieving optimal modularity and long-term system adaptability by illustrating and rectifying imbalances." --Asher Sterkin, independent software technology expert "Khononov's groundbreaking work unifies paramount forces of software design into a coherent model for evaluating coupling of software systems. His insights provide an invaluable framework for architects to design modular, evolving systems that span legacy and modern architectures." --Felipe Henrique Gross Windmoller, staff software engineer, Banco do Brasil "This book systematizes over five decades of software design knowledge, offering a comprehensive guide on coupling, its dimensions, and how to manage it effectively. If software design is a constant battle with complexity, then this book is about mastering the art of winning." --Ivan Zakervsky, IT architect


Best Sellers


Product Details
  • ISBN-13: 9780137353538
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Addison Wesley
  • Language: English
  • ISBN-10: 0137353537
  • Publisher Date: 26 Sep 2024
  • Binding: Digital download
  • Sub Title: Universal Design Principles for Architecting Modular Software Systems


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems
Pearson Education (US) -
Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    Fresh on the Shelf


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!