Review: Fundamental Modeling Concepts: Effective Communication of IT Systems
December 17, 2010
I have mixed feelings about this book. I've spent several years working diligently on my flow-charting capabilities, using what scan resources I could easily and quickly sift through on the Web and in the Visio Help, studying the charts in all the comp-sci books I've read, and garnering feedback from my colleagues. This book might have sped up that process significantly, and has already had a positive impact on the communication efficacy of my charts. But, I simply didn't completely like the specific modeling "language" presented by the authors.
The flow charting is good, though I prefer having a few more block types to illustrate the type of data being dealt with (i.e. documents vs databases). The petri net was interesting but seemed like overkill -- when that level of detail is needed, then it is probably time to move into UML. But my experience is limited; I certainly don't know what others would find. And then there's the entity diagramming (ERD), which was simply non-standard. Too much space was dedicated to the fine details of the mechanics of these three viewpoints on modeling, although I suppose that would be appropriate for anyone trying to use them as such and with little prior familiarity with flowchart or UML modeling.
The second half of the book moves beyond mechanics, and it is the more powerful portion. For it is there that we dive in to application, learning how the authors think and approach problems (most of which are in the domain of computing, but allusions are made to uses for other industries). The second half is also home to rare and valuable discussions of style, consistency, and simple communication. I suspect I shall return to the second half many times in coming years, looking for tips and reminders that will further improve the architectural models I build.
Recommended for: system architecture modeling and business analysis. Not recommended for: application design modeling. Even the authors agree that you should stick with UML for design of particular applications.