Construct the class association diagram for the requirements

Assignment Help Computer Engineering
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:

436_Figure.png

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.)

Reference no: EM131197779

Questions Cloud

Determining the public transportation : Many American municipalities, over the years, have tried hard to get residents out of their cars and into public transportation. The results have been mixed, at best. Do you use public transportation?
Typical profile of a venture champion : What is the typical profile of a venture champion? What do we know about them? What makes the successful?
Are consultation and collaboration synonymous : Analyze your personal leadership attributes you feel you have that will help you in your graduate nursing role. Also discuss those attributes that you feel you may need to develop in your graduate nursing role.
Bond valuation assume the information for existing bond : Bond Valuation Assume the following information for an existing bond that provides annual couponpayments: What is the present value of the bond? If the required rate of return by investors were14 percent instead of 11 percent, what would be thepresen..
Construct the class association diagram for the requirements : ICT205e Systems Modelling in Object-Oriented Design & Analysis Assignment. 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 associati..
Find the safety factor against failure : Show transcribed image text For the beam of length 30 inches shown below, if the tension in the cable is known to be 10 kip and F = 50 kip, find the safety factor against failure if the material was
Relation to the hierarchy of service styles : Common variables and characteristics of food and beverage service systems are explained in relation to the hierarchy of service styles?
Address violence associated with hate or bias crimes : Why is it important to address violence associated with hate/bias crimes and to distinguish those events from other crimes?
Mortgages increase the risk faced by homeowners : Mortgages increase the risk faced by homeowners. Explain how. The mortgage is leverage for the homeowner, and leverage increase risk. What happens to the homeowner’s risk as the down payment on the house rises from 20 percent to 50 percent?

Reviews

Write a Review

Computer Engineering Questions & Answers

  You are senior forensics investigator in a corporate firm

you are senior forensics investigator in a corporate firm that handles large financial transactions for a for a variety

  Use test driven development as you build your website

In this project, you will create a simple personal website. First, create a machine at ICSFlexcloud. Setup the whole RoR environment. Following chapter 1-5 of the Rails tutorial, create your own styling using CSS for your website.

  Undirected weighted graph with distinct edge weights

In an undirected weighted graph with distinct edge weights, both the lightest and the second lightest edge are in some MST (Minimum Spanning Tree). Is this true or false?

  Why do the various types of coupling range from good to bad

List the seven types of coupling. Why do the various types of coupling range from good to bad? Give an example of good coupling and an example of bad coupling.

  Define the defuzzification method for your system

Implement the fuzzy sets as membership functions in your program. You may use any of the membership functions we discussed in class - Define the defuzzification method for your system.

  Describes how your interface implements the principles

Also, prepare a written summary that describes how your interface implements the principles of good interface design as presented in the textbook.

  Build a 16-bit register with write enable input

Use 1-bit D-Flip flop to build a 16-bit register with write enable input - Use 16-bit registers to build a register le of 8 registers, enabling reading and writing operations.

  Describe how you would use m-commerce concepts and elements

first describe how m-commerce can expand the reach of e-commerce. then imagine you work for a fashion retailer and are

  What business to consumer and consumer to business items

Marketing and the owner of the CyberCafe would like to have items both in our shop and in Internet ecommerce site. What Business to Consumer and Consumer to Business items would your team recommend. What are the possibilities for fulfilment?

  The intent of this paper is to provide you with an in depth

the intent of this paper is to provide you with an in depth knowledge of how memory is used in executing your programs

  Generate a database for the gps law firm

Generate a database for the GPS Law firm

  Design a basic jsp page

Submit your JSP page along with your screenshots that show what your code has produced

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd