A use case should be constructed for every process and each use case should incorporate an ideal case and alternate processing paths. The use case model should be extended by description of the interactions between the Actor and the system, this can be done diagrammatically or as a table within the use case description. In order to promote reusability use cases should be defined as a hierarchy so that lower level use cases should be reused. There will also be opportunity to apply patterns to simple use cases such as lookups. Use cases may be defined using a CASE tool such as Rational Rose or Enterprise Architect, this can be useful for promoting a standardized approach to documenting use cases.