|
|
(One intermediate revision by one other user not shown) |
Line 6: |
Line 6: |
| |bgcolor="#8275aa"|Final Presentation Slides | | |bgcolor="#8275aa"|Final Presentation Slides |
| |bgcolor="#dbdbdb"| | | |bgcolor="#dbdbdb"| |
− | *[[Media:Zora_Final_Presentation.pdf |v1: 8 Apr 2014]] | + | *[[Media:Zora_Final_Presentation.pdf |v2: 21 Apr 2014]] |
| |- align="left" | | |- align="left" |
| |bgcolor="#8275aa"|Deployed Site Link | | |bgcolor="#8275aa"|Deployed Site Link |
Line 418: |
Line 418: |
| |- align="left" | | |- align="left" |
| |bgcolor="#dbdbdb"|Deployment Diagram | | |bgcolor="#dbdbdb"|Deployment Diagram |
− | |bgcolor="#dbdbdb"|[[IS480_Team_wiki:_2013T2_Zora_Business_Requirements|<font color="#069" face="">'''System Architecture'''</font>]] | + | |bgcolor="#dbdbdb"|[[IS480_Team_wiki:_2013T2_Zora_System_Architecture|<font color="#069" face="">'''System Architecture'''</font>]] |
| |} | | |} |
| | | |
Latest revision as of 16:09, 21 April 2014
Project Progress Summary
Deliverable
|
Link
|
Final Presentation Slides
|
|
Deployed Site Link
|
|
Completion of project
|
100% (Core, Secondary, Good to Have)
View detailed scope here
|
Number of Iterations
|
12
View detailed schedule here
|
Number of Heuristics
|
1
|
Number of User Testing
|
3
|
Deployment
|
- Deployed on client's server on bluehost on 12 Apr 2014.
- Handover to our client Sterling Engineering completed.
|
Changes since Mid-Term
|
- Addition of new X-Factor to compensate for lack of technicality: Fraud Detection
- Did not implement 2 good to have features: Audit Log, Portal Notification due to the new addition X-Factor.
|
Milestones
Completed Milestones
|
Remaining Milestones
|
- Heuristics 1 (18 Sep 2013)
- User Test 1 (18 Oct 2013)
- Proposal Submission (28 Oct 2013)
- Acceptance Presentation (8 Nov 2013)
- User Test 2 (3 Feb 2014)
- Live Deployment 1 – Leave, Claim, Administration (19 Feb 2014)
- Mid-Term Presentation (26 Feb 2014)
- User Test 3 (17 Mar 2014)
- Live Deployment 2 (12 Apr 2014)
|
- Final Presentation (21 Apr 2014)
|
Completed Functionalities
Core Modules
|
Secondary Modules
|
Good to Have Modules
|
- Basic Remuneration
- Claims
- Leave
- Basic System Administration
- ACL
|
- Training & Development
- Performance Management & Appraisal
- Claim Analysis Report
- Advanced Remuneration
- X-Factor: Fraudulent Claim Detection
|
- Manage Performance Management
|
Project Highlights
Issue Description
|
Consequences
|
Mitigation Plan
|
Client request for 2 additional features in leave module and claim module.
|
If not handled appropriately, might result in big delay in schedule and project not being able to complete by final presentation.
|
- Using the Change Management Metric , we negotiated with the sponsor and managed to reject the change in claim and greatly reduced the scope of the change in leave module.
|
Project Achievements:
- Able to get users to use our early live deployed copy with 41 Claims, 14 Leaves being submitted as of 13 April 2014.
- Conducted a training session on 17 April 2014
Project Management
Project Schedule
Project Metrics:
Schedule Metric
Highlights of Project Schedule
Iteration
|
Category
|
Reasons
|
Action Taken
|
2
|
C (SM > 1.1)
|
- Apply Leave: It is more complex that it initially was anticipated. Leave consist of annual, maternity, unpaid and others. All of which requires different business rules. We took longer than we expected for this section.
- Upload file for Leave & Claim: It is of a high difficulty level for the team due to the lack of knowledge and time to research.
|
- PM shifted incomplete tasks to other iteration.
- All other tasks are being reviewed to ensure that they are broken down to the simplest task possible.
|
7
|
C (SM > 1.1)
|
- User Test: Time is taken up to do intensive test on the deployed application using the user test task instructions.
- Other commitments: Team members have other submissions and presentation with other modules during iteration 7. As such, some tasks are delayed.
|
- Drop of previous X-Factor of claim analysis interactive graph to free up manpower resources
- Allocate time to do intensive user test using task instructions in the user’s environment before the next user testing
- PM to find out commitments in other modules other than FYP for later iterations and reschedule tasks accordingly/re-allocate tasks
|
View more details on schedule metric here
Bug Metric
View more details on bug metric here
Change Management Plan
2 new additional changes updated in the change tracker:
Iteration
|
Feature Description
|
Function Feasibility
|
How does it value add?
|
Priority level
|
11
|
Additional Features for Leave
|
- Include 1 additional page for HR Personnel to view all the leave applied
- Filtering to of the dates to be done
- Information include leave details, date duration, applied by whom, approved/rejected by whom, status
|
- HR can view the different leave of all employee at one go
|
3 (Instead of creating one additional page, allow HR personnel to access to feature "View Approved & Rejected Leave"
|
11
|
Additional Features for Claims
|
- Include 1 additional page for HR Personnel to view the summary of all claims
- Filtering to of the dates, claim type, claim name to be done
- Information include claim date, approved by whom, validated by whom, receipt link
|
- HR can view all the claims in a page
|
4 (Rejection of change due to lack of time & high complexity)
|
View more details on the Change Management Plan & Results
Technical Complexity
Application
|
- Codeigniter Framework
- PHP 5.2.17
- Apache
- TCPDF
- PHPass
|
|
Browser
|
- HTML
- CSS
- Javascript
- Jquery Library
- Jquery Validation Plugin
|
|
Database
|
|
- One challenge faced is the integration of various libraries into our application. We would need to figure out how to utilise the various libraries. While there are documentation for the libraries, they are sometimes not adequate when we are debugging our application
- The 2 libraries we have used so far is TCPDF and PHPass
- TCPDF is used to generate PDF documents such as claim slips, pay slips etc.
- PHPass is used for password hashing and encryption
Integration of various modules
|
The various modules of our application are not individual silos and they are tightly integrated with each other. In order to manage the challenge of sharing data, we have developed extensive documentation for all the tables in our database. An example is shown in the picture below.
|
|
Managing Live Data
|
As we have deployed our application early, we also faced the challenge of handling existing data our application as we make changes to our database tables. We use the Beyond Compare software to identify changes in order to ensure smooth migration.
|
|
k-nearest neighbor algorithm
|
|
We have used the k-nearest neighbor (kNN) algorithm to classify and detect fraudulent claims. Based on past claims data, we have built a training set on fraudulent claims. When a claim is submitted, our application will calculate the distance of the new claim in relation to all the claims that is already classified. Based on the nearest k - neighbours, the algorithm will classify the claim. As shown in the picture above, where k is 3, the new claim is classified as fraudulent as 2 out of the 3 neighbours is fraudulent.
Calculating distance:
We have used the following variables in calculating distance:
- Claim amount
- Income of claimer
- Claim type
- Department of claimer
- Day of date incurred
Each variable is normalised to ensure that all variables would have equal weight and the distance will not be skewed by variables with large values. After normalising, each variables are given different weighs based on their significance in determining the possibility of claim fraud.
|
Quality of product
Design Considerations
- We have chosen to use Twitter Bootstrap for our User Interface (UI) as users a familiar with the layout of the design.
- Our team can move away from reinventing the wheel and focus on providing our users a more intuitive interface instead.
- In the design of our UI, we use the Nielsen's 10 heuristics as our guideline
Nielsen's Heuristics
|
Screenshot
|
|
- Error prevention
- Help users recognize, diagnose, and recover from errors
|
|
|
|
|
Security considerations
- Password salting and hashing
- Using PHpass library, each password is assigned a unique salt and hash
- Cross Site Scripting Validation
- Validation is done at input to prevent cross site scripting
- Dynamic Access Control
Maintainability
- Coding conventions & standards carefully adhered to. Our framework has a style guide that we follow.
- We have 3 layers of abstraction within our application - Views, Controllers & Model
MVC Model:
Architecture Model:
Project Deliverables:
Deployment:
- Deployed on client's server on bluehost on 12 Apr 2014.
- Deployed version consist of ALL modules that we have coded for the entire iteration.
- Handover to our client Sterling Engineering completed.
Testing
User Test 3
User Test 3
|
|
Details
|
- 21 & 22 March 2014, Friday & Saturday
- 10am – 2pm
- Sterling Engineering Pte Ltd (Client’s Office)
- No of Participant: 9
- Participant Profile: Business Development Manager (Administrator), HR Personnel, Contract Manager (Higher Management), Structural Draftsman (Line Manager), 2 x Quality Surveyor, Design Engineer, Work & Safety Health Officer, Student Intern
|
Objectives
|
- Determine usability of application.
- Obtain both qualitative and quantitative feedback from system users.
|
|
Scope of Test
|
Claims
|
- Submit New Claim
- Validate Submitted Claim
- Edit Payment Method
- Approve/Reject Submitted Claim by HR
- Approve/Reject Submitted Claim by MD
- Generate Claimslip
- View Claim History
- View Personal Claim Status
- Generate Claim Report
|
|
Leave
|
- Apply Annual Leave
- Edit Leave
- Apply Other Leave
- Approve/Reject Leave
- View Status of Leave & Cancel Leave
- View Leave History
- Record Medical Leave
- Record Unpaid Leave & Approve Recorded Leave
- Generate Leave Report
|
|
Remuneration
|
- View Past Payment Record for Employees
- View Personal Payment Record
- Input Timesheet for Workers
- Input OT Timesheet for Drivers
- View Worker Costing
|
|
Performance Management & Appraisal
|
- Create Employee Appraisal
- Approve/Revise Salary Increment Request
- Distribute Bonus
- View Scheduled Increment/Bonus
|
|
Training & Development
|
- Propose a Training
- Approve/Reject Training by HR
- Approve/Reject Training by MD
- View Proposed Training Status
- View Nominated Training
- Manage External Training
|
|
System Administration
|
- Create New Profile
- Update Profile
- Manage Default Number of Leave
|
|
Common Feedback (Before & After)
|
Claims
|
Before
After
|
|
Leave
|
Before
After
|
|
Training & Development
|
Before
After
|
|
|
Quantitative Feedback - User Test 2 versus User Test 3
|
Ease of Use
|
|
|
Overall Layout
|
|
|
Analysis for the same 5 participants from user test 2
|
This is the analysis done from user test 2:
Reasons for the time taken:
- Validate Submitted Claim - Most users are not able to locate the "view" claim receipt link
- Edit Payment Method - Confirmation message was not display thus user did not know the payment method had been updated
- Apply Other Leave - Most users was unsure how to upload 2 files as no instruction was stated hence a huge amount of time was spent figuring it out
This is the analysis done for user test 3:
Reasons for changes in timing:
- Changes that we made and improved on the application was useful
- Live Deployment + user interacting with the system before enables them to familiar with the system
|
|
Bug Log
Reflections
Team Reflection
|
Throughout the course of the project, we experienced many ups and downs as a team. One of the key takeaways is the need for change management, the importance of documenting client changes along the way. Teamwork, in supporting and motivating each other during challenging and difficult times also proved to be especially critically in seeing the project to its completion.
|
Individual Reflections
|
|
|
Fiona Woo
|
Lim Ken Khoon
|
Tan Yun Xi
|
- Through IS480, I have learnt to be an independent learner by picking up good project management skills from projects done by our seniors.
- Being a project manager made me understand the importance in seeking common concensus from my fellow groupmates in whatever decision I have made. I have also come to understand that maintaining the morale and camaraderie of the team is essential for the success of the team.
- The challenge that I face the most is understanding the capabilities and schedule of each team member so as to give a realistic deadline to each tasks. The use of metrics and the weekly meetings to update project progress really aid for me to overcome this challenge.
|
- IS480 gave me a chance to step out of my comfort zone. As a lead developer, I often had to be a trailblazer by researching on new technologies, weigh their cost and benefits in order to decide whether to implement them. As such, I am now more versatile as I become more receptive towards unexplored technologies.
- I have also honed my mentoring skills as I not only have to introduce any new technologies that I have researched to my team members, I would also need to assist them in adopting the new technologies.
- However, it is has not been a smooth journey throughout the IS480 journey. There was the time where I faced problems in implementing several technologies in data visualization for data analytics. This was solved by exploring other alternatives and close communication with the team, especially, project manager.
|
- Due to the various project scopes, we took a substantial amount of time to gather business requirements. I learned the need to document business requirements properly which will allow both the developers and the client to understand better on how the project will turn out. Also, the hi-fidelity prototype in the business requirement made it easy for both parties to be on the same frequency and picture the upcoming system more easily.
- I also learned that even though a business requirement document was prepared, the document serves just as a guideline. Throughout the development phrases, as the developers who have more expertise in developing a system, we should initiate some system changes that were not stated in the document if we foresee that it will aid the client in their business activities and is not hard to implement.
- One of the toughest challenges was to meet the client’s changing/new requirements yet with the limited amount of time we have to develop. I learned the need to ensure our system is flexibility so that we would be able to cater these changes more effectively.
|
|
|
|
Lee Yi Xian
|
Tan Mei Zhen
|
Darryl Leong
|
- Through IS480, I had learnt the important of building a system with flexible concept/design on the backend, to allow easy amendment to changes and new requirements and programming framework became very handy in such situation.
- The challenge I faced the most is getting the missing piece of requirements into a workable system. As our project is built on the agile methodology, changes and new requirements come at different phase. Therefore, I have to ensure that the database design is flexible enough to capture the new data and also striking a balance between ease of accessing to data and minimize data redundancy.
|
- Being a quality analyst, I had learnt that testing is an essential procedure that should not be eliminated or avoided when developing an application, especially user test. Without user test, there is no way the application that we built can be perfect because as developers, we can never fully understand the real needs of the user until they tried the system themselves and provide us feedbacks to improve accordingly.
- The challenge that I faced the most is the dilemma I was in to choose between the quality of our system and to implement all the feedback provided by our users given our tight schedule. The use of a response plan and change tracker aids me in overcoming my challenge.
|
- Learnt that system UI design requires deep, intimate understanding of the client’s business processes and environment .
- I have also realized that prototyping plays an important part in being able to observe how users interact with the users.
|
-Watch this space-