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


Query Store for SQL Server 2019 (Apress)

Author: Tracy Boggiano & Grant Fritchey
Publisher: Apress
Pages: 234
ISBN: 978-1484250037
Print: 1484250036
Kindle: B07YNL3X4X
Audience: SQL Server DBAs and Devs
Rating: 4
Reviewer: Ian Stirk

This book aims to use Query Store to improve your SQL Server queries, how does it fare?



Classic Computer Science Problems in Python

Author: David Kopec
Publisher: Manning
Date: March 2019
Pages: 224
ISBN: 978-1617295980
Print: 1617295981
Kindle: ‎ ‎ B09782BT4Q
Level: Intermediate
Audience: Python developers
Category: Python
Rating: 4
Reviewer: Mike James
Classic algorithms in Python - the world's favourite language.


More Reviews

Last Updated ( Tuesday, 28 June 2016 )