Phase 1: Designing the structural part of your application (1) Create a UML class diagram that models at least four classes (you can add more classes as you see necessary) as follows: An abstract class called Item with itemID, itemName, price, and an abstract method called orderSummary that takes a parameter called “quantity” of type integer and then it will show the purchase summer to the customer (will be used when the customer buy a specific item). A class called User with userID, firstName, lastName, username (for login), password, email, and userType (either “admin” or “customer”) Two subclasses of class Item that are called Electronics and Clothes. Class Electronics contains brand, model, and year • Class Clothes contains color, department, and size (2) Create a project called E-Store Management System (EMS) and implement the aforementioned classes. (3) Declare some overloaded constructors with parameters for each class, along with appropriate methods as you see fit, and declare all the data fields to be private. (4) The items in both categories will be stored in two separate text files (electronics.txt and clothes.txt)
Phase 2: Designing the user interfaces of the application (5) Regarding the graphical interfaces of the application, it’s required to design at least 7 GUIs (use the interfaces designs below as a reference to help you understand what operations and options should be provided in each interface): 1. The main interface (the login screen) enable the user to login to the application. Note, there are two types of users: Admin, and Customer. In this project, you can hard-code the credentials of the Admin and the Customer, and one account of each type of users will be enough
3. The customer interface will show the following tasks: a. Showing the list of items from each file in the console window right after the customer has logged in. b. The options “Electronics” and “Clothes” mean that the customer wants to buy an item from either these categories, where it will take the user to the “Item Purchase Form” (a demonstration for the interface is shown below). Note that the fields “itemID” and “itemName” are required in order to complete the purchase transaction. Also, the the window (shown in red). The purchase summery will be displayed using the method “orderSummary”. c. When pressing the “Exit” button, the system will terminate the application. customer can specify the quantity for the item that he wants to purchase, and when the purchase transaction is complete, the order summary will be displayed at the bottom of
Kingdom of Saudi Arabia
Ministry of Education
Taibah University
College of Computer Science and Engineering
(CCSE)
Computer Science Department
كلية علوم وهندسة الحاسب اآللي
قسم علوم الحاسب اآللي
CS112: Programming 2 – Group Project
Second Academic Semester 2021-2022
Project Guidelines:
•
•
Credits: This project is worth 8% of your final grade.
Groups: You are required to form groups of (3-5) students for each project (individual work is not
allowed).
•
Submission:
o Due Date: Thursday 26 May 2022 at 11:59 pm (Week 16).
o
o
o
o
•
This project should be submitted on blackboard and only one member of the group should
make the submission.
Late submission: You will lose 10% of the total mark per hour.
Please note that any submission after due date will NOT be accepted.
Note that, if you do not follow the submission guidelines, your work might not be marked.
Deliverables: You are required to upload the following files on Blackboard as part of this project:
• A written report (electronic not printed: .doc/.docx or .pdf) That must contain a cover
page with student names, their numbers, course name and code and the role of each
team member in the project.
•
All required source code must be zipped in a single file.
•
Include the following header (in English) as comments at the beginning of the source
file:
/*
Title:CS112 Group Project
Students Names:
Students IDs:
Section:
*/
•
•
The program should be well documented, and the rule of java naming conventions
should be applied properly.
Discussion: Week 17 will be dedicated to project discussions. Each group defends their work (i.e.
must be able to explain each line fully in the presentation) that will be validated by faculty. Note
that not showing in discussion will cause marks deduction.
•
Plagiarism: In case of plagiarism, zero tolerance policy will be applied. This means that the
submitted project will be rejected and zero marks will be given.
P a g e 1|5
Kingdom of Saudi Arabia
Ministry of Education
Taibah University
College of Computer Science and Engineering
(CCSE)
Computer Science Department
•
كلية علوم وهندسة الحاسب اآللي
قسم علوم الحاسب اآللي
Assessment criteria:
The work will be assessed NOT on the quantity but on the quality of the design and
implementation. Most generally, you will be assessed in accordance with the following criteria:
• Meeting the project requirements;
• Mastery and the use of some advanced OOP features such as overloading/overriding methods
and classes that implement reference-type interfaces;
• Clear understanding; and
• Cooperation between the team.
Project Objective:
The purpose of this project is to enable the students to demonstrate their understanding of object
oriented concepts in building a simulation of E-Store Management System. You will be able to
combine your knowledge of encapsulation, abstraction, and inheritance along with different
techniques such as working with files and building graphical user interfaces that you have learned
throughout the semester to develop this system. The application has two types of users:
•
•
Administrator
Customer
Project Requirements:
Phase 1: Designing the structural part of your application
(1) Create a UML class diagram that models at least four classes (you can add more classes as you see
necessary) as follows:
• An abstract class called Item with itemID, itemName, price, and an abstract method called
orderSummary that takes a parameter called “quantity” of type integer and then it will show the
purchase summer to the customer (will be used when the customer buy a specific item).
• A class called User with userID, firstName, lastName, username (for login), password, email, and
userType (either “admin” or “customer”)
• Two subclasses of class Item that are called Electronics and Clothes.
• Class Electronics contains brand, model, and year
• Class Clothes contains color, department, and size
(2) Create a project called E-Store Management System (EMS) and implement the aforementioned classes.
(3) Declare some overloaded constructors with parameters for each class, along with appropriate methods
as you see fit, and declare all the data fields to be private.
(4) The items in both categories will be stored in two separate text files (electronics.txt and clothes.txt).
P a g e 2|5
Kingdom of Saudi Arabia
Ministry of Education
Taibah University
College of Computer Science and Engineering
(CCSE)
Computer Science Department
كلية علوم وهندسة الحاسب اآللي
قسم علوم الحاسب اآللي
When either users (Admin or Customer) log-in into their respective account, the items from both files
will be displayed on the console window (as shown below).
Phase 2: Designing the user interfaces of the application
(5) Regarding the graphical interfaces of the application, it’s required to design at least 7 GUIs (use the
interfaces designs below as a reference to help you understand what operations and options should be
provided in each interface):
1. The main interface (the login screen) enable the user to login to the application. Note, there are
two types of users: Admin, and Customer. In this project, you can hard-code the credentials of the
Admin and the Customer, and one account of each type of users will be enough.
P a g e 3|5
Kingdom of Saudi Arabia
Ministry of Education
Taibah University
College of Computer Science and Engineering
(CCSE)
Computer Science Department
كلية علوم وهندسة الحاسب اآللي
قسم علوم الحاسب اآللي
2. The second interface is the Admin main menu where he can perform the following tasks:
a. Showing the list of items from each file in the console window right after the admin has
logged in.
b. Adding a new item to either electronics.txt or clothes.txt files.
c. Deleting an existing item from either electronics.txt or clothes.txt files (design both
interfaces in b and c as you see fit).
d. When pressing the “Exit” button, the system will terminate the application.
P a g e 4|5
Kingdom of Saudi Arabia
Ministry of Education
Taibah University
College of Computer Science and Engineering
(CCSE)
Computer Science Department
كلية علوم وهندسة الحاسب اآللي
قسم علوم الحاسب اآللي
3. The customer interface will show the following tasks:
a. Showing the list of items from each file in the console window right after the customer
has logged in.
b. The options “Electronics” and “Clothes” mean that the customer wants to buy an item
from either these categories, where it will take the user to the “Item Purchase Form” (a
demonstration for the interface is shown below). Note that the fields “itemID” and
“itemName” are required in order to complete the purchase transaction. Also, the
customer can specify the quantity for the item that he wants to purchase, and when the
purchase transaction is complete, the order summary will be displayed at the bottom of
the window (shown in red). The purchase summery will be displayed using the method
“orderSummary”.
c. When pressing the “Exit” button, the system will terminate the application.
P a g e 5|5