I've found out that there are 5 use case levels:

  • Level 0 Cloud
  • Level 1 Kite
  • Level 2 Sea
  • Level 3 Fish
  • Level 4 Clam

Cloud level lists only high level users goals such as "Manage files".

Kite level mentions the actor and some more specific cases.

For what I've understood, Sea level use cases should document the following things: Use Case ID, Use Case, Actor, Trigger, Precondition, Postcondition, Main Flow, Alternative Flows, Exceptions.

But what exactly is a level 3 (fish level) use case? What is it for and how is it structured? Is a fish level use case a subfunction that I can refer to in my level 2 use case?

I would appreciate some insights.


1 Answer 1


This terminology was introduced by Alistair Cockburn in his book Writing effective use cases.

The idea is that the sea level corresponds to the concrete goals of a business user in his everyday life.

What is above the sea is high level (therefore the cloud and the kite). What is below the sea, are the details under the surface and which are not of prime interest for the business user (for example because they are details that appear trivial, or too technical).

Such a use case could indeed be the detail of a single step of the main flow or the alternate flow of a sea level use case. It could also be some sub-flow that is included, or that extends a sea level use case.

Additional reading: this article, and of course Cockburn's book

  • This is exactly what I needed to know! Do you mind also giving a small example of a subfunction used as part of a main flow? Either way thats definately what I wanted to know because I wasnt sure how those subfunctions should be connected to level 2 use cases. Are those level 3 use cases performed by the system, user or both?
    – Asperger
    Commented Jan 23, 2018 at 12:11
  • @Asperger Take the typical ATM example. Sea level use cases would be withdraw cash, deposit cash, transfer money. Main flow of the first one would be 1) authenticate 2) chose bank account 3) enter amount 4) confirm. The fish level would be a detail of the authentication (eg enter card, type pin, ... ). The details could be user or system (e.g check bank server if amount is available) or both
    – Christophe
    Commented Jan 23, 2018 at 12:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.