views:

315

answers:

4

I am working on a system that automates scheduled monthly payments for customer bills.

When I tried to model use cases, I realized that there are use cases that relates to the customer like: - Login - Customer Registration - Update Profile - Search Transactions. - etc.

But there many activities which will be handled by the system automatically with no single actor to send a request or send an event to the system.

In Wikipedia the definition of use case is "A use case in software engineering and systems engineering is a description of a system’s behavior as it responds to a request that originates from outside of that system."

And this definition enforces the idea of having an external entity to start a use case.

Could please me in this and how can I model activities of internal system processes as use cases, and how can this be drawn on the use case model diagram.

Regards, Rami

+1  A: 

Can you give an example of such internal actions? And when they are triggered? I would guess that you'll either find that there is some "internal actor" that will trigger such an activity (timer, a work queue runner,...), or that such an action is a sub-use case of the externally triggered ones you mentioned above. In the first case, you'd create a "system actor", in the second case you delegate to the sub-use case.

Volker

ShiDoiSi
A: 

What kind of activities your system is doing internally. There must be something which triggers those activities. Normally some schedule process or an action done by user results into this activity. I define time as an actor when its some scheduled process.

Bhushan
A: 

Thanks

Here is a small part of the use case that the system runs everyday on certain time.

  1. The use case begins when the system goes through the active customer profiles in database and look up for those who are scheduled for recurring payment on the current day, then for each match the system creates a payment transaction and stores it on database.
  2. Then starts looping on the transactions scheduled for clearance on the current day and process them one by one.
  3. The system queries billing system for the outstanding payment amount for this account. The system should halt the recurring payment transaction on the following cases: a) If the value of the outstanding payment amount picked up from the billing system is equal to zero or is negative (reflecting credit) b) If service account is found to be terminated. In this case the system should deactivate the corresponding customer profile and customer shall be notified accordingly. c) If the credit card is found to be expired.

4) etc.

Is there any idea, how to draw these system use cases in the diagram, should it be inside the system boundary or outside? Should this hypothetical actor be inside or outside as well?

Regards, Rami

A: 

I liked the idea of Time Actor that would be helpful trick...