To manage large computing projects, we need two things. Precise languages and the will to use them. While the Unified Modeling Language (UML) is a valuable addition to our tool set, it is limited when used to describe and restrict the behavior of our objects. The Object Constraint Language (OCL) allows for the formal description of constraints on the data to be used. Given the ability to write specific constraints on information,...
0Report
OCL is an attempt to bring a formal method into the "real world" by making the syntax non-mathematical and - in this book - describing and illustrating it in the context of developing a realistic app using UML.The book is short, trustworthy and rewarding - the more you work at it the more you understand, and I only spotted one typo (apart from appendix A.2, which is apparently borrowed from the OMG, and has a few). It...
0Report
An excellent book with good examples and without smoth talk and stupid dedication (such as "To my love" or "To lord Jesus Christ" !). It shows to non mathematican (so I am) that's possible to use formal descriptions during analysis and design in a better way than informal comments. Let's hope that tools will support this language and generate controls in code even if we don't use Eiffel.
0Report
First, I like this book. I trust about every line of it. It is itself precise or at least as precise as possible. It summarizes things in a concise and complete way. Required prior knowledge is UML (of course). I'd recommend Fowler's beautiful UML distilled and also even more important a solid understanding of design by contract. I recommend the complete book of Bertrand Meyer "Object Oriented Software Construction". Yes...
0Report
The OCL is a defined, typed grammar for the accurate expression of constraints and rules that will prove very useful in the construction of object-oriented tools and end-user systems. It provides a valuable extension and compliment to the strengths of the UML. The text is detailed, in-depth and very interesting in its presentation of the problem domain.
0Report