Practical Software Architecture

Author: Tilak Mitra
Publisher: IBM Press / Pearson
Pages: 304
ISBN: 978-0133763034
Print: 013376303X
Kindle: B0186FU898
Audience: Software Architects
Rating: 4.5
Reviewer: Alex Denham

Is there a way to use software architecture techniques while taking a practical approach to development?

This is a book that attempts to provide pragmatic suggestions and prescriptions that are practical enough to be executable. The author is an IBM Distinguished Engineer and Chief Technology Officer who has also written books on SOA.


The book opens with a case study that describes a business problem that a typical software architect might encounter. This is used to illustrate the ideas introduced in the later chapters. The next chapter has the title Software Architecture, The What and the Why, and gives the background to software architecture and the drivers that justify its adoption. Mitra then goes on to discuss which aspects of architecture he feels are just enough to ensure a successul project. The chapters are mainly quite short - many are under ten pages in length - and the content is remarkably down to earth and practical.

Next is a chapter on system context and how that sets out the external systems, information flow, and external events. A case study illustrating the ideas is also introduced. Having set out the system context, Mitra next explains the architecture overview, introducing the enterprise view, layered view, and IT system view, and shows how these can be use in terms of the case study from the previous chapter.



One of the trickier parts of designing a system is that of moving from a high level overview to the more detailed level, and a chapter on architectural decisions comes next, explaining what decisions need to be made, again using the case study for examples. Next is a chapter on the functional model, specifically how to develop and document the macro-level design elements of the functional aspects of a system. 

The operational model is next on the agenda, with good descriptions of how to take the functional model and use it to work out what actual hardware is needed. Systems integration is next to be examined in terms of the different approaches to making unconnected systems talk to each other. Infrastructure, and in particular hosted solutions and storage, are the next topic, followed by a good chapter on analytics that looks at real-time, descriptive, predictive, and prescriptive analytics, along with cognitive computing. The main part of the book closes with a chapter titled 'sage musings' where the author shares some of his real-life experiences, followed by an appendix of 25 topic goodies where the author answers questions such as 'what is the difference between architecture and design', and 'what is the difference between complext event processing and stream computing'.

Overall, I thought the book managed to keep to its practical remit for the majority of the time, and to introduce the concepts of software engineering clearly and with practical backup. 


Related Reviews
The Process Of Software Architecting 

Common Information Models For An Open, Analytical And Agile World

Enterprise Software Delivery

The Process Of Software Architecting


To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.


Query Store For SQL Server 2019

Author: Tracy Boggiano and Grant Fritchey
Publisher: Apress
ISBN: 978-1484250037
Print: 1484250036
Kindle: B07YNL3X4X
Audience: Users and developers of SQL Server queries
Rating: 5
Reviewer: Kay Ewbank

This book looks at the new Query Store feature in SQL Server and how you can use it to iden [ ... ]

Grace Hopper and the Invention of the Information Age

Author: Kurt W. Beyer
Publisher: MIT Press, 2009
Pages: 408
Print: 026201310X
Kindle: B00TQ4MY9Q
Aimed at: Anyone interested in history of computing
Rating: 4
Reviewed by: Sue Gee

More Reviews

Last Updated ( Tuesday, 28 June 2016 )