Skip to content

Use case definition

savicsava edited this page Mar 5, 2018 · 2 revisions

What is a use case?

By Wikipedia, in software and systems engineering, a use case is a list of actions or event steps typically defining the interactions between a role and a system to achieve a goal. The actor can be a human or other external system. In systems engineering use cases are used at a higher level than within software engineering often representing missions or stakeholder goals.

Definition of a use case in Origin Trail

In context of OriginTrail implementation, use case is the very same thing. One of the systems involved in that use case is obviously OriginTrail protocol with ODN in some supply chain business process. Actors in a use case can be one or several participants (Data Creators) in a supply chain. OriginTrail does not advise any particular methodology for documentation of use cases as it will not conduct implementation (SP will do that part of the project). That is why we advise that DC should create and define use cases in collaboration with SP as part of their consulting role.

Use case for the prototype

Implementation of OriginTrail will spark several ideas for different use cases. We always advise focus on completing one prototype solution from start to end, and then to expand to resolution of other problems (use cases). Picking one of the use cases from the list is not an easy task, but we have several guidelines:

  • prototype use case should include at least two participants in supply chain if possible.
  • data structure should be as simple as possible. Complexity can be added in following iterations.
  • prototype should deliver some substantial value to whole business process.
  • focus on a fact that you are making the prototype first, than final solution.
  • pick use case that can start simple and evaluate in complex solutions through development iterations.
  • don't try to include advanced features (Zero knowledge) from ODN if you don't have to. Include them in the following iterations.
  • Try to work on prototype documentation with a lot of attention for details. Use that documentation as template for other use cases later.