نام کتاب
Fundamentals of Software Architecture

An Engineering Approach

Mark Richards, Neal Ford

Paperback546 Pages
PublisherO'Reilly
Edition2
LanguageEnglish
Year2025
ISBN9781098175511
2K
A68
انتخاب نوع چاپ:
جلد سخت
672,000ت
0
جلد نرم
732,000ت(2 جلدی)
0
طلق پاپکو و فنر
752,000ت(2 جلدی)
0
مجموع:
0تومان
کیفیت متن:اورجینال انتشارات
قطع:B5
رنگ صفحات:دارای متن و کادر رنگی
پشتیبانی در روزهای تعطیل!
ارسال به سراسر کشور

Software#

Architecture#

Engineering#

Fundamentals#

توضیحات

بر اساس نظرسنجی‌ها شغل معمار نرم‌افزار همواره در میان 10 شغل برتر دنیا قرار داشته است، اما تاکنون راهنمای جامعی برای تبدیل توسعه‌دهندگان به معمار ارائه نشده بود. این کتاب، با اضافه شدن پنج فصل جدید، دیدگاهی کامل و به‌روز از معماری نرم‌افزار ارائه می‌دهد.

مارک ریچاردز و نیل فورد با تکیه بر سال‌ها تجربه عملی و تدریس، اصولی را آموزش می‌دهند که در تمامی فناوری‌ها قابل استفاده است.


مطالب کتاب شامل سبک‌ها و الگوهای معماری (مانند میکروسرویس و مونولیت ماژولار)، تعیین و طراحی مؤلفه‌ها، مهارت‌های نرم (مدیریت تیم، مذاکره، ارائه)، ملاحظات مدرن (ابر، هوش مصنوعی مولد) و نگاهی مهندسی به معماری نرم‌افزار می‌شود.


 چه معماران تازه‌کار و چه معماران باتجربه، می‌توانند موضوعاتی مانند ویژگی‌های معماری، الگوهای معماری، تعیین مؤلفه‌ها، رسم دیاگرام‌های معماری، حاکمیت (Governance)، داده، هوش مصنوعی مولد (Generative AI)، ساختار تیم‌ها (Team Topologies) و بسیاری موضوعات دیگر را بررسی کنند.


نسخه دوم بعد از 5 سال بازبینی و بروز رسانی شده است، 124 صفحه اضافه شده و مباحثی همچون ملاحظات ابری، توپولوژی داده، توپولوژی تیم‌ها و حاکمیت (Governance) به سبک‌های معماری مختلف افزوده شد.

در طول کار، فصل‌های مهمی مانند فصل‌های ۱۵ و ۱۸ به طور اساسی بازنویسی و گسترش یافتند و فصل جدیدی (فصل ۱۱) درباره سبک معماری مونولیت ماژولار به کتاب اضافه شد.

علاوه بر این، چند فصل کاملاً جدید نیز افزوده شده است: الگوهای معماری در فصل ۲۰، تلاقی‌های معماری در فصل ۲۶، و بازنگری قوانین معماری نرم‌افزار در فصل ۲۷ که شامل یک قانون جدید و یک نتیجه فرعی تازه است.


Salary surveys worldwide regularly place software architect in the top 10 best jobs, yet no real guide exists to help developers become architects. Until now. This updated edition provides a comprehensive overview of software architecture's many aspects, with five new chapters covering the latest insights from the field. Aspiring and existing architects alike will examine architectural characteristics, architectural patterns, component determination, diagramming architecture, governance, data, generative AI, team topologies, and many other topics.


Mark Richards and Neal Ford—hands-on practitioners who have taught software architecture classes professionally for years—focus on architecture principles that apply across all technology stacks. You'll explore software architecture in a modern light, taking into account all the innovations of the past decade.


This book examines:

  • Architecture styles and patterns: Microservices, modular monoliths, microkernels, layered architectures, and many more
  • Components: Identification, coupling, cohesion, partitioning, and granularity
  • Soft skills: Effective team management, collaboration, business engagement models, negotiation, presentations, and more
  • Modernity: Engineering practices and operational approaches that have changed radically in the past few years, including cloud considerations and generative AI
  • Architecture as an engineering discipline: Repeatable results, metrics, and concrete valuations that add rigor to software architecture


Table of Contents

Chapter 1: Introduction


Part I: Foundations

Chapter 2: Architectural Thinking

Chapter 3: Modularity

Chapter 4: Architectural Characteristics Defined

Chapter 5: Identifying Architectural Characteristics

Chapter 6: Measuring and Governing Architecture Characteristics

Chapter 7: The Scope of Architectural Characteristics

Chapter 8: Component-Based Thinking


Part II: Architecture Styles

Chapter 9: Foundations

Chapter 10: Layered Architecture Style

Chapter 11: The Modular Monolith Architecture Style

Chapter 12: Pipeline Architecture Style

Chapter 13: Microkernel Architecture Style

Chapter 14: Service-Based Architecture Style

Chapter 15: Event-Driven Architecture Style

Chapter 16: Space-Based Architecture Style

Chapter 17: Orchestration-Driven Service-Oriented Architecture

Chapter 18: Microservices Architecture

Chapter 19: Choosing the Appropriate Architecture Style

Chapter 20: Architectural Patterns


Part III: Techniques and Soft Skills

Chapter 21: Architectural Decisions

Chapter 22: Analyzing Architecture Risk

Chapter 23: Diagramming Architecture

Chapter 24: Making Teams Effective

Chapter 25: Negotiation and Leadership Skills

Chapter 26: Architectural Intersections

Chapter 27: The Laws of Software Architecture, Revisited


About the Author

Mark Richards is an experienced hands-on software architect involved in the architecture, design, and implementation of microservices architectures, service-oriented architectures, and distributed systems. He's been in the software industry since 1983 and has significant experience and expertise in application, integration, and enterprise architecture. He's the author of numerous O'Reilly technical books and videos, including Fundamentals of Software Architecture, Software Architecture: The Hard Parts (both with Neal Ford) several books on microservices, the Software Architecture Fundamentals video series, the Enterprise Messaging video series and was a contributing author to 97 Things Every Software Architect Should Know. A speaker and trainer, he's given talks on a variety of enterprise-related technical topics at hundreds of conferences and user groups around the world.


Neal Ford is a director, software architect, and meme wrangler at Thoughtworks, a software company and a community of passionate, purpose-led individuals who think disruptively to deliver technology to address the toughest challenges, all while seeking to revolutionize the IT industry and create positive social change. He's an internationally recognized expert on software development and delivery, especially in the intersection of Agile engineering techniques and software architecture. Neal's authored eight books (and counting), a number of magazine articles, and dozens of video presentations (including a video on improving technical presentations) and spoken at hundreds of developers conferences worldwide. His topics of interest include software architecture, continuous delivery, functional programming, and cutting-edge software innovations. Check out his website, Nealford.com.



From the Preface

Mathematicians create theories based on axioms, assumptions for things indisputably true. Software architects build axioms as well, but the software world is, well, softer than mathematics: fundamental things continue to change at a rapid pace in the software world.


The software development ecosystem exists in a constant state of dynamic equilibrium: while it exists in a balanced state at any given point in time, it exhibits dynamic behavior over the long term. A great modern example of the nature of this ecosystem follows the ascension of containerization and the attendant changes wrought: tools like Kubernetes didn’t exist a decade ago, yet now entire software conferences exist to service its users. The software ecosystem changes fractally: one small change causes another small change; when repeated hundreds of time, it generates a new ecosystem.

Architects have an important responsibility to question assumptions and axioms left over from previous eras. Many of the books about software architecture were written in an era that only barely resembles the current world. In fact, the authors believe that we must question fundamental axioms on a regular basis, in light of improved engineering practices, operational ecosystems, software development processes—​everything that makes up the messy, dynamic equilibrium where architects and developers work each day.


Careful observers of software architecture over time witnessed an evolution of capabilities. Starting with the engineering practices of Extreme Programming, continuing with continuous delivery, the DevOps revolution, microservices, containerization, and now cloud-based resources, all of these innovations led to new capabilities and trade-offs. As capabilities changed, so did architects’ perspectives on the industry. For many years, the tongue-in-cheek definition of software architecture was “the stuff that’s hard to change later.” Later, the microservices architecture style appeared, where change is a first-class design consideration.


Each new era requires new practices, tools, measurements, patterns, and a host of other changes. This book looks at software architecture in a modern light, taking into account all the innovations from the last decade, along with some new metrics and measures suited to today’s new structures and perspectives.


The subtitle of our book is “A Modern Engineering Approach.” Developers have long wished to change software development from a craft, where skilled artisans can create one-off works, to an engineering discipline, which implies repeatability, rigor, and effective analysis. While software engineering still lags behind other types of engineering disciplines by many orders of magnitude (to be fair, software is a very young discipline compared to most other types of engineering), architects have made huge improvements, which we’ll discuss. In particular, modern Agile engineering practices have allowed great strides in the types of systems that architects design.


We also address the critically important issue of trade-off analysis. As a software developer, it’s easy to become enamored with a particular technology or approach. But architects must always soberly assess the good, bad, and ugly of every choice, and virtually nothing in the real world offers convenient binary choices—​everything is a trade-off. Given this pragmatic perspective, we strive to eliminate value judgments about technology and instead focus on analyzing trade-offs to equip our readers with an analytic eye toward technology choices.


This book won’t make someone a software architect overnight—​it’s a nuanced field with many facets. We want to provide existing and burgeoning architects a good modern overview of software architecture and its many aspects, from structure to soft skills. While this book covers well-known patterns, we take a new approach, leaning on lessons learned, tools, engineering practices, and other input. We take many existing axioms in software architecture and rethink them in light of the current ecosystem, and design architectures, taking the modern landscape into account.


What's new in the second edition:

When we set out to write the second edition of Fundamentals of Software Architecture, we had a few ideas of things we wanted to flesh out and improve from the first edition, but like a lot of software projects, it kept growing.

One of our met goals was to make the styles sections more consistent, making them more useful for comparisons. We also made some changes to our star ratings to add sections and a few new categories, and added new sections on cloud considerations, data topologies, team topologies, and governance for each architectural style. Along the way we made major additions to a number of chapters on popular topics, such as Chapters 15 and 18, and added a new chapter (Chapter 11) on the modular monolith architectural style.

We also added several entirely new chapters covering architectural patterns in Chapter 20, the intersections of architecture in Chapter 26, and revisiting our laws of software architecture (of which there is a new corollary and a new law) in Chapter 27.

دیدگاه خود را بنویسید
نظرات کاربران (0 دیدگاه)
نظری وجود ندارد.
کتاب های مشابه
Software Architecture
868
97 Things Every Software Architect Should Know
320,000 تومان
Software Engineering
737
Understanding Software Dynamics
542,000 تومان
++C
914
Software Architecture with C++
710,000 تومان
GO
1,859
Event-Driven Architecture in Golang
466,000 تومان
Microsoft
816
Clean Architecture with .NET
424,000 تومان
Clean Code
3,305
Clean Architecture
507,000 تومان
Software Architecture
871
Solutions Architect's Handbook
762,000 تومان
Software Architecture
783
iOS Architecture Patterns
489,000 تومان
Software Architecture
878
The Software Architect Elevator
450,000 تومان
Software Architecture
864
Documenting Software Architectures
764,000 تومان
قیمت
منصفانه
ارسال به
سراسر کشور
تضمین
کیفیت
پشتیبانی در
روزهای تعطیل
خرید امن
و آسان
آرشیو بزرگ
کتاب‌های تخصصی
هـر روز با بهتــرین و جــدیــدتـرین
کتاب های روز دنیا با ما همراه باشید
آدرس
پشتیبانی
مدیریت
ساعات پاسخگویی
درباره اسکای بوک
دسترسی های سریع
  • راهنمای خرید
  • راهنمای ارسال
  • سوالات متداول
  • قوانین و مقررات
  • وبلاگ
  • درباره ما
چاپ دیجیتال اسکای بوک. 2024-2022 ©