Thanks for the reply Fred.
May be the scenario I gave was vague. Qn 2 in my previous post is my primary concern.
Let me give a better example. Lets take a module in Loan Management System. A business scenario around which the system is built would be like this,
End customer walks into a bank branch to submit his loan application (paper based) to Loans Dept.
The Business has a workflow:
Loans Officer who receives such loan applications from customers and ensures that documentation is proper/complete and submits each case to Loans Manager who scrutinises those applications and eventually takes a decision to approve/reject.
There could be situations when Loan Manager acts as Loans Officer to receive loan applications in which case there is no workflow.
Also, all applications (both self-made and submitted by Loans Officer) must be approved only by Loans Manager.
Now, a solution is designed as below:
Users of the system: Loans Officer and Loans Manager with separate logins.
Features available for Loans Officer: Making online loan application by entering data. Validations are implemented in such a way that unless all mandatory fields are filled and all mandatory documents are attached, application cannot be completed.
Features available for Loans Manager: Since sometimes he can also act as Loans Officer, all features available for Loans Officer are available for this user too. On top of them, facility to approve/reject an application is given.
Workflow component is designed as below,
If Officer makes an application and submits successfully, a work task with status 'Pending Approval' will be generated in Manager's inbox.
But Manager has single and simple flow to make an application and approve without any interruption and workflow.
Now,
Do you think use case is not required to capture this workflow functionality and other business rules involved in the process of loan approval?
If Yes,
My Usecase template has below fields.
Name: Actor: Precondition: Post condition on success:
I believe "Make a loan application" is a use case.
In one scenario (where Actor = Officer) my post condition on success would be 'generating a work task for Manager for approval'.
In one scenario (where Actor = Manager) my post condition on success would be 'Loan is approved'.
But steps for Making a loan application are common to both users. Only different difference is Officer submits and Manager Approves.
So I think,
Make a loan application is one use case where actor = Officer.
Approve Loan is one use case where actor = Manager which includes Make a loan application.
if this is correct, Am I covering the functionality of making an application where actor = Manager?
OR
Can I have,
Make a loan application use case with actor = Officer/Manager. (basic flow ends when user saves last mandatory information.)
Submit loan application as a separate use case with actor = Officer and which includes Make a loan application and
Approve loan application as a use case with actor = Manager with Make a loan application, Reject loan application as AFs.
I believe that I made my question clear with better explanation. Let me know if I am still confused and confusing you