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


Modern Software Engineering (Addison-Wesley)

Author: David Farley
Pages: 256
ISBN: 978-0137314911
Print:0137314914
Kindle: B09GG6XKS4
Audience: Software Engineers
Rating: 3.5
Reviewer: Kay Ewbank

This book is subtitled 'doing what works to build better software faster' - does it teach you how to achieve that?



Beginning Programming All-in-One For Dummies

Author: Wallace Wang
Publisher: For Dummies
Pages: 800
ISBN: 978-1119884408
Print: 1119884403
Kindle: B0B1BLY87B
Audience: Novice programmers
Rating: 3
Reviewer: Kay Ewbank

This is a collection of seven shorter books introducing key aspects of programming, but it fails through trying to cover too [ ... ]


More Reviews

Last Updated ( Tuesday, 28 June 2016 )