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
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
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.
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.
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)
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
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:
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:
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:
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:
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
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)
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.
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:
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
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.
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:
Display error message “Specified resource does not exist”
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
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.
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
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
Salary_For_Year Text
Salary_For_Month Text
Status Text (Yes/No)
Login:
Role Text (Manager, Accountant)
Password Text
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.
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
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
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
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
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
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
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
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.
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.
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.
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.
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
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
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
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
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.
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.
Note: Only those batch schedules can be deleted where start date is not passed away.
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
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.