Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Example Looking for help strengthening the following below: Problem Description: A college realizes that it is investing too much time and manpower to maintain the

image text in transcribed

Example

image text in transcribed

image text in transcribed

image text in transcribed

Looking for help strengthening the following below:

Problem Description:

A college realizes that it is investing too much time and manpower to maintain the student records and it needs an automated student performance record system that allows students and the faculty to access the students' record database anywhere anytime. This will save the paperwork needed to maintain the records and will also save the time to find records in the handwritten record-books. The project will have 2 types of accounts - student and faculty. Both the users (student and faculty) will have login credentials - email and password. The faculty is able to access all students data and the student is only allowed to access his data.

A student record will have the marks he has obtained in the subjects in all the semesters/years. A student will also have the aggregate of marks he has got.

Interpretation:

This Student Record Management System allows checking the marks students have got in all the subjects and in all semesters. This can further improve to get the list of toppers in a subject/semester/year. This can also have the attendance and other activities maintained. This can also help in data analytics like in which subjects students score more and in which subjects they are struggling so that we can offer them proper training if required.

Classes:

UserType

Year

Semester

Subject

Student

Faculty

ClassRoom

MarksObtained

Class methods:

UserType enum:

  1. UserType.STUDENT
  2. UserType.FACULTY

getUserType - to get the type of user this is (student or a faculty)

Year:

YearNumber enum:

  1. YearNumber.FIRST
  2. YearNumber.SECOND
  3. YearNumber.THIRD
  4. YearNumber.FOURTH

getYearNumber - to get the required year from YearNumber enum

getSemestersInYear - to get the List of the semester in a year (for the e.g. first and second semester for the first year)

Semester:

SemesterNumber enum:

  1. SemesterNumber.FIRST
  2. SemesterNumber.SECOND
  3. SemesterNumber.THIRD
  4. SemesterNumber.FOUR
  5. SemesterNumber.FIVE
  6. SemesterNumber.SIX
  7. SemesterNumber.SEVEN
  8. SemesterNumber.EIGHT

getSemesterNumber: to get the required semester from Semester enum

GetAllTheSubjectsInSemester: to get the list of all the subjects in a particular semester.

Subject:

getSubjectName: to get the name of the subject

getTotalMarks: to get the total marks this subject has

Student:

getId: to get the student Id

getName: to get the student name

getCurrentYear: to get the current year the student is studying

getCurrentSemester: to get the current semester the student is studying in

getEnrolledSubjects: to get the list of all the subjects student is enrolled in

getCGPA: to get the current cumulative grade points

Faculty:

getId: to get the student Id

getName: to get the student name

getListOfSubject: to get the list of subjects the faculty teaches

ClassRoom:

getStudentList: to get all the students to list the classroom has

MarksObtained:

getSubjectName - to get the name of the subject

getMarksObtained - to get the marks obtained in this subject

Summary:

The class UserType tells what type of the logged-in user is. The class Year tells of what year the information needs to be accessed. The Year class has a list of semesters. The Semester class has all the list of Subjects. The Subject has information about the subject like the subject name, total marks. MarksObtained class tells how many marks the student has got in a particular subject. The Student, Faculty, ClassRoom has the self-explanatory basic details.

This design in a whole allows students to see their records and the faculty to see the records of all the students in a classroom.

Prepare a design for a Java program that would solve a significant business problem. Four business case examples are provided with the assignment (See Page 3), but you are strongly encouraged to use your own real-world business case. If you use one of the provided examples, you will need to create your own problem description and enhance the case. It is not accepted to copy and paste the description given in the assignment. To limit the problem to a reasonable scope, assume the system will be used in a small business environment. Note also that, this assignment does not require you to write/submit a java program. Research and evaluate the essential requirements and usage of such a system, and create a design for a Java program that would solve the problem. Your design report should be at least three pages and at most four pages. For full points, your solution must include all five of these sections. Please clearly identify the sections in your document: (1) Problem Description: Describe the salient features and main components of the business problem. Document the sources you used to obtain the problem examples or business case information. (2) Interpretation: Does the business problem make sense? Did you notice any unmentioned requirements that should be addressed by a solution? If you have experience relating to the business problem, can you identify anything that should be resolved differently than stated in the business case? (3) Classes: Detail the specific classes that would be required for the problem solution. Use the concepts from Chapter 8's first two sections to determine what classes are best suited to the problem - as noted in Chapter 8, classes typically are related to specific "nouns" in the problem description. (4) Class Methods: For each of the classes from section (2), describe in detail (but do not implement) the methods that would be required in each class. Explain the purpose and the action for each method. Remember that methods are typically "verbs" or "actions" related to the problem and its solution. (5) Summary: Explain why your classes and methods completely solve the business problem outlined in Section 1 and discuss whether your assumptions and alternatives are suitable, appropriate and completely solve the problem. Sample Requirements and Design (Please note: This is intended to an example of the format that is useful for this document. The problem description, description of each class, and method descriptions are terse-your paper should more fully describe each section.) Problem Statement A small bank has been chartered and needs a system to maintain its list of around 100 customers and the customer's bank accounts (each customer typically has a checking account and a savings account, but can have additional checking and/or savings accounts). Accounts can be checking (no interest is paid), or savings (interest is paid monthly). The bank's tellers need to be able to access a customer's list of accounts, and then do operations including deposit, withdraw, and check balances. The bank's manager needs to be able to apply interest monthly to each savings account. The bank's manager also needs to be able to get the total balance of the accounts, to find the customers whose accounts have the highest balances to be able to send the customer special offers to thank them for their business, and find accounts with balances under $100 to apply a monthly service charge. Interpretation The bank's business case apparently addresses only deposit accounts (checking and savings). Banks also make loans, and a full solution would address making loans and tracking loan payments. However, that would significantly expand the scope of the problem and is not addressed in this design. Classes Likely classes needed to implement this solution: BankAccount - stuff about an account (more details required) BankAccounts - maintain a collection (probably an ArrayList) of accounts Bank - to contain information about all the accounts and customers Customer - stuff about a customer (more details required) Customers - maintain a collection (probably an ArrayLists) of customers Bank Teller - user interface for the bank tellers (access customer's accounts, deposit and withdraw funds). BankManager - user interface for the bank manager - find accounts with large balances, apply interest to savings accounts, and apply monthly service charge to accounts under the $100 minimum balance. BankProgram - main method - allows a teller or manager to login and use the program InsufficientFundsException - to report an attempt to withdraw too much money from an account Class Methods BankAccount Deposit - add funds Withdraw - remove funds from the account, or throw an InsufficientFundsException if the account does not have enough money. getAccountNumber - get the account number. getBalance - get the account's balance. getCustomer - get the customer to which the account belongs. addInterest - for savings account, apply the specified interest rate. applySeviceCharge - for accounts with balance under $100, apply a service charge. BankAccounts Find - find an account by account number. addAccount - add an account to the collection. removeAccount - remove an account from the collection. Bank findAccounts - find the accounts for a customer. readAccounts - read the account information from a file and store in the BankAccounts collection. readCustomers - read the customer information from a file and store in the Customers collection. saveAccounts - save the account information to a file. saveCustomers - save the customer information to a file. Customer getName - get the customer's name. getAddress - get the customer's address. setName - set the customer's name. setAddress - set the customer's address. Customers FindByCustomerNumber - find a customer by number. FindBy CustomerName - find a customer by name. addCustomer - add an account to the collection. removeCustomer - remove an account from the collection. BankTeller teller - menu for the teller to access a customer and the customer's accounts. Provides access to create a new customer, create a new account for a customer, deposit or withdraw funds for an account, and get the customer's account balances. BankManager manager - menu for the manager to find accounts with large balances, apply interest to savings accounts, and apply monthly service charge to accounts under the $100 minimum balance BankProgram main - login the user and, depending on the user's type, run the Bank Teller's teller method for teller users, or the BankManager manager method for manager users. InsufficientFundException getMessage - to get the description for the exception. printStackTrace - to print where the exception occurred in the program. Summary The Bank, Customer, Customers, BankAccount, and BankAccounts classes will provide the necessary functionality to operate the bank. The BankTeller and BankManager classes will provide the different functions needed for the two different types of users identified in the problem statement. The BankProgram class will provide a way to run the program and access the accounts depending on the type of user. This design does not keep a list of the transactions, though. That is something that would be necessary in an actual bank management program to enable auditing. Finally, as noted in the Interpretation section, a full bank management system would also manage loan accounts. Prepare a design for a Java program that would solve a significant business problem. Four business case examples are provided with the assignment (See Page 3), but you are strongly encouraged to use your own real-world business case. If you use one of the provided examples, you will need to create your own problem description and enhance the case. It is not accepted to copy and paste the description given in the assignment. To limit the problem to a reasonable scope, assume the system will be used in a small business environment. Note also that, this assignment does not require you to write/submit a java program. Research and evaluate the essential requirements and usage of such a system, and create a design for a Java program that would solve the problem. Your design report should be at least three pages and at most four pages. For full points, your solution must include all five of these sections. Please clearly identify the sections in your document: (1) Problem Description: Describe the salient features and main components of the business problem. Document the sources you used to obtain the problem examples or business case information. (2) Interpretation: Does the business problem make sense? Did you notice any unmentioned requirements that should be addressed by a solution? If you have experience relating to the business problem, can you identify anything that should be resolved differently than stated in the business case? (3) Classes: Detail the specific classes that would be required for the problem solution. Use the concepts from Chapter 8's first two sections to determine what classes are best suited to the problem - as noted in Chapter 8, classes typically are related to specific "nouns" in the problem description. (4) Class Methods: For each of the classes from section (2), describe in detail (but do not implement) the methods that would be required in each class. Explain the purpose and the action for each method. Remember that methods are typically "verbs" or "actions" related to the problem and its solution. (5) Summary: Explain why your classes and methods completely solve the business problem outlined in Section 1 and discuss whether your assumptions and alternatives are suitable, appropriate and completely solve the problem. Sample Requirements and Design (Please note: This is intended to an example of the format that is useful for this document. The problem description, description of each class, and method descriptions are terse-your paper should more fully describe each section.) Problem Statement A small bank has been chartered and needs a system to maintain its list of around 100 customers and the customer's bank accounts (each customer typically has a checking account and a savings account, but can have additional checking and/or savings accounts). Accounts can be checking (no interest is paid), or savings (interest is paid monthly). The bank's tellers need to be able to access a customer's list of accounts, and then do operations including deposit, withdraw, and check balances. The bank's manager needs to be able to apply interest monthly to each savings account. The bank's manager also needs to be able to get the total balance of the accounts, to find the customers whose accounts have the highest balances to be able to send the customer special offers to thank them for their business, and find accounts with balances under $100 to apply a monthly service charge. Interpretation The bank's business case apparently addresses only deposit accounts (checking and savings). Banks also make loans, and a full solution would address making loans and tracking loan payments. However, that would significantly expand the scope of the problem and is not addressed in this design. Classes Likely classes needed to implement this solution: BankAccount - stuff about an account (more details required) BankAccounts - maintain a collection (probably an ArrayList) of accounts Bank - to contain information about all the accounts and customers Customer - stuff about a customer (more details required) Customers - maintain a collection (probably an ArrayLists) of customers Bank Teller - user interface for the bank tellers (access customer's accounts, deposit and withdraw funds). BankManager - user interface for the bank manager - find accounts with large balances, apply interest to savings accounts, and apply monthly service charge to accounts under the $100 minimum balance. BankProgram - main method - allows a teller or manager to login and use the program InsufficientFundsException - to report an attempt to withdraw too much money from an account Class Methods BankAccount Deposit - add funds Withdraw - remove funds from the account, or throw an InsufficientFundsException if the account does not have enough money. getAccountNumber - get the account number. getBalance - get the account's balance. getCustomer - get the customer to which the account belongs. addInterest - for savings account, apply the specified interest rate. applySeviceCharge - for accounts with balance under $100, apply a service charge. BankAccounts Find - find an account by account number. addAccount - add an account to the collection. removeAccount - remove an account from the collection. Bank findAccounts - find the accounts for a customer. readAccounts - read the account information from a file and store in the BankAccounts collection. readCustomers - read the customer information from a file and store in the Customers collection. saveAccounts - save the account information to a file. saveCustomers - save the customer information to a file. Customer getName - get the customer's name. getAddress - get the customer's address. setName - set the customer's name. setAddress - set the customer's address. Customers FindByCustomerNumber - find a customer by number. FindBy CustomerName - find a customer by name. addCustomer - add an account to the collection. removeCustomer - remove an account from the collection. BankTeller teller - menu for the teller to access a customer and the customer's accounts. Provides access to create a new customer, create a new account for a customer, deposit or withdraw funds for an account, and get the customer's account balances. BankManager manager - menu for the manager to find accounts with large balances, apply interest to savings accounts, and apply monthly service charge to accounts under the $100 minimum balance BankProgram main - login the user and, depending on the user's type, run the Bank Teller's teller method for teller users, or the BankManager manager method for manager users. InsufficientFundException getMessage - to get the description for the exception. printStackTrace - to print where the exception occurred in the program. Summary The Bank, Customer, Customers, BankAccount, and BankAccounts classes will provide the necessary functionality to operate the bank. The BankTeller and BankManager classes will provide the different functions needed for the two different types of users identified in the problem statement. The BankProgram class will provide a way to run the program and access the accounts depending on the type of user. This design does not keep a list of the transactions, though. That is something that would be necessary in an actual bank management program to enable auditing. Finally, as noted in the Interpretation section, a full bank management system would also manage loan accounts

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Concepts International Edition

Authors: David M. Kroenke

6th Edition International Edition

0133098222, 978-0133098228

Students also viewed these Databases questions

Question

Discuss how frequently households trade securities.

Answered: 1 week ago