Teaching cleanroom software engineering with object-oriented data abstraction
Gabriel J. Ferrer · 2006
Sciences in Colleges. Copies may not be made or distributed for direct commercial advantage. This paper describes the benefit of incorporating two ideas from Design-by-Contract [3] into the teaching of Cleanroom Software Engineering [4][5], namely the specification of method behavior in terms of inspector methods, and inheritance of method specifications. The inspectors serve as a specification of the transformation between the abstract data type represented by a class and its internal data representation. By inheriting method specifications, the behavior of augmented polymorphic methods can be specified. Pedagogical examples and student code are presented and discussed.