Smart use cases

A Smart project realizes the required software according to the user requirements. There are three categories of requirements: smart use cases, non-functional requirements and supplementary specfications.

Smart use cases are the main unit of work in Smart projects. Smart use cases represent the requirements of your projects, and are easy to model, and easy to estimate, using the straightforward smart estimation technique.

Read more

Different levels of use cases

Use cases exist at different levels of granularity. Alistair Cockburn, leading authority on use cases, describes five levels of granularity, known as Cloud level, Kite level, Sea level, Fish level and Clamp level.

Smart use cases comprise both use cases at Sea level (also known as user goal level, and matching elementary business processes very well) and fish level (also known as sub-function level). In general, dealing with use cases can be done using eithe one of two different approaches: regular use cases and smart use cases.

Regular use cases

Use cases are identified at user goal level. Here, each use cases typically captures a single elementary business process. Normally for this use case the successful scenario is described (also called the happy day scenario), and additionally all deviations to this scenario are described as alternative flows.

Regular use case

Regular use case


Using this approach, very limited use is made of the UML use case diagram modeling technique. Requirements are captured in text, and are mostly described in Word documents.

Smart use cases

Alternatively, when the use cases at user goal level are identified (even better: the elementary business processes for the project have been identified), it is possible to use the use case diagram technique to add use cases at fish level to the diagram.

Smart use case diagram

Smart use case diagram


Using this approach each of the elementary business processes is modeled out in such as diagram as one single user goal level use cases, and a number of accompanying use cases at sub-function level. The collection of these use cases (at both levels) is referred to as smart use cases. Again, for each of these smart use cases a description is written. However, these are much more lightweight than in the previous scenario and often do not contain any alternative flows. This approach is much more graphically oriented.

Read more

A pragmatic approach to function requirements

Smart use cases are a highly efficient and standardized approach to modeling functional requirements, they extend traditional use cases and use the graphical representation in UML to a much larger extend. Smart use cases have been applied successfully over the last decade in a wide variety of projects types, such as .Net, Java, service oriented, BI, SharePoint, and even SAP implementations. Smart use cases offers a number of accelerators, that are re-used in the Accelerated Delivery Platform. These accelerators include:




About the use of smart use cases:
Stefaan van Royen. MediaMine