Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

1 1 5 9 . 2 3 4 OBJECT - ORIENTED PROGRAMMING S 1 , 2 0 2 4 Assignment 3 Deadline: 4 June 2

1
159.234 OBJECT-ORIENTED PROGRAMMING S1,2024
Assignment 3
Deadline: 4 June 2024,11pm
Evaluation: 40 marks (20% of your final grade)
Late Submission: Deduct 4 marks per day late
Individual Work You must complete this assignment by yourself (you must NOT share your code
with others or use others code)
Purpose: Reinforce Java OOP core concepts (abstraction, encapsulation, inheritance, and
polymorphism), collections framework and generics, exception handling, input and
output streams, and GUI using Swing
1. System Description (Overview of Problem)
You are asked to write a program in Java to simulate a computer stores management system
A computer store maintains three categories of computers: Desktop PCs, Laptops, and Tablets. Each
category is further divided into different types, as listed below:
Desktop PC types: Gaming, Home & Study, Business, and Compact
Laptop types: Gaming, Home & Study, Business, and Thin & Light
Tablet types: Android, Apple, and Windows
Each computers unique ID, brand, CPU family, and price need to be specified regardless of its category.
The computer store must also record memory size (GB) and SSD capacity (GB) for Desktop PCs and
Laptops as well as screen size (inches) for Laptops and Tablets.
The computer store has two types of staff: salespersons and managers. A salesperson can log into the
computer stores management system to view a list of all computers. A salesperson can also search for
computers by category and type before clicking on a search result to view that computers details.
A manager can log into the computer stores management system to do everything that a salesperson can
do, but a manager can also maintain recordsby updating computer details or adding and deleting
computers.
2. Tasks to complete:
a) Create a narrative step-by-step storyboard using screenshots of your system-generated GUIs to
demonstrate required functions of the computer stores management system (please refer to a
sample at the end of this document; you can use its format to present your work)
Your Java code should:
b) Import the provided test data (computers.txt) to your system using Java Input
c) Add five staff to the computer stores systemthree salespersons and two managersusing usernames
and passwords provided (this function should have classes designed with an appropriate inheritance
hierarchy that applies core OOP concepts)
d) Realize all functions specified in the system description above (for this assignment, you are NOT
required to update computers.txt file after a manager update/add/delete records, you only need to
update the GUI to show the change)
3. Design and Implementation Guidelines
Note: You will receive credit for correctness, completeness, no code duplication, and clear on-screen outputs.
Also, we will grade your program using the following OOP and general software implementation
guidelines:
1) Encapsulation design and implementationproper use of modifiers
a. Private/Protected/Public
b. Must make use of getters and/or setters wherever appropriate
2
159.234 OBJECT-ORIENTED PROGRAMMING S1,2024
2) Inheritance design and implementation
a. Reasonable class hierarchies
b. Proper data fields separation in base and derived classes
c. Proper methods separation/overloading/overriding in base and derived classes
d. Proper use of base and derived class constructors
3) Polymorphism and implementation
a. Write generic code that targets the base class whenever possible
b. Appropriate use of overriding in derived classes to realize polymorphism
4) Information store and implementation
a. Use HashMap and other Java collection class(es) to store information
5) Exception handling
a. Throw an exception object when an application error occurs (e.g., when an invalid piece of data is
entered)
b. Use try/catch/finally or try/catch block to handle the exception
6) Use Java Swing to implement your GUI
4. Other Specifications
You must follow the next three specifications when completing this assignment:
1) Place appropriate comments in your programe.g.:
/** explain what the program file is doing ...*/
// explain what a part/method of the program is doing...
2) DO NOT add any file path for computers.txt(put it directly in your project folder when you test your
code)
3) DO NOT add your own package name(s) to the beginning of your .java files (this requirement is only
for marking purpose)
5. Submission Requirements:
1) Your storyboard as a PDF file
2) All your .java files (source codes)
3) Zip all your files (PDF file and .java files) together and submit as a single file to Stream

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

Data And Information Quality Dimensions, Principles And Techniques

Authors: Carlo Batini, Monica Scannapieco

1st Edition

3319241060, 9783319241067

More Books

Students also viewed these Databases questions

Question

Is an advertisement an offer or an invitation to treat? Why?

Answered: 1 week ago