Object-Oriented Specification and Design with C++ by Peter Henderson
This book describes a complete method of software development from requirement to delivery using an executable, object oriented specification language called Enact. Implemented in C++, it combines the specification ideas of functional programming with modelling concepts from object oriented programming. Models of large systems can be built as networks of active and passive objects. The modelling language is soundly based on ideas from algebra and abstract data types. However, the development method is described in a pragmatic way and forms a practical tool which does not require mathematical training. Case studies are used to demonstrate conclusions. A disk containing code within the text is included.