Top Banner
Post-Test Case Study 1 – Leave Management System Duration: 8 Hours BlueWheel is a manufacturing company of car parts. BlueWheel has a work force of 70 workers and 15 administration staffs. Bluewheel is expanding its business and has recently purchased manufacturing equipments worth Rs 8 crores. Bluewheel is currently recruiting workers to increase its workforce. All the workers are happy with the administration of BlueWheel, except the issue of processing their leaves. Currently BlueWheel employees a manual process for applying and processing leaves. A worker is entitles for 15 days of casual leave. A worker applies a leave on paper and submits it to the floor manager. The floor manager can either accept or reject the leave. If rejected the employee is informed and the floor manager writes the reason for rejection in the leave application and submits the application to the Human Resource (HR) department. If the floor manager accepts the application, it is forwarded to the senior manager. The senior manager can also either accept or reject the leave. In both the cases the leave is forwarded to the HR department. The HR department updates the leave records of the employee on a register. This manual process of applying and processing leave is time consuming and error prone. The senior management has analyzed that the leave application process should be automated. They have decided to purchase a software system that will automate the process. You are working with Techcon as a software developer and Techon has received the order for creating the leave management application and train the workers to use it. You have been assigned to create the solution. Attempt solving the case by using the following approach:Problem Identification Information Analysis Design Considerations and Assumptions
64

17 PostTest CaseStudy IG Solutions

Mar 06, 2015

Download

Documents

Venkat Revanth
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 17 PostTest CaseStudy IG Solutions

Post-Test Case Study 1 – Leave Management System

Duration: 8 Hours

BlueWheel is a manufacturing company of car parts. BlueWheel has a work force of 70 workers and 15 administration staffs. Bluewheel is expanding its business and has recently purchased manufacturing equipments worth Rs 8 crores. Bluewheel is currently recruiting workers to increase its workforce. All the workers are happy with the administration of BlueWheel, except the issue of processing their leaves.

Currently BlueWheel employees a manual process for applying and processing leaves. A worker is entitles for 15 days of casual leave. A worker applies a leave on paper and submits it to the floor manager. The floor manager can either accept or reject the leave. If rejected the employee is informed and the floor manager writes the reason for rejection in the leave application and submits the application to the Human Resource (HR) department. If the floor manager accepts the application, it is forwarded to the senior manager. The senior manager can also either accept or reject the leave. In both the cases the leave is forwarded to the HR department. The HR department updates the leave records of the employee on a register. This manual process of applying and processing leave is time consuming and error prone.

The senior management has analyzed that the leave application process should be automated. They have decided to purchase a software system that will automate the process.

You are working with Techcon as a software developer and Techon has received the order for creating the leave management application and train the workers to use it. You have been assigned to create the solution.

Attempt solving the case by using the following approach:Problem Identification

Information Analysis

Design Considerations and Assumptions

Presentation of solution (write pseudo codes)You will be given 6 hours to work on the solution. Try and implement all, what you have learnt in the training program. You will be evaluated based on the above 4 parameters.

Additionally you need to perform following tasks:1. Mention the best practices while writing the good code.2. Write the unit test cases for your case study.3. Ask your peer to perform unit testing of your code using your test cases.4. Record the pass/fail status of unit test cases.5. Submit the report.6. Use the guidelines of good programming skills and techniques.

In the answer sheets given, Fill in your personal details and write the solution to the case. Submit to your trainer.

Page 2: 17 PostTest CaseStudy IG Solutions

Solution to Case Study 1 – Leave Management System

Problem Identification Primary Problem: Circulating the leave application is time consuming and error prone.

Sometimes the manager forgets to submit the granted leave application to the HR department. As a result the HR department does not have updated data. This results in a worker taking more than the entitled leaves.

Sometime leave application gets lost in the process of circulation and the process needs to be restarted.

Primary Problem: Instant information is not available.

The HR department does not have instant information on the amount of available leaves for a particular worker.

The HR department does not have instant information on the current status of a leave application whenever a worker queries.

Primary Problem: Updation and deletion of leave information is a tedious process.

Whenever a leave is granted, the HR department needs to manually check the register for the worker’s leave information and update it.

Sometimes workers are granted leaves but latter the worker wants to cancel the leave. In such situation the HR department needs to search and delete the leaves entered in the register.

Information Analysis

Authenticate users: The application should authenticate users based on user name and password before allowing the user access to their respective modules of the application.

Enable a worker to apply for leave online: The application should enable a worker to apply for a leave online.

Enable a floor manager to either accept or reject leaves: The application should provide a facility where a floor manager can view pending leave application from his side. Afterwards, floor manager should be able to either accept or reject it.

Enable a senior manager to either accept or reject leaves: The application should provide a facility where a senior manager can view pending leave application from his side. Afterwards, senior manager should be able to either accept or reject it.

Enable the HR to update leave records: The application should enable HR employees to view leave approved by the senior manager and accordingly update the leave records of an employee.

Enable the HR to view leave records of an employee: The application should provide a facility to enable HR employees to view leave records of an employee.

Page 3: 17 PostTest CaseStudy IG Solutions

Design Considerations and Assumptions

Considerations

1. The system should be secure so that only authorized user can log on and use it.2. The system should prevent invalid data input.3. The user interface of the system must be intuitive for its target user. 4. The system should provide default values that apply to the majority of the users for the

parameters.5. The system should be modular consisting of the following independent modules:

Login module: Performs authentication to authorize a user to access the other modules.

Leave application module: Enables a user to add, update, and delete leaves.

Manager module: Enables a floor manager and senior manager to:

View pending application

Grant or deny leave

HR module: Generates reports from data of the HR and Applicant_Details tables.

Assumptions

A leave can only be granted if the number of days of leave is less than entitles leave.

Leave granted should decrease from entitled leaves.

Identify data value headers with appropriate data types

Applicant_Details:

Employee_ID Text

Leave_Available Number Default Value=30

Leave_details:

Employee_ID Text

Date_Of_Apply Date

Start_date Date

End_date Date

Reason_of_Leave Text

Desk Text Values (FloorManager, Senior Manager, HR)

Status Text Values(Pending, Yes, No)

Page 4: 17 PostTest CaseStudy IG Solutions

Remarks Text

Recorded Text Default Value = No

Login

Employee_ID Text

Password Text

Role Text Values (Worker, Manager, HR)

Presentation of solution (300 minutes)

Login module

The login module performs authentication of a user. In the interface, a user enters the Employee_ID, password, and role. The following figure shows the interface.

Interface of the Login Module

Page 5: 17 PostTest CaseStudy IG Solutions

Process: Authenticating an end user

Accept employee ID, password, and role

If employee ID is in the Login table then

Retrieve password

Else

Display error message

End if

If password==database password

Retrieve role

Else

Display error message

End if

Switch role

Case 1: Worker

Display Leave application module

Case 2: Manager

Display Manager module

Case 2: HR

Display HR module

End Switch

Leave Application Module

The leave application module is accessible to authenticated users with the worker role. In the interface of this module, a user enters and submits leave application details as shown in the following figure:

Page 6: 17 PostTest CaseStudy IG Solutions

Interface of the Leave Application Module

Accept the Employee_ID, Date_Of_Apply, Start_Date, End_Date, and Reason_Of_Leave

Calculate number of leave days from the Start_Date and End_Date values

If number of leave days< Leave_Available value of Applicant_Details table

Insert Employee_ID, Date_Of_Apply, Start_date, End_date, and

Reason_Of_Leave data to Leave_details table

Set Desk value in Leave_details table to FloorManager

Set Status value in Leave_details table to Pending

Else

Display error message “Number of leave dates is more than the

entitled value”

End if

Manager Module

The manager module provides an interface where a floor or project manager can accept or decline a leave application. The interface of the manager module is shown in the following figure:

Page 7: 17 PostTest CaseStudy IG Solutions

Process: Floor Manager Viewing Pending Applications

For each worker

If desk == floor manager and status ==pending

Retrieve Employee_ID, Date_Of_Apply, Start_date, End_date, and

Reason_Of_Leave data from Leave_details table toUse

Display data on the Manager module interface

Else

Display error message “You Do Not Have Any Pending Leave Application to

Process”

End if

End For

Process: Floor Manager Accepting and Declining Applications

For each worker

If Status == Grant

Set Status ==Pending in Leave_details

Set Desk == SeniorManager

Else if Status == Decline

Set Status ==No in Leave_details

Insert Reason in Leave_details

End If

End For

Page 8: 17 PostTest CaseStudy IG Solutions

Process: Senior Manager Viewing Pending Applications

For each worker

If desk == SeniorManager and status ==pending

Retrieve Employee_ID, Date_Of_Apply, Start_date, End_date, and

Reason_Of_Leave data from Leave_details table

Display data on the Manager module interface

Else

Display error message “You Do Not Have Any Pending Leave Application to Process”

End if

End For

Process: Floor Manager Accepting and Declining Applications

For each worker

If Status == Grant

Set Status ==Yes in Leave_details

Set Desk == HR in Leave_details

Else if Status == Decline

Set Status ==No in Leave_details

Insert Reason in Leave_details

End If

End For

HR Module

The HR module enables employees of the HR department to update records of leaves of employees whose application has been approved by the senior manager. The HR module also enables an HR employee to view status of a particular leave application.

The following figure shows the interface after an HR employee updates leave records:

Page 9: 17 PostTest CaseStudy IG Solutions

Interface after an HR employee updates leave records

Process: Viewing Leave Records Approved by the Senior Manager

For Each worker

If desk==SeniorManager and Status=Yes and Recorded ==No

Retrieve Employee_ID, Date_Of_Apply, Start_date, End_date from

Leave_details table

Calculate the total number of leave days from the Start_date and End_date

Values

Deduct the total number of leave days from the Leave_Available

value in the Applicant_Details table

Set Recorded ==Yes

Display Employee_ID, Date_Of_Apply, and Leave_Available

Else

Display You do not have any leave application to update

End If

End For

The following figure shows the interface to view status of a leave application:

Interface to search application status

Page 10: 17 PostTest CaseStudy IG Solutions

Process: Viewing Leave Status

Accept Employee_ID and Date_Of_Apply

If exist Employee_ID and

Date_Of_Apply in the Leave_details table

Retrieve Employee_ID, Date_Of_Apply, Start_date, End_date,

Reason_Of_Leave, Desk, and Status data from Leave_details

Display Employee_ID, Date_Of_Apply, Desk, and Status on the interface

Else

Display “No record found for the specified Employee ID and application date”

End If

Page 11: 17 PostTest CaseStudy IG Solutions

Post-Test Case Study 2 – Lab Management System

Duration: 8 Hours

HiTech Computers Labs Limited (HCLL) is a high end training institute providing cutting edge technology trainings. There is need of software which can provide various functional tools needed to manage the Computer Laboratory equipped with latest configuration computers meant for Practical Sessions of HCLL. This is a major functionality which manages the proper & timely allocation of practical sessions to various batches.

Currently The System Administrator takes care of all the computer systems in the lab. The Lab Manager is responsible for the availability of resources, such as computer system, printer, and the Internet connection, to all the students of the lab. The Lab Manager also needs to keep track of the new computer systems purchased for the lab and the movement of the spare systems from the lab. HCLL uses a register to maintain the details of the systems. The register contains the following information:

Resource ID: A unique resource ID provided to each computer system in the lab, which makes it easier to locate a system.

Installed operating system: Information on the operating system running on each computer system.

Installed software: Includes information about all the software installed on a computer.

Working status: Information about the working status of a computer.

Printer attachment status: Information about the specific printer attached to a computer.

Currently all this information is entered manually to the register. This manual process of managing the lab is both time consuming and error prone. The register was suitable when there were a small number of computer systems. However, with the increase in number of computers in the lab, it has become complex to maintain their details in the register manually. In addition, if some changes occur in the details of a computer system, it takes time to search for it in the register, and then modify the required information.

The senior management has analyzed that the lab management process should be automated. They have decided to purchase a software system that will automate the process.

You are working with Techcon as a software developer and Techon has received the order for creating the lab management application. You have been assigned to create the solution.

Attempt solving the case by using the following approach:

Problem Identification

Information Analysis

Design Considerations and Assumptions

Presentation of solution (write pseudo codes)

Page 12: 17 PostTest CaseStudy IG Solutions

You will be given 6 hours to work on the solution. Try and implement all, what you have learnt in the training program. You will be evaluated based on the above 4 parameters.

Additionally you need to perform following tasks:1. Mention the best practices while writing the good code.2. Write the unit test cases for your case study.3. Ask your peer to perform unit testing of your code using your test cases.4. Record the pass/fail status of unit test cases.5. Submit the report.

Use the guidelines of good programming skills and techniques.

In the answer sheets given, Fill in your personal details and write the solution to the case. Submit to your trainer.

Solution to Case Study 2 – LabManagement System

Problem Identification Primary Problem: Manually managing the lab time consuming and error prone.

Sometimes the system administrator forgets to update the register of computers that are not in working state. As a result the lab manager does not have updated data of system status and ends up allocating non working computers to students.

Sometime the system administrator changes printer attached to computers and forgets to update the register. As a result the lab manager ends up allocating specialized printing job to a computer where a printer is incapable of performing the printing job attached.

Primary Problem: Instant information is not available.

The system administrator does not have instant information on the required software installed in a computer. Therefore, the system administrator has to either browse the register or check the computer before allocating it to a student.

If the administration wants to know the details of all the systems, there is no certain method to retrieve such information instantly from the register.

If the administration wants to know information of all the system where the evaluation version of Windows 7 Operating System is installed, there is no certain method to retrieve such information instantly from the register.

Primary Problem: Updation and deletion of software and printer information is a tedious process.

Whenever software is installed on a computer, the lab manager manually searches the register for the computer and adds the installed software entry to it.

Page 13: 17 PostTest CaseStudy IG Solutions

Whenever software is uninstalled from a computer, the lab manager manually searches the register for the computer and removes the software entry from it.

Information Analysis

Authenticate users: The application should authenticate users based on user name and password before allowing the user access to their respective modules of the application.

Add new resources: If a new computer system comes to the lab, its information should be added to the automated system.

Assign software to resource: If a software is installed on a computer its information should be added to the automated system

Delete resource: If any computer system is discarded from the lab, its information should be removed from the automated system.

Modify the details of a particular computer system: If there are any changes in the hardware or software configuration of a computer system, the application should be able to perform the modifications.

View details of computers according to their ID: The application should display all the details of a computer on the basis of its ID.

Generate a system health report: The application should display the working status of all the computers in the lab. It should also display how many systems are in a working and non-working state.

Design Considerations and Assumptions

Considerations

1. The system should be secure so that only authorized user can log on and use it.2. The system should prevent invalid data input.3. The user interface of the system must be intuitive for its target user. 4. The system should provide default values that apply to the majority of the users for the

parameters.5. The system should be modular consisting of the following independent modules:

Login module: Performs authentication to authorize a user to access the other modules.

System administration module: Enables the system administrator to:

Add new printer

Add new resources

Assign software to a resource

Modify resources

Lab manager module: Enables the lab manager to:

Page 14: 17 PostTest CaseStudy IG Solutions

Delete resource

View details of computers according to their ID

Generate a system health report

Identify data value headers with appropriate data types.

Resource:

Resource_ID Text

Resource_Desc Text

OS_Installed Text

Working_Status Text (ON/OFF)

Printer_ID Text

Printer_Status Text (ON/OFF)

Remarks Text

Software:

Resource_ID Text

Software_Name Text

Version Text

Installed_Date Date

Any_Expiry_date Date Default Null

Printer_Details:

Printer_ID Text

Printer_Description Text

Login:

Role Text (Admin, Manager)

Password Text

Presentation of solution

Login module

Page 15: 17 PostTest CaseStudy IG Solutions

The login module performs authentication of a user. In the interface, a user enters the role (Admin/Manager) and a password. The following figure shows the interface.

Interface of the Login Module

Process: Authenticating an end user

Accept role, password

If role is in the Login table then

Retrieve password

Else

Display error message “Please select a role”

End if

If password==database password

Switch role

Case 1: Admin

Display System administration module

Case 2: Manager

Display Manager module

End Switch

Else

Display error message “Invalid password. Please login again.”

End If

Page 16: 17 PostTest CaseStudy IG Solutions

System Administration Module

The system administration module is accessible to authenticated users with the Admin role. The system administration module contains the following processes:

Adding a new printer

Adding a new resource

Assigning software to a resource

Modifying information of a resource

Process: Adding a New Printer

The following figure shows the interface for adding a printer:

Interface for Adding a Printer

Accept the Printer_ID and Printer_Description

If Printer_ID exists in Printer

Display error message “Specified Printer_ID already exists.”

Else

Insert Printer_ID and Printer_Description to Printer

Display message “Printer successfully added”

End If

Page 17: 17 PostTest CaseStudy IG Solutions

Process: Adding a New Resource

The following figure shows the interface for adding a resource:

Interface for Adding a Resource

Accept the Resource_ID, Resource_Desc, OS_Installed, Working_Status,Printer_ID, Printer_Status, and Remarks

If Resource_ID exists in Resource

Display error message “Specified Resource_ID already exists.”

Else

Insert Resource_ID, Resource_Desc, OS_Installed,

Working_Status,Printer_ID, Printer_Status,Remarks to Resource

Display message “Resource successfully added”

End If

Page 18: 17 PostTest CaseStudy IG Solutions

Process: Assigning Software to a Resource

The following figure shows the interface for assigning software to a resource:

Interface for Assigning Software to a Resource

Accept Resource_ID, Software_Name, Version, Installed_Date, Any_Expiry_date

If Resource_ID And Software_Name And Version exist in Software

Display error message “Specified software is already installed.”

Else

Insert Resource_ID, Software_Name, Version, Installed_Date, Any_Expiry_date to Software

Display message “Software added to resource.”

End if

Page 19: 17 PostTest CaseStudy IG Solutions

Process: Modifying Information of a Resource

The following figure shows the interface for modifying a resource:

Interface for Modifying a Resource

Accept Resource_ID

If Resource_ID exists in Resource

Retrieve Resource_Desc, OS_Installed,Working_Status, Printer_ID,

Printer_Status, Remarks from Resource

Display records in editable fields in interface

Accept records updated in interface

Update Resource with the updated records

Else

Display error message “Specified resource does not exist”

End If

Manager Module

The manager module is accessible to authenticated users with the Manger role. The manager module implements the following processes:

Deleting resource

Viewing details of computers according to their ID

Generating a system health report

Page 20: 17 PostTest CaseStudy IG Solutions

Process: Deleting Resource

The following figure shows the interface for deleting a resource:

Interface for Deleting a Resource

Accept Resource_ID

If Resource_ID exists in Resource

Delete records

For each Resource_ID in Software

Delete records

End For each

Else

Display error message “Specified resource does not exist”

End If

Page 21: 17 PostTest CaseStudy IG Solutions

Process: Viewing Details of Computers According to their ID

The following figure shows the interface to view computer details:

Interface for Viewing Computer Details

Accept Resource_ID

If Resource_ID exists in Resource

Retrieve Resource_Desc, OS_Installed, Working_Status, Printer_ID,

Printer_Status, Remarks from Resource

Display records in interface

For each Resource_ID in Software

Retrieve Software_Name, Version, Installed_Date,

Any_Expiry_date

Display records in interface

End For each

Else

Display error message “Specified resource does not exist”

Page 22: 17 PostTest CaseStudy IG Solutions

End If

Process: Generating a System Health Report

The following figure shows the interface to view system health report:

Interface for Viewing System Health Report

Retrieve total number of records from Resource (T)

Retrieve total number of records where Working_Status is ON (WS)

Retrieve total number of records where Printer_Status is ON (PS)

Display “Percentage of computers in running condition” = WS/T *100

Display “Percentage of computers with attached printers” = PS/T *100

Post-Test Case Study 3 – Payroll Management System

Duration: 8 Hours

HiTech Computers Labs Limited (HCLL) is well known for effective learning facilities for the students. HCLL has more than 5,000 students. It employs 250 faculty members and 60 sales & support staff. The administration of the school is satisfied with its progress. The highly qualified faculty members & dedicated support staff are satisfied with the administration, except the timely & proper distribution of their salaries.

Currently the administration is maintaining the details of all the employees in a register manually. It worked during the early days of school, but now as the number of employees has increased; it is not feasible to maintain all the details in the register manually.

This manual method is very tedious for the administration and annoying for the employees. Processing of salaries begins on the last working day of every month, and takes five to seven

Page 23: 17 PostTest CaseStudy IG Solutions

working days to complete the process for all the employees. Each employee wants to get the salary on the last working day of every month. However, due to manual processing, it is not possible for the administration to distribute salaries to all the employees simultaneously. At the end of every month, there is a huge problem to calculate the salary of each employee, and pay it as soon as possible.

The management of HCLL has decided to adopt an automated system for processing the salaries of its employees. They want a simple automated system that is fast and generates error free salary slips. Therefore, a small application for maintaining the employee details and handling the payroll effectively needs to be created.

You are working with Techcon as a software developer and Techon has received the order for creating the payroll management application. You have been assigned to create the solution.

Attempt solving the case by using the following approach:

Problem Identification

Information Analysis

Design Considerations and Assumptions

Presentation of solution (write pseudo codes)

You will be given 6 hours to work on the solution. Try and implement all, what you have learnt in the training program. You will be evaluated based on the above 4 parameters.

Additionally you need to perform following tasks:1. Mention the best practices while writing the good code.2. Write the unit test cases for your case study.3. Ask your peer to perform unit testing of your code using your test cases.4. Record the pass/fail status of unit test cases.5. Submit the report.

Use the guidelines of good programming skills and techniques.

In the answer sheets given, Fill in your personal details and write the solution to the case. Submit to your trainer.

Solution to Case Study 3 – PayrollManagement System

Problem Identification Primary Problem: Manually managing the payroll is time consuming and error prone.

At the end of every month, the administration needs to know the overall expenditure on salary. However, the manual process to calculate the total salary is difficult and information may not be accurate.

Page 24: 17 PostTest CaseStudy IG Solutions

Sometime the accountant performs error while generating pay slips. If detected the accountant needs to regenerate the pay slip

Primary Problem: Instant information is not available

The administration does not have instant information on the total amount of salary disbursed

If the administration wants to know the salary details of a particular employee, there is no certain method to retrieve such information instantly from the register.

Primary Problem: Updation and deletion of employee information is tedious and error prone:

Whenever there is an increase in salary of an employee, the register needs to be checked for the employee details and update the salary.

Whenever an employee resigns, the accountant has to manually search the register for the employee and removes entries for the employees.

Information Analysis Authenticate users: The application should authenticate users based on user name and

password before allowing the user access to their respective modules of the application.

Add new employee: If a new employee joins HCLL, its information should be added to the automated system.

Update salary of an employee: If an employee gets a raise, the system should enable updating the salary of the employee.

Delete employee: If any employee leaves HCLL, its information should be removed from the automated system.

Modify the details of an employee: If there are any changes in the information of an employee, the application should be able to perform the modifications.

View salary details of a particular employee: The application should display all the salary details of an employee based on the employee ID.

Generate pay slip: The application should be able to generate the pay slip of an employee by displaying the following components of the salary:

Basic Salary (BS)

House Rent Allowance (HRA)

Dearness Allowance (DA)

Provident Fund (PF)

Taxes

Calculate the preceding components in the following way:

HRA = 25% of basic salary

TA = 15% of basic salary

DA = 15% of basic salary

PF = 12.5% of basic salary

Tax = 10% of basic salary

Page 25: 17 PostTest CaseStudy IG Solutions

Calculate the net salary by using the following formula and display it at the bottom of the pay slip:

Net Salary = BS + HRA + TA + DA - PF - Tax

Design Considerations and Assumptions

Considerations

1. The system should be secure so that only authorized user can log on and use it.2. The system should prevent invalid data input.3. The user interface of the system must be intuitive for its target user. 4. The system should provide default values that apply to the majority of the users for the

parameters.5. The system should be modular consisting of the following independent modules:

Login module: Performs authentication to authorize a user to access the other modules.

Manager module: Enables the manager to:

Add new employee

Delete employee

Modify the details of an employee

View salary details of a particular employee

Accountant module: Enables the accountant to:

Update salary of an employee

Generate pay slip

Identify data value headers with appropriate data types

Employee:

Employee_ID Text

Employee_Name Text

Emp_Address Text

Date_Of_Birth Date

Date_Of_Joining Date

Salary:

Employee_ID Text

Basic_Salary Number

Revised_On Date

MonthlySalary:

Employee_ID Text

Page 26: 17 PostTest CaseStudy IG Solutions

Salary_For_Year Text

Salary_For_Month Text

Status Text (Yes/No)

Login:

Role Text (Manager, Accountant)

Password Text

Page 27: 17 PostTest CaseStudy IG Solutions

Presentation of solution

Login Module

The login module performs authentication of a user. In the interface, a user enters the role (Manager/Accountant) and a password. The following figure shows the interface.

Interface of the Login Module

Process: Authenticating an end user

Accept role, password

If role is in the Login table then

Retrieve password

Else

Display error message “Please select a role”

End if

If password==database password

Switch role

Case 1: Accountant

Display Accountant module

Case 2: Manager

Display Manager module

End Switch

Else

Display error message “Invalid password. Please login again.”

End If

Page 28: 17 PostTest CaseStudy IG Solutions

Manager Module

The manager module is accessible to authenticated users with the Manager role. The manager module contains the following processes:

Adding new employee

Deleting employee

Modifying the details of an employee

Viewing salary details of a particular employee

Process: Adding a New Employee

The following figure shows the interface for adding an employee:

Interface for Adding an Employee

Accept the Employee_ID, Employee_Name, Emp_Address, Date_Of_Birth, Date_Of_Joining and Basic_Salary

If Employee_ID exists in Employee

Display error message “Employee already exists.”

Else Insert Employee_ID, Employee_Name, Emp_Address, Date_Of_Birth,

Page 29: 17 PostTest CaseStudy IG Solutions

and Date_Of_Joining to Employee

Insert Employee_ID, Basic_Salary, and Date_Of_Joining to Salary

Display message “Employee successfully added”

End If Process: Deleting an Employee

The following figure shows the interface for deleting an employee:

Interface for Deleting an Employee

Accept Employee_ID

If Employee _ID exists in Employee

Delete records from employee

Delete records from salary

Else

Display error message “Specified employee does not exist”

End If

Page 30: 17 PostTest CaseStudy IG Solutions

Process: Modifying the Details of an Employee

The following figure shows the interface for modifying the details for an employee:

Interface for Modifying Details of an Employee

Accept Employee_ID

If Employee _ID exists in Employee

Retrieve Emp_ID, Employee_Name, Emp_Address from Employee

Display Emp_Address in editable field in interface

Display other records as read-only in interface

Accept Emp_Address updated in interface

Update Employee with the updated record

Else

Display error message “Specified employee does not exist”

End If

Page 31: 17 PostTest CaseStudy IG Solutions

Process: View Salary Details of a Particular Employee

The following figure shows the interface for viewing salary details of an employee:

Interface for Viewing Salary Details

Accept Employee_ID

If Employee_ID exists in Salary

Retrieve Basic_Salary and Revised_On from Salary

Display Employee_ID, Basic_Salary and Revised_On on interface

Display “HR ” .25 * Basic_Salary

Display “DA” .15 * Basic_Salary

Display “PF ” .125 * Basic_Salary

Page 32: 17 PostTest CaseStudy IG Solutions

Display “Tax” .10 * Basic_Salary

Display “Net Salary =” BS + HRA + TA + DA - PF – Tax

Else

Display error message “Specified employee does not exist”

End If

Accountant Module

The accountant module is accessible to authenticated users with the Accountant role. The accountant module implements the following processes:

Update salary of an employee

Generate salary slip

Process: Updating Salary of an Employee

The following figure shows the interface for updating salary of an employee:

Interface for Updating salary

Accept Employee_ID

Page 33: 17 PostTest CaseStudy IG Solutions

If Employee_ID exists in Salary

Retrieve Basic_Salary and Revised_On from Salary

Display Basic_Salary and Revised_On in editable fields in the interface

Accept the updated values

Update Salary with the updated values

Display message “Salary successfully updated.”

Else

Display error message “Specified employee does not exist”

End If

Page 34: 17 PostTest CaseStudy IG Solutions

Process: Generating Pay Slip

The following figure shows the interface for generating salary slip of an employee:

Interface for Generating Salary Slip

Accept Employee_ID

If Employee_ID exists in Salary

Retrieve Basic_Salary and Revised_On from Salary

Display Employee_ID, Basic_Salary and Revised_On

Display “HR =” .25 * Basic_Salary

Page 35: 17 PostTest CaseStudy IG Solutions

Display “DA =” .15 * Basic_Salary

Display “PF =” .125 * Basic_Salary

Display “Tax =” .10 * Basic_Salary

Display “Net Salary =” BS + HRA + TA + DA - PF – Tax

Retrieve Salary_For_Year and Salary_For_Month from interface

Insert Employee_ID, Salary_For_Year, Salary_For_Month, and

Status=Yes to MonthlySalary

Else

Display error message “Specified employee does not exist”

End If

Page 36: 17 PostTest CaseStudy IG Solutions

Post-Test Case Study 4 – Faculty Management System

Duration: 8 Hours

HiTech Technology Training Institute (HTTI) provides training on the latest software technologies available in the market. There are 25 Faculty Members in the institute. The administration creates a weekly schedule for each trainer. This schedule is stored in a register manually. The Faculties need to deliver lectures on a specific technology as per the schedule given to them. The institute conducts three batches in a day according to the following timings:

Batch 1: 9:00 AM to 11:00 AM

Batch 2: 12:00 PM to 02:00 PM

Batch 3: 3:00 PM to 5:00 PM

HTTI is gaining popularity day-by-day and its business is growing fast. The number of students joining the institute has increased from 500 to 1000 in the past three months. Due to this, the number of Faculties has also increased, and it is becoming difficult to maintain their personal details and schedule manually. Recently, certain cases of allotment of the same batch to two Faculty Members have been observed. This leads to inconvenience to the students as well as the Faculties. The management of the institute analyzed the situation and found the following problems in the current system of storing details in the register:

Time schedule is not clear: If there is a need to know the time schedule of different batches with subject-specific classes, it requires a lot of effort in shuffling the register, and finding the required information.

Instant information is not available when needed: At some point of time, when administration needs to know about the Faculties’ details or schedule of some classes, instant information is not available. The whole register walk-through is required to find this information.

A lot of pen-and-paper work is required: Adding any information to the register or modifying any information requires a lot of pen-and-paper work.

Updating Data is Time Consuming: If there is any change in the schedule of a trainer, it takes a lot of time to search and then update the required information in the register.

Schedule is Error Prone: There is a possibility of errors while creating or updating the schedule manually in the register.

Based on the key observations, the management decides to adopt an automated system for maintaining the trainer and schedule details. They want a simple automated system that is fast and generates accurate schedules for each trainer.

Page 37: 17 PostTest CaseStudy IG Solutions

Therefore, a small application for maintaining the trainer and schedule details needs to be created. The application should perform the following tasks:

Add new trainer’s details: The application should provide a facility for adding personal information of every new trainer joining the institute.

Add new schedule details: The application should provide a facility for adding the schedule details of each trainer.

Modify trainer’s details: If there are some changes in the personal details of the trainer, the application should have the facility to modify the previous records.

Modify schedule details: If there are some changes in the schedule, the application should have the facility to modify the schedule details.

Delete schedule details: If some records, which are not presently in practice, exist, the application should provide the facility to delete that type of data.

Generating reports: The application should be able to generate the following reports:

Display the weekly time schedule of a particular trainer

Display time schedule of all the Faculties for a particular day

Use an object-oriented language to develop this application. Ensure that the application satisfies all the requirements of HTTI.

Page 38: 17 PostTest CaseStudy IG Solutions

Solution to Case Study 4 – Faculty Management System

Problem Identification Time schedule is not clear: If there is a need to know the time schedule of different batches

with subject-specific classes, it requires a lot of effort in shuffling the register, and finding the required information.

Instant information is not available when needed: At some point of time, when administration needs to know about the Faculties’ details or schedule of some classes, instant information is not available. The whole register walk-through is required to find this information.

A lot of pen-and-paper work is required: Adding any information to the register or modifying any information requires a lot of pen-and-paper work.

Updating Data is Time Consuming: If there is any change in the schedule of a trainer, it takes a lot of time to search and then update the required information in the register.

Schedule is Error Prone: There is a possibility of errors while creating or updating the schedule manually in the register.

Information Analysis

Authenticate faculties/senior manager

The application should authenticate faculties/senior manager based on their name and password. After authentication:

Faculties can perform following tasks:

Access respective schedule using the batch code.

Access personal details.

Senior manager can perform following tasks:

Add new faculty details: The application should provide a facility for adding personal information of every new faculty joining the institute.

Add new schedule details: The application should provide a facility for adding the schedule details of each faculty.

Modify faculty’s details: If there are some changes in the personal details of the faculty, the application should have the facility to modify the previous records.

Modify schedule details: If there are some changes in the schedule, the application should have the facility to modify the schedule details.

Page 39: 17 PostTest CaseStudy IG Solutions

Delete schedule details: If some records, which are not presently in practice, exist, the application should provide the facility to delete that type of data.

Generating reports: The application should be able to generate the following reports:

Display the weekly time schedule of a particular faculty

Display time schedule of all the Faculties for a particular day

Design Considerations and Assumptions

Considerations

1. The system should be secure so that only authorized user can log on and use it.2. The system should prevent invalid data input.3. The user interface of the system must be intuitive for its target user. 4. The system should be modular consisting of the following independent modules:

Login module: Performs authentication to authorize a user to access their modules.

Batch schedule module: Enables senior manager to add, update, and delete batch schedule.

Faculty module: Enables senior manager to add faculty personal details and allocate the batch as per availability of faculty.

Reports: Senior manager should be able to view following reports:

Display the weekly time schedule of a particular faculty.

Display time schedule of all the Faculties for a particular day.

Assumptions

A batch can be allocated to the faculty only if faculty is available.

All the faculties are well skilled equipped therefore any faculty can be assigned a batch on the basis of availability.

End date of the batch is start date + 2 months.

Page 40: 17 PostTest CaseStudy IG Solutions

Identify data value headers with appropriate data types

Login_Details:

User_name Text

Password Text

Auth_type Text (values: Faculty, Manager)

Faculty_Details:

Fac_code Text

Fac_name Text

Fac_contact Text

Fac_address Text

Batch_Details:

Batch_code Text

Batch_module Text

Batch_timings Text

Assigned_fac Text

Start_date date

End_date date

Presentation of solution

Login Module

The login module performs authentication of a user. In the interface, a user enters the user_name, password, and role. The following figure shows the interface.

Interface of the Login Module

Page 41: 17 PostTest CaseStudy IG Solutions

Process: Authenticating an end user

Accept username, password, and role

If username and password exists in the Login table then

Switch role

Case 1: Faculty

Display Faculty module

Case 2: Manager

Display Manager module

End Switch

Else

Display error message

Endif

Faculty Module

The faculty module allows faculty to view personal details and batch schedule.

Personal Details Screen

Interface of the Faculty Module

Select personaldetail option

Display Faccode, facname, address, contact

Page 42: 17 PostTest CaseStudy IG Solutions

Batch Schedule Screen

Interface of the Batch Schedule

Accept batch code

Click submit button

If batch code exists in batch table for the logged in faculty then

Display batch schedule

Else

Display error message

Endif

Manager Module

Faculty Details Management Screen

Interface of the Manager Module

Page 43: 17 PostTest CaseStudy IG Solutions

Addition: On click of Add button all the details will be clear from text boxes. Now fill the details and click the Save button to save the details in faculty table.

Click Add button

Clear all the fields

Accept Faccode, Facname, Address, Contact

Click Save button

Modification: On click of Update button all the details will be clear from text boxes. Now type the faccode and press the enter key. For the entered faccode, details will be fetched from faculty table. Now update the details and click the Save button to save the details in faculty table.

Click Update button

Clear all the fields

Accept Faccode

If faccode exists in the faculty table then

Display facname, address, contact

Else

Display error message

Endif

Click Save button

Batch Management Screen

Interface of the Batch Management Module

Page 44: 17 PostTest CaseStudy IG Solutions

Addition: On click of Add button all the details will be clear from text boxes. Now fill the details and click the Save button to save the details in batch table.

Click Add button

Clear all the fields

Generate batch code

Accept module, timings, faccode, start_date

Click Save button

Modification: On click of Update button all the details will be clear from text boxes. Now type the batchcode and press the enter key. For the entered batchcode, details will be fetched from batch table. Now update the details and click the Save button to save the details in batch table.

Click Update button

Clear all the fields

Accept batchcode

If batchcode exists in the batch table then

Display module, timings, faccode, startdate, enddate

Else

Display error message

Endif

Click Save button

Note: Only Start date can be changed if start date has not passed away.

Deletion: On click of Delete button all the details will be clear from text boxes. Now type the batchcode and press the enter key. For the entered batchcode, details will be fetched from batch table. Click the Save button to delete the details from batch table.

Click Delete button

Clear all the fields

Accept batchcode

If batchcode exists in the batch table then

Display module, timings, faccode, startdate, enddate

Else

Display error message

Endif

Click Save button

Note: Only those batch schedules can be deleted where start date is not passed away.

Page 45: 17 PostTest CaseStudy IG Solutions

Weekly Schedule: This application will display the weekly time schedule of a particular faculty. It fetches the batch details which are assigned to the faculty for the mentioned date range.

Interface of the Weekly Report

Accept daterange

Accept faccode

If faccode exists in the batch table then

Display batchcode, module, date, timings

Else

Display error message

Endif

Page 46: 17 PostTest CaseStudy IG Solutions

Daily Schedule: This application will display the schedule for all the faculties of a particular day. It fetches the batch details which are assigned to the faculties for the mentioned date.

Interface of the Daily Report

Accept date

Fetch batch details from batch table

Display module, timings, faccode