HeaderSIS.jpg

IS480 Team wiki: 2013T2 Zora Final Wiki

From IS480
Jump to navigation Jump to search

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 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.



Project Highlights:

What unexpected events occurred and how were they handled?

  • A team member left the project and dropped the course
  • List of requirement changes
    • CRUD items replaced with CU/Sync/Archive items
    • Business analytics replaced with iPad client
  • Took 8 weeks to learn Ruby on Rails
  • etc.

Be brief. A couple of sentences on the event and another couple on what was done is sufficient. Do not repeat the next sub sections. If there are no highlights, remove this section

Project Challenges:

Describe areas of the project that were particularly difficult and how they were dealt with, whether successfully or not. Again, a few sentences are enough. If there are no challenges, remove this section.

Project Achievements:

Methods, technologies, processes, teamwork, etc. which were particularly successful – highlight things which worked very well towards completing the project. A bulleted list of one to two sentences each will do. If there are no achievement, remove this section.

Project Management

Provide more details about the status, schedule and the scope of the project. Describe the complexity of the project.

Project Schedule (Plan Vs Actual):

Compare the project plan during midterm with the actual work done at this point. Briefly describe a summary here. Everything went as plan, everything has changed and the team is working on a new project with new sponsors or the supervisor is missing. A good source for this section comes from the project weekly report.

Provide a comparison of the plan and actual schedule. Has the project scope expanded or reduced? You can use the table below or your own gantt charts.

Iterations Planned Actual Comments
1 Customer CRUD 1 Sept 2010 25 Aug 2010 Fiona took the Sales CRUD as well.
Trend Analytic 1 Sept 2010 15 Sept 2010 Ben is too busy and pushed iteration 1 back
2 User tutorial 1 Oct 2010 Removed proposed by Ben
Psycho analysis 1 Oct 2010 New module proposed by sponsor

Project Metrics:

Summary of analysis for the metrics collected. You may refer to another page for the details about the metrics and how it is collected.

Bug Metrics

Bug Score Tracking
Zora Final Bug Metric.png

Technical Complexity

Application
  • Codeigniter Framework
  • PHP 5.2.17
  • Apache
  • TCPDF
  • PHPass
Browser
  • HTML
  • CSS
  • Javascript
  • Jquery Library
  • Jquery Validation Plugin
Database
  • MySQL 5.1.66
  • phpMyAdmin
  • 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


k-nearest neighbor algorithm
Zora Final kNN.jpg

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
Zora midterm errorprevention.jpg
  • User control and freedom
Zora midterm redo.jpg

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


Project Deliverables:

Stage Specification Links
Project Management Meeting Minutes Meeting Minutes
Metrics Metrics
Requirement Gathering Business Requirements

Business Requirements

Analysis Use Case Business Requirements
System Sequence Diagram System Architecture
Business Process Diagram Business Requirements
UI Protoypes UI Prototypes
Design ER Diagram System Architecture
Class Diagram System Architecture
Testing Test Plans Testing
Handover Manuals User Manuals
Deployment Diagram System Architecture

Quality:

Explain the quality attributes (non functional) of your project deliverables. Have you designed the architecture, use a design pattern, etc? Does your architecture address scalability, performance, reliability, availability, fault tolerance, usability, etc. Does your design address maintainability, flexibility, configurability, etc. Be brief here but you can link to diagrams or code detail pages. Do not repeat the technical complexity part, link to it if necessary.

Deployment:

In an iterative approach, ready to use system should be available (deployed) for client and instructions to access the system described here (user name). If necessary, provide a deployment diagram link.

Testing

User Test 3

User Test 3
Zora UT3 Participant 6.png
Zora UT3 Participant 2.JPG

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
550


After
550
Leave Before
550


After
550
Training & Development Before
550


After
550
Quantitative Feedback - User Test 2 versus User Test 3
Ease of Use
Zora Ease of use analysis.png


Overall Layout
Zora overall layout analysis.png


Analysis for the same 5 participants from user test 2

This is the analysis done from user test 2:

Zora UT3 Before Analysis.png

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:

Zora UT3 After Analysis.png

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
User Test 2 Analysis

View Full Analysis.

Bug Log

Bug Log
Zora Final Log Metric.png
Click here to view the Bug Log & Metrics file.

Reflections

Team Reflection

Zora team photo.jpg

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

Zora learning fiona.jpg
Zora learning kk.jpg
Zora learning yunxi.jpg
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.
Zora learning yixian.jpg
Zora learning meizhen.jpg
Zora learning darryl.jpg
Lee Yi Xian Tan Mei Zhen Darryl Leong
  • 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.

Sometimes, the client writes a report to feedback on the system; this sponsor report can be included or linked from here.