Real World Software Architecture

Real World Software Architecture is dedicated to providing information and experiences from the field of Software Architecture.



Subscribe with RSS or ATOM Add to Google

Links

  • Home Page
  • Real World Software Process Engineering
  • Suggested Reading
  • .NET Dev and Arch Collection
  • SEI Essays on SA
  • Software Architecture
  • Bredemeyer
  • wwisa
  • Product Line Engineering
  • PLEES
  • Software Product Lines
  • MSDN Architecture Center
  • patterns & practices






Wednesday, April 29, 2009

C# VB.NET and ASP.NET Refactoring Book Reviews

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.


posted by tadanderson at 6:55 AM 0 comments

Friday, April 24, 2009

Thinking in Systems Book Review

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.

posted by tadanderson at 6:06 AM 0 comments

Thursday, April 23, 2009

Top 10 Architecture Mistakes Podcast and Presentation

Eoin Woods, one of my favorite non-author, working Software Architects, who just happened to co-author one of the best Software Architecture books ever written ( Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives ), has put together a pretty cool presentation, Top 10 Architecture Mistakes.

Eoin also was recently on Software Engineering Radio discussing the presentation's contents.

Below is a summary outline of the presentation.
Mistake 1: Scoping Woes
Solution 1: Controlling Scope
Mistake 2: Not Casting Your Net Widely
Solution 2: Building a Stakeholder Group
Solution 2: Example Rankings
Mistake 3: Focusing on Function
Solution 3: Consider Your Qualities
Solution 3: Example Trade-off
Mistake 4: Boxes and Line Descriptions
Solution 4: Adding Precision to Description
Solution 4: Example View Set
Solution 4: Example of Confusion
Mistake 5: Forgetting It Needs to be Built
Solution 5: Grounding Your Architecture
Solution 5: Grounding SOA
Mistake 6: Lack of Platform Precision
Solution 6: Specifying Your Platform
Mistake 7: Performance Assumptions
Solution 7: Assume Nothing!
Solution 7: Dealing with Performance
Mistake 8: DIY Security
Solution 8: Reusing Infrastructure
Mistake 9: Lack of Disaster Recovery
Solution 9: Practice, Practice, Practice
Mistake 10: No Backout Plan
Solution 10: Know Where You Came From

Get the Presentation here.
Listen to the Podcast here.

posted by tadanderson at 7:24 AM 0 comments

Sunday, April 19, 2009

Software Architecture: Foundations, Theory, and Practice Book Review

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.

posted by tadanderson at 2:52 PM 0 comments

Previous Posts

  • DevOps: A Software Architect's Perspective Book Re...
  • Scaled Agile Framework (SAFe) LiveLessons Video Se...
  • Bulletproof Android: Practical Advice for Building...
  • Swift for Programmers Book Review
  • Security in Computing (5th Edition) Book Review
  • Swift in 24 Hours, Sams Teach Yourself Book Review
  • Sparx Systems Releases Enterprise Architect 12
  • Learning Swift Programming Book Review
  • Android Security Internals: An In-Depth Guide to A...
  • Adaptive Code via C#: Agile coding with design pat...



Archives

  • December 2005
  • January 2006
  • February 2006
  • March 2006
  • April 2006
  • June 2006
  • August 2006
  • October 2006
  • November 2006
  • December 2006
  • January 2007
  • February 2007
  • March 2007
  • April 2007
  • May 2007
  • June 2007
  • July 2007
  • August 2007
  • September 2007
  • October 2007
  • November 2007
  • December 2007
  • January 2008
  • February 2008
  • March 2008
  • April 2008
  • May 2008
  • June 2008
  • July 2008
  • August 2008
  • September 2008
  • October 2008
  • December 2008
  • January 2009
  • February 2009
  • March 2009
  • April 2009
  • May 2009
  • June 2009
  • July 2009
  • August 2009
  • September 2009
  • October 2009
  • November 2009
  • December 2009
  • January 2010
  • February 2010
  • March 2010
  • April 2010
  • May 2010
  • June 2010
  • August 2010
  • September 2010
  • October 2010
  • November 2010
  • December 2010
  • January 2011
  • February 2011
  • March 2011
  • April 2011
  • May 2011
  • June 2011
  • July 2011
  • August 2011
  • September 2011
  • October 2011
  • November 2011
  • December 2011
  • January 2012
  • February 2012
  • March 2012
  • April 2012
  • May 2012
  • June 2012
  • July 2012
  • August 2012
  • September 2012
  • October 2012
  • November 2012
  • December 2012
  • January 2013
  • February 2013
  • March 2013
  • April 2013
  • May 2013
  • June 2013
  • July 2013
  • August 2013
  • September 2013
  • October 2013
  • November 2013
  • December 2013
  • January 2014
  • February 2014
  • March 2014
  • April 2014
  • May 2014
  • June 2014
  • July 2014
  • August 2014
  • September 2014
  • October 2014
  • December 2014
  • February 2015
  • March 2015
  • April 2015
  • June 2015
  • July 2015
  • September 2015

Powered by Blogger