Fundamentals of Software Architecture: An Engineering Approach

Fundamentals of Software Architecture: An Engineering Approach

  • Downloads:7119
  • Type:Epub+TxT+PDF+Mobi
  • Create Date:2021-03-13 03:18:18
  • Update Date:2025-09-07
  • Status:finish
  • Author:Mark Richards
  • ISBN:1492043451
  • Environment:PC/Android/iPhone/iPad/Kindle

Summary

Although salary surveys worldwide regularly identify software architect as one of the top ten best jobs, no decent guides exist to help developers become architects。 Until now。 This practical guide provides the first comprehensive overview of software architecture's many aspects。 You'll examine architectural characteristics, architectural patterns, component determination, diagramming and presenting architecture, evolutionary architecture, and many other topics。

Authors Neal Ford and Mark Richards help you learn through examples in a variety of popular programming languages, such as Java, C#, JavaScript, and others。 You'll focus on architecture principles with examples that apply across all technology stacks。

Download

Reviews

Konlin

Trzeba wyraźnie oddzielić treść książki od jej polskiego tłumaczenia。 Treść ok, zarówno od strony zawartości jak i sposobu przekazania - dało się zrobić z tego skuteczny usypiacz ale na szczęście autorzy nie poszli tą drogą。Tłumaczenie - to że widziałem gorsze nie usprawiedliwia tego。 Nie zliczę miejsc w których zobaczyłem nieścisłość, odstępstwo od przyjętego już tłumaczenia lub po prostu błąd。

Igor Soroka

This is a great book that gives an extensive overview of the topic。 You can find why the monoliths are existing in 2021。 The authors created a framework for estimating the different types of architectures。 There are two parts: one is super-technical and the other one gives the pieces of advice for soft skills needed。

Adrian Salajan

Complete overview of what software architecture is and what a software architect does。

Adrian Bercovici Simon

This review has been hidden because it contains spoilers。 To view it, click here。 The reason this book gets such a low rating is due to my frustration of not getting more architecture case studies with their chosen solutions for the buck i paid。The book is abstract , written in a bird view way , just as a software architect should look at the system he is building。My favourite part was the high-elasticity bidding system。Its a masterpiece to see how a problem formulated by the business analysts/clients/pm gets decoded and translated into rock-solid system constraints and then The reason this book gets such a low rating is due to my frustration of not getting more architecture case studies with their chosen solutions for the buck i paid。The book is abstract , written in a bird view way , just as a software architect should look at the system he is building。My favourite part was the high-elasticity bidding system。Its a masterpiece to see how a problem formulated by the business analysts/clients/pm gets decoded and translated into rock-solid system constraints and then based on these constraints ,how the system gets split , decoupled into functional components。What i think is useful but for me was a bit too pedantic and dry compared to the previous parts was the last part of thee book。where the focus is people skills/negotiatiion。While i don't deny its useful , i would've preferred more case studies like the one i mentioned where you are given some ambigue systems constraints and its ur job too figure all out。 。。。more

Daniel Gomez Rico

It's a really good way to get more insights about what is software architecture, how to approach the design and antipatterns around this process, also gives some advises on how it helps a team to develop code with high quality and faster, diminishing and clarifying the mith that architecture will slow down your team。I don't advise to read the whole book at one time, check what best fits your current position and have it as a guide for future architecture desitions。 It's a really good way to get more insights about what is software architecture, how to approach the design and antipatterns around this process, also gives some advises on how it helps a team to develop code with high quality and faster, diminishing and clarifying the mith that architecture will slow down your team。I don't advise to read the whole book at one time, check what best fits your current position and have it as a guide for future architecture desitions。 。。。more

Hector Hurtado

Great book, it gives a really nice view of the different architecture styles and gives a good set of tools and examples to better evaluate when to use each of them。 It also covers some nice topics to be an effective software architect

Eric

This is a guide to the practice of architecture。 The authors touches on concepts (coupling, modularity, cohesion), metrics, styles, communication, gotchas。 Would have to reread someday。

Patrik Braborec

The best book I have ever read about software engineering so far。

Ralf

A well-rounded, well-structured, and highly readable introduction to software architecture。 The book elucidates the role of architecture in software development and some of its most important concepts and principles。 In the final section, it even touches on the soft skills architects need to master to make an impact at work。

Ahmad hosseini

“There are not right or wrong answers in architecture—only trade-offs。”Book looks at software architecture in 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。 Book examines different software architectures and their advantages and disadvantages and it also provides good advices for mastering on them。Book also talks about soft skills that a software architect should have and prov “There are not right or wrong answers in architecture—only trade-offs。”Book looks at software architecture in 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。 Book examines different software architectures and their advantages and disadvantages and it also provides good advices for mastering on them。Book also talks about soft skills that a software architect should have and provides a career path to become a software architecture。 Some sentences from book:The software ecosystem changes chaotically: one small change causes another small change; when repeated hundreds of times, it generates a new ecosystem。 Unknown unknowns are the nemesis of software systems。 Programmers know the benefits of everything and the trade-offs of nothing。 Architects need to understand both。 。。。more

Alin Dobre

Excellent book。 Tackles all aspects of architecture。 Don't think software architecture as in "how to write code" but rather think "how to assemble various software pieces together, regardless if they are written from scratch or otherwise"。 Excellent book。 Tackles all aspects of architecture。 Don't think software architecture as in "how to write code" but rather think "how to assemble various software pieces together, regardless if they are written from scratch or otherwise"。 。。。more

Serdar Kalkan

For anyone who is a software architect (mint or seasoned, really doesnt matter!) or is on the path to become one or just has an interest in software architecture!The book has a very satisfying content varying from core disciplines and manifests of software architecture to different styles with specific characteristics plus the personal aspect that goes with the role。Being some sort of an experienced architect with having gone through majority of the topics and issues described in the book, i can For anyone who is a software architect (mint or seasoned, really doesnt matter!) or is on the path to become one or just has an interest in software architecture!The book has a very satisfying content varying from core disciplines and manifests of software architecture to different styles with specific characteristics plus the personal aspect that goes with the role。Being some sort of an experienced architect with having gone through majority of the topics and issues described in the book, i can only echo that they are for real! Authors know exactly what they are talking about。 Rather pinpointing a billion of resources in every other page, one will find exact blood and tears of effective architect experiences。A guiding book that will always be on my desk, as a dictionary to look up in day2day work。 Thanks! 。。。more

Michal Pasierbski

As a software engineer I find this book as a great introduction to solutions architect role。 It gives enough detail to understand big picture, being concise enough to cover a lot of ground。 I especially enjoyed part about people skills which is so important in architects day to day duties。

Avraam Mavridis

Its an "OK" book, but without practical examples is not easy for the patterns it mentions to stick。 Some of them are pretty obvious that you dont even think of them (or give them a name。。。)。 Its an "OK" book, but without practical examples is not easy for the patterns it mentions to stick。 Some of them are pretty obvious that you dont even think of them (or give them a name。。。)。 。。。more

David Carpinteiro

Excellent book for any aspiring or already software architect。 Gives clear explanation on various existing types of architectures, also some good insights and ideas on how to evolve into a better software architect and team player。Lacks in terms of pratical examples, found it a little to much theoretical and the last chapters felt like the author was getting out of ideas and wanted to quickly finish the book。 One suggestion the chapter questions would be benefecial after each chapter and not at Excellent book for any aspiring or already software architect。 Gives clear explanation on various existing types of architectures, also some good insights and ideas on how to evolve into a better software architect and team player。Lacks in terms of pratical examples, found it a little to much theoretical and the last chapters felt like the author was getting out of ideas and wanted to quickly finish the book。 One suggestion the chapter questions would be benefecial after each chapter and not at the end of the book。But in general a must have book for any aspiring software architect and extremely useful as an introduction to the area, lets you know what is out there and how and when it should be used。 。。。more

Andrei Vajna

Although at times it felt superficially written, this is a great starting book for any aspiring software architect。 It concisely defines the concepts, it provides an overview of the most important architecture styles, with great real-world examples。 And it goes beyond the design aspect of an architect's job, by pointing out all the people skills and interactions needed to be an effective architect。After reading the book it makes the job feel quite easy and straightforward。 At least from an eleva Although at times it felt superficially written, this is a great starting book for any aspiring software architect。 It concisely defines the concepts, it provides an overview of the most important architecture styles, with great real-world examples。 And it goes beyond the design aspect of an architect's job, by pointing out all the people skills and interactions needed to be an effective architect。After reading the book it makes the job feel quite easy and straightforward。 At least from an elevated level, because in practice it surely isn't。 。。。more

Jason Cihelka

Awesome approach to software architecture。 Packed full with concrete examples and advice, as well as mindset things (how to think like an architect and design software effectively)。 Highly recommend for anyone getting deep into software development

Johnny

The book covers a much wider range of software architecture than most other books。 Especially part III about techniques and soft skills explores the many important topics you need to master as an architect that are essential but not technical。 While I appreciate the shift of focus a more holistic view, I am not really happy with this book。 Part 2 feels too much like a recycling of older books to get to a specific page count than anything else。

Mengyi

A great book about everything (that I could think of) about being a software architect, and how to be an effective one。 The section about different architecture styles is a great overview of the different styles and explains clearly about the rationale behind the decisions made by each of them and what they are better at in certain contexts。 The book also covers soft skills like architecture thinking, negotiation skills and communication skills, which I also find very useful。 Highly recommended A great book about everything (that I could think of) about being a software architect, and how to be an effective one。 The section about different architecture styles is a great overview of the different styles and explains clearly about the rationale behind the decisions made by each of them and what they are better at in certain contexts。 The book also covers soft skills like architecture thinking, negotiation skills and communication skills, which I also find very useful。 Highly recommended to any software engineer that is interested in learning more about the architect role and software architectures。 。。。more

Jose Emilio

This is a good book about software architecture which offers a good overview of the main concepts of the discipline。 The book is divided in three parts: fundamentals, which presents definitions (the authors chose architecture characteristics instead of quality attributes); architecture styles, which offers an overview of the different styles including microservices, and a last part about techniques and soft skills, which is something very important that some books omit。I found the book very good This is a good book about software architecture which offers a good overview of the main concepts of the discipline。 The book is divided in three parts: fundamentals, which presents definitions (the authors chose architecture characteristics instead of quality attributes); architecture styles, which offers an overview of the different styles including microservices, and a last part about techniques and soft skills, which is something very important that some books omit。I found the book very good and will recommend it for the software architecture course that I teach。 I also found the youtube videos from the author very good and use some of them in the course。 。。。more

Genert

Excellent overview of software architecture fundamentals。 Recommend。

Mark Evans

Everyone who writes software should own this book as well as attend Mark and Neal's workshops。 The chapters on component-based thinking, microservices, and space-based architecture we're particularly interesting。 This book can save you lots of money and time if you have the discipline to apply the knowledge。 Buy it, read it twice, and start using it immediately 😀 Everyone who writes software should own this book as well as attend Mark and Neal's workshops。 The chapters on component-based thinking, microservices, and space-based architecture we're particularly interesting。 This book can save you lots of money and time if you have the discipline to apply the knowledge。 Buy it, read it twice, and start using it immediately 😀 。。。more

Tom

I liked Parts 1 and 3 the most, how to consider architecture and how to influence an organization to adopt an architectural direction。 Part 2 (architecture styles) was interesting, but mostly material I've seen in one place or another。 Where this book really shines is in the advice around how to take architecture ideas / decisions and get them a) implemented b) to stick and c) approved and paid for。 I liked Parts 1 and 3 the most, how to consider architecture and how to influence an organization to adopt an architectural direction。 Part 2 (architecture styles) was interesting, but mostly material I've seen in one place or another。 Where this book really shines is in the advice around how to take architecture ideas / decisions and get them a) implemented b) to stick and c) approved and paid for。 。。。more

Alfredo Artiles Larralde

Siempre pongo en dudas que arquitecto de software sea un nivel o rol al que aspirar。 Lo que describe este libro aplica a cualquier software engineer y no me ha parecido el mejor libro sobre arquitectura de software, se queda en un nivel muy superficial con consejos y tips muy generales。

Nadeem Ishqair

Great resource。 Very simple to read。 Good holistic view especially with focus on soft skills that are a must for successful architecture。

Łukasz Słonina

Very good book, read if you're starting as software architect or moving in that direction。 Seasoned architects would also find useful stuff there。 Author describes role is architect, areas to focus on (broad knowledge vs deep understanding of frameworks and tools)。 Book explains different architecture approaches with pros and cons of each (even microservices architecture has it's flaws)。 It's up to date with agile approaches to software development。 Very good book, read if you're starting as software architect or moving in that direction。 Seasoned architects would also find useful stuff there。 Author describes role is architect, areas to focus on (broad knowledge vs deep understanding of frameworks and tools)。 Book explains different architecture approaches with pros and cons of each (even microservices architecture has it's flaws)。 It's up to date with agile approaches to software development。 。。。more

Bill

Useful reading。 I'm not the core audience for this so I skimmed some sections, and while it tried to cover a lot of bases, it remained firmly anchored to concrete concerns。 I really liked the lengthy middle section which was a bestiary of common system architectures and their strengths and weaknesses。 Recommended for senior engineers trying to expand their scope of influence。 I imagine it will remain a useful reference。 Useful reading。 I'm not the core audience for this so I skimmed some sections, and while it tried to cover a lot of bases, it remained firmly anchored to concrete concerns。 I really liked the lengthy middle section which was a bestiary of common system architectures and their strengths and weaknesses。 Recommended for senior engineers trying to expand their scope of influence。 I imagine it will remain a useful reference。 。。。more

Victor

Good book about the fundamentals of software architecture。 The book is more broad than deep (like the authors suggest an architect should be), so many topics are only briefly covered。 My favorite sections were the case studies, especially those around identifying architectural characteristics and components。 Also, I appreciated the Self-Assessment Questions。 I would try to answer the questions before reading a chapter, to get a view of knowledge gaps。 This helped me focus on filling those gaps。

Behailu Shiferaw

Fundamentals of Software Architecture: An Engineering ApproachBy Mark Richards and Neal FordThe book, Fundamentals of software architecture, is an excellent guide for software developers aspiring to move to an architect role or architects that have been just promoted to the role that would like to become more effective in their role。 It provides clear definition of software architecture, the responsibilities of an architect and technical and social skills needed to succeed as a software arch Fundamentals of Software Architecture: An Engineering ApproachBy Mark Richards and Neal FordThe book, Fundamentals of software architecture, is an excellent guide for software developers aspiring to move to an architect role or architects that have been just promoted to the role that would like to become more effective in their role。 It provides clear definition of software architecture, the responsibilities of an architect and technical and social skills needed to succeed as a software architect。 The composition of the book is perfectly calibrated to be used as a receipt for first time architecture design projects。 It provides guidelines for architects to have a good understanding of the business side of software projects, how to identify key architecture characteristics from business stakeholders and use these characteristics to guide the selection of best fit architectural style, make trade-off analysis and document these decisions。 It also highlights approaches on how to continue monitoring the evolution of the architecture as the project progresses in the development。 In general, the book provides practical examples, as the names suggests (an engineering approach), to elaborate both technical topics, such as how to identify components and make architecture trade-off, or methods for effective communication and negotiation with stakeholders。 However, there are also some missing ingredients that I personally would have liked to see。 The first one is the organisation of some chapters could be reordered to make it cohesive and easy for readers to follow logically。 Another missing piece, in the Architecture style discussion, is it didn’t provide the constraints that are applied with the discussed style。 In the discussion of the styles, the authors discuss the re-organisation of components as if there are no constraints。 It also discussed synch/async method of communication between components but didn’t go into enough details through connectors of components as it did in great detail through component discussion。 The figures and equations presented in the book are not clear enough (Eg。 Equation variables are sometimes not defined) or some of the figures are not of good quality。 The good side of the book is it provides sufficient representations of the discussed material。 Another very lightly discussed but mostly needed by architects is drawing the architecture。 The book provides few methods of presenting the architecture, but I would be happy to see how the architecture characteristics address the concerns of the stakeholders (view points) and this is mapped to a certain view of the architecture, for instance as in the architecture description standard in ISO/IEC/IEEE 42010。 In summary, the book provides a comprehensive set of information for new architects and developers that want to be an architect。 I highly recommend this book for software developers to read it; it shades light to the role of an architects that was usually not so clear。 If you are looking for a guide to become an effective software architect this is one of the best books to start with。 。。。more

Theo Grip

Real good overview about the work of the architect。 Very broad, and quite practical。 Good overview of architectures used today