Requirements Modeling

Proven Techniques for Use Cases and Service Specifications ~ 2 days


This highly participative workshop introduces proven techniques for discovering, documenting, and verifying application requirements. In three-tier architecture terms, it covers both the Presentation Services (User Interface) and Business Services (Logic and Rules) layers.
The workshop uses an “outward-looking” form of use cases to define external (Presentation Services) requirements – that is, how a user wishes to interact with a system. To define internal (Business Services) requirements – the validation, rules, and data updates performed “behind” the user interface – a variety of techniques are covered, including event analysis, state transition diagramming, and service specification. Important synergies between these techniques are demonstrated, as well as making use of the analysts’s other main techniques – data modeling and process modeling.

This unique class bridges the gap between two common extremes. At one end are simplistic, easily understood prototyping or list-based approaches that are too imprecise and incomplete for all but the simplest applications. At the other extreme are techniques that are so complex they are indecipherable to most users and analysts, and thus produce results that are just as undependable.



On workshop completion, participants will be able to:

  • Use a variety of techniques to identify a system’s use cases and business services.
  • Discover and document “external” application requirements, especially UI behavior
  • Discover and document “internal” application requirements, particularly logic and rules
  • Understand how use cases and services fit with process models and data models
  • Create and apply a set of use case scenarios that exercise and demonstrate the use cases


None, although some understanding of multi-tier information systems concepts, and data modeling in particular, will be helpful.


Target Audience:

Business analysts, systems analysts, and developers responsible for defining application requirements, or documenting legacy/custom/packaged application behavior in a structured way. Also, technical resources (programmers, UI designers, DBAs) interested in requirements definition, project leaders needing to understand current analysis techniques, and content experts with a significant role to play in specifying requirements.

Course Outline / Topics:

  • Application requirements definition – goals, issues, and approaches that work in real life
  • Use cases and services ("application logic") - terms, concepts, and interrelationships
  • Discovering use cases and services at the right granularity - a multi-pronged method
  • Documenting use cases with progressive detail and precision – a phased approach
  • Documenting “out of context” use cases – dealing with recurring and reusable elements
  • Discovering process scenarios and use case scenarios – making the use cases real
  • Developing use case and use case scenario dialogues – refining use cases and requirements
  • Service specification – invocation, validation, rules, and updates
  • State transition analysis – relating events, entity states, and business rules
  • Wrap-up – summary, “what’s next?,” and resources


Download Course Descriptions