Authors: Robert Biddle, James Noble, Ewan Tempero
Source: GZipped PostScript (204kb); Adobe PDF (328kb)
Essential use cases are abstract, lightweight, technology-free dialogues of user intention and system responsibility, that effectively capture requirements for user interface design. Employing essential use cases in typical object-oriented development processes requires designers to translate them into conventional use cases, costing time, imposing rework, and delaying work on the object-oriented development until the user interface design is complete. We describe how essential use cases can drive object-oriented development directly, without any intervening translation, allowing user interface development and object-oriented development to proceed in parallel. Working with essential use cases yields some unexpected further benefits: analysts can take advantage of recurring patterns in essential use cases, and the crucial common vocabulary of responsibilities lets designers trace directly from the essential use cases to the objects in their design.