You are on page 1of 3

HCT210: Software Engineering

Assignment 1 : Requirements Analysis

Due Date & Time: Wednesday, 23 October 2019 23:59:59.

Submission format: Document uploaded on Tsime. The assignment is to be done by hand on plain
bond paper; and then scanned into 1 PDF document that is then submitted on Tsime. There must be
a small footer at the end of each page that is handwritten and containing name and student
registration number. Late submissions not accepted. Late submissions that are accepted upon valid
reasons will incur a heavy penalty.

Case study
Read the following user requirements case study and answer the following questions.

We need a banking system that will manage customers’ funds. When a customer comes to the
bank, they fill-in the account opening forms and give to the customer service officer (CSO). The
CSO verifies the form and the know-your-customer (KYC) requirements submitted together with
the form. The Reserve Bank does not allow any account to be opened without all KYC
documents. The form has personal details, addresses, telephone numbers of the customer, and
also income information. Once the CSO has verified the form, they will register the customer and
their account in the system. A customer can have many accounts opened for them. The account
will need to be approved by the customer service manager (CSM) before the account can
operate. The customer must also deposit an initial deposit of $20 before they can use the
account. An account cannot be opened by people who are blacklisted by the National Credit
Bureau System, a system that can be queried to verify a customer’s status. Whenever a
customer withdraws money, they are not allowed to leave less than $5 for savings accounts.
Current account holders are allowed to withdraw all their money. Once their account is
operational, customers may also apply for an ATM Card; which they will be charged $1 for. The
ATM Card must be linked to any number of accounts that belong to the same customer. The
customer indicates the accounts that are to be linked. After applying for an ATM Card, it is
captured and has to be approved in the same manner as when opening a bank account; but
while the customer is waiting. After approval, the CSO will print and issue the ATM Card to the
customer; while the PIN for the Card is sent to the customer via SMS. The customer will be
required to change their PIN when they use their card for the first time.

For depositing or withdrawing money, a customer must fill-in the appropriate form and sign it.
They then approach any of the bank tellers to do the transaction. For withdrawals, the teller
must verify the signature and identity of the customer using allowed documents, e.g. National ID
Card or a Passport. Also, all withdrawals of amounts more than $10,000 must be first approved
by the Chief Teller. All transactions like deposits and withdrawals must be recorded in the
system such that the customer can get a record of their transactions any time in the future.
Communicating with our customers is very important for us as a bank. Modern methods of
communication must be used, like email and mobile phones. The specific messages sent to the
customers for any scenario must be put into the system be the Marketing Department at Head
Office. The following are some of the scenarios where communication is done:

i. after an account has been successfully opened, an email must be sent to the customers
ii. for every successful transaction, an SMS must be sent to the customer to alert the
customer; specifying the transaction date, time, amount and remaining balance.

Interest and Charges

The system must automatically apply interest for all savings accounts based on the balance that
the account has. It will then calculate and apply the interest for each account on every month
end; and then deposit such interest into that account. Also, every month end all accounts are
charged with the Monthly Accountholder Fee: $3 fee for savings accounts and $5 fee for current
accounts. All interest rates and charges that are used in the system must be configured into the
system by the Finance Department at head office; with a finance officer (FO) capturing them and
the finance manager (FM) approving them.

Questions
Apply requirements engineering techniques to come up with the following models for the
case study.

1. Scenario-based models
1.1. Identify at least seven (7) use cases from the case study and list them [7]
1.2. Identify the 5 major use cases (in terms of number of steps) from the requirements and list
them; and also write each use case in detail. [27] (note: you will be penalised for detailing
smaller or easier use cases when major ones are there).

Use cases must be in format/template in the Lecture Notes.

Explain the techniques used to identify them. [2]

1.3. Select the 3 "biggest" use cases in terms of number of steps and do Activity Diagrams for
them. [6]
1.4. For the 3 "biggest" use cases selected in 1.3.; draw Swimlane Diagrams for them. [6]

2. Class-oriented models

2.1. Identify all the analysis Classes (at least 7 major ones) from the case study used techniques
learnt and list them. [6]
Explain the techniques used to identify them. [2]

2.2. Draw a basic analysis class diagram for the case study for all the classes showing the operations,
main attributes and relationships. Relationships should indicate multiplicity / cardinality. [28]

2.3. Draw the full CRC diagrams for the 5 major classes. Major classes are those with the most
functionality of the system. [22]

2.4. Identify at least 3 analysis packages from the analysis classes that you have identified. Draw the
UML package diagrams for all the 3 packages. [6]

3. Behavioural models

3.1. Draw State Diagrams for the 3 objects in the system which have the most status changes in the
system. [9]

3.2. Draw Sequence Diagrams for the main success scenarios for the 5 "biggest" use cases in terms
of number of steps; the ones you detailed in question 1.2. [20]

4. Extra marks

The following activities will have extra marks:

4.1. Models should be consistent: scenario-based, class-based and behavioural [6]

You might also like