System Use So, how do we go about designing systems that mitigate variety correctly? More significant to this book, how do we describe the particular requirements for mitigated variety? This opens the door for a new technique called use cases. The use case is a kind of diagram showing "actors" interacting with a hypothetical system. According to Paul Harmon and Mike Watson in their 1988 book, Understanding UML: The Developer's Guide , "A use case diagram provides a functional description of a system and its major processes. It also provides a graphic description of who will use the system and what kinds of interactions they can expect to have with the system" [Harmon and Watson, 1998, p. 112]. The decision as to what systems should be built doesn't come until the end of the requirements project, but once the general idea has been established that a particular part of the business should be automated, it is possible to imagine a system that would do it. Given such an imagined system, it is possible to imagine also the kinds of interactions that a person might have with such a system. But previously we recognized that an enterprise is itself a system, however, so this definition can be extended to describe a piece of the business and the interactions with that piece. To the extent that this approach is taken, it is much like a context or a level one data flow diagram. The "actors" are "external entities" in a data flow diagram, but the idea of how they interact is the same. Ivar Jacobson explores this idea in his 1994 book, The Object Advantage: Business Process Reengineering with Object Technology . This approach can make use cases effective in capturing a business owner's view of interactions with the enterprise. The technique differs from data flow diagramming, however, in that less attention is paid to the data content of each flow, and the process of "exploding" higher level processes to component processes is less well articulated . But the use case can be helpful, however, for its focus on the nature of the interaction itself. To the extent that this is in terms of the mechanical details of the user interface, it is firmly in Row Four, the "Designer's View", but if it simply discusses the content of the interaction without describing the technology involved, it is a legitimate Row Three technique for the people and organization column. The technique originated as a graphic one, with ellipses for "systems", and stick figures for the "actors". (See Figure 5.14.) Figure 5.14. A Use Case
The problem with this approach is that, as we've said, it doesn't describe the data, nor does it really describe the nature of the interaction at all. In recent years , it has become evident that the use case is not as significant for its graphics, as it is a vehicle for organizing text descriptions. An excellent description of this more verbal approach is Alistair Cockburn's 2000 book, Writing Effective Use Cases . His view of the use case puts it squarely in Column Four: it is inherently a contract between an actor and a system. It is all about the nature of the interaction. To Cockburn, a use case description must have the following parts :
So, to summarize, in describing the roles people and organizations play in interacting with components of the enterprise, a use case can be an effective tool. Care must be taken, however, to ensure that what are being represented are truly interactions with a business function, and not interactions with a system that hasn't been defined yet. |
Team-Fly |
Top |