0

This is for a university project. I'm writing in C++ but language is irrelevant to the question.

Some context: we are required design an application to perform the following steps:

  • reads in some data that represents use cases (in my case a simple text file);

    • Example of a use case in the .txt file:

      user
      places
      order
      
  • applies a STRIDE matrix to that data to create misuse cases

    • don't worry if you're not familiar with STRIDE matrices - its irrelevant to the question
  • outputs the list of created misuse cases (basically just replaced the actor and the verb);

    • Example of a generated misuse case:

      misactor (internal)
      tampers
      order
      
  • applies some sort of list reduction algorithm to the list;

    • this is the part where I'm stuck
  • outputs the reduced list.


So far, I have an array of pointers to UseCase objects containing strings for the entity (eg. user), the relationship/verb (eg. places) and the target (eg. order).

I've got up to the point where I have generated a list of MisUseCase objects, and I now need to apply some sort of reduction/pruning algorithm to this list. Except I have no idea where to even start.

What would be the best way to reduce a list like this to a smaller set of viable/relevant objects?

Thank you in advance.

  • What does it mean to "reduce a list"? What do you mean by viable objects? – kfx May 21 '16 at 13:49
  • Create empty second list, iterate through your list, if the object is viable add it to the new list. – Teivaz May 21 '16 at 13:55
  • Sorry I realize that the reduction bit was a bit ambiguous. Basically we have one list of viable use-cases, and another list of misuse cases generated by replacing the actor and verb from the first list with generic terms. For example, take the use case, "User saves document". From this many misuse cases will be generated: http://pastebin.com/rFc7XK64 These misuse cases will be stored in a separate, massive list of candidate misuse cases. We need to reduce this list to a smaller list of viable misuse cases. This part is left intentionally ambiguous by the lecturer. @kfx – Rowan Smith May 21 '16 at 15:43

0 Answers0