Classical and object-oriented software engineering with UML and C++ - SchachlhStephen R.