next up previous
Next: References Up: Essential Use Cases and Previous: Related Work

Conclusions

 

Use cases are seen as beneficial in many aspects of system development, and the refinement of essential use cases was originally made to address needs in user interface design. We have explored the application of essential use cases in object-oriented system development, and in this paper have reported on our findings.

Essential use cases strike the right level of abstraction to facilitate simple and rapid progress in determining requirements. They support communication well through role-play, and help to determine system boundaries. They are brief, easy to learn, and can be developed quickly because they avoid unnecessary debate about implementation details. They also make it easy to detect use case patterns. The level of abstraction works well for both user interface and system design, and allows the two to proceed in parallel.

Essential use cases identify system responsibilities, and these responsibilities can play an empowering role in linking requirements to object-oriented design. In design, responsibility is often used as a heuristic to apportion abstract behavior among collaborating objects. Using essential use cases to identify requirements, together with a responsibility-driven approach to design, leads both to better operational guidance in design, and explicit traceability between design and requirements.



Robert Biddle
Sun May 20 12:22:36 NZST 2001