A Design class is a seamless abstraction of a class or similar construct in the system's implementation. The abstraction is seamless in the following sense (abbreviated from 218-219 of Unified SD Process):
- Language used to specify a design class is same as the programming language.
- Visibility of attributes and operations of a design class is specified. (public, private, protected)
- Methods of design class will have straightforward mappings to implementation of class.
- Design class can postpone handling of some requirements to subsequent implementation activities by noting them as implementation requirements on the class.