Use Cases

We now need to create a use case for our functional requirements.

A use case in software development is a structured description of how a user (or system) interacts with a software application to achieve a specific goal. It defines:

  • Actors: Who interacts with the system (e.g., user, external system).

  • Preconditions: Conditions that must be met before the use case starts.

  • Main Flow: The step-by-step process of how the interaction occurs.

  • Alternative Flows (if needed): Variations or exceptions to the main flow.

  • Postconditions: The expected outcome or result after the use case is completed.


Example of a Use Case - Rock Collection (REQUIRED)

Actor: User (Geologist / Rock Nerd)

Preconditions: Internet access; API with rock/mineral data is available.

Main Flow:

  1. Search Rock/Mineral – User enters a rock/mineral name (e.g., Obsidian, Quartz); system retrieves and displays details.

  2. Store Rock – User adds the rock to their collection; system confirms storage.

  3. Compare Rocks – User selects rocks; system retrieves and displays comparisons (e.g., hardness, composition, rarity).

  4. Visualise Data – System generates a graph comparing selected rocks.

  5. Remove Rock – User deletes a rock from the collection; system updates storage.

Postconditions: Rock data is retrieved, stored, compared, or removed successfully.

Example of a Use-Case Diagram (NOT required)

Example: Use Case Diagram

Last updated