Is a scenario a bigger picture with more details than a use-case or how much difference is there? I write a report where I prefer the word scenario but in my training we used the word use-case (in a course about OOP).

I program in SMV which is not OOP. IIUC SMV is a domain-specific language specialized for model checking of hardware. The actual code is in my github.


A use case involves an actor and the flow that a particular actor takes in a given functionality or path. These often get grouped so you have a "set" of use cases to account for each scenario.

A Scenario involves a situation that may have single or multiple actors that take a given functionality or path to resolve the scenario.

You can see the main difference is "perspective" here. Usually, the use case is more granular than the scenario. In the development of these, it usually involves coming up with a scenario and then defines all the use cases that fit into that particular scenario. Since the use cases document the scenario after written the documentation footprint is usually just one or the other and not both, which is also likely why the name gets interchanged sometimes instead of standing as separate things. Many projects don't require the granularity of the use case and stick with just scenarios instead of breaking it down to specific actor flows in use cases.


A use case is finer-grained and more detailed than a scenario. A scenario describes some purpose for which a user might use your software and all of the features of the software that they would require to achieve that purpose. For example:

Generate monthly invoice batch

 1. User imports data from spreadsheets describing completed work
 2. System identifies inconsistencies in data (cross check between
    client ref, order code, and expected job type)
 3. If consistent, PDFs produced and an XML file for import into account

A use case breaks down a specific item from the scenario:

Generate PDF invoice

 1. Collect all work items within one month occurring under the same
    order code
 2. Add them line-by-line to invoice template document
 3. Allocate sequential invoice number
 4. Fill in client details
 5. Calculate totals
 6. If invoice overflows space in template, split later items into
    another invoice
 7. Record invoice totals (will be used in xml export later)
 8. Convert filled in template to a PDF file and store in the output

Scenarios describe the software at a high level and give a rationale for each feature of the system existing. Use cases give a detailed account of what each feature does.


A description of a use case contain, beyond other things, a main scenario and as well alternatives and exception scenarios. Then a scenario is part of a use case description. A use-case has more information like actors, description, pre and pos conditions, constraints, etc (see here everything a use case can describe ) .

Here you have an use case description example.

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