Behavioural Analysis

From EUDP
Jump to: navigation, search

What

Detailed analysis of the use cases describing the behaviour of the system selected for the current iteration.

How

The dish

Detailed Use Case Analysis

Ingredients

  • Selected use cases for the current iteration

Process

Refining use cases

When you have selected the use cases to be implemented for the current iteration, it is time to refine them. For each use case, the developers have to consider adding descriptions of secondary scenarios or specifying some of the scenarios in greater detail. If, for example, the only scenario specified during the Launch Phase is the success scenario, then you will need to add secondary scenarios describing the situations where things may not proceed as planned. The use cases must include all scenarios described at a sufficient level of detail, leaving the developers in no doubt about how the system will react seen from the user's perspective (a sequence diagram is a very good tool for modelling the dynamics of a scenario in a clear and precise way). The techniques used in the Realisation Phase are the same as in the Launch Phase - you just add more details and more scenarios.

Performing an iteration for one use case can provide you with valuable information about another use cases. Upon feedback from the deployment of one part of the system, you might realise that another "unfinished" use case should be rewritten. This is one of the advantages of using an iterative approach to system development. Refining a use case will serve as a source of inspiration for changing other models as well. Maybe you realise that you need some new attributes for a class or a whole new class, or you realise that an object of a class will pass through more states or go through its states in another pattern.

Why

The system behaviour is the user and customer's experience of the system. Therefore, a thorough analysis and specification of both the successful and unsuccessful interaction shall be described in detail at this point. It is often during this analysis that questions arise and need to be clarified with the customer.

The reason why you refine the use cases for the current iteration in the Realisation Phase is to ensure that the developers and the customer agree on and understand how the system works for any given scenario - seen from the user's perspective.