BPP Coursework Cover Sheet Please use the table below as your cover sheet for the 1st page of the submission. The sheet should be before the cover/title page of your submission. Programme BSc Digital...

1 answer below »
Please see page 5 of PDF file, ‘Summative Assessment - Practical Development tasks’. (Formative not required so please ignore).Very basic console application required, no need for front-end UI. Ideally created using AWS Cloud 9.CSV file for Task 2 attached.Written Technical Report (Word Doc with screenshots of code where applicable) : Please keep very basic, simple explanations and no need for diagrams, illustrations etc. only screenshots of code where possible. Max. 1500 words


BPP Coursework Cover Sheet Please use the table below as your cover sheet for the 1st page of the submission. The sheet should be before the cover/title page of your submission. Programme BSc Digital and Technology Solutions Module name Schedule Term Student Reference Number (SRN) Report/Assignment Title Date of Submission (Please attach the confirmation of any extension received) Declaration of Original Work: I hereby declare that I have read and understood BPP’s regulations on plagiarism and that this is my original work, researched, undertaken, completed and submitted in accordance with the requirements of BPP School of Business and Technology. The word count, excluding contents table, bibliography and appendices, is ___ words. Student Reference Number: Date: By submitting this coursework you agree to all rules and regulations of BPP regarding assessments and awards for programmes. Please note, submission is your declaration you are fit to sit. BPP University reserves the right to use all submitted work for educational purposes and may request that work be published for a wider audience. BPP School of Business and Technology BSc Digital and Technology Solutions Object Orientated Programming Coursework Assessment Brief Submission deadline: See Module Assessment Space on the Hub for assessment deadlines. Submission mode: Turnitin online access 2. Assessment Brief This assessment brief gives you an overview of the formative and summative assessments that are part of this module. The learning outcomes below will be tested in the assessment contained in this brief. 1.1. Module Learning Outcomes (LOs) 1. Demonstrate critical knowledge of key concepts, principles and theories of object-oriented programming 2. 2. Evaluate program requirements and specifications and understand the complexity of programming solutions within different business contexts 3. 3. Construct and debug programs using object-oriented principles, tools and techniques for selected business problems 1.2. Assessment Overview This assessment contains two submission parts, your practical tasks (70%, LOs 2,3) and an associated technical report (30%, LO1, 1500 words). Formative Submission deadline: Practical tasks 1-5 and draft written assessment of 750 words to be submitted by the date shown on the module assessment space on the Hub by 23:59 in to the Turnitin Dropbox available in that space. Summative Submission deadline: All practical tasks and the written assessment to be submitted by the date shown on the module assessment space on the Hub by 23:59 in to the Turnitin Dropbox available in that space. Please note: ensure you read the general assessment guidance at the end of this document 1. Assessment Structure/Guidance 2.1. Case scenario: You have just been employed as a Python Programmer at NatSouth Bank, one of UKs leading commercial bank. This new role requires that you learn other programming languages including C++ and Java. NatSouth has a very wide financial product portfolio including commercial loans, mortgages and investment loans. The bank's data are mostly on a data warehouse and the Cloud. Some of the branches (7 at the last count) are still operating using legacy systems which requires uploading CSV files. Your first task is to create a small reporting app using Java to help bank employees query and view important information about these daily mortgage applications. The CSV files are expected to be processed from the daily mortgage application data; with some additional processes performed such as data manipulation. You have received all the required CSV files from the data management team required for the java application. Any solution provided must be robust enough to handle all similar file to CSV. The filename is customermortgage.csv which contains several mortgage daily applications from the bank branches still using the legacy system. Figure 1 shows part of the csv file provided. Figure 1. The file data follows a tabular form, and the order of the columns are: 1. Loan ID 2. First name 3. Middle name initial 4. Last name 5. Branch code (1, 2, 3, 4, 5) 6. Gender (F/M) 7. Date of birth (mm/dd/yyyy) 8. Loan amount 9. Customer phone number 10. Pass code You are responsible for developing a small Java program to read all the loan values from the CSV file and display some useful information about the dataset. 2.1 Assessment part 1 Formative Assessment Please submit practical tasks 1-5 for this formative submission, you may choose to also submit 700-word plan of your technical report if you wish. Summative Assessment – Practical Development tasks Task 1: Login When the bank employee first opens the application, they should see two options (as seen in figure 2), and a message that asks them to type their choice. Figure 2. If the user selects option 1, the system asks for the admin password to check if the bank employee user has the privileges to proceed and read the data from the file. The admin password is hardcoded and its value is “Employ33adm1n”. The system should only proceed if the password is correct, otherwise it should return to the login menu input. Your program should not crash if the user enters an invalid menu option. If the user chooses option 2, the system exits. Task 2: Read CSV data and load loan objects Once the password is correctly entered by the bank employee, the program should read all the CSV file, creating Loan objects and storing them in a collection in memory. You are expected to check for exceptions. Task 3: Main menu option After the file is loaded and the objects are stored in a collection in memory, the program proceeds to display the main menu of the application. The menu should be displayed and ask the bank employee to choose one of the available options, as shown in figure 3. If the user chooses the option 0 (exit), the program quits the main menu and returns to the first login menu options. Figure 3. Task 4: List all loan objects The system should display on the screen a list of all loaded loan objects from the collection in memory. You are free to choose which information to display for each loan record. Task 5: Display loans by branch code When option 2 is selected, the system should ask the user to enter the branch code that needs to be displayed. Your Java program should then proceed to display only the loans of the selected branch code, as shown in figure 4. Figure 4. Task 6:. Query loan by ID When the user chooses option 3, the program should ask the user by the loan ID. The program should also ask the employee to enter and confirm three characters of the loan pass code. The program should only proceed to display the loan information if the employee enters the three characters of the loan pass code correctly. For example, if the user chooses to view loan ID 10315, the system should randomly pick three characters of the loan passcode “XlJH}514&” and ask the user to enter them correctly, as displayed in figure 5. Figure 5. If the pass code does not match all characters in the loan object, the program should not display the loan information and display a message for the user. Task 7: Display summary by branch When the user chooses option 4, the program should display some basic information about the loans by branch. 1. The total loan amount requested for each branch 2. The average of all the amounts requested for each branch 3. The percentage of M and F customers that applied for loans for each branch Task 8: Show this month’s birthdays When the user chooses option 5, the program should display the name and the date of birth of all customers from the dataset whose birthday falls in this month. Note that the dates from the file are listed in the format mm/dd/yyyy. Written Technical Report You are required to produce a report (maximum of 1500 words) explaining the main structure of your program, such as classes, objects, methods of storing lists, arrays, etc. You can include extra assets to help explaining the implementation and the design decisions of your code, such as diagrams, illustrations, tables, or code snippets. Your report should contain the following: 1. List of classes, attributes, and methods with justifications List all of your classes and their most important attributes and methods (you don’t need to list getters and setters. Focus on the crucial methods and attributes. You can also add any diagrams, tables, and images to illustrate the classes used. Explain design decisions and justify against recognised principles and theories. 2. Storage methods, lists, and collections with justifications Explain how you are storing objects in memory, what classes of collection you are using, and how your program uses them to correctly store the values entered by the user. Explain design decisions and justify against recognised principles and theories. 3. Final considerations and recommendations List any overall suggestions and limitations of your current implementation. Note in this section what testing you have carried out to check the functionality (you may also include a test plan in the appendices if you wish to note the tests undertaken, but this is not marked). Include any recommendations or areas of improvement that could be added to your code. 4. Referencing and structure A list of references used, using only Harvard Referencing System as highlighted in the General Assessment Guidance section of this document. This can include references to the Oracle Java API Docs, external online articles used, or any bibliography used to support the development of your system or clarify the knowledge you obtained on the topics mentioned in the report. All the figures/tables used in the report must have captions and, wherever needed, properly referenced and mentioned in the report. For excellent performance, students should use Harvard referencing and clearly
Answered Same DayAug 27, 2021

Answer To: BPP Coursework Cover Sheet Please use the table below as your cover sheet for the 1st page of the...

Vibhav answered on Aug 28 2021
134 Votes
Bank Loan Java assign/Loan.java
Bank Loan Java assign/Loan.java
import java.time.LocalDate;
class Loan{
    public enum branchCode{ONE(1), TWO(2), THREE(3), FOUR(4), FIVE(5);
        int value;
        branchCode(int val){
            value = val;
        }
        static branchCode valueOf(int x) {
            switch(x){
            case 1:
 
  return branchCode.ONE;
            case 2:
                return branchCode.TWO;
            case 3:
                return branchCode.THREE;
            case 4:
                return branchCode.FOUR;
            case 5:
                return branchCode.FIVE;
            default:
                return null;
            }
        }
    }

    private int loanID;
    private String firstName;
    private String middleNameInitial;
    private String lastName;
    private branchCode bcode;
    private char gender;
    private LocalDate dob;
    private int loanAmount;
    private String phoneNumber;
    private String passCode;
    /**
     * @param loanID
     * @param firstName
     * @param middleNameInitial
     * @param lastName
     * @param bcode
     * @param dob
     * @param loanAmount
     * @param phoneNumber
     * @param passCode
     */
    public Loan(int loanID, String firstName, String middleNameInitial, String lastName, branchCode bcode,
            LocalDate dob, int loanAmount, String phoneNumber, String passCode, char gender) {
        super();
        this.loanID = loanID;
        this.firstName = firstName;
        this.middleNameInitial = middleNameInitial;
        this.lastName = lastName;
        this.bcode = bcode;
        this.gender = gender;
        this.dob = dob;
        this.loanAmount = loanAmount;
        this.phoneNumber = phoneNumber;
        this.passCode = passCode;
    }
    public void setGender(char g) {
        this.gender = g;
    }
    public char getGender() {
        return gender;
    }
    public int getLoanID() {
        return loanID;
    }
    public void setLoanID(int loanID) {
        this.loanID = loanID;
    }
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    public String getMiddleNameInitial() {
        return middleNameInitial;
    }
    public void setMiddleNameInitial(String middleNameInitial) {
        this.middleNameInitial = middleNameInitial;
    }
    public String getLastName() {
        return lastName;
    }
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
    public branchCode getBcode() {
        return bcode;
    }
    public void setBcode(branchCode bcode) {
        this.bcode = bcode;
    }
    public LocalDate getDob() {
        return dob;
    }
    public void setDob(LocalDate dob) {
        this.dob = dob;
    }
    public int getLoanAmount() {
        return loanAmount;
    }
    public void setLoanAmount(int loanAmount) {
        this.loanAmount = loanAmount;
    }
    public String getPhoneNumber() {
        return phoneNumber;
    }
    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }
    public String getPassCode() {
        return passCode;
    }
    public void setPassCode(String passCode) {
        this.passCode = passCode;
    }

    public String toString() {
        String str = "";
        str += loanID + "\t";
        str += firstName + " " + lastName + ", " + "Amount: " + loanAmount;
        return str;
    }
}
Bank Loan Java assign/MortgageApp.java
Bank Loan Java...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here