This project is based on an example from the book "Object-Oriented Analysis and Design with Applications, 3rd Edition", focusing on the business and system analysis aspects of the VTS.
- 1. Vision
- 2. Functional Requirements
- 3. Non-Functional Requirements
- 4. Constraints
- 5. Use Cases
- 6. Data Model (ERD)
- 7. Pseudocode
- 8. State Machine Diagram For Request
Our vision is to create a system that allows and empowers employees to effortlessly manage their vacation time without needing to master company policies. The system will automate the leave management process, ensuring efficiency, transparency, and ease of use for all stakeholders.
- Give individual employees the capability and responsibility to manage this particular aspect of their employment agreements with the company.
- Implement a flexible rules-based system to validate and verify leave time requests.
- Provide access to leave requests for the previous calendar year.
- Allow employees to submit leave requests up to a year and a half in the future.
- Approval by the immediate manager (some high-level employees may not require manager approval).
- The ability of managers to grant additional leave time (comp time) to employees directly, beyond their standard entitlements, within predefined limits set by the system.
- Send email notifications to request manager approval.
- Notify employees of changes to their request status.
- Maintain activity logs for all transactions.
- Enable HR and system administration personnel to override restricted actions, with all overrides logged.
- HR personnel will be responsible for entering and updating employee vacation data in the system.
- Provide a web service interface for internal systems to query an employee’s vacation request summary.
- The system must be intuitive, intelligent, and easy to use for all user roles.
- Implement robust authentication and authorization mechanisms.
- Aim to save time and reduce costs.
- Uses existing hardware and middleware.
- The system implemented as an extension to the existing intranet portal system, and uses the portal’s single-sign-on mechanisms for all authentication.
- Keeps activity logs for all transactions.
- Employee: The main user of this system, managing their vacation time.
- Manager: An employee who has all the abilities and goals of a regular employee, but with the added responsibility of approving vacation requests for immediate subordinates. A manager may award subordinates comp time, subject to certain limits set in the system.
- Clerk (HR Member): A member of the HR department who has sufficient rights to view employees’ personal data and is responsible for ensuring that employees’ information in all HR systems is up to date and correct. An HR clerk can add or remove nearly any record in the system. In real life, HR clerks may or may not be employees; however, if they are employees, they use two separate login IDs to manage these two different roles.
- System Admin: Responsible for the smooth running of the system’s technical resources (e.g., Web server, database) and for collecting and archiving all log files.
The employee is authenticated by the portal framework and identified as an employee of the company with privileges to manage his or her own vacation time.
An employee has made a vacation time request, and that request has yet to be approved or denied by an authorized manager.
The employee has a vacation time request that has been approved and is scheduled for some time in the future or the recent past (previous 5 business days).
- You can also read the intuitional code for the provided use cases: Pseudocode