Just Enough Software Architecture

Published January 20th, 2012 Under Programming | Leave a Comment

Is there a middle way between the traditional Big Architecture Upfront and the Natural Architecture Emergence proposed by some Agile developers? This is the goal of this book that tries to provide guidelines and models on how to include just enough architecture in your software development activities. George Fairbanks proposes to use the risks faced by the project as the main criteria for this approach. Read more

Documenting Software Architectures

Published September 9th, 2011 Under Programming | Leave a Comment

The fist thing that I liked about this book on documenting software architectures is that the authors know how to write. It is both easy to read and well structured. The book provides a reading guide for the different categories of readers (architect, novice and stakeholders).  There are also many pointers and quotes in the margins that allow you or your brain to navigate further from the current content.

The book starts by explaining the concepts of architecture views and styles. A second part discusses in a more detailed fashion the process of documenting architecture. My favorite content is a section that deals with the ontology of architecture decisions. Three appendixes present some techniques that can be used to describe the architecture (UML, SysML and AADL)

This book states that its goal is to answer the following question: “How do you document an architecture so that others can successfully use it, maintain it, and build a system from it?”. I think that this objective is broadly achieved. In addition, the book provides very interesting content of how to consider software architecture. I will recommend this book to every software developers. Software architects could be the main category targeted by the book, but both developers and project managers could get their share of knowledge that applies to their daily work.

Reference: “Documenting Software Architectures”, Paul Clements & al., Addison-Wesley, 278 pages, IBSN 978-0-321-55268-6

Web site: https://wiki.sei.cmu.edu/sad

Get more details on this book or buy it on amazon.com
Get more details on this book or buy it on amazon.co.uk

Quotes

“There are some things that we can say with confidence. Every system has an architecture. All complex systems are hierarchical in nature, but also exhibit other patterns of regularity. There’s an intimate dance that occurs between the processes of architecture and the implementation. And, to understand and reason about the architecture of a software-intensive system, one has to consider multiple views from the perspectives of specific concerns from multiple classes of stakeholders.” (Grady Booch in the foreword)

“Even the best architecture, most perfectly suited for the job, will be essentially useless if the people who need to use it do not know what it is, cannot understand it well enough to apply it, or (worst at all) misunderstand it an apply it incorrectly. All of the effort, analysis, hard work, and insightful design on the part of the architecture team will have been wasted. They might as well have gone on vacation for all the good their architecture will do. Creating an architecture isn’t enough. It has to be communicated in a way to let its stakeholders use it properly to do their jobs.”

“Architects need a way to explain their design – what drove them to make the design decisions they did. Documenting rationale is a critical but often underpracticed part of an architect’s duties.”

Growing Object-Oriented Software, Guided by Tests

Published April 30th, 2010 Under Programming, Quality | Leave a Comment

Object orientation (OO) is not a trendy concept these days, but it hasn’t certainly lost it values. The purpose of this book is to integrate the development of object oriented software with the test-driven development (TDD) approach, more specifically in Java. It starts with an introduction to TDD and the tools (Junit, jMock2) that will be used. It describes then in detail the TDD process that is then illustrated by a large example. The book ends with more software testing topics like tests smells or tests readability. A final part is dedicated to special aspects of testing like persistence, threads and asynchronous code. Read more

Ajax In Practice

Published August 18th, 2008 Under Programming | Leave a Comment

This book by Dave Crane, Bear Bibeault and Jord Sonneveld aims to be of a second-generation Ajax book. It should go beyond just explaining the technology and explore in details the different client-side Ajax technologies and show what you can do with them. The target audience is a developer that has already a background of developing web applications and a basic knowledge of JavaScript. Read more

Foundations of Ajax

Published May 23rd, 2006 Under Programming | Leave a Comment

This book from Ryan Asleson and Nathaniel Schutta is a basic introduction to Ajax focused on the user interaction aspects. Therefore, most of the book focuses on how to use JavaScript to enhance user experience on web sites. After introducing the XMLHttpRequest object and server communication, the authors show how the Ajax approach can be used in various interaction contexts. The final chapters of the book are dedicated to tools than can ease JavaScript development, particularly for the testing and debugging activities. Read more

keep looking »