next up previous
Next: System Responsibility Up: Essential Use Cases and Previous: Essential Use Cases and

User Intention

In essential use cases, the dialogue specifies not simply the user actions, but the user intentions. The effect of this quickly became clear in exploring the dialogue through role-play.

An important aspect of role-play is that people identify with the role they are playing, and tend to think from that point of view. The emphasis on intention seems to intensify this effect, because the role player must examine their motivation more deeply. The need to identify user intention requires understanding about the kind of person the user is, and consideration of the situation they are in. With this encouragement, people playing the user role tend to make efforts to determine their context, and then really focus on expressing intent.

Driven by this, the use case role-play becomes more significant for the other team members or a wider audience. The strong concern of the user role-player with user intention makes the role-play evocative. More importantly, reviewers have more to consider than just the users actions or words: the issue of intent invites deeper consideration and closer scrutiny. This makes it easier to evaluate coherence, and determine whether all the critical elements of the dialogue have been identified.

Concentrating on the issues beyond the use case is an important advantage. Use cases focus developer attention on how a system interacts with the world, and in particular on how the system is used. In most system development this usage is not precisely pre-determined, and working out the use cases requires understanding and creative effort. Essential use cases do focus on usage, but by requiring the identification of user intention, they also ensure that usage can be determined on the basis of understanding the users. In this way, the term ``user intention'' acts as a heuristic to guide the specification of the use cases.

In some software development processes, such as the Rational Unified Process, the user interface prototype is developed early [16]. This allows the user interface to act as an input to later system design. This is beneficial because the development of the user interface will involve work to understand the users and determine what they need. System development based on essential use cases will also accomplish this, because essential use cases require understanding of the user intentions. In this way, essential use cases explicitly build a concern for the user into the process. Moreover, this is done in a lightweight way, without the need to generate actual user interface prototypes, so allowing more rapid development.

Essential use cases were created with user interfaces in mind, and the term ``user'' refers to a human user. When we began using essential use cases, we accepted this because our use cases were driven by human users. We later changed from the term ``user'' to the term ``actor'', following Wirfs-Brock's terminology, and also UML.


next up previous
Next: System Responsibility Up: Essential Use Cases and Previous: Essential Use Cases and

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