0% found this document useful (0 votes)
7 views5 pages

Reflection Paper Diproglang

The document details the development of the IQOR Employee Management System, highlighting the use of procedural and object-oriented programming to manage employee records and automate wage calculations. It discusses the benefits of modular design, subprograms, and encapsulation in improving code maintainability and adaptability. The project also emphasizes the importance of organized code, problem-solving, and teamwork in software development.

Uploaded by

John V
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views5 pages

Reflection Paper Diproglang

The document details the development of the IQOR Employee Management System, highlighting the use of procedural and object-oriented programming to manage employee records and automate wage calculations. It discusses the benefits of modular design, subprograms, and encapsulation in improving code maintainability and adaptability. The project also emphasizes the importance of organized code, problem-solving, and teamwork in software development.

Uploaded by

John V
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

HOLY ANGEL IQOR Management

UNIVERSITY System
School of Computing CS-202
Introduction
Building the IQOR Employee Management System for the Design and Implementation of Programming
Languages was a challenging and rewarding final project. Our group, which included Bernarte, Karl
Shane; Cabico, John Christian; Ibe, Gian Kyle; Sigua, Carl Jerome; and Vender, Joalnes John, created a
system to manage employee records, automate wage estimates, and make administrative tasks easier. I
worked on multiple parts of the project, including writing this view, coding, and documenting.
Everything considered, this event helped us get better at writing and made our understanding of system
design and implementation clearer.

Paradigm Used

We found that using both procedural programming and object-oriented programming together worked
well for this job. Payroll systems usually work step-by-step way, with users entering information about
employees, pay being calculated, and the results being shown. Using a structured method helped us set
up the code in a way that was clear and made sense. Key jobs, like figuring out wages, keeping track of
employees' records, and getting data, were done by separate functions. This modular design made sure
that each function had a clear job to do, which made it easier to maintain the code and find bugs. Using
OOP ideas also let us organize employee data within a class, which made it easier to keep track of
records and organize the logic. When these two types of code were put together, they made a system that
was both structured and flexible, so it could be changed in the future with little trouble.

Effect of Subprograms & Parameter Passing


Using subprograms and argument passing in JavaScript made the IQOR Employee Management
System's code structure, ability to be reused, and adaptability a lot better. By splitting up tasks like
figuring out salaries and managing employee records into separate parts, the system became more
modular and easier to debug. Using parameter passing made dynamic data management possible, which
let people quickly change or update their personal information without having to rewrite the code. This
approach also made it easier to maintain the code, which gave the team more control over future
improvements and feature additions.

Complexity & Encapsulation


Though it has added some complexity, employing abstract data types in JavaScript and using
encapsulation have helped to organize and control the IQOR Employee Management System. The
system is now simpler to maintain and grow by classifying employee data like Employee and
EmployeeManager. By keeping relevant data and functions together, encapsulation has improved the
management and security of employee records. Although the use of abstract data types has increased the
speed of operations on employee records, it also calls for a deeper knowledge of object-oriented
programming. Though it creates difficulties, this more complex code complexity finally results in a
better system design.

1|Page
HOLY ANGEL IQOR Management
UNIVERSITY System
School of Computing CS-202

Appendices
Entity Relationship Diagram (ERD)

Data Dictionary:

2|Page
HOLY ANGEL IQOR Management
UNIVERSITY System
School of Computing CS-202

Database Structure

CREATE DATABASE company;

CREATE TABLE UserAccount (


user_id INT(11) PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(100) UNIQUE NOT NULL,
password_hash VARCHAR(255) NOT NULL,
role VARCHAR(100) NOT NULL
);

CREATE TABLE Department (


Department_id INT(11) PRIMARY KEY AUTO_INCREMENT,
Department_name VARCHAR(100) UNIQUE NOT NULL
);

CREATE TABLE Employee_Status (


Status_id INT(11) PRIMARY KEY AUTO_INCREMENT,
Employee_status VARCHAR(50) UNIQUE NOT NULL
);

CREATE TABLE Employee (


EmployeeID INT(11) PRIMARY KEY AUTO_INCREMENT,
EmployeeName VARCHAR(255) NOT NULL,
Department_id INT(11) NOT NULL,
Status_id INT(11) NOT NULL,
RatePerHr DECIMAL(7,2) NOT NULL,
HoursWorked INT(11) NOT NULL,
DateHired DATE NOT NULL,
GrossPay DECIMAL(10,2) DEFAULT NULL,
OvertimePay DECIMAL(10,2) DEFAULT NULL,
TotalPay DECIMAL(10,2) DEFAULT NULL,
FOREIGN KEY (Department_id) REFERENCES Department(Department_id),
FOREIGN KEY (Status_id) REFERENCES Employee_Status(Status_id)
);

INSERT INTO Department (Department_name) VALUES


('Software Development'),
('Quality Assurance'),
('Data Science'),
('Cybersecurity');

INSERT INTO Employee_Status (Employee_status) VALUES


('Permanent'),
('Probational'),
('Contractual');

INSERT INTO UserAccount (username, password_hash, role) VALUES


('admin', 'hashedpassword123', 'Administrator'),
('manager1', 'hashedpassword456', 'Manager'),
('employee1', 'hashedpassword789', 'Employee');

INSERT INTO Employee (EmployeeName, Department_id, Status_id, RatePerHr, HoursWorked, DateHired, GrossPay,
3|Page
HOLY ANGEL IQOR Management
UNIVERSITY System
OvertimePay, TotalPay)
School of Computing CS-202
VALUES
('Smith, John A.', 1, 1, 300.00, 45, '2015-04-10', 13500.00, 0.00, 13500.00),

('Johnson, Emily B.', 2, 2, 250.00, 40, '2018-07-22', 10000.00, 0.00, 10000.00),


('Williams, Michael C.', 3, 3, 280.00, 50, '2020-10-15', 14000.00, 0.00, 14000.00),
('Brown, Sarah D.', 4, 1, 320.00, 48, '2013-12-01', 15360.00, 0.00, 15360.00),
('Davis, Robert E.', 1, 2, 270.00, 38, '2019-05-17', 10260.00, 0.00, 10260.00),
('Miller, Jessica F.', 2, 3, 260.00, 42, '2021-09-30', 10920.00, 0.00, 10920.00),
('Wilson, Matthew G.', 3, 1, 310.00, 47, '2017-08-14', 14570.00, 0.00, 14570.00),
('Moore, Ashley H.', 4, 2, 290.00, 50, '2022-03-05', 14500.00, 0.00, 14500.00),
('Taylor, Christopher I.', 1, 3, 275.00, 46, '2016-06-25', 12650.00, 0.00, 12650.00),
('Anderson, Sophia J.', 2, 1, 330.00, 44, '2014-11-20', 14520.00, 0.00, 14520.00);

4|Page
HOLY ANGEL IQOR Management
UNIVERSITY System
School of Computing CS-202
Challenges and Problem-Solving
Designing the framework of the management system and determining how to store data effectively
became one of the difficulties we faced during the coding process. We had to think about how people
could be added, modified, deleted, and searched inside the system. This drives us to explore code
implementations online that would enable us to properly manage these features. Debugging mistakes
influencing the precision of wage computations and employee record changes was another significant
difficulty. Some problems, such as erroneous data retrieval or overtime pay miscalculations, called for
thorough testing and diagnosis. Our analysis of our logic, execution of test cases, and comprehensive
code debugging to guarantee the system was functioning properly fixed these issues.

Lessons Learned
This project showed us how important it is to have well-organized code and to be able to solve problems
quickly when building a management system. Breaking the code into smaller, easier parts made it
simpler for us to understand, fix, and modify it. We realized that it’s important to keep our personnel
records organized and well-preserved to ensure they are reliable. Learning about object-oriented
computing concepts, especially encapsulation and abstraction, really assisted us in creating a well-
functioning system. Going through the troubleshooting process highlighted how important it is to be
patient and to thoroughly review and test the code to prevent errors. This project helped us get better at
programming, work together as a team, and be more adaptable when things get tough.

Conclusion
The project was challenging, but IQOR Employee Management System was a fun project,
and we had a chance to learn to work on system design as well as programming. Using OOP
and proper structuring of the code, we created a management system that runs fast and
efficiently. We learned how to deal with problems such as data collection, debugging, and
improving functionalities, all posed some challenges, and we grew with overcoming them.
This project also demonstrated how fundamental continuing to learn is to software
development, as well as collaborating with others and researching topics.

5|Page

You might also like