This document describes an individual assignment to develop a C++ console application for an employee management system. It includes sections on project description, design and justification, implementation using object-oriented programming concepts, UML diagrams, output screens, and conclusions. The project description outlines modules for login, administration, employees, identity card number generation, and record searching. The design section justifies access priorities and use of functions and file handling. Implementation discusses use of OOP concepts like abstraction, encapsulation, inheritance and polymorphism through code examples using classes.
Attendance management system project report.Manoj Kumar
Attendance management system project report is a document in PDF file. If you have any confusion in your document then you can clear your concepts here.
Ignou MCA 4th semester mini project report. College admission system. This project is based on real working system of University seat allocation to affiliate colleges. College admission system provide seat allocation process for various UG PG programs for every academic session.
Attendance management system project report.Manoj Kumar
Attendance management system project report is a document in PDF file. If you have any confusion in your document then you can clear your concepts here.
Ignou MCA 4th semester mini project report. College admission system. This project is based on real working system of University seat allocation to affiliate colleges. College admission system provide seat allocation process for various UG PG programs for every academic session.
Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...Mohammad Karim Shahbaz
The system as such as it is designed is called Employee Management System (EMS). Employee Management System is documented using UML Diagrams very easy to understand. This Employee Management System is designed to Manage the Recruitment & new Employee Registration process and Manage each Employee data. Attendance Management System and Salary Management Systems are also embedded. UML Diagrams ( Use Case Diagram, Activity Diagram, State Chart Diagram or State Machine, Sequence Diagram, Class Diagram, Deployment Diagram, Component Diagram ) and text are for this documentation. NU,BCS
NOTE: this is total documentation, You can also find this Documentation Related Presentation (.ppt) here:
http://www.slideshare.net/mohammadkarim3785/employee-management-system-uml
A Software Engineering Project on Cyber cafe managementsvrohith 9
Cyber Café Management is a complete package developed for management of systems in a cyber café. This project is intended to be used in a Cyber Café. All cyber cafes have some basic needs likeable to control the systems that are being rented to the customers and are charged on timely basis.
The present project presented in:-
1. Use case diagram
2. Sequence diagram
3. Activity diagram
4. Class diagram
Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...Mohammad Karim Shahbaz
The system as such as it is designed is called Employee Management System (EMS). Employee Management System is documented using UML Diagrams very easy to understand. This Employee Management System is designed to Manage the Recruitment & new Employee Registration process and Manage each Employee data. Attendance Management System and Salary Management Systems are also embedded. UML Diagrams ( Use Case Diagram, Activity Diagram, State Chart Diagram or State Machine, Sequence Diagram, Class Diagram, Deployment Diagram, Component Diagram ) and text are for this documentation. NU,BCS
NOTE: this is total documentation, You can also find this Documentation Related Presentation (.ppt) here:
http://www.slideshare.net/mohammadkarim3785/employee-management-system-uml
A Software Engineering Project on Cyber cafe managementsvrohith 9
Cyber Café Management is a complete package developed for management of systems in a cyber café. This project is intended to be used in a Cyber Café. All cyber cafes have some basic needs likeable to control the systems that are being rented to the customers and are charged on timely basis.
The present project presented in:-
1. Use case diagram
2. Sequence diagram
3. Activity diagram
4. Class diagram
Final Year Projects, IEEE Projects, Final Year Projects in Chennai, Final Year IEEE Projects, final year projects, college projects, student projects, java projects, asp.net projects, software projects, software ieee projects, ieee 2009 projects, 2009 ieee projects, embedded projects, final year software projects, final year embedded projects, ieee embedded projects, matlab projects, microcontroller projects, vlsi projects, dsp projects, free projects, project review, project report, project presentation, free source code, free project report, Final Year Projects, IEEE Projects, Final Year Projects in Chennai, Final Year IEEE Projects, final year projects, college projects, student projects, java projects, asp.net projects, software projects, software ieee projects, ieee 2009 projects, 2009 ieee projects, embedded projects, final year software projects, final year embedded projects, ieee embedded projects, matlab projects, final year java projects, final year asp.net projects, final year vb.net projects, vb.net projects, c# projects, final year c# projects, electrical projects, power electronics projects, motors and drives projects, robotics projects, ieee electrical projects, ieee power electronics projects, ieee robotics projects, power system projects, power system ieee projects, engineering projects, ieee engineering projects, engineering students projects, be projects, mca projects, mtech projects, btech projects, me projects, mtech projects, college projects, polytechnic projects, real time projects, ieee projects, non ieee projects, project presentation, project ppt, project pdf, project source code, project review, final year project, final year projects
Here is the easy presentation of Software Requirements Specification Model on "Payroll Management System" for employees of a company. It is important for Developing the software for mentioned system. More information you can find after opening the document.
This project is done as a final year project for Bachelors of Information Technology (Hons) program offered by Help University, Malaysia.
The project is undertaken to plan, design and develop a Human Resource Management system, named “TinyHRMS” for Maldives Stock Exchange.
Human Resource Management system provides the information regarding the employees in the company. The system facilitates good interaction / communication facilities between the employees and HR administration. The web pages about an employee are created dynamically based on the user id and password and links are provided to web pages containing information like employee general details. HRMS also has the facility of viewing a detailed report regarding the employee
The Concept
Automated Task Management and Query management process
The Opportunity
Clear direction of task to employee
Increased backend operation efficiency
Less overhead on business owner/Team Leader
Automated follow-up with client on queries
The Potential
Customer Task Life Cycle
Employee Performance Report & Bonus Calculation
Project report on ONLINE REAL ESTATE BUSINESSDivyesh Shah
A project report on 'online real estate' will help you to understand the modeling diagrams for this project and all type of information related to this project
The main objective of this project is to develop an effective and efficient Web Based "Human resource Management System" for Assam Don Bosco University.
The system as such as it is designed is called Employee Management System (EMS). Employee Management System is documented using UML Diagrams very easy to understand. This Employee Management System is designed to Manage the Recruitment & new Employee Registration process and Manage each Employee data. Attendance Management System and Salary Management Systems are also embedded. UML Diagrams ( Use Case Diagram, Activity Diagram, State Chart Diagram or State Machine, Sequence Diagram, Class Diagram, Deployment Diagram, Component Diagram ) and text are for this documentation. NU,BCS.
NOTE: This is just the presentation. Total Documentation can also be found here:
https://www.slideshare.net/mohammadkarim3785/ems-employee-management-system-documentation-nubcs
A lesson I give to air cadets on promotion to Cadet Corporal. It's always well-recieved by older cadets.
I'll be altering the format quite a bit as I build it into a day-long course for NCO's.
Online course register system project report.pdfKamal Acharya
Student course registration process in colleges involve filling registration forms manually, getting it signed by respective subject teachers, and then getting the documents acknowledged from the concerned Advisors, College Deans and Accounts Officers respectively. Finally the registration forms are submitted in the Administrative Branch. As is evident, this process is very laborious and time consuming. An Online Student Course Registration System has been developed to simplify the current manual procedure. This system has been developed using PHP and MySQL. The front-end is designed using PHP with excerpts of code written using and back-end is designed and managed through MySQL. This system software is more secured, user-friendly and less time-consuming. Basically, systems are implemented for facilitating complex manual processes and that is exactly what we are trying to achieve. System is implemented as per user requirement such as a manufacturing concern may install a plant for easing out manual processes. We have sought help from computer programming for automation of manual registration system. With the introduction of computers, every aspect of our lives has been revolutionized. When used judiciously, computers can help us save time, secure our personal information, access the required information whenever and wherever required. Keeping all these positive points in mind, we have developed an Online Student Course Registration System for easily managing the semester registration process for the student in an institution. Ours is an advisory based system. In state agricultural universities the course allocation is advisory based and more complicated. The courses are assigned according to the skill set and industry requirements. Hence, in current scenario, automated system is required for course registration of students.
Event Management System Vb Net Project Report.pdfKamal Acharya
In present era, the scopes of information technology growing with a very fast .We do not see any are untouched from this industry. The scope of information technology has become wider includes: Business and industry. Household Business, Communication, Education, Entertainment, Science, Medicine, Engineering, Distance Learning, Weather Forecasting. Carrier Searching and so on.
My project named “Event Management System” is software that store and maintained all events coordinated in college. It also helpful to print related reports. My project will help to record the events coordinated by faculties with their Name, Event subject, date & details in an efficient & effective ways.
In my system we have to make a system by which a user can record all events coordinated by a particular faculty. In our proposed system some more featured are added which differs it from the existing system such as security.
Unit 1
Introduction to software engineering, the software as product and a process
software process models – waterfall model, incremental development, reuse
oriented software engineering, introduction to agile.
Systems approach vs engineering approach,
case studies to explain 1) the importance of information systems, 2) availability
and reliability of information systems, 3) flexibility of information systems.
Unit 2
A. Software Development process : SDLC
B. Requirements Engineering – characteristics of requirement, requirement
elicitation and analysis, validation and verification
C. Identification of attributes.
D. Feasibility Analysis : technical and economic
Unit 3
3.1Data Flow Diagrams : Symbols, describing a good system with DFD
3.2DFD : leveling of DFD, logical and physical DFD
3.3Process Specification, Decision Tables.
3.4Introduction to ER Diagrams and Data Dictionary.
Unit 4
4.1Data Input Methods : Data input, coding techniques.
4.2Designing outputs : objectives of output design, design of output reports.
4.3Software development – introduction to project and modules, coupling
and cohesion
4.4 Case studies on DFD, ERD
Unit 5.
5.1Introduction and importance of software testing
5.2Software Security concept and software maintenance
5.3Control of information system
5.4Audit of information system
Unit 6
6.1Introduction to software development and deployment environment
6.2Introduction to component based software engineering
6.3Introduction to distributed software engineering
6.4Introduction to service oriented architecture
NEC Employee Accreditation Activity ProjectNetwork Enterpriser.docxrosemarybdodson23141
NEC Employee Accreditation Activity Project
Network Enterprisers Corporation
Employee Accreditation Activity Project
Version 0.1
June 25, 2015
Presented by:
Mr. Mariano Maldonaldo
Ms. Charlene Stroud
Project Proposal
Developing an Employee Accreditation Activity process is an important step toward the Network Enterprisers Corporation’s vision as a winning business in a competitive market. This proposal will outline the methods and resources needed to be successful in tracking employee training and certification.
Table of Contents
I.
TABLE OF CONTENTS
II.
ACKNOWLEDGEMENTS
III.
LIST OF FIGURES
1.1
GOALS AND OBJECTIVES
1.2
SYSTEM STATEMENT OF WORK
1.2.1 General Requirements
1.2.2 Extended Requirements
1.3
System Context
1.4
Major Constraints
2.0
PROJECT ESTIMATES
2.1
Historical Data
2.2
Applied Techniques and Results
2.2.1 Activity, Task and Function List
2.2.2 Best Effort Estimation
2.3
Project Resources
2.4.1 Manpower
2.4.2 Hardware Requirements
2.4.3 Software Requirements
3.0
RISK ASSESSMENT
3.1
Risk Assessment Activities
3.2
Risk Management Roles
4.0
PROJECT SCHEDULE
4.1
Deliverables and Milestones
4.2
Work Structure Breakdown
5.0
PROJECT MANAGEMENT TEAM
5.1
Structure
5.2
Responsibilities
6.0
TRACKING AND CONTROL DEVICE
6.1
Quality Assurance
6.2
Change Management
7.0
Database Management
7.1
User Interface Design and Relationships
7.2
Support Services
ANNEX A
APPENDIX B
List of Figures
Figure 1: Organization Chart
6
Figure 2: Current System
6
Figure 3: Problem Statement
8
Figure 4: Development Cost
12
Figure 5: Min Computer Requirements
14
Figure 6: Server Specifications:
15
Figure 7: Personnel Management Development Table
16
Figure 8: Database Relationships:
17
Figure 9: Physical Design
18
Figure 10: Form Wizard Employee Information
19
Figure 11: Form Wizard Visitor Information
19
Figure 12: Controlled Access Management Information
20
Figure 13: Sample Input
22
Figure 14: Request For Services
23
Figure 15: Sample Output
24
Figure 16: Database Document
25
Figure 17: Repository
82
Figure 18: Context Model
83
Figure 19: Functional Decomposition Diagram
84
Goals and Objectives
The Network Enterpriser Corporation (NEC) will need a training tracking database for the Information and Programming Department (IPD) to pass the August Security Manager’s Quality Control Inspection. Employees are required to make sure that all of their certification and course requirements are up to date. If a NEC employee does not have the proper certification and training requirements they will lose access to controlled areas and or information. This proposal is to determine if creating a Share Point Excel Training Management tracking system to track classroom and online training will assist in keeping all employees in the Information and Programming Department current on all training and certification requirements. The proposed database i.
Online Voting System Project management system.docKamal Acharya
This is a small scale project for Online voting system. The basic idea is that the citizens of the country can vote for the candidates during election in the online. It consists of voter details, security system, status and exits. The administrator can enter the name and password and generate the reports and can perform operation like add citizens, search, delete the citizens in the database. In Online voting system we can get the result of the election based on polling.
The objective of this assignment is to develop a Win32 console application for an Car Showroom Management System, where it is expected to enter, search, edit, view and Delete information of the Employee, Customer and Car. The main purpose of this Project is to store and edit the complete record of each Employee, Customer and Car.
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)MdTanvirMahtab2
This presentation is about the working procedure of Shahjalal Fertilizer Company Limited (SFCL). A Govt. owned Company of Bangladesh Chemical Industries Corporation under Ministry of Industries.
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdffxintegritypublishin
Advancements in technology unveil a myriad of electrical and electronic breakthroughs geared towards efficiently harnessing limited resources to meet human energy demands. The optimization of hybrid solar PV panels and pumped hydro energy supply systems plays a pivotal role in utilizing natural resources effectively. This initiative not only benefits humanity but also fosters environmental sustainability. The study investigated the design optimization of these hybrid systems, focusing on understanding solar radiation patterns, identifying geographical influences on solar radiation, formulating a mathematical model for system optimization, and determining the optimal configuration of PV panels and pumped hydro storage. Through a comparative analysis approach and eight weeks of data collection, the study addressed key research questions related to solar radiation patterns and optimal system design. The findings highlighted regions with heightened solar radiation levels, showcasing substantial potential for power generation and emphasizing the system's efficiency. Optimizing system design significantly boosted power generation, promoted renewable energy utilization, and enhanced energy storage capacity. The study underscored the benefits of optimizing hybrid solar PV panels and pumped hydro energy supply systems for sustainable energy usage. Optimizing the design of solar PV panels and pumped hydro energy supply systems as examined across diverse climatic conditions in a developing country, not only enhances power generation but also improves the integration of renewable energy sources and boosts energy storage capacities, particularly beneficial for less economically prosperous regions. Additionally, the study provides valuable insights for advancing energy research in economically viable areas. Recommendations included conducting site-specific assessments, utilizing advanced modeling tools, implementing regular maintenance protocols, and enhancing communication among system components.
Overview of the fundamental roles in Hydropower generation and the components involved in wider Electrical Engineering.
This paper presents the design and construction of hydroelectric dams from the hydrologist’s survey of the valley before construction, all aspects and involved disciplines, fluid dynamics, structural engineering, generation and mains frequency regulation to the very transmission of power through the network in the United Kingdom.
Author: Robbie Edward Sayers
Collaborators and co editors: Charlie Sims and Connor Healey.
(C) 2024 Robbie E. Sayers
Explore the innovative world of trenchless pipe repair with our comprehensive guide, "The Benefits and Techniques of Trenchless Pipe Repair." This document delves into the modern methods of repairing underground pipes without the need for extensive excavation, highlighting the numerous advantages and the latest techniques used in the industry.
Learn about the cost savings, reduced environmental impact, and minimal disruption associated with trenchless technology. Discover detailed explanations of popular techniques such as pipe bursting, cured-in-place pipe (CIPP) lining, and directional drilling. Understand how these methods can be applied to various types of infrastructure, from residential plumbing to large-scale municipal systems.
Ideal for homeowners, contractors, engineers, and anyone interested in modern plumbing solutions, this guide provides valuable insights into why trenchless pipe repair is becoming the preferred choice for pipe rehabilitation. Stay informed about the latest advancements and best practices in the field.
Water scarcity is the lack of fresh water resources to meet the standard water demand. There are two type of water scarcity. One is physical. The other is economic water scarcity.
1. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 1 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
TABLE OF CONTENTS
S. No. Page No.
Acknowledgement ...................................................................................................................... 2
1. Introduction ............................................................................................................................ 3
2. Project Description................................................................................................................. 4
2.1. Login Module .................................................................................................................. 4
2.2. Administration Module ................................................................................................... 4
2.3. Employee Module ........................................................................................................... 4
2.4. Identity Card (IC) Number Generation Module .............................................................. 4
2.5. Record Searching Module ............................................................................................... 5
3. Description and Justification .................................................................................................. 6
3.1. Design of the Implemented Code .................................................................................... 6
3.2. Implementation Code in terms of OOP Concepts ......................................................... 11
3.3.Validation Code Applied in the Implementation Code .................................................. 16
4. UML Diagrams .................................................................................................................... 20
4.1. Class Diagram ............................................................................................................... 20
4.2. Use Case Diagram ......................................................................................................... 21
5. Output Screens ..................................................................................................................... 22
6. Conclusion ........................................................................................................................... 33
7. References ............................................................................................................................ 34
2. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 2 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
ACKNOWLEDGEMENT
To acknowledge and thank every individual who directly or indirectly contributed to this venture personally, it would require an inordinate amount of time. I am deeply indebted to many individual, whose cooperation made this job easier. I am thankful and express my sincere gratitude to APIIT SD INDIA, Panipat for providing me an opportunity for fulfilling my most cherished desire.
I avail this opportunity to express my gratitude to my friends and my parents for their support and encouragement throughout project. I feel it is as a great pleasure to express my deep sense of profound thank to Module Lecturer Mrs. Pradeep Kumar, who guided me at every step and also encouraged to carry out the project.
Lastly, I would like to thank all those whose names may not have appeared here but whose contribution has not gone unnoticed.
Jayant Kumar Gope
Intake No.: PT1282240
3. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 3 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
1. INTRODUCTION
The objective of this assignment is to develop a Win32 console application for an Employee Management System, where it is expected to enter, search, edit and view personnel information of the Employee in an Organization based on different access priority and calculate their salary package.
We are required design the application by assuming that, this system will be installed only in one terminal and used by all types of users, specially the Employee and the administrator of this application. The main purpose of this application is to store and edit the complete personal record of each Employee along with evaluation of salary (annually) in an organization. And all information that is to be added and edited must be handled via text (.txt) or data (.dat) file, so that the information can be uploaded back into the system once activated or saved when the system is exited.
We are also required to incorporate the Validation throughout the application for each entry, from the user in order to avoid logical errors.
We are supposed to describe, justify and implement an object oriented system by the application,
Introduce current technical issues in the field of object oriented programming (OOP). Thus, predominantly our implementation code is expected to highlight the use of object oriented programming principles (OOPS) such as:
Class
Abstraction
Inheritance
Polymorphism
4. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 4 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
2. PROJECT DESCRIPTION
The project is evaluated deeply and it is discovered that, this project contains certain modules that needs to be incorporated in the system design. So, for getting the better understanding of the project, these modules are described below –
2.1. Login Module
It is one of the most important modules of the Employee Management System. Each Employee of the system has to be assigned its own username and password. And the assigning job is to be performed by the administrator.
The login module chiefly contains:
Administrator Login
Employee Login
2.2. Administrator Module
The administrator of the application has to be provided the highest access priority which enables him/her to perform all the functionalities that exist in the application. In addition to that, the administrator is able to register Employee.
The administrator is allowed to:
Register Employee as users of the system.
Add, search and edit personal information of Employee.
Delete record of any Employee.
Calculate salary package of Employees.
2.3. Employee Module
The Employee in this application has the lowest access priority that only enables him/her to only view the personal information and the annual salary.
2.4. Identification Card (IC) Number Generation Module
Each employee in the application has to be assigned with its unique Identification Card (IC) Number by which the employee can be identified uniquely for the operations and this is automatically generated by the system.
5. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 5 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
2.5. Record Searching Module
The searching of any record in the system must be done by using the following categories:
IC Number
Designation
Department
6. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 6 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
3. DESCRIPTION AND JUSTIFICATION
3.1. Design of The Implementation Codes
Description
In this Employee Management System, it has been already stated that, administrator has the highest access priority that means he can perform each and every functionality specified in the system. The functionalities he can perform includes add employee, register employee so that employee can access the system, search, update, delete the information of employees and can calculate salary of the employees.
And the lowest access priority is given to the employee who can only view his own profile and annual salary.
Justification
As the access priorities of different users is being discussed-
a) Administrator given the highest priority in System
Justification - As we know that administrator of any organization has got all the privileges and rights, so we also followed the same criteria in the system and provided the administrator the highest priority amongst all users.
b) Employees given the Least Priority
Justification – Generally, the employee of any organization has not to do a lot with the management system, as it is made for maintaining the organization data. So, employee in the system is given the less priority than admin.
c) Use of Functions Justification – Large programs are difficult to manage as a single list of instructions. Thus, large programs are divided into smaller parts known as functions. A function is a group of statements that together perform a task. The functions can be invoked (Called) from other parts of the program. The most important reason that we have used functions in a program because they make the program handling easier.
void employeeAccess::viewEmployee() // Function Definition
{
system("cls");
7. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 7 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
cout<<"n"<<setw(54)<<right<<"---------------------------";
cout<<"n"<<setw(53)<<right<<" VIEW EMPLOYEE PROFILE ";
cout<<"n"<<setw(54)<<right<<"---------------------------";
ifstream fin;
fin.open("employeeDetails.txt",ios::in|ios::binary);
if(!fin)
cout<<"File not found";
else
{
showHeading(); //function Call
fin.read((char*)this,sizeof(*this));
while(!fin.eof())
{
showEmployeeTable(); //function callS
fin.read((char*)this,sizeof(*this));
}
}
fin.close();
}
d) Use of File Handling
Since, we were required to store all the information that is added and edited in the text file, so that the information can be uploaded back into the system once activated or saved when the system is exited. And through file handling, operations like create, modify, delete etc can be performed thus file handling is used.
Below given snippet is of adding an employee in the project -
void employeeAccess::addEmployee()
{
system("cls");
cout<<"n"<<setw(54)<<right<<"--------------------------";
cout<<"n"<<setw(53)<<right<<" ADD EMPLOYEE PROFILE ";
cout<<"n"<<setw(54)<<right<<"--------------------------";
ifstream fin;
employeeAccess temp;
int id = 0;
fin.open("employeeDetails.txt",ios::in|ios::binary); //opening file
if(!fin)
{
id = id+1;
}
else
{
fin.read((char*)&temp, sizeof(temp)); //reading from file
while(!fin.eof())
{
id=temp.eICNumber;
fin.read((char*)&temp, sizeof(temp)); //reading from file
}
id++;
}
eICNumber = id;
getEmployeeDetails();
8. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 8 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
ofstream fout;
fout.open("employeeDetails.txt",ios::out|ios::app|ios::binary);
if(!fout)
cout<<"File can not open";
else
fout.write((char*)this, sizeof(*this)); //writing to the file
cout<<"n"<<setw(68)<<right<<"__________________________________________ _________";
cout<<"nn"<<setw(50)<<right<<" EMPLOYEE ADDED ";
fout.close();
cin.get();
cin.get();
adminOptions();
}
e) Use of Control Structures
Control structures controls the flow of the program. Basically there are three types of control structures –
i) Sequential :
In sequential structure, the programs are executed sequentially in which they are written. sequential structure specifies the normal flow of the program.
ii) Selection :
The selection structure means the execution of statements depends upon the condition test. If the condition comes out to be true then, a set of statements will be executed otherwise another set of statements will be executed. C provides three types of Selection Structures.
a) if Statement :
This (if) statement performs the actions only, when the condition comes out to be true and skips the statements when condition becomes false.
Below is the code given for calculating the salary -
double basicSalary, finalSalary;
if(eDesignation == "CEO")
{
basicSalary= 50000;
finalSalary = basicSalary + (0.70 * basicSalary) + (basicSalary * 0.20);
}
else if(eDesignation == "MD")
{
basicSalary= 35000;
finalSalary = basicSalary + (0.50 * basicSalary) + (basicSalary * 0.20);
}
else if(eDesignation == "MGR")
{
basicSalary= 30000;
finalSalary = basicSalary +(0.50 * basicSalary) + (basicSalary * 0.20);
9. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 9 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
}
b) Switch Selection Structure:
The switch selection structure allows us to make decisions from number of choices. This statement sequentially tests the values of an expression against a list of integer or character constants. And when the match found, the statements associated with that constant are executed. A snippet for Switch case
switch(adminChoice)
{
case 1:
{
admin_Access.addEmployee();
cin.get();
adminOptions();
}
break;
break;
case 2:
{
admin_Access.searchEmployee();
cin.get();
adminOptions();
}
break;
case 3:
{
admin_Access.viewEmployee();
cin.get();
adminOptions();
}
break;
case 4:
{
admin_Access.updateEmployee();
cin.get();
adminOptions();
}
break;
case 5:
{
admin_Access.deleteEmployee();
cin.get();
adminOptions();
}
break;
case 6:
{
admin_Access.calculateSalary();
cin.get();
adminOptions();
}
break;
case 7:
{
10. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 10 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
cout<<"n"<<setw(68)<<right<<"_________________________________________________ __";
cout<<"nn"<<setw(55)<<right<<"Are you SURE want to LOGOUT";
cout<<"nn"<<setw(46)<<right<<"[Y/N] : ";
char YN;
cin>>YN;
if(YN == 'Y' || YN=='y')
loginMenu.loginPage();
else
adminOptions();
}
break;
default:
{
cout<<"n"<<setw(56)<<right<<"____________________________";
cout<<"nn"<<setw(48)<<right<<"INVALID CHOICE "<<adminChoice;
cout<<"n"<<setw(56)<<right<<"____________________________";
cout<<"nn"<<setw(52)<<right<<"PRESS ENTER TO RENTER...";
cin.get();
cin.get();
adminOptions();
}
11. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 11 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
3.2. Implementation Codes in Terms of Object Oriented Programming Concepts
Object-oriented programming (OOP) is a programming language model organized around objects rather than "actions" and data rather than logic. Object Oriented Programming (OOP) is a programming paradigm that uses objects and can be defined as the collection of cooperating objects in which each message is capable of sending and receiving messages.
(Margaret Rouse, 2008)
The OOPs features that is used in the project are –
Abstraction
Encapsulation
Object
Inheritance
Polymorphism
Let’s evaluate these features one by one –
1. Abstraction
Abstraction refers to the act of representing the essential features without including the background details or explanations. It is the concept of simplifying a real world into its essential elements.
Justification
The class “employeeAccess” created (code given below) in the project where only the necessary information through public access specifier are given to the outside world and rest of the things remain hidden, which is nothing but abstraction.
Class Definition (employeeAccess.h File)
class employeeAccess
{
public:
virtual void mainMenu();
void getEmployeeDetails();
void addEmployee();
void registerEmployee();
void showEmployee();
void showEmployeeTable();
void viewEmployee();
void updateEmployee();
void deleteEmployee();
12. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 12 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
void searchEmployee();
void generateICNumber();
void assignUser();
void assignPass();
void employeeMenu();
void employeeOptions();
void viewEmployeeProfile();
void viewEmployeeSalary();
void calculateSalary();
protected:
int eICNumber;
private:
int eICNumber;
string eName, eGender, eQualification, eDesignation,eDepartment, eDateJoined, eNationality, eDOB, eMaritalStatus;// ePassword, eUsername;
char eUsername[15], ePassword[15];
};
2. Encapsulation (Class)
The wrapping up of data and operations / functions (that operate on the data) into a single unit (called class) is known as encapsulation. It is the way of combining both data and the functions that operate on the data under a single unit. Basic unit of encapsulation is a class. Characteristics of an object are represented in a class as Properties. Classes provide modularity and structure to the program.
Justification
The class “employeeAccess” (code given below) created in the project binds together the data and its associated functions under one unit that is implementing encapsulation.
Class Definition (employeeAccess.h File)
class employeeAccess
{
public:
virtual void mainMenu();
void getEmployeeDetails();
void addEmployee();
void registerEmployee();
void showEmployee();
void showEmployeeTable();
void viewEmployee();
void updateEmployee();
void deleteEmployee();
void searchEmployee();
void generateICNumber();
void assignUser();
void assignPass();
13. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 13 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
void employeeMenu();
void employeeOptions();
void viewEmployeeProfile();
void viewEmployeeSalary();
void calculateSalary();
protected:
int eICNumber;
private:
int eICNumber;
string eName, eGender, eQualification, eDesignation,eDepartment, eDateJoined, eNationality, eDOB, eMaritalStatus;// ePassword, eUsername;
char eUsername[15], ePassword[15];
};
Class Definition (login.h File)
class login
{
public:
void loginPage();
};
3. Object
An object is the real world identifiable entity with some characteristics and behavior. It is basically an instance of a class and there can be more than one instance of a class. Each instance of a class can hold its own relevant data. Memory is allocated only when an object is created.
In programming one object requests another object to perform an action by sending a message. The object which sends the message is called as the sender whereas the object which receives the message is known as the receiver.
Justification
The objects instantiated in the project is –
employeeAccess temp; //Object Creation of employeeAccess class
int id = 0;
fin.open("bookfile.txt",ios::in|ios::binary);
if(!fin)
{
id = id+1;
}
else
{
fin.read((char*)&temp, sizeof(temp));
while(!fin.eof())
14. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 14 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
{
id=temp.eICNumber;
fin.read((char*)&temp, sizeof(temp));
}
id++;
}
4. Inheritance
Inheritance is the capability of one class of thing to inherit the capabilities or properties from another class. It is the process of forming a new class from an existing class. The existing class is called the base class or parent class or super class and the new class formed is called derived or child. And the child class can also add it additional features.
Benefits of using inheritance –
It provides the reusability of the code. Once a code is written in the parent class there is no need to write the same code again in the child class.
Since, there is no need to write the code again and again thus helps in reducing coding efforts of the programmer and saves time.
Types of inheritance –
i. Based Upon Class Hierarchy
Single Inheritance
Multiple Inheritance
Multilevel Inheritance
Hybrid Inheritance
ii. Based Upon Access Specifiers
Public
Private
Protected
Justification
Inheritance applied on code –
15. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 15 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
#include "employeeAccess.h"
class adminAccess:public employeeAccess
{
};
Here class “adminAccess” inheriting the class “employeeAccess” (given below)
class employeeAccess
{
public:
virtual void mainMenu();
void getEmployeeDetails();
void addEmployee();
void registerEmployee();
void showEmployee();
void showEmployeeTable();
void viewEmployee();
void updateEmployee();
void deleteEmployee();
void searchEmployee();
void generateICNumber();
void assignUser();
void assignPass();
void employeeMenu();
void employeeOptions();
void viewEmployeeProfile();
void viewEmployeeSalary();
void calculateSalary();
protected:
int eICNumber;
private:
int eICNumber;
string eName, eGender, eQualification, eDesignation,eDepartment, eDateJoined, eNationality, eDOB, eMaritalStatus;// ePassword, eUsername;
char eUsername[15], ePassword[15];
};
5. Polymorphism
Polymorphism is the ability for a message or data to be processed in more than one form. It is a feature of OOP which allows 2 or more methods to have the same name within a class.
16. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 16 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
3.3. Validation Codes Applied into the Implementation Codes
Validation is applied into the system for each entry from the user in order to avoid logical errors. Below are the justification provided for the following.
1) Employee Name
The name of an employee cannot be a alphanumeric values and also it cannot contain any special characters, and for that I have provided a validation.
Justification Code:
cout<<"nn"<<right<<setw(25)<<" ";
cout<<setw(30)<<left<<"Employee Name:";
fflush(stdin);
gets(eQualification);
for (int i=0; i<20; i++)
{
int b=(int)eName[i];
if (b>0&&b<48||b>122&&b<127||(b>57&&b<65)||(b>90&&b<97))
{
cout<<setw(68)<<right<<"___________________________________________________";
cout<<"nn"<<right<<setw(25)<<" ";
cout<<setw(30)<<left<<"Name cannot contain SPECIAL CHARACTERS...";
cout<<"n"<<setw(68)<<right<<"_________________________________________________ __";
getName();
}
}
2) Password
The password can be a combination of alphanumeric values and also can contain special characters, but it must be more than 5 characters long and for that I have provided the validation.
Justification Code:
void employeeAccess::getPassword()
{
cout<<"nn"<<right<<setw(25)<<" ";
cout<<setw(30)<<left<<"Create Password (> 5 char):";
gets(ePassword);
if(strlen(ePassword) <6)
{
cout<<setw(68)<<right<<"___________________________________________________";
cout<<"nn"<<right<<setw(25)<<" ";
cout<<setw(30)<<left<<"Password is too short...try again";
cout<<"n"<<setw(68)<<right<<"____________________________________________";
getPassword();
}
}
17. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 17 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
3) Employee Gender
As an input for gender, the system accepts only two alphabetic characters M (male) or F (female), for which the validation is provided.
Justification Code:
void employeeAccess::getGender()
{
cout<<"nn"<<right<<setw(25)<<" ";
cout<<setw(30)<<left<<"Enter Gender [M/F]:";
fflush(stdin);
gets(eGender);
if((strcmp(eGender,"M")!=0 && strcmp(eGender,"m")!=0 && strcmp(eGender,"F")!=0 && strcmp(eGender,"f")!=0))
{
cout<<setw(68)<<right<<"___________________________________________________";
cout<<"nn"<<right<<setw(25)<<" ";
cout<<setw(30)<<left<<"Invalid Gender Status...Enter [M/UF]"<<eGender;
cout<<"n"<<setw(68)<<right<<"______________________________________________";
getGender();
}
}
4) Employee Designation
Since, for the input of employee designation the codes (CEO/MD/MGR/GM/AM/SPV/LBR) are specified. So, only the specified set of codes is expected as an input and for which the validation is provided.
Justification Code:
void employeeAccess::getDesignation()
{
cout<<"nn"<<right<<setw(25)<<" ";
cout<<setw(30)<<left<<"Employee Designation:";
cout<<"n"<<right<<setw(25)<<" ";
cout<<setw(30)<<left<<"(CEO/MD/MGR/GM/AM/SPV/LBR):";
fflush(stdin);
gets(eDesignation);
if((strcmp(eDesignation,"CEO")!=0) && (strcmp(eDesignation,"MD")!=0) && (strcmp(eDesignation,"MGR")!=0)&& (strcmp(eDesignation,"GM")!=0)&& (strcmp(eDesignation,"AM")!=0) && (strcmp(eDesignation,"SPV")!=0)&& (strcmp(eDesignation,"LBR")!=0))
{
cout<<setw(68)<<right<<"________________________________________________";
cout<<"nn"<<right<<setw(17)<<" ";
cout<<setw(30)<<left<<"Enter Valid Designation (CEO/MD/MGR/GM/AM/SPV/LBR)";
cout<<"n"<<setw(68)<<right<<"___________________________________________”;
getDesignation();
}
}
18. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 18 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
5) Employee Department
Since, for the input of employee department the codes (HR/MKT/PRO/QA) are specified. So, only the specified set of codes is expected as an input and for which the validation is provided.
Justification Code:
void employeeAccess::getMaritalStatus()
{
cout<<"n"<<right<<setw(25)<<" ";
cout<<setw(30)<<left<<"Employee Marital Status [M/U]:";
fflush(stdin);
gets(eMaritalStatus);
if((strcmp(eMaritalStatus,"M")!=0 && strcmp(eMaritalStatus,"m")!=0 && strcmp(eMaritalStatus,"U")!=0 && strcmp(eMaritalStatus,"u")!=0))
{
cout<<setw(68)<<right<<"___________________________________________________";
cout<<"nn"<<right<<setw(25)<<" ";
cout<<setw(30)<<left<<"Invalid Marital Status...Enter [M/U]"<<eMaritalStatus;
cout<<"n"<<setw(68)<<right<<"______________________________________________";
getMaritalStatus();
}
}
6) Date of Joining
Date of joining should be in the format of “DD/MM/YYYY” and it will be numeric only. And thus for taking input as “DD/MM/YYYY” validation is provided.
7) Date of Birth
The validation of date of birth is same as for date of joining.
8) Marital Status
As an input for marital status, the system accepts only two alphabetic characters M (for married) or U (unmarried), for which the validation is provided.
Justification Code:
void employeeAccess::getGender()
{
cout<<"nn"<<right<<setw(25)<<" ";
cout<<setw(30)<<left<<"Enter Gender [M/F]:";
fflush(stdin);
cin>>eGender;
if(eGender != 'M' || eGender != 'm' || eGender != 'F' || eGender != 'f')
{
19. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 19 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
cout<<setw(68)<<right<<"___________________________________________________";
cout<<"nn"<<right<<setw(25)<<" ";
cout<<setw(30)<<left<<"Invalid Gender...Enter [M/F]"<<eGender;
cout<<"n"<<setw(68)<<right<<"____________________________________________";
getGender();
}
}
20. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 20 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
4. UML DIAGRAMS
4.1. Class Diagram
21. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 21 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
4.2. Use Case Diagram
Administrator
View Employee
Profile
Update Employee
Details
Login
Employee
Search Employee
Delete Employee
Profile
<<include>>
<<include>>
<<include>>
Add Employee
Profile
<<include>>
Calculate Salary
Package
<<include>>
Employee Management System
<<includes>>
By IC Number
«extends»
«extends» By Designation
By Department
«extends»
<<includes>>
Logout
<<include>>
Registration
<<include>>
View Profile
<<include>>
View Salary Package
<<include>>
22. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 22 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
5. OUTPUT SCREENS
1) Start Screen
2) Administrator Login Screen
23. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 23 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
3) Administrator Menu Screen
4) Add Employee Screen
24. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 24 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
5) Search Employee Menu Screen
6) Search Employee By IC Number Screen
25. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 25 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
7) Search Employee By Designation Screen
8) Search Employee By Department Screen
26. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 26 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
9) View All Employee Profile Screen
10) Update Employee Screen
27. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 27 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
11) Update Employee Re-Enter Details Screen
28. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 28 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
12) Delete Employee Screen
29. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 29 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
13) View Employee Salary Screen
30. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 30 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
14) Admin Logout Screen
15) Employee Login Screen
31. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 31 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
16) Employee Menu Screen
17) View Employee Salary Screen
32. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 32 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
18) View Employee Profile Screen
33. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 33 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
6. CONCLUSION
It was a great experience to design and implement the Employee Management System by using an Object Oriented Programming Language C++ and to work on its documentation. While working on this project, I have learned many things especially how to apply the concepts of OOP paradigm in modelling of real world systems.
This assignment helped me to get the better understanding to develop and derive new class structures and organise them such that they will model real world systems within computers. It also helped me in getting in the better understanding of basic programming concepts of C++ language such as loops, control structure, arrays, file handling etc.
In this assignment, I have used almost every concepts of C++ language, I had learned. I have also provided validations throughout the system for avoiding logical errors, used excellent logic related comments with proper indentation and the OOPs concept in an excellent manner.
After doing this assignment, I am in position to explain object oriented programming concepts and apply them to the modelling of real world systems by utilizing its offered facilities.
34. CE00314-2-Further Programming Concepts in C++ Individual Assignment Page 34 of 34
Level 2 Asia Pacific Institute of Information Technology 2014
7. REFERENCES
1) Arora, S. 2010, Computer Science with C++, 6th ed., New Delhi, Dhanpat Rai & Co.
2) Balaguruswamy E. 2006, Object Oriented Programming with C++, New Delhi, Tata McGraw Hill.
3) Kanithkar Y.P. 2004, Let Us C++, 3rd ed., New Delhi, BPB Publication.
4) Deitel P.J., & Dietel H.M. 2010, C++ How to Program, 7th ed., New Delhi, PHI Learning.
5) Object Oriented programming Concepts in C++. 2014. Object Oriented programming Concepts in C++. [ONLINE] Available at: http://www.studytonight.com/cpp/cpp-and- oops-concepts.php. [Accessed 07 November 2014].
6) Java OOPs Concepts - Javatpoint. 2014. Java OOPs Concepts - Javatpoint. [ONLINE] Available at: http://www.javatpoint.com/java-oops-concepts. [Accessed 07 November 2014].
7) E Balagurusamy, A.E. 1994, Object oriented Programming with C++ Third Edition, McGraw-Hill, London