Suppose there are >1 ways of doing something, in use case diagrams, I could use开发者_运维问答 generalize, include, then in event table? Do I separate them?
Suppose "Buy Book" a customer could do it online or through the counter. In this case, I suppose the source is different? eg. "Buy Book Online" the "Customer" is the source interacting with the online system. Through the counter, its the "Cashier" interacting with the POS?
I suppose I separate these into different events in an event table?
First off, generalization is not usually used for use cases; <<extend>>
is probably what you're after although it isn't quite the same.
Secondly, if there are multiple ways of doing the same thing, then that's a question for the design, not the analysis. The analysis deals what what the system will be used for, not the different ways it can achieve those goals.
Most importantly, however, in the example you mention you are in fact talking about two different systems. A use case represents an interaction between one or more actors and exactly one system.
A POS system for a book store might include a use case "Buy Book", involving the actors Cashier and Customer. A web system for an on-line book store might also include a use case "Buy Book" (involving just the Customer actor), but they just happen to have the same name and the same purpose.
The fact that an actual, physical person can shop for books both in stores and on-line has no bearing, because the focus of the analysis is on the system, not the actors.
In event tables, the source would be the same (Customer) and the event would be the same (Customer wants to buy book), but there would be two different tables and quite possibly two different documents, because we are talking about two different systems.
精彩评论