Professional Documents
Culture Documents
final project sda
final project sda
final project sda
CEOS
ALI RAZA 116
HUSSNAIN 040
Project details
System name:
EMPLOYE MANAGEMENT
SYSTEM
Required by :
ABC GROUP
Made by :
SOFTIA
Chapter 1:
1.1introduction
1.2objectives
1.3process model
1.3.1 waterfall model
1.3.2 agile model
chapter 2 :
2.1 requirement gathering
2.2 methods of requirement gathering
2.2.1. Interviews:
2.2.2. Surveys:
2.2.3. Observation:
2.2.4. Focus Groups
2.2.5. User Stories
2.2.6. Prototyping:
2.2.7. Document Analysis:
2.2.8. Online Research:
2.2.9. Site Visits:
2.2.10. Benchmarking
2.3 scope
2.3 functional requirement
2.4.1 Employee Information Management
2.4.2Request Management
2.4.3Payroll and Shift Management
2.4.4Task Assignment and Tracking
2.4.5Attendance Management
2.4.6Reporting
2.5 nonfunctional requirement
2.5.1Performance
2.5.2Security
2.5.3Usability
2.5.3Reliability
2.5.4Maintainability
2.5.5 Compliance
2.6.6Efficiency
Chapter 3
3.1 DFD LVL 0
3.2 DFD LVL 1
3.3 USE CASE
3.4 CLASS DIAGRAM
3.5 SEQUENCE DIAGRAM
3.6 CONCLUSIONS
CHAPTER # 01
1.1 Introduction:
In today's dynamic business environment, effective management of
human resources is essential for the success and growth of any
organization. With the increasing complexity of workforce management
tasks, there arises a need for efficient and streamlined systems to
automate various HR processes. To address this need, we present the
Employee Management System—a comprehensive software solution
designed to simplify the management of employees within an
organization.
The Employee Management System is developed as part of a university
project for the Bachelor of Science in Software Engineering program.
This project aims to demonstrate proficiency in software design,
development, and implementation by creating a console-based
application using C++ programming language.
1.2 Objectives
The primary objectives of the Employee Management System project
are as follows:
1. Efficient Employee Management: Develop a software tool that
enables managers to efficiently manage employee information,
including adding, deleting, viewing, and updating employee
records.
2. Request Management: Implement functionalities for managers to
view and approve different types of requests made by employees,
such as leave requests, short leave requests, and fund requests.
Note that the software is not used by employees to make request it
will be in another software where they can make request.
3. Payroll and Shift Management: Provide tools for managers to
manage payroll and shifts for employees, ensuring timely and
accurate processing of wages and scheduling of work shifts.
4. Task Management: Enable managers to assign tasks to employees
and track their progress, facilitating effective task allocation and
monitoring.
5. Attendance Management: Implement features for managers to
track employee attendance, including clock-in and clock-out
records, and manage attendance-related tasks.
6. Reporting: Develop reporting functionalities to generate reports
on various aspects of employee management, such as attendance
records, leave balances, and payroll summaries.
1.3PROCESS MODLE:
1.3.1WATERFALL MODLE:
Waterfall Model
Introduction to Waterfall: The waterfall model is a sequential software
development process model that follows a linear and structured
approach. It consists of distinct phases, including requirements, design,
implementation, testing, and deployment.
Key Characteristics:
Structured Approach: The waterfall model emphasizes a
systematic and structured approach to software development, with
each phase building upon the outputs of the previous phase.
Emphasis on Documentation: Documentation plays a crucial role
in the waterfall model, with comprehensive documentation created
at each phase to ensure clarity and traceability of requirements and
design decisions.
Linear Progression: The waterfall model follows a linear
progression through phases, with each phase completed before
moving to the next. This sequential nature ensures a clear and well-
defined development process.
Usage in the Project: In our project, we are applying the waterfall
model primarily for the initial planning, documentation, and requirement
analysis phases. We leverage its structured approach to carefully define
project requirements, create detailed design specifications, and establish
a solid foundation for development.
1.3.2Agile Methodology
Introduction to Agile: Agile methodologies are iterative and flexible
approaches to software development that prioritize customer
collaboration, adaptive planning, and continuous improvement. Agile
emphasizes delivering working software incrementally and responding
to change quickly.
Key Characteristics:
Iterative Development Cycles: Agile methodologies promote
iterative development cycles, with small increments of
functionality delivered in short iterations or sprints.
Frequent Client Feedback: Agile encourages frequent and regular
interaction with clients and stakeholders to gather feedback and
prioritize requirements based on changing needs.
Flexibility in Responding to Change: Agile methodologies
embrace change and uncertainty, allowing teams to adapt and
adjust their plans and priorities in response to evolving
requirements and feedback.
Usage in the Project: In our project, we plan to apply Agile practices to
facilitate iterative development, dynamic client engagement, and
continuous improvement. We will use Agile methodologies to deliver
functionality incrementally, gather feedback from stakeholders
regularly, and adjust our plans and priorities as needed to ensure
alignment with client expectations.
Hybrid Approach
Rationale for Integration: The rationale behind integrating elements
from both waterfall and Agile methodologies lies in the unique
characteristics and requirements of our project. While the waterfall
model provides structure and clarity in the early stages of development,
Agile practices offer flexibility and responsiveness to change, which are
essential for iterative development and dynamic client engagement.
Benefits of Integration: By combining methodologies, we aim to
leverage the structured approach of the waterfall model for initial
planning and documentation, while also embracing the flexibility and
responsiveness of Agile for iterative development and client
engagement. This hybrid approach allows us to strike a balance between
predictability and adaptability, ensuring that we meet project objectives
while remaining responsive to changing requirements and stakeholder
feedback.
Implementation Strategy: Our strategy for integrating waterfall and
Agile practices involves transitioning from the waterfall model to Agile
methodologies once the project requirements are well-defined. We will
start with the structured planning and documentation phases typical of
the waterfall model and then gradually transition to Agile practices for
iterative development and dynamic client engagement. Throughout the
development lifecycle, we will manage the hybrid approach by
continuously evaluating our progress, adapting our plans as needed, and
prioritizing activities based on project priorities and stakeholder
feedback.
Figures:
CHAPTER # 02
2.1 Requirement gathering:
Requirement gathering is the process of collecting and defining the
requirements of a system, project, or product. It involves identifying,
documenting, and analyzing the needs and expectations of stakeholders,
users, and customers. The goal is to gather accurate, complete, and
unambiguous requirements that meet the needs of all parties involved.
2.5Non-Functional Requirements
2.5.1Performance
Scalability: The system should handle up to 1,000 concurrent
manager users without performance degradation.
Response Time: The system should have a response time of
less than 2 seconds for any user action under normal load
conditions.
2.5.2Security
Data Encryption: All sensitive employee data must be
encrypted both in transit and at rest.
Authentication and Authorization: Implement secure
authentication mechanisms to ensure only authorized
managers can access the system. Role-based access control
(RBAC) should be used to restrict access to sensitive
functionalities.
Audit Trails: Maintain detailed logs of all user activities for
audit purposes, including login attempts, data modifications,
and request approvals.
2.5.3Usability
User Interface: Provide an intuitive and user-friendly
interface for managers to navigate and use the system
efficiently.
Accessibility: Ensure the system is accessible to users with
disabilities, complying with relevant accessibility standards
(e.g., WCAG 2.1).
2.5.3Reliability
Uptime: Ensure the system has an uptime of at least 99.9%,
minimizing downtime and ensuring availability.
Data Backup and Recovery: Implement robust data backup
and recovery procedures to prevent data loss and ensure
business continuity in case of system failures.
2.5.4Maintainability
Modular Design: Use a modular design to facilitate easy
maintenance and updates. This allows individual components
to be updated or replaced without affecting the entire system.
Documentation: Provide comprehensive documentation for
the system, including user manuals, API documentation, and
maintenance guides.
2.5.5 Compliance
Data Privacy: Ensure compliance with data privacy laws and
regulations (e.g., GDPR, CCPA) to protect employee data.
Labor Regulations: Ensure the system complies with
relevant labor laws and regulations regarding employee
management, payroll processing, and data handling.
2.6.6Efficiency
Resource Utilization: Optimize the system to use server and
network resources efficiently, minimizing operational costs.
Power Consumption: Design the system to minimize power
consumption, contributing to energy efficiency and
sustainability goals.
CHAPTER 3
3.1Dfd level 0 diagram:
3.2Dfd level 1:
3.3 use case diagram:
ABC COMPANY :
CEOS
SOFTIANS :
CEOS
Validator
Mam MAHEEN