1. Homepage
  2. Programming
  3. 159.234 OBJECT-ORIENTED PROGRAMMING - Assignment3: Computer store’s management system

159.234 OBJECT-ORIENTED PROGRAMMING - Assignment3: Computer store’s management system

Engage in a Conversation
New ZealandMassey University159.234 159234OBJECT-ORIENTED PROGRAMMINGJava

159.234 OBJECT-ORIENTED PROGRAMMING S1, 2023 Assignment 3 CourseNana.COM

Evaluation: 40 marks (20% of your final grade) Late Submission: Deduct 5 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 CourseNana.COM

  1. System Description (Overview of Problem)
    You are asked to write a program in Java to simulate a computer store’s 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 computer’s 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 store’s management system to view a list of all computers and sort them. A salesperson can also search for computers by category and type before clicking on a search result to view that computer’s details. A manager can log into the computer store’s management system to do everything that a salesperson can do, but a manager can also maintain records—by updating computer details or adding and deleting computers. CourseNana.COM

  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 store’s 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 store’s system—three salespersons and two managers—using 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) CourseNana.COM

  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 implementation—proper use of modifiers a. Private/Protected/Public b. Must make use of getters and/or setters wherever appropriate 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 Hash Map 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 program—e.g.: CourseNana.COM

    /* 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 6. You MUST use the following test data in your assignment: 1) Staff details Usernames Passwords Staff 1 – Salesperson p1 p1 Staff 2 – Salesperson p2 p2 Staff 3 – Salesperson p3 p3 Staff 4 – Manager m1 m1 Staff 5 – Manager m2 m2 CourseNana.COM

3) Example GUI and functions narrations: Note: this is just a sample GUI design; you are free to design your own GUI and function flow as long as they are reasonable and complete the tasks listed in item “2.” above When the program runs: CourseNana.COM

Record of Desktop PC: Category, Type, ID, Brand, CPU Family, Memory Size (GB), SSD Capacity (GB), Price ($) Record of Laptop: Category, Type, ID, Brand, CPU Family, Memory Size (GB), SSD Capacity (GB), Screen Size (Inches), Price ($) Record of Tablet: Category, Type, ID, Brand, CPU Family, Screen Size (Inches), Price ($) Click “login” icon button Log in as a salesperson CourseNana.COM

Can select and display computers from any Category (No specific order required) List of all computers (No specific order required) CourseNana.COM

Can select and display computers from any Category and its sub type Can click any selected computer to check its details Note that all editing functions are disabled for a salesperson Click to log out pre-login screen is displaye CourseNana.COM

This time, log in as a manager (note that both “Browse” and “Check/Update” tabs are enabled this time) A manager can use all the search functions that a salesperson can CourseNana.COM

A manager can click “Add” to add a new computer (‘Model ID’ is unique, so a new computer can’t use an existing ‘Model ID’) CourseNana.COM

New computer’s details reflected in list A manager can click ‘Update’ to update a computer’s details; any data can be modified except ‘Model ID’ Pop-up window to confirm success of update CourseNana.COM

Update reflected in this list A manager can click ‘Delete’ to delete a computer from the system Clicking ‘Clear’ will clear all text fields’ values on this tab too (but does not actually change or delete a computer’s data ) CourseNana.COM

List also reflects deletions Click “Log out” to go back to pre-login screen CourseNana.COM

Get in Touch with Our Experts

Wechat WeChat
Whatsapp Whatsapp
New Zealand代写,Massey University代写,159.234 代写,159234代写,OBJECT-ORIENTED PROGRAMMING代写,Java代写,New Zealand代编,Massey University代编,159.234 代编,159234代编,OBJECT-ORIENTED PROGRAMMING代编,Java代编,New Zealand代考,Massey University代考,159.234 代考,159234代考,OBJECT-ORIENTED PROGRAMMING代考,Java代考,New Zealandhelp,Massey Universityhelp,159.234 help,159234help,OBJECT-ORIENTED PROGRAMMINGhelp,Javahelp,New Zealand作业代写,Massey University作业代写,159.234 作业代写,159234作业代写,OBJECT-ORIENTED PROGRAMMING作业代写,Java作业代写,New Zealand编程代写,Massey University编程代写,159.234 编程代写,159234编程代写,OBJECT-ORIENTED PROGRAMMING编程代写,Java编程代写,New Zealandprogramming help,Massey Universityprogramming help,159.234 programming help,159234programming help,OBJECT-ORIENTED PROGRAMMINGprogramming help,Javaprogramming help,New Zealandassignment help,Massey Universityassignment help,159.234 assignment help,159234assignment help,OBJECT-ORIENTED PROGRAMMINGassignment help,Javaassignment help,New Zealandsolution,Massey Universitysolution,159.234 solution,159234solution,OBJECT-ORIENTED PROGRAMMINGsolution,Javasolution,