O

Add Reviewer

Figure 6-1. The use case model for a document tracking system.

Let's closely examine each of the use cases presented in the use case model and evaluate whether all the users requirements are correctly captured.

The use of the system is password protected; therefore, all users need a password to log into the system. The authentication process not only validates the user, but also its role. When a user logs into the system with a specific role, the user has access to the functionalities that the role is entitled to have. The operations required to verify whether a user is a legitimate one are presented by the use case Login. There is an association between each of the actors and the use case Login; this means that every user of the system goes through the authentication process. The same way, all actors have an association with use case Check Document Status, meaning that all actors can check the status of a document, each of them from a specific point of view.

There is an association between actor Author and use case Submit Document. This means that the author can submit a document for review. It is important to notice that only Author has access to the use case Submit Document, meaning that only authors can submit documents for review.

The functionalities a certain actor is entitled to are shown by all associations that origin this actor. Thus, the department chair can login to the system, browse documents, check the status of a document, add additional reviewers to a document, and approve a document. The same way, a program leader can login, approve a document, browse documents, and check the status of a document. The operations needed to index a document in the database are presented as a separate use case that is included in the base use case Approve Document. Although this functionality is used only once, it is designed to be a separate use case, as it may be reused in other occasions.

Figure 6-1 shows that Reviewer is associated to Login and Check Document Status use cases only. This means that Reviewer's role is not designed properly; if the system is implemented as presented in the use case model, Reviewer's role is incomplete.

The presented use case model provides all the functionalities required by the users. In the case that some functionality or actor is not considered, it can easily be added to the model. Use case models are central to modeling the behavior of a system, subsystem, or a class [BRJ99].

0 0

Post a comment