|
Real World Software Architecture is dedicated to providing information and experiences from the field of .NET Software Architecture.
| I have resisted reading about and digging into REST for a while now. Every time I would pick up an article or book I felt like I transported back to the 90's and I was reading an old HTML 2.0 book or specification. The stuff I started on the internet with. To me the REST movement is kind of like the A-HA moment of the internet programming community. Kind of like, "O... that is what they intended". This book brought all those back in time feelings up all throughout the first 2 chapters. I must say though, that I thoroughly enjoyed reading them. The history lesson and the state of things today, where very well written and kept my attention and interest throughout both chapters. The author's do a great job of digging into the guts of the foundations of REST, which really helps in the later chapters when they discuss the .NET tools used to develop RESTful solutions. I also like that the authors aren't RESTful zealots. They give Web Services their rightful place and do not present REST as a new silver bullet, but rather a new tool for the tool belt. They cover a ton of stuff in the remaining chapters and appendixes including using RESTful services from desktop applications using Windows Forms and WPF, using Silverlight 2.0, JavaScript, the ASP.NET MVC Framework, WCF 3.5, IIS 7.0, and Azure. Every chapter goes deep enough into the topic to give you a great start down the right path of using the technology. The book is a very pleasant read and is well organized. The downloadable code is very usable, well organized, and contains some great example implementations. I also have noticed the authors are keeping the accompanying web site up to date and have already released a code fix. If you want to learn the ins and outs of RESTful Services using .NET technologies, this book is the ticket. I highly recommend this book. |
| This little book is packed with sound advice. Pros- The book covers a wide variety of topics and does so at a detailed enough level that you have a good understanding of the topic. They do not waste time on filler content. It covers building a requirement’s taxonomy, eliciting requirements, Model-Driven Requirements Engineering, quality attributes, the importance of architecture, engineering platforms, requirements management, requirements-driven testing, rapid development techniques, hazard and threat analysis, distributed requirements engineering, and creating a requirements database. As the book covers all these topics the authors made really great use of visualizing the material with really great diagrams. They cover a lot of best practices and offer really sound advice. The tips on developing uses cases are great. Each chapter comes with an extensive reference section. Cons- The publisher should have made the book a bit larger. The diagrams included in the book are some of the best I have seen, but they are very small. They could have made electronic versions available online (I guess I could blow them up on a copier). The book was definitely written by people hanging out in the engineering world because they use a ton of acronyms and they are not always easy to figure out. They did not include all of them in the index. I found it a little annoying that some of the key concepts/tools point to internal Siemens tools like the DesignAdvisor and URML (Unified Requirements Modeling Language). All in all I highly recommend this book. Its size allows me to carry it around with my laptop. I have been taking it everywhere for weeks now and every time I think of shelving it at work or at home I choose not to so I can review one or more of the sections one last time. If you are involved in software development at all (developer, user, project manager, architect, tester, etc.) this is required reading. |
| This is the book for learning the ASP.NET MVC Framework in detail. The author goes into great detail about every aspect of the framework in a very understandable approach. The first half of the book gives you an overview of the history of ASP.NET and why we need the ASP.NET MVC Framework. After going through a small introductory application the author covers the skills needed to effectively use the framework. They include the MVC Architecture, Domain Modeling, Loose Coupling, Testing, and new C# 3.0 language features. You then build a real world application before moving on to the second half of the book. The second half of the book covers the ASP.NET MVC Framework in great technical detail. Every aspect of the framework is covered. The thing I like most about this book is that the author does not pull any punches when talking about the WebForms framework, and that he goes into great detail without losing you. The writing style is topnotch and the chapters flow together well. The book's code samples are very well organized and usable. If you are going to adventure into the ASP.NET MVC Framework, you will want this book by your side. I highly recommend this book. |




| This is not for the happy go lucky requirements gatherer. It is a detailed breakdown of everything requirements engineering for software intensive systems. It will make you think. The book describes the KAOS method in detail and the author uses Objectiver as the modeling tool. Sometimes a book is not worth buying when you are not using the tool. That is not the case with this book. It is packed with valuable advice and examples. Reading the book did prompt me to download Objectiver. Very cool tool, but it is also complex. Complex is not a bad thing when you consider this book is about an engineering discipline, and engineering is needed because you are trying to do something complex. The author covers the fundamentals of Requirements Engineering in detail in the first part of the book, Building System Models for Requirements Engineering in part two, and then Reasoning About System Models in part three. This book does exactly what the title says, it shows you how to go from System Goals to UML Models to Software Specifications. If you are building complex systems, this book is definitely for you. I highly recommend this book, and have nothing negative to say about. |
| Both of these books are great. Each has it's own unique sections, while at the same time they cover the same refactorings, smells, and Object-Oriented Design Principles in detail. I bought the VB.NET version because I have been stuck on a VB.NET project for the past 3 years (actually 3 months, but it sure feels like years). I have not seen the weak static typing to strong dynamic typing explained so well and in such detail anywhere else. The information in this chapter teaches the developer how to use VB.NET to program a quick prototype or industrial strength applications. He goes into tremendous detail on how to properly use the Option Strict, Option Explicit, and Option Infer statements. I was so impressed with the VB.NET version of the book that I bought the C# and ASP.NET version of the book. The C# and ASP.NET version of the book contains two chapters on refactoring ASP.NET code. Both books have chapters on LINQ and other language enhancements, Refactoring to Patterns, Advanced Object-Oriented Concepts, Code Organization on a Large Scale, and multiple chapters on refactoring and smells. Throughout each book the author touches on Object-Oriented Design Principles. Both books have a list of all the refactorings, smells, and Object-Oriented Design Principles page numbers so they are easy to find. The author points out that one of the motivating factors in writing these books was to give us the refactoring techniques in the languages we work in. I agree with his motivation, all the other books I have read used Java as the language and although I learned a ton from them, each language has its own subtle differences. The author's style of writing make reading these books a pleasure. They are very well organized. Both come with well organized and very usable code downloads. Both of these books are highly recommended. They definitely make learning refactoring and Object-Oriented Concepts and Design Principles very enjoyable. |
| This little book zeros in on Systems Thinking and provides the reader with all the information they need to get started down the road of commonsense. It covers stock and flow diagrams in detail. The author’s style of teaching and writing make the reading very easy. She uses examples that are really easy to relate to. This book will make you start looking at everything as a stock, flow, or feedback loop. The samples are intended to be built in Stella/iThink and there is an appendix that has all the formulas in it. The thinking in systems web site says they are developing the models for download. In the meantime, you can build them all pretty quickly using the formulas provided. If you have no Systems Thinking experience, this book is a perfect introduction that should be read before reading a book like Software Process Dynamics I recommend this book to anyone that wants a little more logic in their thought life. I really does put a new perspective on things. |
| The is the book is by far the most textbookiest (new word?) books I have bought on Software Architecture. That is a good thing. It means that Software Architecture is becoming main stream enough that it is now offered as a college course topic along with other software engineering topics. Enough so that books are being written in a format intended solely for that purpose. This book does a great job of covering a wide range of topics. It goes deep enough into each one of them to give the reader a great foundational understanding. At first I was a little leery of their use of the ArchStudio tool suite, but the further I got in the book and the more I used the tool I could see the value it has in the architecture process. The tool really brings to light the connections between system components and forces a component based design. One of my favorite chapters is the Connectors chapter. The way they visually present their variation dimensions is really cool. I don’t know quite how to explain it, but the book has a unique presentation that I haven’t seen in other architecture books. I am not referring to how the material is arranged. I am referring to the material presented. I like it. It seems to bring to light all the topics in software architecture that are important, but they are explained in a unique enough way that it doesn’t feel like your learning the same thing you learned in the last software architecture book. I read every book that comes out on the topic of software architecture for two reasons. The hope of learning something new, and to remind myself of all the things I have to keep in the forefront of my thinking, kind of a mental exercise. This book makes it easy to get my mental exercise. The authors have a good writing style that makes the material easy to get through. The only downside to this book is that you have to be a teacher to get access to the additional material the authors offer. It would be nice if they allowed anyone who has purchased the book access. I recommend this book for the beginner, as well as the experienced, software architect. It is a must read. |

