Reference no: EM131197779
Systems Modelling in Object-Oriented Design & Analysis Assignment-
Question 1-
The objectives of this question are to assess your abilities to:
- participate in a group discussion forum;
- identify the classes, their attributes and hierarchical relationships from a set of requirements
- determine the associations among a set of classes as part of a structural processing
- diagram essential components of a system with a modelling language
- develop an initial structural model from a set of requirements with the Unified Modelling Language.
The question consists of two sections:
Section 1: This is the group-work project where you are required to participate with conference postings in designing an application based on the negotiated statement of requirements given at the beginning of this question. You will work with your tutorial group for this group-work project. Remember to submit a copy of two of your individual postings together with your TMA answer document.
Section 2: This consists of additional questions that you should do on your own and submit in your TMA answer document.
The Negotiated Statement of Requirements
The following are some background information and an extract from a negotiated statement of requirements (NSR) for developing a computerized system for De Best Bank.
A huge banking corporation, De Best Bank (DeBest), has many branches all over the world. Among the services that the branches provide to customers are processing and approving loan applications. To support these loan functions, each branch employs a number of loan officers and loan managers. To cope with expanding business, the bank now requires a new system to provide support for these operations.
Each branch is responsible for processing and approving loans up to a certain amount. This amount is known as the approval limit and depends on the experience of the loan managers in that branch. A branch is identified by its branch name and address.
When a customer approaches a branch for a loan, his particulars such as name, address and monthly income are recorded. An applicant may submit an application for the loan alone or together with another person, such as a spouse, a parent or a sibling. If there is more than one applicant submitting the application, then the same particulars will be recorded for both individuals.
When an application for a loan is received, a loan officer will be assigned to process the application. The loan officer will ensure that all the particulars pertaining to the application are correctly recorded. These particulars include the application reference number, date of application, loan amount applied for (which can be different from the loan amount actually approved subsequently), the type of loan (such as for housing or vehicle) and the status of the application (such as being processed, approved or rejected).
A certain customer may apply for more than one loan at any point of time. A separate application is required to be submitted for each loan. Where possible, the same loan officer should be assigned to process the applications of the same customer. This is part of the bank's practice to foster better bank-customer relationship.
The record for a loan will be created once an application is processed by a loan officer and approved by a loan manager. The two most common types of loans are housing loans and vehicle loans. For a vehicle loan, the loan will have details such as the loan amount approved, the loan duration, the registration number and type of vehicle (example: saloon car, goods van, etc) recorded. For a housing loan, the loan will have details such as the loan amount approved, the loan duration and the address of the apartment or house.
Among other staff, each branch can employ several loan officers and loan managers. This staffs are identified by their staff code, and of course have a name. In addition, the experience of a loan officer is gauged by recording the number of loan applications that he has processed. Also, each loan manager has an approval limit that indicates the maximum amount of loan the manager may approve for each loan application. An application processed by a loan officer must be approved by a loan manager from the same branch as the loan officer.
The system will provide support for DeBest by:
- maintaining information about the branch that processes and approves a loan;
- maintaining information about applicants who submitted applications for loans;
- maintaining information about applications for a loan, mainly housing loans and vehicle loans;
- maintaining information about a loan when its application is approved;
- maintaining information about the bank staff assigned to process and approve loans, namely the loan officers and loan managers.
As part of the application functions, the following facilities should be provided:
- display details of a branch and its bank staff involved with loans,
- display details of applicants and their applications for loans,
- display details of all the loans approved.
Section 1 of Question 1: Group-work Project-
The group-work project start date is indicated on the cover of this TMA. If you do not see the project conference in the MyUniSIM portal by this date, please contact your tutor immediately.
You are asked to discuss with your fellow group members how to produce the structural model for the system; i.e.:
- the class description;
- the class diagram; and
- the invariant(s), if applicable.
You must not post a complete class diagram to your project discussion forum. The complete class diagram should only be submitted to your tutor together with the entire TMA solutions.
You should limit your discussions to identifying the classes, their attributes, the associations and relationships between the classes, and any invariants needed.
As part of your discussions, you are asked to submit two or three postings to the project conference.
Examples of the types of postings that would gain you credit are:
- initiating a new thread of discussion about some significant aspect of the system; e.g., pointing out a problem in the requirements, suggesting how a particular aspect of the system might be modelled in terms of classes and associations or explaining why you think an invariant is needed;
- a response to a posting, where you attempt to resolve a problem that another group member has identified;
- a response to a posting, in which you state clearly and give evidence of why you agree or disagree with another group member's suggestions, expanding significantly on what has been previously presented.
In all your postings, please maintain professional courtesy and avoid any comments that may give rise to unpleasant exchanges in the discussions. Remember that your comment may be the correct one even if someone else says it is incorrect.
(a) To complete this question you must submit to your tutor, as part of your TMA answer document, copies of TWO postings you have contributed to the discussion.
Section 2 of Question 1: Individual work-
Submit as the remaining part of Question 1, your answers to the following:
(b) Identify the classes (which may be abstract or otherwise) and their attributes that would be required for the application.
Submit the class description (this includes a brief comment for each attribute and comments indicating any inheritance structure), as your TMA answer.
(c) Construct the class association diagram for the requirements. It is not necessarily to include attributes. Ensure that you do not include any derived or redundant association in your diagram.
(d) State or explain clearly and informally, TWO invariants that need to accompany the class diagram.
Question 2 -
This question assesses your ability to:
- perform a walkthrough for a use case;
- represent associations with appropriate information;
- to implement associations.
For this question, we will use the partial class diagram below:
This fragment results from further development that requires the loan officer to fix an appointment with the applicant to confirm the information for each loan application, among other requirements.
The following has also been added to the class description in the structural model:
Class: Administration (This is the orchestrating class.)
Attribute: none
Class: Appointment
Attribute: date, the date of the appointment
time, the date of the appointment
(a) Give TWO reasons why Figure Q2 tells us that dynamic modelling has been carried out.
(b) The following is a specification for the use case "Add an appointment":
Use case: Add an appointment
Initiator: A loan officer
Objective: To add an appointment for a loan application to a loan officer.
Pre-condition: The loan officer's staff code, a loan application's reference number, and the intended appointment's date and time are given.
Post-condition: An appointment for a loan application with the given date and time is fixed for the loan officer.
Assumptions: All the required information is valid.
Write the complete walk-through for the use case, "Add an appointment".
(c) Using the tabular format in Table Q2(c), explain how the association processes in Figure Q2 should be implemented, based on the above information.
Class being modified
|
|
Association being implemented
|
|
Direction of navigation
|
|
Multiplicity
|
|
Instance variable added
|
|
Value of instant variable
|
|
Justification
|
|
Table Q2(c)
|
(d) What would be the changes (if any) to your previous answers (for Question 2(a), (b) and (c)) if the arrow from Application to LoanOfficer is not in the diagram (in other words, the navigation is only from LoanOfficer to Application)?
Question 3 -
This question assesses your ability to:
- diagram essential components of a system with a modelling language;
- construct a dynamic model in the form of a sequence diagram for a walkthrough.
This question extends Question 2 further.
The following is a specification for the use case, "List a loan officer's appointments":
Use case: List a loan officer's appointments
Initiator: A loan officer
Objective: List the details of each of a loan officer's appointments that fall within a specified period and the related loan applications.
Pre-condition: The loan officer's staff code, the start date and end date of the required period are given.
Post-condition: The name of the loan officer is shown; and for each appointment fixed for the loan officer within the specified period, the following is displayed:
- the date and time of the appointment; and
- the loan amount applied for.
Assumptions: The given information is valid.
A walk-through based on this specification is as follows:
Objective: To list a loan officer's appointments
Given: A loan officer's staff code, and the start date and end date of the required period.
1. Locate the instance, aLoanOfficer of LoanOfficer with the given staff code, linked to the orchestrating object via hasLoanOfficers.
2. Display aLoanOfficer's name.
3. Locate all the Application instances linked to aLoanOfficer via processes.
3.1 For each of these Application instances,
3.1.1 locate the instance, anAppointment of Appointment, linked to it via isFixedFor.
3.1.2 if the appointment date of anAppointment falls within the start date and the end date of the specified period,
3.1.2.1 display the appointment date and time.
3.1.2.2 for the Application instance from step 3.1, display the loan amount applied for.
Construct a suitable sequence diagram for the walk-through. Give each message an appropriate name and show the relevant arguments. (Note: You may assume that once an attribute is retrieved, it can be displayed.)