Difference between revisions of "IS480 Team wiki: 2013T2 Zora Final Wiki"
(19 intermediate revisions by 4 users 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 | | + | *[[Media:Zora_Final_Presentation.pdf |v2: 21 Apr 2014]] |
|- align="left" | |- align="left" | ||
|bgcolor="#8275aa"|Deployed Site Link | |bgcolor="#8275aa"|Deployed Site Link | ||
Line 114: | Line 114: | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
===Project Achievements:=== | ===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 Management== | ||
− | + | {| align="center" cellpadding="2" style= width="750px" | |
+ | |- align="left" | ||
+ | ! scope="col" bgcolor="#4D4D4D"| <font color="white">Project Schedule</font> | ||
+ | |- align="left" | ||
+ | ! scope="col" bgcolor="#ffffff"| [[IS480_Team_wiki:_2013T2_Zora_Project_Schedule|<font color="#069" face="">'''View Full Project Schedule Details'''</font>]] | ||
+ | |} | ||
− | ===Project | + | {| align="center" cellpadding="2" style= width="750px" |
+ | |- align="left" | ||
+ | ! scope="col" bgcolor="#4D4D4D"| <font color="white">Project Scope & Progress</font> | ||
+ | |- align="left" | ||
+ | ! scope="col" bgcolor="#ffffff"| [[IS480_Team_wiki:_2013T2_Zora_Scope|<font color="#069" face="">'''View Full Project Scope Details'''</font>]] | ||
+ | |} | ||
− | + | {| align="center" cellpadding="2" style= width="750px" | |
+ | |- align="left" | ||
+ | ! scope="col" bgcolor="#4D4D4D"| <font color="white">Planned VS Actual Schedule</font> | ||
+ | |- align="left" | ||
+ | ! scope="col" bgcolor="#ffffff"| [[IS480_Team_wiki:_2013T2_Zora_Project_Schedule#Planned_VS_Actual_.28Finals.29:_Phase_5_.26_Phase_6|<font color="#069" face="">'''View Planned VS Actual Schedule Details (Finals)'''</font>]] | ||
+ | |} | ||
− | + | {| align="center" cellpadding="2" style= width="750px" | |
+ | |- align="left" | ||
+ | ! scope="col" bgcolor="#4D4D4D"| <font color="white">Project Risks</font> | ||
+ | |- align="left" | ||
+ | ! scope="col" bgcolor="#ffffff"| [[IS480_Team_wiki:_2013T2_Zora_Risks|<font color="#069" face="">'''View Project Risks'''</font>]] | ||
+ | |} | ||
− | {| | + | ===Project Schedule=== |
− | |- | + | {| align="center" cellpadding="2" style= width="850px" |
− | | | + | |- align="left" |
− | + | ! scope="col" bgcolor="#4D4D4D"| <font color="white">Final Project Timeline</font> | |
− | + | |- align="left" | |
− | || | + | ! scope="col" bgcolor="#ffffff"| [[Image:expanded_project_schedule_overview_actual.png|850px|center]] |
− | | | + | |} |
− | | | + | ===Project Metrics:=== |
− | | | + | ====Schedule Metric==== |
− | | | + | {| align="center" cellpadding="2" style= width="750px" |
− | | | + | |- align="left" |
− | || | + | ! scope="col" bgcolor="#4D4D4D"| <font color="white">Schedule Metrics</font> |
− | + | |- align="left" | |
− | | | + | ! scope="col" bgcolor="#ffffff"| [[Image:ZORA ScheduleMetricScore.jpg|800px|center]] |
+ | |} | ||
− | || | + | ====Highlights of Project Schedule==== |
− | | | + | {| cellpadding="2" style="margin: 1em auto 1em auto" "height: 100px" width="750px" |
− | | | + | |- align="left" |
− | | | + | ! scope="col" width="50" bgcolor="#a7b1aa"| <font color="white">Iteration</font> |
− | | | + | ! scope="col" width="50" bgcolor="#a7b1aa"|<font color="white">Category</font> |
− | |- | + | ! scope="col" width="650" bgcolor="#a7b1aa"|<font color="white">Reasons</font> |
− | + | ! scope="col" width="650" bgcolor="#a7b1aa"|<font color="white">Action Taken</font> | |
− | | | + | |- align="left" |
− | || | + | |bgcolor="#cedad1"|2 |
− | || | + | |bgcolor="#cedad1"|C (SM > 1.1) |
− | | | + | |bgcolor="#cedad1"| |
− | + | *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. |
− | + | |bgcolor="#cedad1"| | |
− | | | + | *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. |
− | || | + | |- align="left" |
− | || | + | |bgcolor="#cedad1"|7 |
+ | |bgcolor="#cedad1"|C (SM > 1.1) | ||
+ | |bgcolor="#cedad1"| | ||
+ | *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. | ||
+ | |bgcolor="#cedad1"| | ||
+ | *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 | ||
|} | |} | ||
− | + | [[IS480_Team_wiki:_2013T2_Zora_Metrics#Schedule_Metrics|<font color="#069" face="">'''View more details on schedule metric here'''</font>]] | |
− | + | ====Bug Metric==== | |
− | |||
− | ====Bug | ||
{| align="center" cellpadding="2" style= width="550px" | {| align="center" cellpadding="2" style= width="550px" | ||
Line 181: | Line 205: | ||
! scope="col" bgcolor="#ffffff"| [[Image:Zora Final Bug Metric.png|550px|center]] | ! scope="col" bgcolor="#ffffff"| [[Image:Zora Final Bug Metric.png|550px|center]] | ||
|} | |} | ||
+ | |||
+ | [[IS480_Team_wiki:_2013T2_Zora_Metrics#Bug_Metric|<font color="#069" face="">'''View more details on bug metric here'''</font>]] | ||
+ | |||
+ | ====Change Management Plan==== | ||
+ | 2 new additional changes updated in the change tracker: | ||
+ | {| cellpadding="2" style="margin: 1em auto 1em auto" "height: 100px" width="750px" | ||
+ | ! scope="col" width="50" bgcolor="#800000" |<font color="white">Iteration</font> | ||
+ | ! scope="col" width="400" bgcolor="#800000" |<font color="white">Feature Description</font> | ||
+ | ! scope="col" width="500" bgcolor="#800000" |<font color="white">Function Feasibility</font> | ||
+ | ! scope="col" width="500" bgcolor="#800000" |<font color="white">How does it value add?</font> | ||
+ | ! scope="col" width="200" bgcolor="#800000" |<font color="white">Priority level</font> | ||
+ | |||
+ | |- align="center" | ||
+ | |bgcolor="#f9b39a"|11 | ||
+ | |align="center" bgcolor="#f9b39a"| | ||
+ | Additional Features for Leave | ||
+ | * Generate Leave Report | ||
+ | |align="left" bgcolor="#f9b39a"| | ||
+ | *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 | ||
+ | |align="left" bgcolor="#f9b39a"| | ||
+ | *HR can view the different leave of all employee at one go | ||
+ | |align="left" bgcolor="#f9b39a"|'''3''' <br/>(Instead of creating one additional page, allow HR personnel to access to feature "View Approved & Rejected Leave" | ||
+ | |||
+ | |||
+ | |- align="center" | ||
+ | |bgcolor="#f9b39a"|11 | ||
+ | |align="center" bgcolor="#f9b39a"| | ||
+ | Additional Features for Claims | ||
+ | * Claim summary report | ||
+ | |align="left" bgcolor="#f9b39a"| | ||
+ | *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 | ||
+ | |align="left" bgcolor="#f9b39a"| | ||
+ | *HR can view all the claims in a page | ||
+ | |align="left" bgcolor="#f9b39a"|'''4''' <br/>(Rejection of change due to lack of time & high complexity) | ||
+ | |} | ||
+ | |||
+ | [[IS480_Team_wiki:_2013T2_Zora_Metrics#Change_Management|<font color="#069" face="">'''View more details on the Change Management Plan & Results'''</font>]] | ||
===Technical Complexity=== | ===Technical Complexity=== | ||
Line 215: | Line 280: | ||
+ | {| align="center" cellpadding="2" style= width="550px" | ||
+ | |- align="left" | ||
+ | ! scope="col" bgcolor="#4D4D4D"| <font color="white">Integration of various modules</font> | ||
+ | |- align="left" | ||
+ | ! 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. | ||
+ | |- align="left" | ||
+ | ! [[File:Zora Final db documentation.jpg|550px|center]]<br> | ||
+ | |} | ||
+ | |||
+ | |||
+ | |||
+ | {| align="center" cellpadding="2" style= width="550px" | ||
+ | |- align="left" | ||
+ | ! scope="col" bgcolor="#4D4D4D"| <font color="white">Managing Live Data</font> | ||
+ | |- align="left" | ||
+ | ! 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. | ||
+ | |- align="left" | ||
+ | ! [[File:Zora Final Managing real data.jpg|550px|center]]<br> | ||
+ | |} | ||
{| align="center" cellpadding="2" style= width="550px" | {| align="center" cellpadding="2" style= width="550px" | ||
|- align="left" | |- align="left" | ||
Line 274: | Line 358: | ||
*Dynamic Access Control | *Dynamic Access Control | ||
+ | === Maintainability=== | ||
+ | |||
+ | *Coding conventions & standards carefully adhered to. Our framework has a [http://ellislab.com/codeigniter/user-guide/general/styleguide.html| style guide] that we follow. | ||
+ | *We have 3 layers of abstraction within our application - Views, Controllers & Model | ||
+ | |||
+ | <br/>'''MVC Model:''' | ||
+ | [[Image:Zora architecture.png|400px|center]] | ||
+ | |||
+ | |||
+ | <br/>'''Architecture Model:''' | ||
+ | [[Image:Zora architecture real.png|400px|center]] | ||
===Project Deliverables:=== | ===Project Deliverables:=== | ||
Line 323: | Line 418: | ||
|- align="left" | |- align="left" | ||
|bgcolor="#dbdbdb"|Deployment Diagram | |bgcolor="#dbdbdb"|Deployment Diagram | ||
− | |bgcolor="#dbdbdb"|[[IS480_Team_wiki: | + | |bgcolor="#dbdbdb"|[[IS480_Team_wiki:_2013T2_Zora_System_Architecture|<font color="#069" face="">'''System Architecture'''</font>]] |
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
===Deployment:=== | ===Deployment:=== | ||
− | + | *Deployed on client's server on [http://www.bluehost.com// 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== | ==Testing== | ||
Line 484: | Line 577: | ||
{| align="center" cellpadding="2" style= width="750px" | {| align="center" cellpadding="2" style= width="750px" | ||
|- align="left" | |- align="left" | ||
− | ! scope="col" bgcolor="#4D4D4D"| <font color="white">User Test | + | ! scope="col" bgcolor="#4D4D4D"| <font color="white">User Test 3 Analysis</font> |
|- align="left" | |- align="left" | ||
! scope="col" bgcolor="#ffffff"| [[Media:User Test 3 Analysis.pdf|<font color="#069" face="">''' | ! scope="col" bgcolor="#ffffff"| [[Media:User Test 3 Analysis.pdf|<font color="#069" face="">''' | ||
Line 551: | Line 644: | ||
|- align="left" | |- align="left" | ||
|bgcolor="#4dbfd9"| | |bgcolor="#4dbfd9"| | ||
+ | *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. | ||
|bgcolor="#9fc1fe"| | |bgcolor="#9fc1fe"| | ||
*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. | *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. | ||
Line 561: | Line 656: | ||
===Sponsor Comment:=== | ===Sponsor Comment:=== | ||
− | + | -Watch this space- |
Latest revision as of 16:09, 21 April 2014
Contents
Project Progress Summary
Deliverable | Link |
---|---|
Final Presentation Slides | |
Deployed Site Link |
Completion of project |
100% (Core, Secondary, Good to Have) |
Number of Iterations |
|
Number of Heuristics |
1 |
Number of User Testing |
3 |
Deployment |
|
Changes since Mid-Term |
|
Milestones
Completed Milestones | Remaining Milestones |
---|---|
|
|
Completed Functionalities
Project Scope & Progress |
---|
View detailed completed features |
Core Modules | Secondary Modules | Good to Have Modules |
---|---|---|
|
|
|
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. |
|
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 |
---|
View Full Project Schedule Details |
Project Scope & Progress |
---|
View Full Project Scope Details |
Planned VS Actual Schedule |
---|
View Planned VS Actual Schedule Details (Finals) |
Project Risks |
---|
View Project Risks |
Project Schedule
Final Project Timeline |
---|
Project Metrics:
Schedule Metric
Schedule Metrics |
---|
Highlights of Project Schedule
Iteration | Category | Reasons | Action Taken |
---|---|---|---|
2 | C (SM > 1.1) |
|
|
7 | C (SM > 1.1) |
|
|
View more details on schedule metric here
Bug Metric
Bug Score Tracking |
---|
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
|
|
|
3 (Instead of creating one additional page, allow HR personnel to access to feature "View Approved & Rejected Leave"
|
11 |
Additional Features for Claims
|
|
|
4 (Rejection of change due to lack of time & high complexity) |
View more details on the Change Management Plan & Results
Technical Complexity
Application |
|
|
Browser |
|
|
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.
We have used the following variables in calculating distance:
|
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 | |
|
||
|
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:
Stage | Specification | Links |
---|---|---|
Project Management | Meeting Minutes | Meeting Minutes |
Metrics | Metrics | |
Requirement Gathering | 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 |
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 |
|
Objectives |
|
Scope of Test | ||
---|---|---|
Claims |
|
|
Leave |
|
|
Remuneration |
|
|
Performance Management & Appraisal |
|
|
Training & Development |
|
|
System Administration |
|
Common Feedback (Before & After) | ||
---|---|---|
Claims |
Before
|
|
Leave |
Before
|
|
Training & Development |
Before
|
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:
Reasons for changes in timing:
|
User Test 3 Analysis |
---|
Bug Log
Bug Log |
---|
Click here to view the Bug Log & Metrics file. |
Reflections
Team Reflection
Individual Reflections
Fiona Woo | Lim Ken Khoon | Tan Yun Xi |
|
|
|
Lee Yi Xian | Tan Mei Zhen | Darryl Leong |
|
|
|
Sponsor Comment:
-Watch this space-