A previous IRM article Event Based Analysis and Modelling described how business functionality in a requirements package can be broken down into a table with column headings – Event, Trigger, Initiator, Use Case name, etc. Each business function is a separate event and has a unique number.
A typical business function might contain several unique events each of which we want to end up as a component of a larger software application.
So how do we go from a table containing textual information to a specification which a developer can use?
The first step is to turn each business event into a model – either a use case fragment, a DFD fragment or any modelling language you might be working with.
The following event table describes three typical interactions a customer would have with their bank:
Each of these events can be drawn as a separate use case:
These individual use cases (use case fragments) are only half the picture however. Today developers don’t write individual software programs for each event, particularly when multiple events will have numerous common components e.g. database enquiry, ID validation, etc.
What we do want is to be able to combine use case fragments into a single use case. We do this by identifying and sharing common actors (in this example the customer):
While we still need to write individual descriptions for each use case, we’ve given the developer a concise package of functional requirements, offering them the best opportunity to write efficient and effective code.
For an example of writing formal use cases see the paper How to use Use Cases.