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.

Banner

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.

Banner


JavaScript Absolute Beginner's Guide, 2nd Ed

Author: Kirupa Chinnathambi
Publisher: Que
Date: December 2019
Pages: 464
ISBN: 978-0136502890
Print: 013650289X
Kindle: B01HS6KUTE
Audience: Those wanting to learn JavaScript
Level: Introductory
Rating: 2
Reviewer: Ian Elliot
An introduction to the most used language on the planet - important stuff...



Professional C++, 5th Ed (Wrox)

Author: Marc Gregoire
Publisher: Wrox
Date: February 2021
Pages: 1312
ISBN: 978-1119695400
Print: 1119695406
Audience: C++ developers
Rating: 4
Reviewer: Mike James


Professional C++? Who wants to be unprofessional?


More Reviews

Last Updated ( Tuesday, 28 June 2016 )