Use Case

Use cases are an design technique to describe in a formal way how a software system should work. They are particularly useful for describing the behavior of user interface. Each use case focuses on a specific scenario, and describes the steps that are necessary to bring it to successful completion. Each step in a use case represents an interaction between users and the software system (user interface).

As an example, here are two use cases for the web applications we are building in this module

Use Case: Search for a course

  1. The user visits our web application using a web browser.
  2. The user will be presented with the homepage.
  3. The user will enter a search query in the input area of the search bar and press enter (or click on the magnifier icon)
  4. The user will be redirected to the search page.
  5. In the search page, the search query will be displayed in the search-bar at the top of the page.
  6. In the search page, the search results (retrieved courses) will be displayed under the search-bar (in no particular order).

Use Case: Refining/repeating a search

[[ After an initial search, when the user is presented with the search page ]]

  1. The user can repeat the search by editing the search query in the search-bar (followed by pressing enter or click on the magnifier icon)
  2. The (updated) search results (retrieved courses) will be displayed under the search-bar (in no particular order).

When it comes to your course project, you must write use-cases to supplement your UI wireframe for the deliverables of each iteration.