2

Say I need to model two use cases: "do something" via a batch file interface and via a web service call (UC1 and UC2). Batch interface will "do something" with each record in the file, while web service "does something" only once. Each UC has different primary actor and slightly different set of input/output data of "do something".

Both UCs (UC1 and UC2) share common core "do something" logic and this logic includes interactions with other, participating actors.

  1. Do I understand correctly that the common core "do something" logic should be modeled as a separate UC <<include>>d from UC1 and UC2?

  2. Do I understand correctly that the common core "do something" UC will have no primary actors? It will only describe interactions with the other actors, right?

  3. How do I model the interface of the "core" UC i.e. its input and output? Normally we do not describe what UCs receive at input, right? All UC templates I've seen have attributes like: "name", "abstract", "actor", "scenarios" etc. but not "input" and "output". If it is important to describe what data the primary actor provides, this is reflected in UC scenarios as interaction steps with the actor, right? But in case of my "core" UC there are no such interactions with the invoking actor.

1
  1. Yes.
  2. No, "System" (or "Productname") would be a primary actor orchestrating the scenario. If you are going for a multiple levels of subfunction use cases you might want to use individual components of the system as actors.
  3. Use cases format usually don't have inputs and outputs, however you can introduce such sections if you find it helpful in your situation. You can also put a precondition like "the product and its price are known" for input.
  • Thanks @Vlad for your answer. But aren't actors outside of the subject by definition? – Adam Ci Jun 1 '17 at 8:37
  • Yes they are. When you are going deeper and deeper in use cases levels at some point (under sea level) you will have to change definition of the system itself. – Vlad Jun 22 '17 at 20:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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