Computer Software Engineering Report

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 12

STAFF ATTENDANCE SYSTEM

GROUP 9

Madaki Bilal Saeed U20MTE1047


Suleiman Alameen U20AE1028
Abasiono Divine Benjamin U20AE1015
Israel Williams Tumta U21AE2002
Ekwedike Chidiebere Shedrack U20MTE1037
Love Divine Princess David U20AE1042
David Prince Hope U20MTE1023
Princewill Ewereada Olofu U20AE1047
 PROBLEM DEFINITION

What is the problem? Or Problem definition.


 Poor monitoring and management of staff attendance
 Late coming of staff
 Staff capacity
Why is it a problem?
 Increase of employed staff ratio to management system.
 Low capacity of attendance system to handle staff data.
What we intend to do.
Our intended solution for the problem is the creation of staff attendance
system with a graphical user interface where an individual staff can login
details and mark his/her presence and time of attendance and other vital
details for that particular work day, in order to aid the management for easy
monitoring of staff.

 AN OUTLINE OF THE INTENDED SOLUTION.


 Creating a web for the attendance system.
 Creating individual staff dashboard on the system.
 Accessible monitoring system for the management for monitoring
purposes.
 Set up the staff attendance system.

 INTENDED SOFTWARE DEVELOPMENT PROCESS MODEL.

We intend to use the iterative model in the creation of the system. The
choice of the model is as result of it flexibility in terms of visiting the earlier
made iterations and response to customer in each built.
 ANALYSIS STAGE
 Feasibility study
 We will use this feasibility study to determine whether the project is
viable and possible for us to perform.
 Looking at it from a technical standpoint, we can get the required
technology needed for the project as not much is needed. The software
can easily be compatible with the current hardware and software on
ground in the school
 From an operational standpoint, the software depends on the company's
existing business processes. The system will have to contain the staff
names and their respective designations. The system should be user-
friendly and should not be tough for the staff to use. The system should
be able to generate accurate attendance reports.
 From an economic standpoint, the project will have to be within our
budget range and be reasonably priced. It should not be something hard
for us to fund and recover the money as the project doesn't require much
resources.
 From a Legal Standpoint, the system software should comply with the
country's legal framework. We should ensure that the software system
complies with labor laws, data privacy laws, and other relevant laws. The
system should be able to maintain the privacy and confidentiality of
employee data.
 From this we can determine that the staff attendance software system will
be feasible. The software system can improve the accuracy of attendance
tracking, and improve productivity. The company should ensure that the
software system is technically feasible, operationally feasible,
economically feasible, and legally feasible.

 REQUIREMENTS ENGINEERING
 For this part, we will gather, analyze, specify, and validate the
software used to manage staff attendance.
 For gathering requirements, we would need to gain information from
the employees, managers, IT staff and others for their expectations on
the project. Also we can review the existing attendance system for
more information on what is required.
 We would then analyze them to determine their feasibility,
completeness, compatibility. We would need to find out which ones
are functional and non functional requirements.
 We would then prioritize the most important and feasible
requirements, getting a system scope by identify boundaries and
determining what features will be used.
 Make use cases for the software to see it used in different scenarios.
Make a document of the summary of the requirements and review ad
validate them.

 DESIGN STAGE

 The design approach for a staff attendance software system will


contain the method in which we will go about doing the project. It
requires a thorough understanding of the requirements and user needs.
 Identify the key features that are needed in the system such as time
tracking, leave management, overtime tracking, and reporting by
gathering information from people working in the company.
 Decide the technology needed to perform this task. Using a
programming language like Java or Python for the server side,
mySQL to make the database and HTML CSS JAVASCRIPT to make
it a web based application.
 Plan the architectural design for the project. Decide on the database
schema, system components, and integration with other systems such
as payroll
 Develop, test the system according to the architectural design and
selected programming language for the project
 Deploy the system to a test environment then to production to ensure
it is secure.
 Train and support those who would use the system so they can use it
effectively.
 Manage and maintain the software by fixing bugs, adding new
features as needed.

 ARCHITECTURAL DESIGN
 For the system architecture, we can use a client-server architecture. It
has 2 main components: a client side application that runs on the
user's device and a server side application that runs on a remote
server.
 It should also have a database that will store all the attendance data
received from the client-side application. The database can be
implemented using a relational database management system
(RDBMS) such as MySQL or PostgreSQL.
 It should have a network that the client side and server side will
communicate over this can be internet or intranet or VPN.
 It should be design in a way that is very secure to prevent
unauthorized personnel accessing the data. This can be achieved by
implementing authentication and authorization mechanisms such as
user accounts and access control lists.

 It should be implemented in conjunction with other systems in the


company like time tracking, payroll systems for a complete solution to
attendance management.

 USER INTERFACE DESIGN

 For the user interface, there are several factors that need to be considered
to ensure that the system is intuitive, efficient, and effective.
 It should be something simple to use with clear navigation, not too much
information and clean design. It should use easy to understand language
and interface should be intuitive using clear labeling and logical
workflows.
 It should be able to provide feedback to users when they complete an
action, use visual cues to guide a user through the system.
 Test the interface with real users and get feedback on what works and
what needs improvement.

 DETAILED DESIGN
 User front end developed with PHP admin code consisting of login screen,
staff attendance entry, reports, logout, etc.
 Access control, authentication, authorization and data encryption.
 Performed efficiently and handles a large number of user and transactions.
 Back end architecture built with Node.js to support scalability, reliability,
security and performance.
 Performance, maintainability and reliability are vital design
considerations.

 IMPLEMENTATION STAGE
With the system design in place, the development team proceeded building the
system
The implementation stage involves;
 Programming (coding): The online staff attendance system can be built
using various programming languages and frameworks. For this report, we
will use PHP and MySQL to build the system. PHP is a popular server-side
scripting language used for web development, while MySQL is an open-
source relational database management system.
The system can be broken down into the following components:

1. Login and Authentication System: The system has a secure login and
authentication system that enables only authorized users to access the
system.

2. User Management System: The system should has a user management


system that allows the administrator to add, edit, and delete users.

3. Attendance Management System: The system allows the employees to


mark their attendance and enable the administrators to view and manage
the attendance records.
4. Reporting System: The system generates reports that provide insights
into employee attendance patterns, including daily attendance reports,
monthly attendance reports, and custom reports.
 System integration: This refers to the process of connecting different software
systems and applications to work together seamlessly. In the context of an
online staff attendance system, system integration involves connecting the
attendance system with other existing systems within an organization, such as
payroll systems and human resource management systems. The integration of
an online staff attendance system with other systems can help organizations to
automate and streamline their processes, reduce errors, and save time and
resources.
There are several ways to integrate an online staff attendance system with other
systems, including:

1. Application Programming Interfaces (APIs): APIs allow different software


systems to communicate with each other by sharing data and functionality. The
attendance system can expose APIs that allow other systems to access
attendance data.

2. File Transfer Protocol (FTP): FTP is a protocol used for transferring files
between systems. The attendance system can export attendance data in a format
that can be imported by other systems using FTP.

3. Web hooks: Webhooks are a way for applications to receive real-time


notifications when events occur in another application. The attendance system
can trigger webhooks when attendance data changes, which can be used by
other systems to update their data.

4. Middleware: Middleware is software that acts as a bridge between different


systems, enabling them to communicate and share data. The attendance system
can be connected to a middleware solution that can facilitate integration with
other systems.

5. Custom Integrations: In some cases, custom integration solutions may be


required to connect the attendance system with other systems. This may
involve custom programming or the use of third-party integration tools.

When integrating an online staff attendance system with other systems, it is


important to consider data security and privacy. Access controls should be
implemented to ensure that only authorized users can access attendance
data. Data encryption should also be used to protect sensitive information
during transmission. Additionally, organizations should ensure that they
comply with relevant data protection regulations and policies when
integrating systems.
 TESTING
Testing is a critical phase in the development of any software system,
including an online attendance system. Testing ensures that the system
functions as intended and meets the requirements of the users. This report
outlines the testing process of an online attendance system.

Types of Testing

1. Unit Testing: Unit testing involves testing individual components of the


system, such as functions and modules, to ensure that they function
correctly. Unit tests can be automated using testing frameworks such as
PHP Unit for PHP.

2. Integration Testing: Integration testing involves testing how the different


components of the system work together. This ensures that the system
functions correctly as a whole.

3. System Testing: System testing involves testing the system as a whole to


ensure that it meets the requirements of the users. This can include
testing the system’s user interface, functionality, and performance.

4. Acceptance Testing: Acceptance testing involves testing the system with


real users to ensure that it meets their needs and expectations.

How did we test our project?


Testing an online attendance system involves a variety of steps and
techniques to ensure that it functions as intended and meets the needs of its
users. Here are some ways to test an online attendance system:
1. Functional testing: Functional testing checks that all the features and
functionalities of the system work as expected. The test cases should
cover all aspects of the system, including login/logout, recording
attendance, generating reports, and managing user accounts.

2. Usability testing: Usability testing evaluates how easy the system is to


use. It should test the user interface, navigation, and any user
interactions. This can be done by creating user scenarios and testing
them with real users.

3. Performance testing: Performance testing measures how the system


performs under different loads and conditions. Load testing, stress
testing, and endurance testing are some of the techniques that can be
used to test the system's performance.
4. Security testing: Security testing ensures that the system is secure and
prevents unauthorized access or data breaches. Security testing should
cover aspects such as data encryption, access control, and password
policies.

5. Integration testing: Integration testing checks how the system interacts


with other systems, such as HR systems and payroll systems. This
ensures that data is exchanged correctly between systems.

6. User acceptance testing: User acceptance testing involves testing the


system with real users to ensure that it meets their needs and
expectations. This can be done by creating user stories and testing them
with a group of users.

7. Regression testing: Regression testing ensures that any changes made to


the system do not impact existing features and functionalities. This
involves retesting the system after any changes are made.

8. Compatibility testing: Compatibility testing ensures that the system


works correctly on different devices, operating systems, and browsers.

In addition to these testing techniques, it is also essential to have a robust


test environment that closely resembles the production environment. This
can help to identify any issues or defects before the system goes live.
Testing should also be done in phases, starting with unit testing and
progressing to integration testing and user acceptance testing. Any issues or
defects identified during testing should be documented and resolved before
the system is launched.

 PRODUCTION
 How was the solution produced?
For the deployment and production of the online staff attendance system,
these were the steps taken.
1. Choose a web hosting provider: You will need a web hosting provider to
host the application on the internet. Look for a provider that meets the
requirements of the system, such as storage, bandwidth, and security.

2. Set up the server environment: Depending on the hosting provider, you


may need to set up the server environment by installing the necessary
software and configuring the server. This may include installing a web
server like Apache or Nginx, a database management system like MySQL
or PostgreSQL, and any other required software.

3. Upload the system files: Once the server environment is set up, you can
upload the system files to the server using FTP or another file transfer
protocol.

4. Configure the system: Once the system files are uploaded, you will need to
configure the system for use. This may involve setting up the database,
configuring the web server, and updating any configuration files.

5. Test the system: Before making the system live, it is important to test it to
ensure that it functions correctly and meets the requirements. This may involve
testing the system on different devices, browsers, and operating systems, as
well as testing its performance, security, and user interface.

6. Launch the system: Once the system has been tested and any issues have been
resolved, it can be launched on the internet. This involves updating the DNS
settings to point to the server hosting the system.

7. Maintain and update the system: After the system is launched, it is important to
regularly maintain and update it to ensure that it continues to function correctly
and meet the needs of its users.

Overall, the production of an online staff attendance system involves


deploying the system to a web hosting provider and configuring it for use. It
is important to test the system thoroughly before making it live and to
regularly maintain and update it to ensure its reliability and security.

 How to use our staff attendance system


Using an online staff attendance system typically involves the following
steps:

1. Access the system: To use the system, you will need to access it through
a web browser or mobile app. You will typically need to enter a
username and password to log in.

2. Mark attendance: Once you are logged in, you can mark your attendance
by clicking on a button or entering a code. The system may require you
to mark attendance at specific times or locations, depending on the
requirements of your organization.

3. View attendance records: The system will store your attendance records,
which you can view at any time. You may be able to view records for a
specific date range or filter records by location or other criteria.

4. Receive notifications: The system may send you notifications, such as


reminders to mark attendance, notifications of leave requests, or alerts
for any issues with the system.

 Would training be required?


Overall, using an online staff attendance system is typically straightforward
and user-friendly. The system is designed to make it easy for staff to mark
attendance, view records also providing administrators with the tools they
need to manage attendance and leave records. If you are new to the system,
you may need some initial training to get familiar with its features and
functionalities.

 MAINTENANCE
 How will the software be maintained?
 Regular monitoring of attendance data.
 Promptly addressing attendance issues with employees helps in
accountability.
 Analyzing employee attendance helps in productivity.
 Providing continuous training to employees ensures that they understand
how to properly use the attendance system and follow attendance policies
and procedures.
 PROJECT MANAGEMENT
 Assigning roles and responsibilities: The project team was assigned roles
and responsibilities, including a project manager, developers, testers, and
other team members. And every team member had a clear understanding of
their responsibilities and expectations.
 Developing a project plan: Once the project scope was defined, the project
plan was developed, outlining the timeline, budget, resources, and
deliverables. This plan was reviewed and approved by team members.
 The project took about 2 weeks.

 CONCLUSION
 The user interface should be friendly so it can easily be used by anyone
which in turn saves time.
 Accurate time tracking.

 RECOMMENDATIONS
 Implementation of an electronic attendance system to accurately track
employee attendance and reduce administrative burden.
 Conduct regular monitoring and evaluation of the attendance to ensure that
it is effective and meets the needs of the organization.
 Establishment of proper communication of the policies and procedures of
the attendance system.

 LIMITATIONS
 More expensive than manual methods.
 Needs for updates and supports unlike manual methods.
 Needs effective monitoring.
 Equipment expense, difficult to repair, power supply required.

You might also like