or... "Why bothering with the design can be an advantage"


Owned sites

Other sites


Business Card - "helping is my business"

Riding the release train

As described by Alistair Cockburn the use case accounts for some weaknesses in a pure-user-story driven approach:
  • defines the context
  • provides sense of completeness, assuring coverage of all bases related to a goal
  • mechanism for looking ahead at upcoming work
Use case complements the scrum/agile process:
User storyUse case
  • independant
  • negotioable
  • busines-value-centered
  • small
  • estimateable
  • testable
  • desciptive
  • trigger-initiated
  • actor-driven
  • preconditioned
  • flow-focused
  • postconditioned

A matter of definition

Several attempts has been made to define the essence of a use case defintion:
  • "A use case is a narrative document that describes the sequence of events of an actor (an external Agent) using a system to complete a process" [Jacobsen, I.,1992, "Object-Oriented Software Engineering: A Use Case Driven Approach].
  • UML Semantics version 1.1, Rational Software Corporation, September 1997, specifies notation of usecases and use case diagrams as "A use case can be described in plain text, using operations, in activity diagrams, by a state-machine, or by other behavior description techniques, such as pre-and post conditions. The interaction between the use case and the actors can also be presented in collaboration diagrams."
  • UML is "a language for specifying, visualizing and constructing the artifacts of software systems ..." according to [Booch, G., Jacobson, I., and Rumbaugh, J. 1997. UML Specification v1.3.].
  • "They are stories or cases of using a system. Use case are not exactly requirements or functional specifications, but they illustrate and imply requirements in the stories they tell." [Larman, C., 1998. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design.]
  • "A description of set of sequences of actions, including variants, that a system performs that yield an observable result of value to an actor." [Booch, G., Jacobson, I., and Rumbaugh, J. 1999. Unified Modeling Language Users Guide]
  • Original RUP Process Architecture

    specifies behavior for system

    documenting action sequences necessary to obtain objective for an actor

    use cases organize requirements into a story of how someone may use the system

    allow better completeness, consistency, understanding of the importance of a requirement from a user perspective
There is a fundamental problem of working with use case: that UML does formally includes notion of use cases and use case diagrams - but specifications are in fact incomplete. Lacking enough specific UML standards means that people continues to re-invent use case format notation. This causes a lot of unnecessary duplicated effort - but more inportantly it confuses the general conception of what is really a good use case.


To summarize it all up...

Use cases describes how you intend to meet system/business requirements.

Use cases are stories or cases of using a system. Use cases are not exactly requirements or functional specifications. However they illustrate and document requirements in the stories they tell.

Use case formalizes business processes. In that respect, use Case analysis represent an important process of gathering and specifying requirements in the behavioral methodology.

Det sjove

Det sjove
Service til frisører
Det sjove
En serie auktions sites, kodet fra back-end til front-end, på Tomcat/JSP/PostgreSQL med SSL certifikat terminering på Apache webserver
Det sjove
Auktions sites med fokus på forretning.
Det sjove
Det sjove
Det sjove
Det sjove
Tekniske emner.