T4-Exp No 7
T4-Exp No 7
Date:
Aim To design the Software Personal Management System, do testing and generate
code using Argo UML Tools.
Problem Statement The HR must enter the name and password to login the form
and select the particular employee to view the details about that employee and
maintaining the employee details personally. This process of employee management
system are described sequentially through following steps,
• The HR login to the employee management system.
• He/She searches for the list of employees.
• Then select the particular employee.
• Then view the details of that employee.
• After displaying the employee details then logout.
S.No Contents
1 Introduction
2 Scope
3 Functional Requirements
3.1 Employee Database Management
3.2 Recruitment and Applicant Tracking
3.3 Time and Attendance Tracking
3.4 Payroll Management
3.5 Benefits Administration
3.6 Performance Management
3.7 Training and Development
3.8 Employee Self-Service Portal
3.9 Analytics and Reporting
3.10 Compliance and Regulatory Compliance
3.11 Integration Capabilities
4 Non-Functional Requirements
5 Interface requirement
5.1 Software Requirement
5.2 Hardware Requirement
Performance Requirements
6 Static numerical requirements
6.1 Dynamic numerical requirements
6.2
Glossary
7
Use Case Diagram
8
UML Diagrams
9
Class Diagram
10
Sequence Diagram
11
Collaboration Diagram
12
State Chart Diagram
13
Activity Diagram
14
Deployment Diagram
15
1. Introduction
The Software Personnel Management System (SPMS) is a comprehensive software
solution designed to streamline and automate various human resource management
tasks within an organization. It serves to efficiently manage employee data,
recruitment processes, payroll, benefits administration, performance evaluation,
training, and other HR functions. The system aims to improve operational efficiency,
enhance employee satisfaction, ensure compliance with regulations, and support
strategic HR initiatives.
2. Scope
The Software Personnel Management System will cover the following functional
areas:
3. Functional Requirements
4. Non-Functional Requirements
1. Security: The system shall implement robust security measures to protect
employee data from unauthorized access, alteration, or disclosure.
2. Performance: The system shall be scalable and capable of handling a large number
of users and data volumes efficiently.
3. Usability: The system shall have an intuitive user interface and provide user-
friendly features for HR personnel and employees.
4. Reliability: The system shall be highly available and reliable, with minimal
downtime and data loss.
5. Scalability: The system shall be scalable to accommodate the organization's
growth and changing needs over time.
6. Accessibility: The system shall be accessible to users with disabilities, complying
with accessibility standards and guidelines.
Purpose of the function: Provide detail information to clarify the intent of the
function. Inputs: sources, valid ranges of values, any timing concerns, operator
requirements, special interfaces. Operations to be performed: validity checks,
responses to abnormal conditions, types of processing. Required Outputs
destinations, valid ranges of values, timing concerns, and handling of illegal values,
error messages, and interfaces required
Technical Issues: The data stored in the database will be revealed to the persons
only with the proper authentication.
5. Interface requirement:
5.1 Software Requirement:
Operating System: Window7
Front End Tool: Java Swing
Back End Tool: Microsoft Access
5.2 Hardware Requirement:
Processor: IntelI4
HardDisk: 40GB
RAM :512MB
DVD drive:1
6. Performance Requirements
This subsection should specify both the static and the dynamic numerical
requirements placed on the software or on human interaction with the software, as a
whole.
6.1 Static numerical requirements may include:
(a) The number of terminals to be supported
(b) The number of simultaneous users to be supported
(c) Number of files and records to be handled
(d) Sizes of tables and files
Static numerical requirements are sometimes identified under a separate section
entitled capacity.
6.2 Dynamic numerical requirements may include, for example, the numbers of
transactions and tasks and the amount of data to be processed within certain time
periods for both normal and peak workload conditions.
All of these requirements should be stated in measurable terms, for example, 95%
of the transactions shall be processed in less than 1 s, rather than, operator shall not
have to wait for the transaction to complete.
7. Glossary
HR: Human Resources
SRS: Software Requirements Specification
API: Application Programming Interface
ERP: Enterprise Resource Planning
8. UML Diagrams
UML is a way of visualizing a software program using a collection of diagrams. The
notation has evolved from the work of Grady Booch, James Rumbaugh, Ivar
Jacobson, and the Rational Software Corporation to be used for object-oriented
design, but it has since been extended to cover a wider variety of software
engineering projects. Today, UML is accepted by the Object Management Group
(OMG) as the standard for modelling software development.
Notations
10.Class Diagram
A class diagram in UML (Unified Modelling Language) is a type of static structure
diagram that represents the structure of a system by showing the classes of the
system, their attributes, methods, relationships among the classes, and the constraints
of the classes.
Notations
11. Sequence Diagram
A sequence diagram is a type of interaction diagram in Unified Modelling
Language (UML) that depicts the interactions between objects or components within
a system in a sequential order. It illustrates the flow of messages, events, or actions
between various elements of the system over a period of time, typically from top to
bottom. Sequence diagrams are commonly used during the design and analysis
phases of software development to visualize and understand the dynamic behaviour
of a system, including the order of method calls, the timing of message exchanges,
and the collaboration between objects or components.
Notations
12. Collaboration Diagram
A collaboration diagram, also known as a communication diagram, is a type
of diagram in the Unified Modelling Language (UML) used to visualize the
interactions between objects or components within a system. It illustrates how
objects collaborate to achieve a specific behaviour or task.
Notations
Notations
14. Activity Diagram
An activity diagram is a type of UML (Unified Modelling Language) diagram
used to model the flow of actions or activities within a system or process. It visually
represents the sequence of activities, actions, and transitions that occur, often
depicting the behaviour of a system or a business process from start to finish
Notations
15. Deployment Diagram
A Deployment Diagram in UML (Unified Modelling Language) is a type of
structural diagram that illustrates the physical deployment of software components
within a system's hardware infrastructure. It shows how software artifacts are
deployed on nodes, which can represent servers, hardware devices, or any other
computing resource.
Notations
Code Generation:
Step 1: Draw Class diagram with all its notations.
Step 2: Select all the Classes.
Step 3: Choose Generation menu for code generation.
Step 4: Choose the required classes
Step 5: Browse the location to locate the code.
Step 6: Apply generate.
Software Testing
Software testing is a crucial aspect of the software development process that
ensures the quality, reliability, and functionality of the software product. There are
various types of software testing techniques, each serving a specific purpose in the
software development lifecycle. Here are some common types of software testing:
Unit Testing:
This type of testing involves testing individual units or components of the
software to ensure that they perform as expected. Unit tests are typically automated
and focus on testing small pieces of code in isolation.
Integration Testing:
Integration testing verifies the interactions between different modules or
components of the software. It ensures that these components work together
correctly when integrated.
System Testing:
System testing evaluates the complete and integrated software product to
verify that it meets specified requirements. It involves testing the software in an
environment that closely resembles the production environment.
Acceptance Testing:
Acceptance testing determines whether the software meets the acceptance
criteria and satisfies the needs of the end-users. It can be performed by the end-users
or stakeholders to validate the software against their requirements.
Regression Testing:
Regression testing ensures that recent code changes have not adversely
affected the existing functionality of the software. It involves re-running previously
executed tests to detect any regressions.
Performance Testing:
Performance testing assesses the responsiveness, scalability, and stability of
the software under various conditions, such as heavy load, high traffic, or stress. It
helps identify performance bottlenecks and optimize the software for better
performance.
Security Testing:
Security testing focuses on identifying vulnerabilities and weaknesses in the
software that could be exploited by malicious users. It includes testing for
authentication, authorization, data encryption, and other security measures.
Usability Testing:
Usability testing evaluates the user-friendliness and ease of use of the software
from the perspective of end-users. It aims to identify any usability issues and
improve the overall user experience.
Unit testing
In unit Testing the employee id should be an existing id. The employee id is
also checked. The salary is also updated.
.
RESULT:
Thus the domain Software Personal Management System, test was designed
and the code was generated successfully using Argo UML tools.