Author: Paul C. Jorgensen
Publisher: CRC Press/Taylor & Francis
An important aspect of software engineering is the requirement specification. Getting this correct at the beginning of the development period will result in reduced overheads during implementation, testing and maintenance. Getting the specification right also requires the use of formal tools to describe the behaviour and functionality of the system and the use of formal tools allows for rigorous analysis of the models.
Jorgensen presents six methods for modelling software behaviour and uses a well-specified variety of examples with varying complexity to explain the process of applying the modelling techniques presented. By using the same set of examples as case studies for the different modelling methods, the reader gets a practical understanding of the techniques and is able to obtain a fair perception of the relative strengths and weaknesses of the different modelling techniques.
The book is self-contained and offers a good introduction to the subject. It clearly describes the examples that are modelled and provides the relevant mathematical background by briefly describing graphs, the different ways that graphs can be specified, and graph properties that are related to software modelling.
It goes on to present each modelling method and applies the method to each of the examples. The chapters are well presented, well structured and easy to follow.
However, I was a little disappointed that the sections on modelling techniques did not refer to real-world tools or frameworks that support the given techniques. For instance, there is no mention of the World Wide Web Consortium (W3C) State Chart XML (SCXML) specification or any of the open-source tools available for building state charts or the Apache Commons Visual SCXML Editor.
As expected given its subject area, the book assumes the reader is technically minded with an interest in formal software modelling and analysis. Jorgensen offers a good introduction to the different options available for modelling software behaviour and provides an explicit view on the strengths and limitations of each method.
The book could also serve as a quick reference on specific modelling techniques because the chapters are self-contained.
The postgraduate or the keen undergraduate student will want to answer all the problem questions at the end of each chapter.
Who is it for? The undergraduate or postgraduate student looking for an introduction to software modelling.
Would you recommend it? Yes, but as an introductory text.
Fundamentals of Predictive Text Mining
Authors: Sholom M. Weiss, Nitin Indurkhya and Tong Zhang
This is a practical, up-to-date account of the various techniques for dealing intelligently with free text. It would be an invaluable resource to any advanced undergraduate student interested in information retrieval.