FPT-APTECH COMPUTER EDUCATION
eProject Document
Leave Management System
Group 1
Nguyen Manh Hung A04211 691
Group Member Nguyen Duc Phuong A04210 694
Le Quang Hung A04209 708
Instructor TuNN Batch C0810L Semester <2|4>
- Hanoi, 6/2010-
FPT Aptech Computer Education
eProject Document
Content
Problem Definition...................................................................................4 Requirements and Business Flow...........................................................7 Design......................................................................................................23 System Prototype....................................................................................31 Management and Project Planning......................................................33 Checklists................................................................................................33 Screenshots..............................................................................................33 Coding Convention.................................................................................33 Appendix.................................................................................................34
Group 1
Page 2 7/2/2012
FPT Aptech Computer Education Introduction
eProject Document
This project is aimed at developing a leave management system that is of importance to any organization. The Leave Management System (LMS) is an application that can be accessed by all the employees of the organization. This system can be used to automate the workflow of leave applications and their approvals. The periodic crediting of leave is also automated. There are features like cancellation of leave, report generators, etc in this system.
Group 1
Page 3 7/2/2012
FPT Aptech Computer Education
Problem Definition
Problem Abstraction
eProject Document
In most of the organizations, each employee has been provided with the leave card at the time of appointment. Leave card shows the leaves credited to the employees account. Each time employee wants to go on leave, he will have to mention the details on the card, get it approved from the superior and submit it to the human resources staff person for updating in the company records. At the end of the year the leave balance is updated. However this paper based process is very time consuming and also causes discrepancies in the records.
The Current System
Currently, system only uses paper to apply and decide a leave. So, this is very inconvenient and takes so much time for a staff to get a leave because of complex administrative procedures.
The Proposed System
Due to the inconvenience in managing the data using leave cards, it is required to have a computer based system where an employee can login and apply for the leave. He can even see the records of the previous leaves taken as well check the balance leaves. Each person should have the functions below: Login to the system through the first page of the application Change the password after logging into the system
See his/her leave details (how many days of leave
he/she is eligible for, leave balance, leave history , etc) Apply for leave, specifying the dates, reason for taking leave, address for communication while on leave.
Group 1
Page 4 7/2/2012
FPT Aptech Computer Education
eProject Document
See his/her current leave applications and the leave applications that are submitted to him/her for approval or cancellation
Approve/reject the leave applications that are submitted to him/her (if he/she is a superior)
Withdraw his/her leave application (which has not been approved) Cancel his/her leave (which has been already approved). This will need to be approved by his/her Superior. Get help about the leave system on how to use the different features of the system. After each staff activity, system will create a log to save the details of the action. And then, the report of leave details will be sent to their manager periodically. Also, system creates a policy of the number of days that a staff can leave in a period time and mark the public holidays in calendar.
Boundaries of the System
As the content above, system can be applied to everyone in the company
Development Environment
Hardware: A minimum computer system that will help you access all the tools in the courses is a Pentium 166 or better. 128 Megabytes of RAM or better Software: Visual Studio .Net / ASP / Visual Studio 6.0 IIS server .Net Framework Java Virtual Machine/ J2EE server
Group 1 Page 5 7/2/2012
FPT Aptech Computer Education
Notepad/Java editor j2sdk1.4.1_02 (or later). EJB Dev Kit Java enabled web server JSP / Servlets Dev. Kit
eProject Document
Group 1
Page 6 7/2/2012
FPT Aptech Computer Education
eProject Document
Requirements and Business Flow
Customer Requirement Specification
Customer requires an IT system that can control and operate every activity about leave management by computer to replace the current manual system.
Activity Diagram
Group 1
Page 7 7/2/2012
FPT Aptech Computer Education
Use Case Diagram
eProject Document
Use Case Specification
Group 1
Page 8 7/2/2012
FPT Aptech Computer Education
Use-case No. Use-case Name Author Date Actor: Requestor/Approver UC01 Login Hungnm 15/06/2010
eProject Document
Use-case Version 1.0
Priority
High
Summary: Requestor login to the leave management system Goal: Login to the system to use its function Triggers N/A Preconditions: N/A Post Conditions: N/A Main Success Scenario:
Step Actor System
1 User enter username and password then click into button Login 2 If proper the conditions BR01 ,will take users to the system on the main interface else will be forwarded to AS01
3 End use case Alternative Scenario:
Step Actor System
1 2 3 End use case Exceptions: N/A Relationships: N/A Business Rules:
Display message Wrong username or password. Please try again Back to step 1 of main scenario
Group 1
Page 9 7/2/2012
FPT Aptech Computer Education
-
eProject Document
BR1 : Username and password are correctly UC02 Change password Hungnm 15/06/2010 Requestor/Approver Priority Normal Use-case Version 1.0
Use-case No. Use-case Name Author Date Actor:
Summary: Users want to change their password Goal: Change password Triggers N/A Preconditions: After login Post Conditions: N/A Main Success Scenario:
Step Actor System
1 User click button Change your password 2 3 User enter old password , new password and confirm password then click button OK 4 If proper the conditions BR01 , system will show the message password successfully changed else will be forwarded to AS01 System displays the password change interface
5 End use case
Group 1
Page 10
7/2/2012
FPT Aptech Computer Education
Alternative Scenario:
Step Actor
eProject Document
System
1 2 3 End use case
Display message Wrong old password or newpass and confirm pass must be identical Back to step 3 of main scenario
Exceptions: N/A Relationships: N/A Business Rules: - BR1 : Old password correctly, new password and confirm password must be identical
Group 1
Page 11
7/2/2012
FPT Aptech Computer Education
Use-case No. Use-case Name Author Date Actor: Requestor/Approver UC03 View leave detail Hungnm 15/06/2010
eProject Document
Use-case Version 1.0
Priority
Normal
Summary: Users want to view their own history, day of leave and balance Goal: Know their own history leave Triggers N/A Preconditions: After login Post Conditions: N/A Main Success Scenario:
Step Actor System
1 2 User double click into row 3 4 End use case Alternative Scenario: N/A Exceptions: N/A Relationships: N/A Business Rules: - N/A
System displays the detail leave interface
Show dialog display more infomation
Group 1
Page 12
7/2/2012
FPT Aptech Computer Education
Use-case No. Use-case Name Author Date Actor: Requestor/Approver UC04 Get help Hungnm 15/06/2010
eProject Document
Use-case Version 1.0
Priority
Normal
Summary: Users want to know more information about system and how to use Goal: Know how to use system well Triggers N/A Preconditions: After login Post Conditions: N/A Main Success Scenario:
Step Actor System
1 User click button Get help 2 3 End use case Alternative Scenario: N/A Exceptions: N/A Relationships: N/A Business Rules: - N/A System displays the help interface
Use-case No.
UC05 Group 1 Page 13
Use-case 7/2/2012
1.0
FPT Aptech Computer Education
Use-case Name Author Date Actor: Requestor/Approver Summary: Users want to apply a leave Goal: Take a leave Triggers N/A Preconditions: After login Post Conditions: N/A Main Success Scenario:
Step Actor
eProject Document
Version
Apply a leave Hungnm 15/06/2010 Priority Normal
System
1 User click button Apply a leave 2 3 User fill required information in the form 4 5 End use case Alternative Scenario: AS01
Step Actor System
If proper the conditions BR01, systemll show form Add new leave else go to EX01
If proper the conditions BR02, systemll show success message else go to AS01
1 2 3 End use case
Display message Not enough day leave remaining Back to step 3 of main scenario
Exceptions:
Group 1
Page 14
7/2/2012
FPT Aptech Computer Education
eProject Document
EX01: end use case Relationships: N/A Business Rules: - BR01: User still have leave days - BR02: smaller number of leave days than remaining leave days
Use-case No.
UC06
Use-case Version
1.0
Group 1
Page 15
7/2/2012
FPT Aptech Computer Education
Use-case Name Author Date Actor: Requestor/Approver Summary: Users want to withdraw a leave Goal: Successfully cancel Triggers N/A Preconditions: After login A leave is not accepted Post Conditions: N/A Main Success Scenario:
Step Actor
eProject Document
Withdraw a leave Hungnm 15/06/2010 Priority Normal
System
1 User select row and click button withdraw 2 3 End use case Alternative Scenario: N/A Exceptions: N/A Relationships: N/A Business Rules: N/A systemll show success message and change status of leave
Use-case No. Use-case Name
UC07 Cancel a leave Group 1 Page 16
Use-case Version
1.0
7/2/2012
FPT Aptech Computer Education
Author Date Actor: Requestor/Approver Summary: Users want to cancel a leave Goal: Successfully cancel Triggers N/A Preconditions: After login A leave is accepted Post Conditions: N/A Main Success Scenario:
Step Actor
eProject Document
Priority Normal
Hungnm 15/06/2010
System
1 User select row and click button cancel 2 systemll show message waiting on the manager to accept and change status of leave
3 End use case Alternative Scenario: N/A Exceptions: N/A Relationships: N/A Business Rules: N/A
Use-case No. Use-case Name Author
UC08 Reject request Hungnm Group 1 Page 17
Use-case Version
1.0
7/2/2012
FPT Aptech Computer Education
Date Actor: Approver Summary: Users want to reject a request Goal: Successfully cancel Triggers N/A Preconditions: After login Role is approver Post Conditions: N/A Main Success Scenario:
Step Actor
eProject Document
Priority Normal
15/06/2010
System
1 User click to button Manage leave 2 3 User select a row and click button Reject 4 5 End of use case Alternative Scenario: N/A Exceptions: N/A Relationships: N/A Business Rules: N/A Change status of the leave systemll display manage leave interface
Use-case No. Use-case Name Author Date
UC09 Approve request Hungnm 15/06/2010 Group 1 Page 18
Use-case Version
1.0
Priority
Normal
7/2/2012
FPT Aptech Computer Education
Actor: Approver Summary: Users want to approve a request Goal: Successfully accept Triggers N/A Preconditions: After login Role is approver Post Conditions: N/A Main Success Scenario:
Step Actor
eProject Document
System
1 User click to button Manage leave 2 3 User select a row and click button Approve 4 5 End of use case Alternative Scenario: N/A Exceptions: N/A Relationships: N/A Business Rules: N/A Change status of the leave systemll display manage leave interface
Use-case No. Use-case Name Author Date Actor:
UC10 View log Hungnm 15/06/2010
Use-case Version
1.0
Priority
Normal
Group 1
Page 19
7/2/2012
FPT Aptech Computer Education
Approver Summary: Approver want to view log of employee Goal: View log Triggers N/A Preconditions: After login Role is approver Post Conditions: N/A Main Success Scenario:
Step Actor
eProject Document
System
1 User click to button View list employee 2 3 User double click on a row 4 5 End of use case Alternative Scenario: N/A Exceptions: N/A Relationships: N/A Business Rules: N/A Show log of employee systemll display list employee
Use-case No. Use-case Name Author Date Actor: Approver
UC11 View report Hungnm 15/06/2010
Use-case Version
1.0
Priority
Normal
Group 1
Page 20
7/2/2012
FPT Aptech Computer Education
Summary: Approver want to view log of employee Goal: View log Triggers N/A Preconditions: After login Role is approver Post Conditions: N/A Main Success Scenario:
Step Actor
eProject Document
System
1 User click to button View report 2 3 End of use case Alternative Scenario: N/A Exceptions: N/A Relationships: N/A Business Rules: N/A systemll display report
Use-case No. Use-case Name Author Date Actor: System
UC12 Save log Hungnm 15/06/2010
Use-case Version
1.0
Priority
Normal
Group 1
Page 21
7/2/2012
FPT Aptech Computer Education
eProject Document
Summary: System automatically save log Goal: Save log of action Triggers N/A Preconditions: One of these actions appear: change password,apply a leave, withdraw, cancel, reject, approve Post Conditions: N/A Main Success Scenario:
Step Actor System
1 Record information and save to database 2 End of use case Alternative Scenario: N/A Exceptions: N/A Relationships: N/A Business Rules: N/A
Use-case No. Use-case Name Author Date Actor: System
UC13 Summary report Hungnm 15/06/2010
Use-case Version
1.0
Priority
Normal
Group 1
Page 22
7/2/2012
FPT Aptech Computer Education
eProject Document
Summary: System automatically summary report send to approver periodically Goal: Summary report. Triggers N/A Preconditions: One of these actions appear: change password,apply a leave, withdraw, cancel, reject, approve Post Conditions: N/A Main Success Scenario:
Step Actor System
1 Record information and save to database then send to approver periodically 2 End of use case Alternative Scenario: N/A Exceptions: N/A Relationships: N/A Business Rules: N/A
Design
System Architecture
System architecture of our project is: 2-tiers and 3-layers 2-tiers Architecture
Group 1
Page 23
7/2/2012
FPT Aptech Computer Education
eProject Document
In the two-tier model, a Java application talks directly to the data source. This requires a JDBC driver that can communicate with the particular data source being accessed. A user's commands are delivered to the database or other data source, and the results of those statements are sent back to the user. The data source may be located on another machine to which the user is connected via a network. This is referred to as a client/server configuration, with the user's machine as the client, and the machine housing the data source as the server. The network can be an intranet, which, for example, connects employees within a corporation, or it can be the Internet.
Group 1
Page 24
7/2/2012
FPT Aptech Computer Education
3-layers Architecture
eProject Document
3 main layers are: Presentation, Business and Data. For example in figure: dbConnection This class is mainly used to do the database activity like Select, Update and Delete query to database. It also checks if the database connection is open or not. If database connection is not open, then it opens the connection and performs the database query. The database results are to be received and being passing in Data Table in this class. This class takes the database setting from the [Link] file so its really flexible to manage the database settings. Database Access Layer Database Access Layer (DAO) builds the query based on received parameters from the Business Logic Layer and passes it the dbConnection class for execution. And simple return results from the dbConnection class to Business Logic Layer. Business Logic Layer Business Logic Layer (BUS) works as a bridge between Presentation Layer and DAO. All the user values received from the presentation layer are being passed to BUS. The results received from the DAO are in row data in Data Table format but in BUS its converting into Value Objects (VO). Business Logic Layer (BUS) is the most important class in the whole architecture Group 1 Page 25 7/2/2012
FPT Aptech Computer Education
eProject Document
because it mainly contains all the business logic of the program. Whenever a user wants to update the business logic of the program only need to update this class. Presentation Layer Presentation Layer is the only layer which is directly connected with the user. So in this matter, its also a really important layer for marketing purposes. Presentation Layer is mainly used for getting user data and then passing it to Business Logic Layer for further procedure, and when data is received in Value Object then its responsible to represent value object in the appropriate form which user can understand.
Class Diagram
Class Diagram Explanation
3 main Layers are:
Group 1
Page 26
7/2/2012
FPT Aptech Computer Education
+ GUIManager (Presentation) + BusinessProcessing (Business logic)
eProject Document
+ DataAccess (Data access) The GUIManager will manage 4 frame using to provide to user with 4 feature: mange leave, manage request, view log and view report. Data display in presentation layer is DataObject, get from BusinessProcessing by 4 servicesmatched with 4 features. BusinessProcessing and GUIManager can talk directly with each other for more operations. And about operations related to database, they are executed by DataAccess class. It recieves orders from BusinessProcessing class and retrieve/modify database. DBConnection is a bridge between DataAccess and specific database server.
Data Flow Diagram
Group 1
Page 27
7/2/2012
FPT Aptech Computer Education
eProject Document
Group 1
Page 28
7/2/2012
FPT Aptech Computer Education
Entity Relationship Diagram
eProject Document
Database Design
Database: LeaveManagementSystem Tables Summary: Leave, User, Log, Position Table Details:
Leave Name
LeaveID UserID DateStart DateEnd State Subject Reason Communicati on CurrentLeaveDays
DataType
integer(10) integer(5) date date integer(2) varchar(30) varchar(100) varchar(50) integer(2)
Constraints
PKUnique FK ([Link])
Null
No No No No No No No No No
Comment
Auto increment Leaves owner
State of leave
How to contact Leave policy may change in future so this field is used to review leave in past Day when applying
Date
date
No
Group 1
Page 29
7/2/2012
FPT Aptech Computer Education
eProject Document
leave
User Name
UserID Username Password Fullname SuperiorID PositionID
DataType
integer(5) varchar(30) varchar(50) varchar(30) integer(5) integer(10)
Constraints
PKUnique Unique
Null
No No No No
Comment
Auto increment
FK ([Link]) FK ([Link])
No No
Log Name
LogID UserID Time Action LeaveID
DataType
integer(10) integer(5) time(7) varchar(30) integer(10)
Constraints
PKUnique FK ([Link]) Unique
Null
No No No No
Comment
Auto increment
FK ([Link])
Yes
For leaverelated action
Position Name
PositionID PositionNam e LeaveDays
DataType
integer(10) varchar(15) integer(2)
Constraints
PKUnique
Null
No No No
Comment
Group 1
Page 30
7/2/2012
FPT Aptech Computer Education
System Prototype
eProject Document
Group 1
Page 31
7/2/2012
FPT Aptech Computer Education
eProject Document
Group 1
Page 32
7/2/2012
FPT Aptech Computer Education
Management and Project Planning
Management Approach Project Plan Task Sheet
eProject Document
Checklists
Check List of Validation Submission Checklist
Screenshots Coding Convention
Group 1
Page 33
7/2/2012
FPT Aptech Computer Education
Appendix
eProject Document
Group 1
Page 34
7/2/2012