.. _label-uc-account-add: Use-Case: Add a Customer Account *********************************************************************** .. Description of a use case .. The description must be formulated as seen from system (not: actors) .. Describes those changes an (outside) actor can notice .. Short and abstract as possible, as long as necessary. .. Each use case must have at least one actor involved .. Each use case must have a trigger and a result Short Description ----------------------------------------------------------------------- A customer account is added to the system. Actor(s) ----------------------------------------------------------------------- Accountant, Admins Trigger(s) ----------------------------------------------------------------------- - Some customer or contract is added to the system. - A respective web form is requested from the system. Result(s) ----------------------------------------------------------------------- - The new account was created in system with a new unique ID. - A (nearly empty) account history can be retrieved for the new account. - The new account is connected to some contract or customer. - Authorized users can get the current account balance of the account. Incoming Data ----------------------------------------------------------------------- ID of customer or contract to connect to. Outgoing Data ----------------------------------------------------------------------- - Message about account creation. - Log message Precondition(s) ----------------------------------------------------------------------- The entity to connect the account with (customer or contract) already exists. Postcondition(s) ----------------------------------------------------------------------- The system accepts transactions for the new account. Invariant(s) ----------------------------------------------------------------------- Essential Steps ----------------------------------------------------------------------- 1. Authenticate request 2. Check existence of contract/customer to connect to 3. Check that no other account is already connected 4. Create account in DB 5. Notify system Open Issues ----------------------------------------------------------------------- We should discuss, whether accounts are connected to customers _or_ contracts. Change Log ----------------------------------------------------------------------- +------------+----------+------------+--------------------------------+ | Timestamp | Who | New Status | What | +------------+----------+------------+--------------------------------+ | 2013-11-07 | uli | init | Initial state | +------------+----------+------------+--------------------------------+ Remarks ----------------------------------------------------------------------- .. raw:: latex \pagebreak[4]