You are on page 1of 49

PROJECT

SOFTWARE ENGINEERING
Class: BS Software Engineering
Semester: 4�ℎ (Regular)
Teacher: Mam Muniba Iqbal
Date: 6th of March of 2024
GROUP

M Yasir BSESP22M09
Faheem Awais BSESP22M22
OUTLINE
1. Introduction:
1.1: Purpose
1.2: Scope
1.3: Definition
1.4: Overview
1.5: Product Prospective
2. System Interface:
2.1: Interface
2.2: Hardware Interface
2.3: Software Interface
2.4: Communication Interface
OUTLINE
3. Operation:
3.1: Customer
3.2: Merchant
3.3: Database Administrator (DA)
4 Requirements:
4.1: SIte Adaption Requirement
4.2: User Requirement
4.3: Perfomance Requirement

Note: Assumption and Dependencies


Future Development
OUTLINE
Diagrams:
1. Class Diagram
2. Use Case Diagram
3. Sequence Diagram
4. Component Diagram
5. State Chart Diagram
6. Activity Diagram
7. Object Diagram
8. DFD Diagram
9. DFD 0-Level Diagram
10. DFD 1-Level Diagram
11. Diployment Diagram
EMPLOYEE
Introduction:
The Employee Management System (EMS) is a comprehensive software solution
designed to streamline and automate various HR processes within an organization. In
today's dynamic business environment, managing employees efficiently is crucial for
organizational success. The EMS provides a centralized platform for HR administrators
to manage employee data, streamline communication, track employee performance,
and facilitate strategic decision-making.
This document serves as the Software Requirements Specification (SRS) for the EMS
project, outlining the functional and non-functional requirements, system architecture,
and user interfaces. It aims to provide a clear understanding of the system's scope,
objectives, and functionalities, enabling stakeholders to collaborate effectively
throughout the development lifecycle.
SCOPE
The EMS encompasses a wide range of features and modules to support various HR
functions, including:

- Employee information management - Attendance tracking


- Leave management - Performance evaluation
- Training and development - Payroll processing
- Reporting and analytics

The system is designed to accommodate the needs of organizations of all sizes and
industries, with customizable settings and scalability to adapt to evolving
requirements.
PURPOSE
The purpose of the EMS is to enhance operational efficiency and productivity by
digitizing HR processes and ensuring compliance with organizational policies and
regulations. By providing a user-friendly interface and robust functionality, the EMS
empowers HR administrators to perform their tasks with greater accuracy and speed,
thereby optimizing resource utilization and fostering employee satisfaction.
DEFINITION
Employee Information Management: Centralized storage and management of
employee profiles, including personal details, contact information, employment history,
and qualifications.
Attendance Tracking: Monitoring and recording employee attendance, including
clock-in/out times, overtime hours, and absence management.
Leave Management: Facilitating the application, approval, and tracking of employee
leave requests, including vacation, sick leave, and other types of time-off.
Performance Evaluation: Conducting performance reviews, setting goals, and tracking
employee progress to support talent development and career advancement.
Training and Development: Managing employee training programs, tracking
certifications, and identifying skill gaps to enhance workforce capabilities.
Payroll Processing: Automating payroll calculations, tax deductions, and salary
disbursements to ensure accuracy and compliance with regulatory requirements.
Reporting and Analytics: Generating comprehensive reports and analytics to provide
insights into employee productivity, engagement, turnover, and other key metrics.
DOCUMENT
This document is organized into several sections, each addressing specific aspects of
the EMS project:

Introduction: Provides an overview of the EMS project, its purpose, scope, audience,
and document structure.
Functional Requirements: Describes the system's functional capabilities, including use
cases, user stories, and system interactions.
Non-functional Requirements: Specifies the quality attributes of the system, such as
performance, security, usability, and scalability.
System Architecture: Presents the high-level architecture and components of the EMS,
including hardware and software requirements.
User Interfaces: Illustrates the user interfaces and navigation flow of the EMS, with
wireframes and mockups.
Appendices: Includes supplementary information, such as glossary, references, and
annexes.
WHY
The EMS is designed to accommodate organizations of all sizes and industries, with
customizable settings and scalability to adapt to evolving requirements. It serves as
a comprehensive solution for HR administrators to streamline processes, improve
communication, and make informed decisions to drive organizational success.
Certainly, let's break down each section:
DEFINITION
This section provides a list of acronyms and abbreviations used throughout the
document to ensure clarity and consistency in communication. It includes short forms
and their corresponding full meanings. For example:

HR: Human Resources


EMS: Employee Management System
SRS: Software Requirements Specification
OVERVIEW
The overview section gives a brief introduction to the Employee Management System
(EMS) project, highlighting its purpose, scope, and objectives. It provides a high-level
description of what the system aims to achieve and its intended benefits. Key
components of the overview may include:

Purpose: A statement outlining why the EMS is being developed and what problems it
aims to solve.
Scope: An overview of the functionalities and features that the EMS will include, as
well as any limitations or constraints.
Objectives: Clear, measurable goals that the EMS project aims to accomplish, such
as improving efficiency, enhancing communication, or ensuring compliance.
PRODUCT
The product per spective section provides context on how the Employee
Management System (EMS) fits into the broader organizational environment and any
external systems it interacts with. Key points typically covered include:

System Interfaces: Describes the interfaces between the EMS and other systems, such
as databases, external APIs, or third-party software.
User Interfaces: Discusses the user interfaces through which users interact with the EMS,
including web interfaces, mobile apps, or desktop applications.
Hardware Interfaces: Specifies any hardware devices or components that the EMS
may need to interface with, such as biometric scanners or time clock systems.
Software Interfaces: Identifies any software dependencies or integrations required for
the EMS to function properly, such as operating systems, databases, or middleware.

By providing this context, the product perspective section helps stakeholders


understand how the EMS fits into the larger ecosystem and how it will interact with
other systems and components.
SYSTEM
An interface in the context of software refers to a point of interaction between
different software components or between software and hardware. It defines how
different parts of a system communicate with each other. Interfaces can be classified
into several types:

User Interface (UI): The interface through which users interact with the software. This
can include graphical user interfaces (GUIs), command-line interfaces (CLIs), or
voice-based interfaces.

Application Programming Interface (API): A set of rules and protocols that allow
different software applications to communicate with each other. APIs define the
methods and data formats that applications can use to exchange information.

System Interface: The interface between different components or subsystems within a


software system. This includes both internal interfaces (between modules or layers
within the system) and external inter faces (between the system and external
components).
HARDWARE
A hardware interface refers to the physical connections and protocols used to
connect software to hardware devices. This includes:

Physical Connectors: The physical ports and connectors used to connect hardware
devices to the computer, such as USB ports, HDMI ports, or Ethernet ports.

Communication Protocols: The protocols used to exchange data between the


software and hardware devices. This can include protocols like USB, Bluetooth, Wi-Fi,
or serial communication protocols.

Device Drivers: Software components that facilitate communication between the


operating system and hardware devices. Device drivers translate commands from the
operating system into commands that the hardware device can understand.
SOFTWARE
A software interface defines how different software components interact with each
other. This includes:

Application Programming Interfaces (APIs): Sets of rules and protocols that define
how different software components or applications can communicate with each other.
APIs specify the methods and data formats that applications can use to exchange
information.

Middleware Interfaces: Interfaces provided by middleware software that facilitate


communication between different software components or systems. Middleware
provides services such as messaging, remote procedure calls, and data storage that
enable distributed computing.

Database Interfaces: Interfaces provided by database management systems (DBMS)


that allow applications to interact with databases. This includes query languages like
SQL as well as APIs for accessing and manipulating database data.
COMMUNICATION
A communication interface defines how different systems or devices communicate with
each other over a network. This includes:

Network Protocols: Protocols that govern how data is transmitted and received over
a network. This can include protocols like TCP/IP, HTTP, FTP, or MQTT.

Socket Interfaces: Programming interfaces provided by operating systems or


networking libraries that allow applications to send and receive data over a network
using sockets.

Message Formats: Standards for formatting and encoding messages exchanged


between systems. This can include formats like JSON, XML, or protocol buffers.

Security Protocols: Protocols and mechanisms for securing communication between


systems, such as SSL/TLS for encrypted communication or OAuth for authentication
and authorization.
WHO IS
A customer is an individual or entity that purchases goods or services from a business
or merchant. In the context of software systems, a customer may interact with various
interfaces to perform actions such as:

- Browsing products or services


- Adding items to a shopping cart
- Placing orders
- Making payments
- Managing account information
- Providing feedback or reviews

Customers are typically the end-users of the software system and may access it
through various channels such as websites, mobile apps, or physical stores.
WHO IS
A merchant is a business or entity that sells goods or services to customers. In the
context of software systems, a merchant may interact with various interfaces to
manage their business operations, including:

- Adding and updating product listings


- Managing inventory levels
- Processing orders and shipments
- Handling payments and refunds
- Analyzing sales and performance data
- Communicating with customers

Merchants may use software systems to streamline their operations, improve customer
service, and drive sales growth.
DATABASE
A database administrator (DBA) is responsible for managing and maintaining
databases within an organization. This role involves tasks such as:

- Installing and configuring database management systems (DBMS)


- Designing and optimizing database schemas
- Monitoring database performance and resource usage
- Backing up and restoring databases
- Implementing security measures to protect data
- Troubleshooting issues and resolving database-related problems

DBAs play a critical role in ensuring the reliability, availability, and security of data
within an organization's databases. They work closely with developers, system
administrators, and other stakeholders to support the organization's data
management needs.
FUNCTIONAL
Functional requirements describe the specific behaviors and functionalities that a
software system must provide to its users in order to achieve its intended purpose.
These requirements typically answer the question "What does the system do?" and are
often expressed as features, actions, or tasks that users can perform within the system.
Examples of functional requirements include:

- User authentication and login


- Product search and browsing
- Adding items to a shopping cart
- Placing orders
- Generating invoices
- Sending email notifications
NON-FUNCTIONAL
Nonfunctional requirements specify the quality attributes or constraints that a
software system must satisfy, in addition to its functional requirements. These
requirements typically describe "how" the system should behave, rather than "what" it
should do. Nonfunctional requirements address aspects such as performance, security,
usability, reliability, and scalability. Examples of nonfunctional requirements include:

Performance: Response time for web pages should be less than 2 seconds.
Security: User passwords must be encrypted and stored securely.
Usability: The user interface must be intuitive and easy to navigate.
Reliability: The system must have a 99.9% uptime.
Scalability: The system must support up to 100,000 concurrent users.
USER
User requirements specify the needs and expectations of the system's users, including
both functional and nonfunctional aspects. These requirements are typically derived
from user interviews, surveys, and feedback, and they serve as the basis for designing
and developing the system. User requirements focus on the features, behaviors, and
usability aspects that are important to users in achieving their goals. Examples of user
requirements include:

- The ability to easily find and purchase products.


- Fast and secure checkout process.
- Clear and concise product descriptions and images.
- Responsive customer support via email or live chat.
- Personalized recommendations based on past purchases.
SYSTEM
System requirements specify the hardware, software, and network infrastructure
needed to support the software system. These requirements detail the environment in
which the system will be deployed and operated, including hardware specifications,
software dependencies, and network configurations. System requirements ensure that
the software system can be effectively deployed, maintained, and scaled to meet the
needs of its users. Examples of system requirements include:

Operating system: The system must run on Windows Server 2019.


Web server: Apache HTTP Server version 2.4 or later.
Database: MySQL version 8.0 or later.
Network bandwidth: Minimum 100 Mbps internet connection.
Server hardware: Dual-core processor with 8 GB of RAM and 100 GB of disk space.
DEPENDENCIES
Feature development refers to the process of designing, implementing, and testing
new features or functionalities for a software system. This process typically involves
several stages, including:

Requirement Gathering: Gathering and documenting the requirements for the new
feature, including functional and nonfunctional requirements.
Design: Designing the architecture, user interface, and data model for the new feature.
Implementation: Writing the code to implement the new feature, following best
practices and coding standards.
Testing: Testing the new feature to ensure that it works as intended and meets the
specified requirements.
Deployment: Deploying the new feature to production or staging environments for
end-user testing and feedback.
Monitoring and Maintenance: Monitoring the performance and usage of the new
feature in production, and addressing any issues or bugs that arise.
FEATURE
Feature development refers to the process of designing, implementing, and testing
new features or functionalities for a software system. This process typically involves
several stages, including:

Requirement Gathering: Gathering and documenting the requirements for the new
feature, including functional and nonfunctional requirements.
Design: Designing the architecture, user interface, and data model for the new feature.
Implementation: Writing the code to implement the new feature, following best
practices and coding standards.
Testing: Testing the new feature to ensure that it works as intended and meets the
specified requirements.
Deployment: Deploying the new feature to production or staging environments for
end-user testing and feedback.
Monitoring and Maintenance: Monitoring the performance and usage of the new
feature in production, and addressing any issues or bugs that arise.
ASSUMPTION
- The EMS will be developed using modern web technologies and will be accessible
through web browsers.
- The system will comply with relevant data privacy and security regulations, ensuring
the confidentiality and integrity of employee data.
- Integration with existing HR systems and third-party applications may be required to
facilitate data exchange and interoperability.
- Adequate training and support will be provided to users to ensure successful
adoption and utilization of the EMS.
GANTT
ACTIVITY
CLASS
COLLOBORATION
COMPONENT
DIPLOMENT
OBJECT
SEQUENCE
STATE CHART
USE CASE
0 LEVEL DFD
1 LEVEL DFD
2ND LEVEL DFD
THANKS!

You might also like