diff --git a/Database application b/Database application new file mode 100644 index 0000000..1bc9ad5 --- /dev/null +++ b/Database application @@ -0,0 +1,111 @@ +Databases Application +Logical Database Design of HR/Employment Management +Database Management System (DBMS) + +Sunday, January 22nd, 2023 +Group 38: +Abdul Basit [200757150] +Lubna Al Rifaie [200821590] +Harriharan Sivakumar[200676770] +Lashani Dharmasena [212378870] +Databases Application 2 +CP363 - Group 38 +Introduction / System Overview: +This project revolves around the design and implementation of an employee management +system web application that is composed of two sub-components: employee payroll +management and employee performance management. These sub-components and the system +as whole assist organizations and companies in the processes of evaluating and tracking +employee performance relative to a particular product or project and performing +payroll-related activities (i.e., calculation of gross wages, deductions, net pay, and generating +the pay stub). +To accommodate the time constraint imposed on this project, certain assumptions regarding +the scope of the system's functionalities were made: +● The performance of each employee is evaluated per project/product. +○ KPIs will be based on the project/product type. +● Each employee will be paid bi-monthly. +○ The payment cycle date is fixed and common for all employees in the +organization. This assumption is valid as it reflects general accounting +principles. +● Each employee will have a fixed wage. +User Experience / User Interface: +To utilize the functionalities of the system, users will have to initially register an organization +in the web application and create departments. Following the latter, the superuser (the user +who created the organization) can then invite other users (i.e., employees) to join newly +created departments. Certain departments, as well as users with the appropriate access level, +can create projects, set payroll details, and enter performance appraisal results into the system +via forms in the web application. Additionally, the employees can also download their pay +stubs or their appraisal results as a PDF. +Entities: +To provide and support the functionalities discussed above, the employee management +system will be composed of the following entities: +● Organization: (Strong) +○ Creating an organization entity is the entry point to our system. It will contain +basic details about the organization, such as the business registration and +payment cycle information. The attributes of this entity, such as the +payroll/payment cycle date, are important for the payroll management +functionalities as they determine when and how much each employee will be +paid. +Databases Application 3 +CP363 - Group 38 +● Employee (Weak) +○ This entity contains information about each employee of an organization, +including the bank and wage details. This information will be available for the +employee themselves to be accessed when necessary. +● Bank: (Weak) +○ This entity contains the bank details (e.g., branch number, account number, +and bank name) of each employee. Although this entity is not accessed by any +other entity, its information is used in the computation and entry of records +into the payroll entity. +● Payroll: (Weak) +○ This entity consists of details such as the hours worked by an employee, their +gross pay, and any applicable deductions required for calculating their net pay +and generating the pay stub. The latter is made possible by this entity's +relationship with the employee and organization entity. +● Performance: (Weak) +○ Whenever an employee in the organization has their performance evaluated, +the results are stored in this entity. This entity is dependent on information +from the employee and project entity. Users can access information from this +entity by viewing their performance results/evaluation. +● Product/Project: (Weak) +○ This entity contains unique information about each product/project that is +being undertaken by the organization and its employees. Additionally, the +evaluation of employees' performance is done using key performance +indicators (“KPIs”) relative to the product/projects category. It aids in +managing expectations from which employee appraisals will be entered into +the performance table according to each project or product ID. +● Department: (Weak) +○ This entity contains information regarding the different departments within the +organization, the number of employees per department, as well the +description, budget, and access scope of each department. Employees' access +levels are based on the department entity they are associated with. +Relationships: +1. Employee → Department +a. A department can manage multiple employees. +b. One employee will be managed by one department (1:N relationship) +2. Employee → Position +a. An employee can have one position +b. Multiple Employees can have the same Position (1:N relationship) +3. Employee → Bank +a. Each employee has one bank ID +b. A single bank ID will belong to one employee (1:1 relationship). +Databases Application 4 +CP363 - Group 38 +4. Employee → Payroll +a. Each employee will be submitted to one payroll +b. One payroll will be submitted by one employee (1:1 relationship) +5. Employee → Performance +a. Each employee can have multiple records in the performance entity (1:N +relationship) +b. One performance record can only belong to one employee ID (1:1 +relationship) +6. Performance → Product/project +a. Each project will have multiple performance reports (one per employee) (1:N +relationship) +b. Each performance entity record will have one project associated with it. +Performance → Employee (1:1 relationship) +7. Organization → Payroll +a. Each organization will be part of one payroll. +b. One payroll will be part of a single organization (1:1 relationship) +8. Department → Product/project +a. One department controls many projects. +b. Many projects can be controlled by one department (1:N relationship)