QATAR UNIVERSITY Database Systems Lab (CMPS 351)
PBL Project
College of Engineering Spring 2020 Semester
Dept. of Computer Science & Eng.
Project Based Learning (PBL) – Human Resources System
Due to 25h of April, 2020
وقد تصل عقوبة ھذه المخالفة في بعض الحاالت إلى الفصل،یعد الغش مخالفة أكادیمیة وفقا للوائح والقوانین المعمول بھا في جامعة قطر
النھائي من الجامعة وعلى الطالب تجنب القیام أو المشاركة في أي عمل یخالف میثاق النزاھة االكادیمیة وإجراءات االختبارات المعمول بھا
.بجامعة قطر
Cheating is an academic violation according to Qatar University rules and regulations, and in some cases, it
may result in final dismissal from the University. Students should not under any circumstances commit or
participate in any cheating attempt or any act that violates student code of conduct.
You are required to develop a simple HR application for a small accounting firm that wishes
to keep track of all the employees at the firm; storing details about their salary, phone numbers
and Date of Birth. The firm has many departments and there are 5 to 20 employees in each
department. The department information includes department name, description and total
number of employees in that department. The company also provides vehicles for some of its
employees. An employee maybe allocated one car. To ensure timely maintenance of vehicle,
the company would like to store the following details of the vehicle: make, model,
next_maintenance_date.
Each employee has a position (manager, accountant, administrator, clerk, etc.). Various
allowances are allocated to each position. For example, the managers have fuel allowance,
house allowance, social allowance and managers allowance. On the other hand, the
administrators have house allowance and social allowance. Clerks have social allowance and
uniform allowance. The name and description of each allowance needs to be stored.
The HR system keeps track of all Projects in the organization. Each department is assigned to
one or more project. Project can be assigned to one or more department (Interdisciplinary
projects).
Each HR Employee has his own credentials to login into the system to manipulate the database.
The HR credentials are stored in a table (Login). You will also need a table to store transactions
(Transaction Date/Time and User Name).
The system must store employees’ grades. Each employee will have a grade (Example A, B,
C). The grade should have a predefined salary range.
You need to have the following constraints in your system: The employee’s salary should be
between the grade range (Example: Grade A - Salary between 30000-50000). Employee’s
phone number and Date of Birth should not be empty. Vehicle next maintenance is within 6
month of current date. Each position should not exceed the predefined allowances.
Part A:
Include the following before drawing the ERD:
a. Write the business rules.
b. Identify all Entities and attributes
c. Identify Primary key and Foreign Key in each table/Entity
d. Identify the Relationships between Entities.
e. Resolve any M:N relationship between the entities.
Part B:
Draw the ERD using any Data Modelling Software.
Part C:
Create the SQL script to create tables and insert at least five record in each table.
Part D:
The System must provide the following functionalities:
1- Login Screen with a Username and Password for HR Employees only. Retrieve
Username and password from table login.
2- Add a new Employee.
3- Remove an Employee.
4- Update employee’s salary.
5- Search by Project number to retrieve information about project description.
6- The system must fire a SQL trigger whenever adding a new employee. The trigger
must store the following information (Date/Time transaction and the Username)
7- The System must provide the following reports:
7-1- Employee History (Employee Name, Department Name, Position Name).
7-2- Vehicle History (Employee Name, Vehicle Model).
7-3- Project History. (Project Name, Project Description).
Part E:
Create the Screens using Java Swing Windows Builder
Grading:
Task Percentage
Develop ERD 30% Any questions about the project,
SQL Script 10% ask the customer (Aws Yousif)
1 10%
2,3,4,5 20%
6,7 20%
GUI 10%
Important:
1. Submitting Due Date: 25th of April 2020.
2. The grade for the project is 10 points distributed as follows:
2.1 Project (ERD + SQL Script (Schema) + Java Application source code + Report)
(80%)
2.2 Discussion and project demo (20%):
3. Copying and/or plagiarism (-100%)
4. Program does not compile (-50%)
5. In case of late submission, (-10%) for each day of delay.
6. No Teamwork effort (-20).
7. Each group can have two to three students.
8. Include all work in one ZIP file (Student1_Student2_Student3.zip)