https://wiki.smu.edu.sg/is480/api.php?action=feedcontributions&user=Ervin.chong.2015&feedformat=atomIS480 - User contributions [en-gb]2024-03-29T08:46:09ZUser contributionsMediaWiki 1.33.1https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_FinalWiki&diff=322806IS480 Team wiki:2017T2 Zenith FinalWiki2018-04-16T06:46:31Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | <br />
<br />
[[IS480 Team wiki: 2017T2T Zenith | <font color="#000000"><b>Main Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_Midterm Wiki | <font color="#000000"><b>Midterm Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_FinalWiki| <font color="#000000"><b>Final Wiki</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br><br />
[[File:Zenith_final_header.PNG|center|1000px]]<br />
<br />
<br />
<br />
==Project Progress Summary==<br />
===Finals Slides===<br />
[[Media:Zenith_Finals_slides.pdf|Zenith Finals Slides]]<br />
<br />
===Deployed site link===<br />
<center><br />
[[Image: Zenith deployment link.jpeg |600px|link=https://themedsense.com/]]<br />
<br />
Staging site: http://medsense-staging-env.ap-southeast-1.elasticbeanstalk.com/<br />
</center><br />
<br />
===Project Highlights===<br />
<div style="font-family: Verdana;"><br />
Our project schedule is divided into 13 iterations. <br />
* We are currently on our 12th iteration (26 Mar - 8 Apr 2018).<br />
* Up till 4 Apr 2018, we have completed <b>100</b>% of our development progress. <br />
* 2 User Acceptance Tests were conducted before the Final Presentation. The results are shown [[IS480_Team_wiki:2017T2 Zenith_user_testing|here]]. <br />
* Achieved and exceeded [[IS480_Team_wiki:2017T2 Zenith_x-factor|Finals X-factor]].<br />
<br />
Unexpected events:<br />
* List of requirement changes after Midterms can be viewed [[IS480_Team_wiki:2017T2_Zenith_change_management#Change log (till Finals)| here]].<br />
</div><br />
<br />
==Project Management==<br />
<div style="font-family: Verdana;"><br />
<b>Iteration Progress:</b> 13 of 13<br/><br />
<b>Features Completion:</b> 100% (46 out of 46 features)<br/><br />
<b>Confidence Level:</b> 100%<br />
</div> <br />
<br />
===Project Status:===<br />
<br />
<div style="font-family: Verdana;"><br />
A breakdown of tasks is shown in our [[IS480_Team_wiki:2017T2 Zenith_project_scope|project scope]].<br />
</div> <br />
<br><br />
[[File:Zenith_final_scope.JPG|center|800px]]<br />
<br><br />
<br />
===Project Schedule (Plan Vs Actual):===<br />
<br />
====Milestones Overview:====<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable"<br />
|-<br />
! Planned (Acceptance) !! Actual (Midterms)<br />
|-<br />
|<br />
[[File:Zenith_midterm_actual_timeline.png|500px]]<br />
|| <br />
[[File:Zenith_final_actual_timeline.png|500px]]<br />
|}<br />
</center><br />
</div><br />
<br />
====Project Schedule:====<br />
<div style="font-family: Verdana;"><br />
Planned Schedule (Midterm)<br> <br><br />
[[File:Zenith_final_expected_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Changes in planned schedule (Midterm)<br> <br><br />
[[File:Zenith_final_changed_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Actual Schedule (Final)<br> <br><br />
[[File:Zenith_final_actual_schedule.png|center|900px]]<br />
</div><br />
<br />
===Project Metrics:===<br />
<br />
====Task metric====<br />
<div style="font-family: Verdana;"><br />
[[File:Zenith task metric.png|center|600px]]<br />
<br />
<!--Task Metric Table Start--><br />
{| class="wikitable" style=" background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | Score<br />
|style="text-align: center;" width="20%" | TM <= 50<br />
|style="text-align: center;" width="20%" | 50 < TM <= 75<br />
|style="text-align: center;" width="20%" | 75 < TM <= 125<br />
|style="text-align: center;" width="20%" | 125 < TM <= 150<br />
|style="text-align: center;" width="20%" | 150 > TM<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Action<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations. <br> 3. Consider dropping Tasks. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Deduct number of days behind from buffer days. <br> 3. If there are no more buffer days, decide the functionalities to drop. <br />
|style="text-align: left;vertical-align: top"| 1. Our estimates are fairly accurate, and are roughly on track. <br> 2. Add/deduct number of days ahead / behind from buffer days. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Add number of days ahead to buffer days.<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations.<br />
|-<br />
|}<br />
<!--Task Metric Table End--><br />
</div><br />
<br />
====Bug metric====<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith bug count.png|center|600px]] <br> <br />
[[File:Zenith bug score.png|center|600px]]<br> <br />
<br />
<center><b>Note:</b> There were no coding tasks for iteration 1. </center><br />
<br />
<br />
<!--Bug Score Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Severity<br />
|style="text-align: center;" width="30%" | Low Impact <br />
|style="text-align: center;" width="30%" | High Impact <br />
|style="text-align: center;" width="30%"| Critical Impact<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| User interface display errors, such as out of alignment, colour used is not according to theme. <br />
It does not affect the functionality of the system. <br />
|style="text-align: left;vertical-align: top"| The system is functional with some non-critical functionalities are not working.<br />
|style="text-align: left;vertical-align: top"| The system is not functional. <br />
Bugs have to be fixed before proceeding.<br />
|-<br />
|}<br />
<!--Bug Score Table End--><br />
<br />
<br />
<!--Bug Metric Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Points<br />
|style="text-align: center;" width="30%" | BM <= 5 <br />
|style="text-align: center;" width="30%" | 5 < BM < 10<br />
|style="text-align: center;" width="30%"| BM >= 10<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| The system does not need immediate fixing, could be fixed during buffer time or during coding sessions<br />
|style="text-align: left;vertical-align: top"| Coders to use planned debugging time in the iteration to solve the bug<br />
|style="text-align: left;vertical-align: top"| The team has to stop all current development and resolve the bug immediately<br />
|-<br />
|}<br />
<!--Bug Metric Table End--><br />
</div> <br />
<br />
<br />
<br><br />
<br />
===Project Risks:===<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith risk metric.png|center|600px]]<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: top"| The schedule is planned based on macro functionalities, so small coding tasks may have been left out / time is underestimated due to lack of experience. <br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| High <br />
|style="text-align: center;"| A<br />
|style="text-align: left;vertical-align: top"|Project Manager will review the project schedule and the time needed for each task regularly, and make changes when necessary. <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Client Management<br />
|style="text-align: left;vertical-align: top"| Client may request for changes to existing functionalities or request for new functionalities. These increases in scope may delay the project completion. <br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: top"| Team will have to consider expertise and time required. Project Manager will manage the expectations of the client. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: top"| Team members feel overwhelmed by the workload, and feel that they are increasingly burned out. <br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| C<br />
|style="text-align: left;vertical-align: top"| Team members will limit the increases in scope, and prioritize functions in case functions need to be dropped. <br />
|-<br />
|}<br />
<br><br />
</div><br />
<br><br />
<br />
===Technical Complexity:===<br />
<br />
<div style="font-family: Verdana;"><br />
Our technical complexity comprises of: <br />
* Use of Natural Language Processing to mark open-ended questions. [[IS480 Team wiki:2017T2 Zenith Midterm Wiki#Natural Language Processing|(Discussed here during Midterms) ]] <br />
* Development of game for students, including anti-cheating mechanisms. [[IS480 Team wiki:2017T2 Zenith Midterm Wiki#Game development|(Discussed here during Midterms)]] <br />
* Security features: firewall, automated backup for database, HTTPS protocol, SSH tunnel, and encryption of environment variables. [[IS480 Team wiki:2017T2 Zenith Midterm Wiki#Added security features|(Discussed here during Midterms)]] <br />
* Recommendation Models for Students and Professors. <br />
</div> <br> <br />
<br />
====Recommendation Models ====<br />
=====Student Recommendation Model=====<br />
<div style="font-family: Verdana;"><br />
We have implemented a recommendation model for students, to address their individual weaknesses.This model is guided by the following principles: <br> <br> <br />
# Recommend beginner/advanced cases based on year of study: Medical students in their third year and below will be recommended beginner cases, while medical students who are in the fourth and fifth year of study will be recommended advanced cases. This is in accordance with their curriculum in school. <br> <br> <br />
# Recommend most popular cases for new users: A new user might feel overwhelmed with the selection of cases. Hence, we will recommend the popular cases for them to familiarize themselves with the games. Their performance in these popular cases is a good gauge of their personal strengths and weaknesses, and will serve as a starting point for more targeted recommendations in the future. <br> <br> <br />
# Recommend cases in the sub-specialties they are weakest in, based on the cases they have previously done: Through our model, we aim to tailor instruction to individual learner's needs. By recommending students to practice on topics they are weaker in, we believe that the medical students will be able to learn in a more holistic manner. <br> <br><br />
</div><br />
=====Professor Recommendation Model=====<br />
<div style="font-family: Verdana;"><br />
For Professors, knowing which areas students are commonly weak in will assist them in their course planning. We would like to encourage Professors to upload more cases on the students' weaker topics. The recommendation model is guided by the following principles: <br> <br> <br />
# The recommended sub-specialties are based on the overall cohort performances. <br> <br> <br />
# Recommend sub-specialties with the least number of cases if there is insufficient data to determine the weaker topics: Professors will not be able to gauge students' performances in areas where there are no cases for students to try. The model will encourage them to upload cases in those sub-specialties, so that they can get a more accurate idea of the students' weaknesses. <br> <br> <br />
# Recommend sub-specialties where the number of pending cases is above a certain threshold: Doing so will encourage Professors to vet the pending cases, which will increase the number of cases for students to practice on. <br> <br> <br />
</div><br />
<br />
==Quality of product==<br />
<br />
===Intermediate Deliverables:===<br />
<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Stage <br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Specification<br />
|-<br />
<br />
|rowspan="6"| Project Management<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Management|Schedule]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_minutes|Minutes]] <br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Bug Metric|Bug metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Task Metric|Task metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_risk_management|Risk management]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_change_management|Change management]]<br />
|-<br />
<br />
<br />
|rowspan="3"| Requirements<br />
|| [[IS480 Team wiki: 2017T2 Zenith Overview | Overview]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_project_scope | Scope]]<br />
|-<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Documentation | Personas]]<br />
|-<br />
<br />
|rowspan="3"| Analysis<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Use Case Diagram | Use case diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Architecture Diagram | Architecture diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_technologies| Technologies used]]<br />
|-<br />
<br />
<br />
|rowspan="1"| Design<br />
|| [[IS480_Team_wiki:2017T2 Zenith_prototype |Prototypes]]<br />
|-<br />
<br />
|rowspan="2"| Testing<br />
|| [[IS480_Team_wiki:2017T2 Zenith User Testing 1 |User Acceptance Test 1 (11 - 13 Feb 2018)]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith User Testing 2 |User Acceptance Test 2 (4 - 10 Apr 2018)]]<br />
|-<br />
|}<br />
</center><br />
</div><br />
<br />
===Testing:===<br />
<br />
<div style="font-family: Verdana;"><br />
<br />
*Creation of test cases during development. <br />
*Functionality testing after completion of function. <br />
*Regression testing at the end of every iteration. <br />
*2 UATs completed by Final Presentation. <br />
*1 UAT has been completed after Midterms. To view the results of this UAT, [[IS480_Team_wiki:2017T2 Zenith User Testing 2|click here]]. <br />
<br />
</div><br />
<br />
==Reflections==<br />
<br />
===Team Reflection:===<br />
<div style="font-family: Verdana;"><br />
Throughout our FYP journey, we have tried our best to implement the changes that our clients have requested, even if it meant additional coding hours or having to rework the project schedule multiple times. This is because we place emphasis on our project's value to the clients. However, as we approach the completion of our project, we had to scrutinize every change more closely. We had to find a balance between providing the best value to the clients, as well as our workload and confidence of completing the project in time. <br />
</div><br />
<br />
=== Individual Reflections: ===<br />
<div style="font-family: Verdana;"><br />
<b>Amelia: </b><br> <br />
Our stakeholders have been actively involved in our project right from the start. Apart from meeting our supervisor regularly, we have been in constant communication with our other stakeholders. Working with a team of 17 entails certain challenges. I have learnt to manage different perspectives and expectations, as well as balance the workload and priorities of my team. <br />
<br> <br> <br />
<br />
<b>Chin Rui: </b> <br> <br />
It has been a challenging journey technically. The application architecture has undergone multiple major changes, especially our security configurations, to ensure better quality and continuity for our clients. I have also discovered the difficulties in planning a software architecture after taking into account budget, skill and technical constrains.<br />
<br> <br> <br />
<br />
<b>Ervin: </b><br> <br />
As the Quality Assurance lead, I had to scrutinize every single corner case in the application, and constantly come up with more test cases. After our midterm presentation we conducted regression testing, a User Acceptance Test and load testing. I learnt that observing users during the UAT is imperative, as some users tend to not notice certain issues, or they do not voice them out. The UAT is also an opportunity for us to see if the functions are indeed useful for the users. <br />
<br><br> <br />
<br />
<b>Ming Rui: </b><br> <br />
After our Midterm presentation, we completely changed the UI of our application. We went back to the paper and Axure prototypes, and thought of ways to improve the user experience. The final designs are a product of multiple revamps, each better compared to the previous. I have learnt the importance of gathering feedback from a larger group of users, instead of just the Medsense team from NUS. <br />
<br> <br> <br />
<br />
<b>Qimin: </b><br> <br />
Due to the various changes we have made over the course of our project, we had to do some refactoring. I have learnt that regardless of the time and effort we put into getting the schema right at the start of the project, changes are inevitable during the development process. Being the Full-Stack Support has definitely challenged me to improve my technical skills and resilience as I dealt with the bug infestation that came with the refactoring. <br />
<br> <br> <br />
<br />
<b>Ricky: </b><br> <br />
As a backend developer, I have realised that is important to have a seamless integration of the frontend components with the server side logic as well as designing and implementing data storage solutions. It has been a great experience being the technical lead, and I am glad that I could help my team members with the technical issues they faced. <br />
<br> <br />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_FinalWiki&diff=322804IS480 Team wiki:2017T2 Zenith FinalWiki2018-04-16T06:40:19Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | <br />
<br />
[[IS480 Team wiki: 2017T2T Zenith | <font color="#000000"><b>Main Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_Midterm Wiki | <font color="#000000"><b>Midterm Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_FinalWiki| <font color="#000000"><b>Final Wiki</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br><br />
[[File:Zenith_final_header.PNG|center|1000px]]<br />
<br />
<br />
<br />
==Project Progress Summary==<br />
===Finals Slides===<br />
[[Media:Zenith_Finals_slides.pdf|Zenith Finals Slides]]<br />
<br />
===Deployed site link===<br />
<center><br />
[[Image: Zenith deployment link.jpeg |600px|link=https://themedsense.com/]]<br />
<br />
Staging site: http://medsense-staging-env.ap-southeast-1.elasticbeanstalk.com/<br />
</center><br />
<br />
===Project Highlights===<br />
<div style="font-family: Verdana;"><br />
Our project schedule is divided into 13 iterations. <br />
* We are currently on our 12th iteration (26 Mar - 8 Apr 2018).<br />
* Up till 4 Apr 2018, we have completed <b>100</b>% of our development progress. <br />
* 2 User Acceptance Tests were conducted before the Final Presentation. The results are shown [[IS480_Team_wiki:2017T2 Zenith_user_testing|here]]. <br />
* Achieved and exceeded [[IS480_Team_wiki:2017T2 Zenith_x-factor|Finals X-factor]].<br />
<br />
Unexpected events:<br />
* List of requirement changes after Midterms can be viewed [[IS480_Team_wiki:2017T2_Zenith_change_management#Change log (till Finals)| here]].<br />
</div><br />
<br />
==Project Management==<br />
<div style="font-family: Verdana;"><br />
<b>Iteration Progress:</b> 13 of 13<br/><br />
<b>Features Completion:</b> 100% (46 out of 46 features)<br/><br />
<b>Confidence Level:</b> 100%<br />
</div> <br />
<br />
===Project Status:===<br />
<br />
<div style="font-family: Verdana;"><br />
A breakdown of tasks is shown in our [[IS480_Team_wiki:2017T2 Zenith_project_scope|project scope]].<br />
</div> <br />
<br><br />
[[File:Zenith_final_scope.JPG|center|800px]]<br />
<br><br />
<br />
===Project Schedule (Plan Vs Actual):===<br />
<br />
====Milestones Overview:====<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable"<br />
|-<br />
! Planned (Acceptance) !! Actual (Midterms)<br />
|-<br />
|<br />
[[File:Zenith_midterm_actual_timeline.png|500px]]<br />
|| <br />
[[File:Zenith_final_actual_timeline.png|500px]]<br />
|}<br />
</center><br />
</div><br />
<br />
====Project Schedule:====<br />
<div style="font-family: Verdana;"><br />
Planned Schedule (Midterm)<br> <br><br />
[[File:Zenith_final_expected_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Changes in planned schedule (Midterm)<br> <br><br />
[[File:Zenith_final_changed_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Actual Schedule (Final)<br> <br><br />
[[File:Zenith_final_actual_schedule.png|center|900px]]<br />
</div><br />
<br />
===Project Metrics:===<br />
<br />
====Task metric====<br />
<div style="font-family: Verdana;"><br />
[[File:Zenith task metric.png|center|600px]]<br />
<br />
<!--Task Metric Table Start--><br />
{| class="wikitable" style=" background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | Score<br />
|style="text-align: center;" width="20%" | TM <= 50<br />
|style="text-align: center;" width="20%" | 50 < TM <= 75<br />
|style="text-align: center;" width="20%" | 75 < TM <= 125<br />
|style="text-align: center;" width="20%" | 125 < TM <= 150<br />
|style="text-align: center;" width="20%" | 150 > TM<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Action<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations. <br> 3. Consider dropping Tasks. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Deduct number of days behind from buffer days. <br> 3. If there are no more buffer days, decide the functionalities to drop. <br />
|style="text-align: left;vertical-align: top"| 1. Our estimates are fairly accurate, and are roughly on track. <br> 2. Add/deduct number of days ahead / behind from buffer days. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Add number of days ahead to buffer days.<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations.<br />
|-<br />
|}<br />
<!--Task Metric Table End--><br />
</div><br />
<br />
====Bug metric====<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith bug count.png|center|600px]] <br> <br />
[[File:Zenith bug score.png|center|600px]]<br> <br />
<br />
<center><b>Note:</b> There were no coding tasks for iteration 1. </center><br />
<br />
<br />
<!--Bug Score Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Severity<br />
|style="text-align: center;" width="30%" | Low Impact <br />
|style="text-align: center;" width="30%" | High Impact <br />
|style="text-align: center;" width="30%"| Critical Impact<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| User interface display errors, such as out of alignment, colour used is not according to theme. <br />
It does not affect the functionality of the system. <br />
|style="text-align: left;vertical-align: top"| The system is functional with some non-critical functionalities are not working.<br />
|style="text-align: left;vertical-align: top"| The system is not functional. <br />
Bugs have to be fixed before proceeding.<br />
|-<br />
|}<br />
<!--Bug Score Table End--><br />
<br />
<br />
<!--Bug Metric Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Points<br />
|style="text-align: center;" width="30%" | BM <= 5 <br />
|style="text-align: center;" width="30%" | 5 < BM < 10<br />
|style="text-align: center;" width="30%"| BM >= 10<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| The system does not need immediate fixing, could be fixed during buffer time or during coding sessions<br />
|style="text-align: left;vertical-align: top"| Coders to use planned debugging time in the iteration to solve the bug<br />
|style="text-align: left;vertical-align: top"| The team has to stop all current development and resolve the bug immediately<br />
|-<br />
|}<br />
<!--Bug Metric Table End--><br />
</div> <br />
<br />
<br />
<br><br />
<br />
===Project Risks:===<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith risk metric.png|center|600px]]<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: top"| The schedule is planned based on macro functionalities, so small coding tasks may have been left out / time is underestimated due to lack of experience. <br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| High <br />
|style="text-align: center;"| A<br />
|style="text-align: left;vertical-align: top"|Project Manager will review the project schedule and the time needed for each task regularly, and make changes when necessary. <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Client Management<br />
|style="text-align: left;vertical-align: top"| Client may request for changes to existing functionalities or request for new functionalities. These increases in scope may delay the project completion. <br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: top"| Team will have to consider expertise and time required. Project Manager will manage the expectations of the client. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: top"| Team members feel overwhelmed by the workload, and feel that they are increasingly burned out. <br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| C<br />
|style="text-align: left;vertical-align: top"| Team members will limit the increases in scope, and prioritize functions in case functions need to be dropped. <br />
|-<br />
|}<br />
<br><br />
</div><br />
<br><br />
<br />
===Technical Complexity:===<br />
<br />
<div style="font-family: Verdana;"><br />
Our technical complexity comprises of: <br />
* Use of Natural Language Processing to mark open-ended questions. [[IS480 Team wiki:2017T2 Zenith Midterm Wiki#Natural Language Processing|(Discussed here during Midterms) ]] <br />
* Development of game for students, including anti-cheating mechanisms. [[IS480 Team wiki:2017T2 Zenith Midterm Wiki#Game development|(Discussed here during Midterms)]] <br />
* Security features: firewall, automated backup for database, HTTPS protocol, SSH tunnel, and encryption of environment variables. [[IS480 Team wiki:2017T2 Zenith Midterm Wiki#Added security features|(Discussed here during Midterms)]] <br />
* Recommendation Models for Students and Professors. <br />
</div> <br> <br />
<br />
====Recommendation Models ====<br />
=====Student Recommendation Model=====<br />
<div style="font-family: Verdana;"><br />
We have implemented a recommendation model for students, to address their individual weaknesses.This model is guided by the following principles: <br> <br> <br />
# Recommend beginner/advanced cases based on year of study: Medical students in their third year and below will be recommended beginner cases, while medical students who are in the fourth and fifth year of study will be recommended advanced cases. This is in accordance with their curriculum in school. <br> <br> <br />
# Recommend most popular cases for new users: A new user might feel overwhelmed with the selection of cases. Hence, we will recommend the popular cases for them to familiarize themselves with the games. Their performance in these popular cases is a good gauge of their personal strengths and weaknesses, and will serve as a starting point for more targeted recommendations in the future. <br> <br> <br />
# Recommend cases in the sub-specialties they are weakest in, based on the cases they have previously done: Through our model, we aim to tailor instruction to individual learner's needs. By recommending students to practice on topics they are weaker in, we believe that the medical students will be able to learn in a more holistic manner. <br> <br><br />
</div><br />
=====Professor Recommendation Model=====<br />
<div style="font-family: Verdana;"><br />
For Professors, knowing which areas students are commonly weak in will assist them in their course planning. We would like to encourage Professors to upload more cases on the students' weaker topics. The recommendation model is guided by the following principles: <br> <br> <br />
# The recommended sub-specialties are based on the overall cohort performances. <br> <br> <br />
# Recommend sub-specialties with the least number of cases if there is insufficient data to determine the weaker topics: Professors will not be able to gauge students' performances in areas where there are no cases for students to try. The model will encourage them to upload cases in those sub-specialties, so that they can get a more accurate idea of the students' weaknesses. <br> <br> <br />
# Recommend sub-specialties where the number of pending cases is above a certain threshold: Doing so will encourage Professors to vet the pending cases, which will increase the number of cases for students to practice on. <br> <br> <br />
</div><br />
<br />
==Quality of product==<br />
<br />
===Intermediate Deliverables:===<br />
<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Stage <br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Specification<br />
|-<br />
<br />
|rowspan="6"| Project Management<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Management|Schedule]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_minutes|Minutes]] <br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Bug Metric|Bug metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Task Metric|Task metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_risk_management|Risk management]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_change_management|Change management]]<br />
|-<br />
<br />
<br />
|rowspan="3"| Requirements<br />
|| [[IS480 Team wiki: 2017T2 Zenith Overview | Overview]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_project_scope | Scope]]<br />
|-<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Documentation | Personas]]<br />
|-<br />
<br />
|rowspan="3"| Analysis<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Use Case Diagram | Use case diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Architecture Diagram | Architecture diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_technologies| Technologies used]]<br />
|-<br />
<br />
<br />
|rowspan="1"| Design<br />
|| [[IS480_Team_wiki:2017T2 Zenith_prototype |Prototypes]]<br />
|-<br />
<br />
|rowspan="2"| Testing<br />
|| [[IS480_Team_wiki:2017T2 Zenith User Testing 1 |User Acceptance Test 1 (11 - 13 Feb 2018)]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith User Testing 2 |User Acceptance Test 2 (4 - 10 Apr 2018)]]<br />
|-<br />
|}<br />
</center><br />
</div><br />
<br />
===Testing:===<br />
<br />
<div style="font-family: Verdana;"><br />
<br />
*Creation of test cases during development. <br />
*Functionality testing after completion of function. <br />
*Regression testing at the end of every iteration. <br />
*2 UATs completed by Final Presentation. <br />
*1 UAT has been completed after Midterms. To view the results of this UAT, [[IS480_Team_wiki:2017T2 Zenith User Testing 2|click here]]. <br />
<br />
</div><br />
<br />
==Reflections==<br />
<br />
===Team Reflection:===<br />
<div style="font-family: Verdana;"><br />
Throughout our FYP journey, we have tried our best to implement the changes that our clients have requested, even if it meant additional coding hours or having to rework the project schedule multiple times. This is because we place emphasis on our project's value to the clients. However, as we approach the completion of our project, we had to scrutinize every change more closely. We had to find a balance between providing the best value to the clients, as well as our workload and confidence of completing the project in time. <br />
</div><br />
<br />
=== Individual Reflections: ===<br />
<div style="font-family: Verdana;"><br />
<b>Amelia: </b><br> <br />
Our stakeholders have been actively involved in our project right from the start. Apart from meeting our supervisor regularly, we have been in constant communication with our other stakeholders. Working with a team of 17 entails certain challenges. I have learnt to manage different perspectives and expectations, as well as balance the workload and priorities of my team. <br />
<br> <br> <br />
<br />
<b>Chin Rui: </b> <br> <br />
It has been a challenging journey technically. The application architecture has undergone multiple major changes, especially our security configurations, to ensure better quality and continuity for our clients. I have also discovered the difficulties in planning a software architecture after taking into account budget, skill and technical constrains.<br />
<br> <br> <br />
<br />
<b>Ervin: </b><br> <br />
As the Quality Assurance lead, I had to scrutinize every single corner case in the application, and constantly come up with more test cases. After our midterm presentation we conducted a User Acceptance Test and load testing. I learnt that observing users during the UAT is imperative, as some users tend to not notice certain issues, or they do not voice them out. The UAT is also an opportunity for us to see if the functions are indeed useful for the users. <br />
<br><br> <br />
<br />
<b>Ming Rui: </b><br> <br />
After our Midterm presentation, we completely changed the UI of our application. We went back to the paper and Axure prototypes, and thought of ways to improve the user experience. The final designs are a product of multiple revamps, each better compared to the previous. I have learnt the importance of gathering feedback from a larger group of users, instead of just the Medsense team from NUS. <br />
<br> <br> <br />
<br />
<b>Qimin: </b><br> <br />
Due to the various changes we have made over the course of our project, we had to do some refactoring. I have learnt that regardless of the time and effort we put into getting the schema right at the start of the project, changes are inevitable during the development process. Being the Full-Stack Support has definitely challenged me to improve my technical skills and resilience as I dealt with the bug infestation that came with the refactoring. <br />
<br> <br> <br />
<br />
<b>Ricky: </b><br> <br />
As a backend developer, I have realised that is important to have a seamless integration of the frontend components with the server side logic as well as designing and implementing data storage solutions. It has been a great experience being the technical lead, and I am glad that I could help my team members with the technical issues they faced. <br />
<br> <br />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=File:Zenith_bug_score.png&diff=321809File:Zenith bug score.png2018-04-04T09:35:36Z<p>Ervin.chong.2015: Ervin.chong.2015 uploaded a new version of &quot;File:Zenith bug score.png&quot;</p>
<hr />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=File:Zenith_bug_count.png&diff=321808File:Zenith bug count.png2018-04-04T09:35:11Z<p>Ervin.chong.2015: Ervin.chong.2015 uploaded a new version of &quot;File:Zenith bug count.png&quot;</p>
<hr />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_deliverables&diff=319125IS480 Team wiki:2017T2 Zenith deliverables2018-02-23T07:08:54Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480 Team wiki: 2017T2_Zenith_Documentation | <font color="#000000"><b>Personas</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_prototype | <font color="#000000"><b>Prototypes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_minutes | <font color="#000000"><b>Meeting Minutes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_diagrams | <font color="#000000"><b>Diagrams</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_technologies | <font color="#000000"><b>Technologies</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_user_testing | <font color="#000000"><b>User Testing</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_deliverables | <font color="#000000"><b>Deliverables</b></font>]]<br />
<br />
|}<br />
<br />
<br />
<!-- Content Start --> <br />
<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Milestone <br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Deliverables<br />
|-<br />
<br />
|rowspan="1"| Proposal<br />
|| [[Media:Zenith proposal.pdf|Proposal Report]]<br />
|-<br />
<br />
|rowspan="1"| Acceptance<br />
|| [[Media:Zenith acceptance.pdf|Acceptance Slides]]<br />
|-<br />
<br />
|rowspan="1"| Midterms<br />
|| [[Media: Zenith Midterm slides FINAL.pptx|Midterm Slides]]<br />
|-<br />
<br />
|rowspan="1"| Finals<br />
|| Finals Slides<br />
|-<br />
|}</div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_Midterm_Wiki&diff=319124IS480 Team wiki:2017T2 Zenith Midterm Wiki2018-02-23T07:08:19Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | <br />
<br />
[[IS480 Team wiki: 2017T2T Zenith | <font color="#000000"><b>Main Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_Midterm Wiki | <font color="#000000"><b>Midterm Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_FinalWiki | <font color="#000000"><b>Final Wiki</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br><br />
[[File:Zenith_midterm_header.PNG|center|1000px]]<br />
<br />
<br />
<br />
==Project Progress Summary==<br />
===Midterm Slides===<br />
[[Media: Zenith Midterm slides FINAL.pptx|Zenith Midterm Slides]]<br />
<br />
===Deployed site link===<br />
<center><br />
[[Image: Zenith deployment link.jpeg |600px|link=http://www.themedsense.com]]<br />
</center><br />
<br />
===Project Highlights===<br />
<div style="font-family: Verdana;"><br />
Our project schedule is divided into 13 iterations. <br />
* We are currently on our 9th iteration (12 Feb - 25 Feb 2018).<br />
* Up till 20 Feb 2018, we have completed <b>80.56</b>% of our development progress. <br />
* 1 User Acceptance Test was conducted before Midterms. The results are shown [[IS480_Team_wiki:2017T2 Zenith User Testing 1|here]]. <br />
* Achieved and exceeded [[IS480_Team_wiki:2017T2 Zenith_x-factor|Midterms X-factor]]. <br />
<br />
<br />
Unexpected events:<br />
* New team of clients.<br />
* Cancellation of one User Acceptance Test by clients due to busy schedules.<br />
* List of requirement changes after Acceptance can be viewed [[IS480_Team_wiki:2017T2_Zenith_change_management#Change log (till Midterms)| here]].<br />
</div><br />
<br />
==Project Management==<br />
<div style="font-family: Verdana;"><br />
<b>Iteration Progress:</b> 9 of 13<br/><br />
<b>Features Completion:</b> 80.56% (29 out of 36 features)<br/><br />
<b>Confidence Level:</b> 100%<br />
</div> <br />
<br />
===Project Status:===<br />
<br />
<div style="font-family: Verdana;"><br />
A breakdown of tasks is shown in our [[IS480_Team_wiki:2017T2 Zenith_project_scope|project scope]].<br />
</div> <br />
<br><br />
[[File:Zenith_midterm_scope.png|center|800px]]<br />
<br><br />
<br />
===Project Schedule (Plan Vs Actual):===<br />
<br />
====Milestones Overview:====<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable"<br />
|-<br />
! Planned (Acceptance) !! Actual (Midterms)<br />
|-<br />
|<br />
[[File:Zenith_midterm_planned_timeline.png|500px]]<br />
|| <br />
[[File:Zenith_midterm_actual_timeline.png|500px]]<br />
|}<br />
</center><br />
</div><br />
<br />
====Project Schedule:====<br />
<div style="font-family: Verdana;"><br />
Planned Schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_expected_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Changes in planned schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_changed_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Actual Schedule (Midterms)<br> <br><br />
[[File:Zenith_midterm_actual_schedule.png|center|900px]]<br />
</div><br />
<br />
===Project Metrics:===<br />
<br />
====Task metric====<br />
<div style="font-family: Verdana;"><br />
[[File:Zenith_midterms_task_metric.png|center|600px]]<br />
<br />
<!--Task Metric Table Start--><br />
{| class="wikitable" style=" background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | Score<br />
|style="text-align: center;" width="20%" | TM <= 50<br />
|style="text-align: center;" width="20%" | 50 < TM <= 75<br />
|style="text-align: center;" width="20%" | 75 < TM <= 125<br />
|style="text-align: center;" width="20%" | 125 < TM <= 150<br />
|style="text-align: center;" width="20%" | 150 > TM<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Action<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations. <br> 3. Consider dropping Tasks. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Deduct number of days behind from buffer days. <br> 3. If there are no more buffer days, decide the functionalities to drop. <br />
|style="text-align: left;vertical-align: top"| 1. Our estimates are fairly accurate, and are roughly on track. <br> 2. Add/deduct number of days ahead / behind from buffer days. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Add number of days ahead to buffer days.<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations.<br />
|-<br />
|}<br />
<!--Task Metric Table End--><br />
</div><br />
<br />
====Bug metric====<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith_midterm_bug_count.png|center|600px]]<br><br />
[[File: Zenith_midterm_bug_score.png|center|600px]]<br />
<br />
<center><b>Note:</b> There were no coding tasks for iteration 1. </center><br />
<br />
<br />
<!--Bug Score Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Severity<br />
|style="text-align: center;" width="30%" | Low Impact <br />
|style="text-align: center;" width="30%" | High Impact <br />
|style="text-align: center;" width="30%"| Critical Impact<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| User interface display errors, such as out of alignment, colour used is not according to theme. <br />
It does not affect the functionality of the system. <br />
|style="text-align: left;vertical-align: top"| The system is functional with some non-critical functionalities are not working.<br />
|style="text-align: left;vertical-align: top"| The system is not functional. <br />
Bugs have to be fixed before proceeding.<br />
|-<br />
|}<br />
<!--Bug Score Table End--><br />
<br />
<br />
<!--Bug Metric Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Points<br />
|style="text-align: center;" width="30%" | BM <= 5 <br />
|style="text-align: center;" width="30%" | 5 < BM < 10<br />
|style="text-align: center;" width="30%"| BM >= 10<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| The system does not need immediate fixing, could be fixed during buffer time or during coding sessions<br />
|style="text-align: left;vertical-align: top"| Coders to use planned debugging time in the iteration to solve the bug<br />
|style="text-align: left;vertical-align: top"| The team has to stop all current development and resolve the bug immediately<br />
|-<br />
|}<br />
<!--Bug Metric Table End--><br />
</div> <br />
<br />
<br />
<br><br />
<br />
===Project Risks:===<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith risk metric.png|center|600px]]<br />
<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Technical<br />
|style="text-align: left;vertical-align: center"| Ransomware attacks on Database<br />
|style="text-align: center;"| Low (but it happened)<br />
|style="text-align: center;"| High<br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: top"| System Architect to improve database security <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Organizational<br />
|style="text-align: left;vertical-align: center"| New members in NUS MedSense Team<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Project Manager will be in constant communication with new members, and will regularly review the scope with them. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: center"| Members falling sick or going overseas doing school period, reducing team's available manpower. This can cause a potential delays in the project <br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Team members should constantly check on the health and well-being of one another, as well as update the Project Manager of any overseas plans as early as possible<br />
|-<br />
|}<br />
<br><br />
</div><br />
<br><br />
<br />
===Technical Complexity:===<br />
<br />
====Natural Language Processing====<br />
<div style="font-family: Verdana;"><br />
Natural Language Processing, or NLP for short, is broadly defined as the automatic manipulation of natural language, like speech and text, by software. The study of natural language processing has been around for more than 50 years and grew out of the field of linguistics with the rise of computers.<br />
<br />
Our team decided to employ NLP techniques to perform automated marking for open ended questions. This benefits the user as professors do not need to mark each answer and students can receive immediate feedback with regards to their answers.<br />
<br />
Below are some of the techniques used:<br />
<br />
<b>Tokenization</b><br />
<br />
Given a character sequence and a defined document unit, tokenization is the task of chopping it up into pieces, called tokens , perhaps at the same time throwing away certain characters, such as punctuation. <br />
<br />
[[Image:Zenith tokenization.PNG|center|600px|link=]]<br />
<center><b>An example of tokenization. Library used: Natural for Nodejs</b> https://github.com/NaturalNode/natural#tokenizers</center><br />
<br />
<b>Removing Stopwords</b><br />
<br />
Sometimes, some extremely common words which would appear to be of little value in helping select documents matching a user need are excluded from the vocabulary entirely. In natural language processing, Stopwords are words that are so frequent that they can safely be removed from a text without altering its meaning. Hence, for automated marking, we removed all common words from the submitted answer. Doing this significantly reduces the number of tokens our system has to match and store. <br />
<br />
<br />
[[Image:Zenith stopwords.png|center|500px|link=]]<br />
<b><center>An example of a stop list of 25 semantically non-selective words</center></b><br />
<br />
<b>Stemming</b><br />
<br />
For grammatical reasons, answers are going to use different forms of a word, such as organize, organizes, and organizing. Additionally, there are families of derivationally related words with similar meanings, such as democracy, democratic, and democratization. In these situations, we have to treat these words to be the same, as they have the same root meaning.<br />
<br />
The goal of both stemming is to reduce inflectional forms and sometimes derivationally related forms of a word to a common base form. <br />
<br />
We decided to use the Porter Stemming Algorithm (https://tartarus.org/martin/PorterStemmer/index.html) as it is the most popular algorithm for stemming English and has shown to be empirically very effective.<br />
<br />
Porter's algorithm consists of 5 phases of word reductions, applied sequentially. Within each phase there are various conventions to select rules, such as selecting the rule from each rule group that applies to the longest suffix. <br />
<br />
[[Image:Zenith stemming.png|center|500px|link=]]<br />
<b><center>Example of a rule in the Porter Stemming Algorithm</center></b><br />
</div> <br />
<br><br />
<br />
====Game development ====<br />
<div style="font-family: Verdana;"><br />
Together with the NUS team, we developed a few basic game rules. <br />
<br />
<b>Leveling System</b> <br />
<br />
For our application, we introduce a leveling system for student. In its simplest form, leveling up occurs through the process of gaining enough experience points until a target experience point total is reached. Once the target is met, the student's character "levels up," and a new target experience threshold is set. Students gains experience points (XP) by attempting a medical case. The amount of XP is dependent on how well the student scores.<br />
<br />
Currently, the main selling point of the medical cases is to practice for their exams. By introducing the leveling system, we hope to further incentivise students to attempt medical cases on our application. The idea is to ensure that students will be playing the cases throughout the year rather than just during peak (exam) periods.<br />
[[Image:Zenith leveling formula.PNG|center|300px|link=]]<br />
<b><center>Formula for calculating Level</center></b><br />
<br />
<b>Anti Cheat Mechanism for MCQ Scoring</b><br />
<br />
There can be more than one correct answer for each MCQ questions. Hence we use multi-select MCQ questions in our game. However, the problem we face is that students can simply tick all the options to get the correct answer. Hence, we developed a rule that penalizes the student for every wrong option selected. <br />
<br />
<b>Anti Cheat Mechanism for Repeating Cases</b><br />
<br />
Another rule we developed is to halve the total amount of experience points gained for each subsequent game play of the same case. This is to reduce the incentive of repeating the same case again and again for the sake of leveling up. Furthermore, students are already expected to score better after doing the case, as the answers are revealed at the end of each case.<br />
<br />
</div> <br />
<br><br />
<br />
====Added security features====<br />
<div style="font-family: Verdana;"><br />
In December 2017, our MongoDB database was compromised and held hostage by ransomware. We were instructed to pay 0.1 bitcoin (USD $1594) for the return of our data. Fortunately, we had backed up the data so there was no need for us to pay the ransom. Since this incident, we have taken additional measures to ensure that this does not happen again.<br />
<br />
<br />
We have implemented / will be implementing the following: <br />
*Firewall<br />
*SSH Tunnel<br />
*Automated backup <br />
*HTTPS protocol <br />
*Encrypt environment variables<br />
</div><br />
<br />
==Quality of product==<br />
<br />
===Intermediate Deliverables:===<br />
<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Stage <br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Specification<br />
|-<br />
<br />
|rowspan="6"| Project Management<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Management|Schedule]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_minutes|Minutes]] <br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Bug Metric|Bug metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Task Metric|Task metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_risk_management|Risk management]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_change_management|Change management]]<br />
|-<br />
<br />
<br />
|rowspan="3"| Requirements<br />
|| [[IS480 Team wiki: 2017T2 Zenith Overview | Overview]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_project_scope | Scope]]<br />
|-<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Documentation | Personas]]<br />
|-<br />
<br />
|rowspan="3"| Analysis<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Use Case Diagram | Use case diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Architecture Diagram | Architecture diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_technologies| Technologies used]]<br />
|-<br />
<br />
<br />
|rowspan="1"| Design<br />
|| [[IS480_Team_wiki:2017T2 Zenith_prototype |Prototypes]]<br />
|-<br />
<br />
|rowspan="1"| Testing<br />
|| [[IS480_Team_wiki:2017T2 Zenith User Testing 1 |User Acceptance Test 1 (11 - 13 Feb 2018)]]<br />
|-<br />
|}<br />
</center><br />
</div><br />
<br />
===Testing:===<br />
<br />
<div style="font-family: Verdana;"><br />
<br />
*Creation of test cases during development. <br />
*Functionality testing after completion of function. <br />
*Regression testing at the end of every iteration. <br />
*We expect to complete 2 UATs by the end of the project. <br />
*1 UAT has been completed before Midterms. To view the results of this UAT, [[IS480_Team_wiki:2017T2 Zenith User Testing 1|click here]]. <br />
<br />
</div><br />
<br />
==Reflections==<br />
<br />
===Team Reflection:===<br />
<div style="font-family: Verdana;"><br />
<br />
Our team has learnt the importance of working together closely with our clients, to ensure an ideal alignment between the client business requirements and our end-product. Throughout our development process, we are constantly plagued with minor hiccups and bugs. However, our team feels that our most valuable quality is resilience, as we tackle each and every problem with our ineffable tenacity and innovation.<br />
</div><br />
<br />
=== Individual Reflections: ===<br />
<div style="font-family: Verdana;"><br />
<b>Amelia: </b><br />
<br />
It has been a very experimental journey managing the team since the project started. New challenges are always popping up, and I have learnt to manage the workload of each member more carefully. I believe communication is today’s important skill, be it raising issues with the team or simple dissemination of information. That is why I ensure that there are no communication lapses in our team.<br />
<br> <br />
<br />
<b>Chin Rui: </b> <br />
<br />
It has been a challenging 7 weeks since our acceptance. The application architecture has undergone multiple major changes, especially our security configrations, to ensure better quality and continuity for our clients. The security breach incident was an eye-opening experience for me, and I have learnt to never take security for granted. I have realised that security should be a key consideration when planning an application's architecture because every implementation or change made could introduce a new vulnerability for potential attackers to take advantage of. Aside from the security enhancements, I have also discovered the difficulties in planning a software architecture after taking into account of budget, skill and technical constrains.<br />
<br> <br />
<br />
<b>Ervin: </b><br />
<br />
Being the previous Business Analyst, it was an enriching and mind-boggling experience researching on various Natural Language Processing techniques and trying to appraise their adequacy and appropriateness for our application. Moving on as the Quality Assurance lead, I hope I do not offend everyone involved in development by scrutinizing every single corner case in the application.<br />
<br><br />
<br />
<b>Ming Rui: </b><br />
<br />
The opportunity to be able to apply the entire design thinking process from the creation of prototypes to the actual web development have been arduous but rewarding journey. The final designs of the application are a product of multiple revamps, each better compared to the previous. I have learnt the importance of gathering feedback from the clients as well as real users.<br />
<br> <br />
<br />
<b>Qimin: </b><br />
<br />
Having to pick up Node.js and React.js in a short period of time really pushed me to learn and adapt at a much faster pace. There are many front-end and back-end considerations to factor in during the design process, such as the communication between parent-child components and the use of redux store versus a direct http request to the database. I believe that my technical skills have definitely improved over the past few weeks.<br />
<br> <br />
<br />
<b>Ricky: </b><br />
<br />
It has been a great experience seeing how the project has grown from infancy to where it is today. As a backend developer, I have realised that is important to have a seamless integration of the frontend components with the server side logic as well as designing and implementing data storage solutions. Throughout the past few months working on the project, I have learnt that what’s even more important than completing the work assigned to me is to help my team members with their tasks. This will enable smoother and faster progression as a team.<br />
<br> <br />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=File:Zenith_Midterm_slides_FINAL.pptx&diff=319123File:Zenith Midterm slides FINAL.pptx2018-02-23T07:06:24Z<p>Ervin.chong.2015: </p>
<hr />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_Midterm_Wiki&diff=319118IS480 Team wiki:2017T2 Zenith Midterm Wiki2018-02-23T06:04:53Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | <br />
<br />
[[IS480 Team wiki: 2017T2T Zenith | <font color="#000000"><b>Main Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_Midterm Wiki | <font color="#000000"><b>Midterm Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_FinalWiki | <font color="#000000"><b>Final Wiki</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br><br />
[[File:Zenith_midterm_header.PNG|center|1000px]]<br />
<br />
<br />
<br />
==Project Progress Summary==<br />
===Midterm Slides===<br />
(insert link here)<br />
<br />
===Deployed site link===<br />
<center><br />
[[Image: Zenith deployment link.jpeg |600px|link=http://www.themedsense.com]]<br />
</center><br />
<br />
===Project Highlights===<br />
<div style="font-family: Verdana;"><br />
Our project schedule is divided into 13 iterations. <br />
* We are currently on our 9th iteration (12 Feb - 25 Feb 2018).<br />
* Up till 20 Feb 2018, we have completed <b>80.56</b>% of our development progress. <br />
* 1 User Acceptance Test was conducted before Midterms. The results are shown [[IS480_Team_wiki:2017T2 Zenith User Testing 1|here]]. <br />
* Achieved and exceeded [[IS480_Team_wiki:2017T2 Zenith_x-factor|Midterms X-factor]]. <br />
<br />
<br />
Unexpected events:<br />
* New team of clients.<br />
* Cancellation of one User Acceptance Test by clients due to busy schedules.<br />
* List of requirement changes after Acceptance can be viewed [[IS480_Team_wiki:2017T2_Zenith_change_management#Change log (till Midterms)| here]].<br />
</div><br />
<br />
==Project Management==<br />
<div style="font-family: Verdana;"><br />
<b>Iteration Progress:</b> 9 of 13<br/><br />
<b>Features Completion:</b> 80.56% (29 out of 36 features)<br/><br />
<b>Confidence Level:</b> 100%<br />
</div> <br />
<br />
===Project Status:===<br />
<br />
<div style="font-family: Verdana;"><br />
A breakdown of tasks is shown in our [[IS480_Team_wiki:2017T2 Zenith_project_scope|project scope]].<br />
</div> <br />
<br><br />
[[File:Zenith_midterm_scope.png|center|800px]]<br />
<br><br />
<br />
===Project Schedule (Plan Vs Actual):===<br />
<br />
====Milestones Overview:====<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable"<br />
|-<br />
! Planned (Acceptance) !! Actual (Midterms)<br />
|-<br />
|<br />
[[File:Zenith_midterm_planned_timeline.png|500px]]<br />
|| <br />
[[File:Zenith_midterm_actual_timeline.png|500px]]<br />
|}<br />
</center><br />
</div><br />
<br />
====Project Schedule:====<br />
<div style="font-family: Verdana;"><br />
Planned Schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_expected_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Changes in planned schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_changed_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Actual Schedule (Midterms)<br> <br><br />
[[File:Zenith_midterm_actual_schedule.png|center|900px]]<br />
</div><br />
<br />
===Project Metrics:===<br />
<br />
====Task metric====<br />
<div style="font-family: Verdana;"><br />
[[File:Zenith_midterms_task_metric.png|center|600px]]<br />
<br />
<!--Task Metric Table Start--><br />
{| class="wikitable" style=" background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | Score<br />
|style="text-align: center;" width="20%" | TM <= 50<br />
|style="text-align: center;" width="20%" | 50 < TM <= 75<br />
|style="text-align: center;" width="20%" | 75 < TM <= 125<br />
|style="text-align: center;" width="20%" | 125 < TM <= 150<br />
|style="text-align: center;" width="20%" | 150 > TM<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Action<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations. <br> 3. Consider dropping Tasks. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Deduct number of days behind from buffer days. <br> 3. If there are no more buffer days, decide the functionalities to drop. <br />
|style="text-align: left;vertical-align: top"| 1. Our estimates are fairly accurate, and are roughly on track. <br> 2. Add/deduct number of days ahead / behind from buffer days. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Add number of days ahead to buffer days.<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations.<br />
|-<br />
|}<br />
<!--Task Metric Table End--><br />
</div><br />
<br />
====Bug metric====<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith_midterm_bug_count.png|center|600px]]<br><br />
[[File: Zenith_midterm_bug_score.png|center|600px]]<br />
<br />
<center><b>Note:</b> There were no coding tasks for iteration 1. </center><br />
<br />
<br />
<!--Bug Score Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Severity<br />
|style="text-align: center;" width="30%" | Low Impact <br />
|style="text-align: center;" width="30%" | High Impact <br />
|style="text-align: center;" width="30%"| Critical Impact<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| User interface display errors, such as out of alignment, colour used is not according to theme. <br />
It does not affect the functionality of the system. <br />
|style="text-align: left;vertical-align: top"| The system is functional with some non-critical functionalities are not working.<br />
|style="text-align: left;vertical-align: top"| The system is not functional. <br />
Bugs have to be fixed before proceeding.<br />
|-<br />
|}<br />
<!--Bug Score Table End--><br />
<br />
<br />
<!--Bug Metric Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Points<br />
|style="text-align: center;" width="30%" | BM <= 5 <br />
|style="text-align: center;" width="30%" | 5 < BM < 10<br />
|style="text-align: center;" width="30%"| BM >= 10<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| The system does not need immediate fixing, could be fixed during buffer time or during coding sessions<br />
|style="text-align: left;vertical-align: top"| Coders to use planned debugging time in the iteration to solve the bug<br />
|style="text-align: left;vertical-align: top"| The team has to stop all current development and resolve the bug immediately<br />
|-<br />
|}<br />
<!--Bug Metric Table End--><br />
</div> <br />
<br />
<br />
<br><br />
<br />
===Project Risks:===<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith risk metric.png|center|600px]]<br />
<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Technical<br />
|style="text-align: left;vertical-align: center"| Ransomware attacks on Database<br />
|style="text-align: center;"| Low (but it happened)<br />
|style="text-align: center;"| High<br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: top"| System Architect to improve database security <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Organizational<br />
|style="text-align: left;vertical-align: center"| New members in NUS MedSense Team<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Project Manager will be in constant communication with new members, and will regularly review the scope with them. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: center"| Members falling sick or going overseas doing school period, reducing team's available manpower. This can cause a potential delays in the project <br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Team members should constantly check on the health and well-being of one another, as well as update the Project Manager of any overseas plans as early as possible<br />
|-<br />
|}<br />
<br><br />
</div><br />
<br><br />
<br />
===Technical Complexity:===<br />
<br />
====Natural Language Processing====<br />
<div style="font-family: Verdana;"><br />
Natural Language Processing, or NLP for short, is broadly defined as the automatic manipulation of natural language, like speech and text, by software. The study of natural language processing has been around for more than 50 years and grew out of the field of linguistics with the rise of computers.<br />
<br />
Our team decided to employ NLP techniques to perform automated marking for open ended questions. This benefits the user as professors do not need to mark each answer and students can receive immediate feedback with regards to their answers.<br />
<br />
Below are some of the techniques used:<br />
<br />
<b>Tokenization</b><br />
<br />
Given a character sequence and a defined document unit, tokenization is the task of chopping it up into pieces, called tokens , perhaps at the same time throwing away certain characters, such as punctuation. <br />
<br />
[[Image:Zenith tokenization.PNG|center|600px|link=]]<br />
<center><b>An example of tokenization. Library used: Natural for Nodejs</b> https://github.com/NaturalNode/natural#tokenizers</center><br />
<br />
<b>Removing Stopwords</b><br />
<br />
Sometimes, some extremely common words which would appear to be of little value in helping select documents matching a user need are excluded from the vocabulary entirely. In natural language processing, Stopwords are words that are so frequent that they can safely be removed from a text without altering its meaning. Hence, for automated marking, we removed all common words from the submitted answer. Doing this significantly reduces the number of tokens our system has to match and store. <br />
<br />
<br />
[[Image:Zenith stopwords.png|center|500px|link=]]<br />
<b><center>An example of a stop list of 25 semantically non-selective words</center></b><br />
<br />
<b>Stemming</b><br />
<br />
For grammatical reasons, answers are going to use different forms of a word, such as organize, organizes, and organizing. Additionally, there are families of derivationally related words with similar meanings, such as democracy, democratic, and democratization. In these situations, we have to treat these words to be the same, as they have the same root meaning.<br />
<br />
The goal of both stemming is to reduce inflectional forms and sometimes derivationally related forms of a word to a common base form. <br />
<br />
We decided to use the Porter Stemming Algorithm (https://tartarus.org/martin/PorterStemmer/index.html) as it is the most popular algorithm for stemming English and has shown to be empirically very effective.<br />
<br />
Porter's algorithm consists of 5 phases of word reductions, applied sequentially. Within each phase there are various conventions to select rules, such as selecting the rule from each rule group that applies to the longest suffix. <br />
<br />
[[Image:Zenith stemming.png|center|500px|link=]]<br />
<b><center>Example of a rule in the Porter Stemming Algorithm</center></b><br />
</div> <br />
<br><br />
<br />
====Game development ====<br />
<div style="font-family: Verdana;"><br />
Together with the NUS team, we developed a few basic game rules. <br />
<br />
<b>Leveling System</b> <br />
<br />
For our application, we introduce a leveling system for student. In its simplest form, leveling up occurs through the process of gaining enough experience points until a target experience point total is reached. Once the target is met, the student's character "levels up," and a new target experience threshold is set. Students gains experience points (XP) by attempting a medical case. The amount of XP is dependent on how well the student scores.<br />
<br />
Currently, the main selling point of the medical cases is to practice for their exams. By introducing the leveling system, we hope to further incentivise students to attempt medical cases on our application. The idea is to ensure that students will be playing the cases throughout the year rather than just during peak (exam) periods.<br />
[[Image:Zenith leveling formula.PNG|center|300px|link=]]<br />
<b><center>Formula for calculating Level</center></b><br />
<br />
<b>Anti Cheat Mechanism for MCQ Scoring</b><br />
<br />
There can be more than one correct answer for each MCQ questions. Hence we use multi-select MCQ questions in our game. However, the problem we face is that students can simply tick all the options to get the correct answer. Hence, we developed a rule that penalizes the student for every wrong option selected. <br />
<br />
<b>Anti Cheat Mechanism for Repeating Cases</b><br />
<br />
Another rule we developed is to halve the total amount of experience points gained for each subsequent game play of the same case. This is to reduce the incentive of repeating the same case again and again for the sake of leveling up. Furthermore, students are already expected to score better after doing the case, as the answers are revealed at the end of each case.<br />
<br />
</div> <br />
<br><br />
<br />
====Added security features====<br />
<div style="font-family: Verdana;"><br />
In December 2017, our MongoDB database was compromised and held hostage by ransomware. We were instructed to pay 0.1 bitcoin (USD $1594) for the return of our data. Fortunately, we had backed up the data so there was no need for us to pay the ransom. Since this incident, we have taken additional measures to ensure that this does not happen again.<br />
<br />
<br />
We have implemented / will be implementing the following: <br />
*Firewall<br />
*SSH Tunnel<br />
*Automated backup <br />
*HTTPS protocol <br />
*Encrypt environment variables<br />
</div><br />
<br />
==Quality of product==<br />
<br />
===Intermediate Deliverables:===<br />
<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Stage <br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Specification<br />
|-<br />
<br />
|rowspan="6"| Project Management<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Management|Schedule]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_minutes|Minutes]] <br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Bug Metric|Bug metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Task Metric|Task metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_risk_management|Risk management]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_change_management|Change management]]<br />
|-<br />
<br />
<br />
|rowspan="3"| Requirements<br />
|| [[IS480 Team wiki: 2017T2 Zenith Overview | Overview]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_project_scope | Scope]]<br />
|-<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Documentation | Personas]]<br />
|-<br />
<br />
|rowspan="3"| Analysis<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Use Case Diagram | Use case diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Architecture Diagram | Architecture diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_technologies| Technologies used]]<br />
|-<br />
<br />
<br />
|rowspan="1"| Design<br />
|| [[IS480_Team_wiki:2017T2 Zenith_prototype |Prototypes]]<br />
|-<br />
<br />
|rowspan="1"| Testing<br />
|| [[IS480_Team_wiki:2017T2 Zenith User Testing 1 |User Acceptance Test 1 (11 - 13 Feb 2018)]]<br />
|-<br />
|}<br />
</center><br />
</div><br />
<br />
===Testing:===<br />
<br />
<div style="font-family: Verdana;"><br />
<br />
*Creation of test cases during development. <br />
*Functionality testing after completion of function. <br />
*Regression testing at the end of every iteration. <br />
*We expect to complete 2 UATs by the end of the project. <br />
*1 UAT has been completed before Midterms. To view the results of this UAT, [[IS480_Team_wiki:2017T2 Zenith User Testing 1|click here]]. <br />
<br />
</div><br />
<br />
==Reflections==<br />
<br />
===Team Reflection:===<br />
<div style="font-family: Verdana;"><br />
<br />
Our team has learnt the importance of working together closely with our clients, to ensure an ideal alignment between the client business requirements and our end-product. Throughout our development process, we are constantly plagued with minor hiccups and bugs. However, our team feels that our most valuable quality is resilience, as we tackle each and every problem with our ineffable tenacity and innovation.<br />
</div><br />
<br />
=== Individual Reflections: ===<br />
<div style="font-family: Verdana;"><br />
<b>Amelia: </b><br />
<br />
It has been a very experimental journey managing the team since the project started. New challenges are always popping up, and I have learnt to manage the workload of each member more carefully. I believe communication is today’s important skill, be it raising issues with the team or simple dissemination of information. That is why I ensure that there are no communication lapses in our team.<br />
<br> <br />
<br />
<b>Chin Rui: </b> <br />
<br />
It has been a challenging 7 weeks since our acceptance. The application architecture has undergone multiple major changes, especially our security configrations, to ensure better quality and continuity for our clients. The security breach incident was an eye-opening experience for me, and I have learnt to never take security for granted. I have realised that security should be a key consideration when planning an application's architecture because every implementation or change made could introduce a new vulnerability for potential attackers to take advantage of. Aside from the security enhancements, I have also discovered the difficulties in planning a software architecture after taking into account of budget, skill and technical constrains.<br />
<br> <br />
<br />
<b>Ervin: </b><br />
<br />
Being the previous Business Analyst, it was an enriching and mind-boggling experience researching on various Natural Language Processing techniques and trying to appraise their adequacy and appropriateness for our application. Moving on as the Quality Assurance lead, I hope I do not offend everyone involved in development by scrutinizing every single corner case in the application.<br />
<br><br />
<br />
<b>Ming Rui: </b><br />
<br />
The opportunity to be able to apply the entire design thinking process from the creation of prototypes to the actual web development have been arduous but rewarding journey. The final designs of the application are a product of multiple revamps, each better compared to the previous. I have learnt the importance of gathering feedback from the clients as well as real users.<br />
<br> <br />
<br />
<b>Qimin: </b><br />
<br />
Having to pick up Node.js and React.js in a short period of time really pushed me to learn and adapt at a much faster pace. There are many front-end and back-end considerations to factor in during the design process, such as the communication between parent-child components and the use of redux store versus a direct http request to the database. I believe that my technical skills have definitely improved over the past few weeks.<br />
<br> <br />
<br />
<b>Ricky: </b><br />
<br />
It has been a great experience seeing how the project has grown from infancy to where it is today. As a backend developer, I have realised that is important to have a seamless integration of the frontend components with the server side logic as well as designing and implementing data storage solutions. Throughout the past few months working on the project, I have learnt that what’s even more important than completing the work assigned to me is to help my team members with their tasks. This will enable smoother and faster progression as a team.<br />
<br> <br />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=File:Zenith_leveling_formula.PNG&diff=319117File:Zenith leveling formula.PNG2018-02-23T05:52:21Z<p>Ervin.chong.2015: </p>
<hr />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_Midterm_Wiki&diff=319109IS480 Team wiki:2017T2 Zenith Midterm Wiki2018-02-23T05:32:55Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | <br />
<br />
[[IS480 Team wiki: 2017T2T Zenith | <font color="#000000"><b>Main Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_Midterm Wiki | <font color="#000000"><b>Midterm Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_FinalWiki | <font color="#000000"><b>Final Wiki</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br><br />
[[File:Zenith_midterm_header.PNG|center|1000px]]<br />
<br />
<br />
<br />
==Project Progress Summary==<br />
===Midterm Slides===<br />
(insert link here)<br />
<br />
===Deployed site link===<br />
<center><br />
[[Image: Zenith deployment link.jpeg |600px|link=http://www.themedsense.com]]<br />
</center><br />
<br />
===Project Highlights===<br />
<div style="font-family: Verdana;"><br />
Our project schedule is divided into 13 iterations. <br />
* We are currently on our 9th iteration (12 Feb - 25 Feb 2018).<br />
* Up till 20 Feb 2018, we have completed <b>80.56</b>% of our development progress. <br />
* 1 User Acceptance Test was conducted before Midterms. The results are shown [[IS480_Team_wiki:2017T2 Zenith User Testing 1|here]]. <br />
* Achieved and exceeded [[IS480_Team_wiki:2017T2 Zenith_x-factor|Midterms X-factor]]. <br />
<br />
<br />
Unexpected events:<br />
* New team of clients.<br />
* Cancellation of one User Acceptance Test by clients due to busy schedules.<br />
* List of requirement changes after Acceptance can be viewed [[IS480_Team_wiki:2017T2_Zenith_change_management#Change log (till Midterms)| here]].<br />
</div><br />
<br />
==Project Management==<br />
<div style="font-family: Verdana;"><br />
<b>Iteration Progress:</b> 9 of 13<br/><br />
<b>Features Completion:</b> 80.56% (29 out of 36 features)<br/><br />
<b>Confidence Level:</b> 100%<br />
</div> <br />
<br />
===Project Status:===<br />
<br />
<div style="font-family: Verdana;"><br />
A breakdown of tasks is shown in our [[IS480_Team_wiki:2017T2 Zenith_project_scope|project scope]].<br />
</div> <br />
<br><br />
[[File:Zenith_midterm_scope.png|center|800px]]<br />
<br><br />
<br />
===Project Schedule (Plan Vs Actual):===<br />
<br />
====Milestones Overview:====<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable"<br />
|-<br />
! Planned (Acceptance) !! Actual (Midterms)<br />
|-<br />
|<br />
[[File:Zenith_midterm_planned_timeline.png|500px]]<br />
|| <br />
[[File:Zenith_midterm_actual_timeline.png|500px]]<br />
|}<br />
</center><br />
</div><br />
<br />
====Project Schedule:====<br />
<div style="font-family: Verdana;"><br />
Planned Schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_expected_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Changes in planned schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_changed_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Actual Schedule (Midterms)<br> <br><br />
[[File:Zenith_midterm_actual_schedule.png|center|900px]]<br />
</div><br />
<br />
===Project Metrics:===<br />
<br />
====Task metric====<br />
<div style="font-family: Verdana;"><br />
[[File:Zenith_midterms_task_metric.png|center|600px]]<br />
<br />
<!--Task Metric Table Start--><br />
{| class="wikitable" style=" background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | Score<br />
|style="text-align: center;" width="20%" | TM <= 50<br />
|style="text-align: center;" width="20%" | 50 < TM <= 75<br />
|style="text-align: center;" width="20%" | 75 < TM <= 125<br />
|style="text-align: center;" width="20%" | 125 < TM <= 150<br />
|style="text-align: center;" width="20%" | 150 > TM<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Action<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations. <br> 3. Consider dropping Tasks. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Deduct number of days behind from buffer days. <br> 3. If there are no more buffer days, decide the functionalities to drop. <br />
|style="text-align: left;vertical-align: top"| 1. Our estimates are fairly accurate, and are roughly on track. <br> 2. Add/deduct number of days ahead / behind from buffer days. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Add number of days ahead to buffer days.<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations.<br />
|-<br />
|}<br />
<!--Task Metric Table End--><br />
</div><br />
<br />
====Bug metric====<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith_midterm_bug_count.png|center|600px]]<br><br />
[[File: Zenith_midterm_bug_score.png|center|600px]]<br />
<br />
<center><b>Note:</b> There were no coding tasks for iteration 1. </center><br />
<br />
<br />
<!--Bug Score Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Severity<br />
|style="text-align: center;" width="30%" | Low Impact <br />
|style="text-align: center;" width="30%" | High Impact <br />
|style="text-align: center;" width="30%"| Critical Impact<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| User interface display errors, such as out of alignment, colour used is not according to theme. <br />
It does not affect the functionality of the system. <br />
|style="text-align: left;vertical-align: top"| The system is functional with some non-critical functionalities are not working.<br />
|style="text-align: left;vertical-align: top"| The system is not functional. <br />
Bugs have to be fixed before proceeding.<br />
|-<br />
|}<br />
<!--Bug Score Table End--><br />
<br />
<br />
<!--Bug Metric Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Points<br />
|style="text-align: center;" width="30%" | BM <= 5 <br />
|style="text-align: center;" width="30%" | 5 < BM < 10<br />
|style="text-align: center;" width="30%"| BM >= 10<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| The system does not need immediate fixing, could be fixed during buffer time or during coding sessions<br />
|style="text-align: left;vertical-align: top"| Coders to use planned debugging time in the iteration to solve the bug<br />
|style="text-align: left;vertical-align: top"| The team has to stop all current development and resolve the bug immediately<br />
|-<br />
|}<br />
<!--Bug Metric Table End--><br />
</div> <br />
<br />
<br />
<br><br />
<br />
===Project Risks:===<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith risk metric.png|center|600px]]<br />
<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Technical<br />
|style="text-align: left;vertical-align: center"| Ransomware attacks on Database<br />
|style="text-align: center;"| Low (but it happened)<br />
|style="text-align: center;"| High<br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: top"| System Architect to improve database security <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Organizational<br />
|style="text-align: left;vertical-align: center"| New members in NUS MedSense Team<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Project Manager will be in constant communication with new members, and will regularly review the scope with them. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: center"| Members falling sick or going overseas doing school period, reducing team's available manpower. This can cause a potential delays in the project <br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| C<br />
|style="text-align: left;vertical-align: center"| Team members should constantly check on the health and well-being of one another, as well as update the Project Manager of any overseas plans as early as possible<br />
|-<br />
|}<br />
<br><br />
</div><br />
<br><br />
<br />
===Technical Complexity:===<br />
<br />
====Natural Language Processing====<br />
<div style="font-family: Verdana;"><br />
Natural Language Processing, or NLP for short, is broadly defined as the automatic manipulation of natural language, like speech and text, by software. The study of natural language processing has been around for more than 50 years and grew out of the field of linguistics with the rise of computers.<br />
<br />
Our team decided to employ NLP techniques to perform automated marking for open ended questions. This benefits the user as professors do not need to mark each answer and students can receive immediate feedback with regards to their answers.<br />
<br />
Below are some of the techniques used:<br />
<br />
<b>Tokenization</b><br />
<br />
Given a character sequence and a defined document unit, tokenization is the task of chopping it up into pieces, called tokens , perhaps at the same time throwing away certain characters, such as punctuation. <br />
<br />
[[Image:Zenith tokenization.PNG|center|600px|link=]]<br />
<center><b>An example of tokenization. Library used: Natural for Nodejs</b> https://github.com/NaturalNode/natural#tokenizers</center><br />
<br />
<b>Removing Stopwords</b><br />
<br />
Sometimes, some extremely common words which would appear to be of little value in helping select documents matching a user need are excluded from the vocabulary entirely. In natural language processing, Stopwords are words that are so frequent that they can safely be removed from a text without altering its meaning. Hence, for automated marking, we removed all common words from the submitted answer. Doing this significantly reduces the number of tokens our system has to match and store. <br />
<br />
<br />
[[Image:Zenith stopwords.png|center|500px|link=]]<br />
<b><center>An example of a stop list of 25 semantically non-selective words</center></b><br />
<br />
<b>Stemming</b><br />
<br />
For grammatical reasons, answers are going to use different forms of a word, such as organize, organizes, and organizing. Additionally, there are families of derivationally related words with similar meanings, such as democracy, democratic, and democratization. In these situations, we have to treat these words to be the same, as they have the same root meaning.<br />
<br />
The goal of both stemming is to reduce inflectional forms and sometimes derivationally related forms of a word to a common base form. <br />
<br />
We decided to use the Porter Stemming Algorithm (https://tartarus.org/martin/PorterStemmer/index.html) as it is the most popular algorithm for stemming English and has shown to be empirically very effective.<br />
<br />
Porter's algorithm consists of 5 phases of word reductions, applied sequentially. Within each phase there are various conventions to select rules, such as selecting the rule from each rule group that applies to the longest suffix. <br />
<br />
[[Image:Zenith stemming.png|center|500px|link=]]<br />
<b><center>Example of a rule in the Porter Stemming Algorithm</center></b><br />
</div> <br />
<br><br />
<br />
====Game development ====<br />
<div style="font-family: Verdana;"><br />
Together with the NUS team, we developed a few basic game rules. <br />
<br />
<b>Leveling System</b> <br />
<br />
For our application, we introduce a leveling system for student. In its simplest form, leveling up occurs through the process of gaining enough experience points until a target experience point total is reached. Once the target is met, the student's character "levels up," and a new target experience threshold is set. Students gains experience points (XP) by attempting a medical case. The amount of XP is dependent on how well the student scores.<br />
<br />
Currently, the main selling point of the medical cases is to practice for their exams. By introducing the leveling system, we hope to further incentivise students to attempt medical cases on our application. The idea is to ensure that students will be playing the cases throughout the year rather than just during peak (exam) periods.<br />
<br />
<b>Anti Cheat Mechanism for MCQ Scoring</b><br />
<br />
There can be more than one correct answer for each MCQ questions. Hence we use multi-select MCQ questions in our game. However, the problem we face is that students can simply tick all the options to get the correct answer. Hence, we developed a rule that penalizes the student for every wrong option selected. <br />
<br />
<b>Anti Repeat Mechanism for experience points (XP) </b><br />
<br />
Another rule we developed is to halve the total amount of experience points gained for each subsequent game play of the same case. This is to reduce the incentive of repeating the same case again and again for the sake of leveling up. Furthermore, students are already expected to score better after doing the case, as the answers are revealed at the end of each case.<br />
<br />
</div> <br />
<br><br />
<br />
====Added security features====<br />
<div style="font-family: Verdana;"><br />
In December 2017, our MongoDB database was compromised and held hostage by ransomware. We were instructed to pay 0.1 bitcoin (USD $1594) for the return of our data. Fortunately, we had backed up the data so there was no need for us to pay the ransom. Since this incident, we have taken additional measures to ensure that this does not happen again.<br />
<br />
<br />
We have implemented / will be implementing the following: <br />
*Firewall<br />
*SSH Tunnel<br />
*Automated backup <br />
*HTTPS protocol <br />
*Encrypt environment variables<br />
</div><br />
<br />
==Quality of product==<br />
<br />
===Intermediate Deliverables:===<br />
<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Stage <br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Specification<br />
|-<br />
<br />
|rowspan="6"| Project Management<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Management|Schedule]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_minutes|Minutes]] <br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Bug Metric|Bug metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Task Metric|Task metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_risk_management|Risk management]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_change_management|Change management]]<br />
|-<br />
<br />
<br />
|rowspan="3"| Requirements<br />
|| [[IS480 Team wiki: 2017T2 Zenith Overview | Overview]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_project_scope | Scope]]<br />
|-<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Documentation | Personas]]<br />
|-<br />
<br />
|rowspan="3"| Analysis<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Use Case Diagram | Use case diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Architecture Diagram | Architecture diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_technologies| Technologies used]]<br />
|-<br />
<br />
<br />
|rowspan="1"| Design<br />
|| [[IS480_Team_wiki:2017T2 Zenith_prototype |Prototypes]]<br />
|-<br />
<br />
|rowspan="1"| Testing<br />
|| [[IS480_Team_wiki:2017T2 Zenith User Testing 1 |User Acceptance Test 1 (11 - 13 Feb 2018)]]<br />
|-<br />
|}<br />
</center><br />
</div><br />
<br />
===Testing:===<br />
<br />
<div style="font-family: Verdana;"><br />
<br />
*Creation of test cases during development. <br />
*Functionality testing after completion of function. <br />
*Regression testing at the end of every iteration. <br />
*We expect to complete 2 UATs by the end of the project. <br />
*1 UAT has been completed before Midterms. To view the results of this UAT, [[IS480_Team_wiki:2017T2 Zenith User Testing 1|click here]]. <br />
<br />
</div><br />
<br />
==Reflections==<br />
<br />
===Team Reflection:===<br />
<div style="font-family: Verdana;"><br />
<br />
Our team has learnt the importance of working together closely with our clients, to ensure an ideal alignment between the client business requirements and our end-product. Throughout our development process, we are constantly plagued with minor hiccups and bugs. However, our team feels that our most valuable quality is resilience, as we tackle each and every problem with our ineffable tenacity and innovation.<br />
</div><br />
<br />
=== Individual Reflections: ===<br />
<div style="font-family: Verdana;"><br />
<b>Amelia: </b><br />
<br />
It has been a very experimental journey managing the team since the project started. New challenges are always popping up, and I have learnt to manage the workload of each member more carefully. I believe communication is today’s important skill, be it raising issues with the team or simple dissemination of information. That is why I ensure that there are no communication lapses in our team.<br />
<br> <br />
<br />
<b>Chin Rui: </b> <br />
<br />
It has been a challenging 7 weeks since our acceptance. The application architecture has undergone multiple major changes, especially our security configrations, to ensure better quality and continuity for our clients. The security breach incident was an eye-opening experience for me, and I have learnt to never take security for granted. I have realised that security should be a key consideration when planning an application's architecture because every implementation or change made could introduce a new vulnerability for potential attackers to take advantage of. Aside from the security enhancements, I have also discovered the difficulties in planning a software architecture after taking into account of budget, skill and technical constrains.<br />
<br> <br />
<br />
<b>Ervin: </b><br />
<br />
Being the previous Business Analyst, it was an enriching and mind-boggling experience researching on various Natural Language Processing techniques and trying to appraise their adequacy and appropriateness for our application. Moving on as the Quality Assurance lead, I hope I do not offend everyone involved in development by scrutinizing every single corner case in the application.<br />
<br><br />
<br />
<b>Ming Rui: </b><br />
<br />
The opportunity to be able to apply the entire design thinking process from the creation of prototypes to the actual web development have been arduous but rewarding journey. The final designs of the application are a product of multiple revamps, each better compared to the previous. I have learnt the importance of gathering feedback from the clients as well as real users.<br />
<br> <br />
<br />
<b>Qimin: </b><br />
<br />
Having to pick up Node.js and React.js in a short period of time really pushed me to learn and adapt at a much faster pace. There are many front-end and back-end considerations to factor in during the design process, such as the communication between parent-child components and the use of redux store versus a direct http request to the database. I believe that my technical skills have definitely improved over the past few weeks.<br />
<br> <br />
<br />
<b>Ricky: </b><br />
<br />
It has been a great experience seeing how the project has grown from infancy to where it is today. As a backend developer, I have realised that is important to have a seamless integration of the frontend components with the server side logic as well as designing and implementing data storage solutions. Throughout the past few months working on the project, I have learnt that what’s even more important than completing the work assigned to me is to help my team members with their tasks. This will enable smoother and faster progression as a team.<br />
<br> <br />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_Midterm_Wiki&diff=319107IS480 Team wiki:2017T2 Zenith Midterm Wiki2018-02-23T05:29:16Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | <br />
<br />
[[IS480 Team wiki: 2017T2T Zenith | <font color="#000000"><b>Main Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_Midterm Wiki | <font color="#000000"><b>Midterm Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_FinalWiki | <font color="#000000"><b>Final Wiki</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br><br />
[[File:Zenith_midterm_header.PNG|center|1000px]]<br />
<br />
<br />
<br />
==Project Progress Summary==<br />
===Midterm Slides===<br />
(insert link here)<br />
<br />
===Deployed site link===<br />
<center><br />
[[Image: Zenith deployment link.jpeg |600px|link=http://www.themedsense.com]]<br />
</center><br />
<br />
===Project Highlights===<br />
<div style="font-family: Verdana;"><br />
Our project schedule is divided into 13 iterations. <br />
* We are currently on our 9th iteration (12 Feb - 25 Feb 2018).<br />
* Up till 20 Feb 2018, we have completed <b>80.56</b>% of our development progress. <br />
* 1 User Acceptance Test was conducted before Midterms. The results are shown [[IS480_Team_wiki:2017T2 Zenith User Testing 1|here]]. <br />
* Achieved and exceeded [[IS480_Team_wiki:2017T2 Zenith_x-factor|Midterms X-factor]]. <br />
<br />
<br />
Unexpected events:<br />
* New team of clients.<br />
* Cancellation of one User Acceptance Test by clients due to busy schedules.<br />
* List of requirement changes after Acceptance can be viewed [[IS480_Team_wiki:2017T2_Zenith_change_management#Change log (till Midterms)| here]].<br />
</div><br />
<br />
==Project Management==<br />
<div style="font-family: Verdana;"><br />
<b>Iteration Progress:</b> 9 of 13<br/><br />
<b>Features Completion:</b> 80.56% (29 out of 36 features)<br/><br />
<b>Confidence Level:</b> 100%<br />
</div> <br />
<br />
===Project Status:===<br />
<br />
<div style="font-family: Verdana;"><br />
A breakdown of tasks is shown in our [[IS480_Team_wiki:2017T2 Zenith_project_scope|project scope]].<br />
</div> <br />
<br><br />
[[File:Zenith_midterm_scope.png|center|800px]]<br />
<br><br />
<br />
===Project Schedule (Plan Vs Actual):===<br />
<br />
====Milestones Overview:====<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable"<br />
|-<br />
! Planned (Acceptance) !! Actual (Midterms)<br />
|-<br />
|<br />
[[File:Zenith_midterm_planned_timeline.png|500px]]<br />
|| <br />
[[File:Zenith_midterm_actual_timeline.png|500px]]<br />
|}<br />
</center><br />
</div><br />
<br />
====Project Schedule:====<br />
<div style="font-family: Verdana;"><br />
Planned Schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_expected_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Changes in planned schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_changed_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Actual Schedule (Midterms)<br> <br><br />
[[File:Zenith_midterm_actual_schedule.png|center|900px]]<br />
</div><br />
<br />
===Project Metrics:===<br />
<br />
====Task metric====<br />
<div style="font-family: Verdana;"><br />
[[File:Zenith_midterms_task_metric.png|center|600px]]<br />
<br />
<!--Task Metric Table Start--><br />
{| class="wikitable" style=" background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | Score<br />
|style="text-align: center;" width="20%" | TM <= 50<br />
|style="text-align: center;" width="20%" | 50 < TM <= 75<br />
|style="text-align: center;" width="20%" | 75 < TM <= 125<br />
|style="text-align: center;" width="20%" | 125 < TM <= 150<br />
|style="text-align: center;" width="20%" | 150 > TM<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Action<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations. <br> 3. Consider dropping Tasks. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Deduct number of days behind from buffer days. <br> 3. If there are no more buffer days, decide the functionalities to drop. <br />
|style="text-align: left;vertical-align: top"| 1. Our estimates are fairly accurate, and are roughly on track. <br> 2. Add/deduct number of days ahead / behind from buffer days. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Add number of days ahead to buffer days.<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations.<br />
|-<br />
|}<br />
<!--Task Metric Table End--><br />
</div><br />
<br />
====Bug metric====<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith_midterm_bug_count.png|center|600px]]<br><br />
[[File: Zenith_midterm_bug_score.png|center|600px]]<br />
<br />
<center><b>Note:</b> There were no coding tasks for iteration 1. </center><br />
<br />
<br />
<!--Bug Score Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Severity<br />
|style="text-align: center;" width="30%" | Low Impact <br />
|style="text-align: center;" width="30%" | High Impact <br />
|style="text-align: center;" width="30%"| Critical Impact<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| User interface display errors, such as out of alignment, colour used is not according to theme. <br />
It does not affect the functionality of the system. <br />
|style="text-align: left;vertical-align: top"| The system is functional with some non-critical functionalities are not working.<br />
|style="text-align: left;vertical-align: top"| The system is not functional. <br />
Bugs have to be fixed before proceeding.<br />
|-<br />
|}<br />
<!--Bug Score Table End--><br />
<br />
<br />
<!--Bug Metric Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Points<br />
|style="text-align: center;" width="30%" | BM <= 5 <br />
|style="text-align: center;" width="30%" | 5 < BM < 10<br />
|style="text-align: center;" width="30%"| BM >= 10<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| The system does not need immediate fixing, could be fixed during buffer time or during coding sessions<br />
|style="text-align: left;vertical-align: top"| Coders to use planned debugging time in the iteration to solve the bug<br />
|style="text-align: left;vertical-align: top"| The team has to stop all current development and resolve the bug immediately<br />
|-<br />
|}<br />
<!--Bug Metric Table End--><br />
</div> <br />
<br />
<br />
<br><br />
<br />
===Project Risks:===<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith risk metric.png|center|600px]]<br />
<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Technical<br />
|style="text-align: left;vertical-align: center"| Ransomware attacks on Database<br />
|style="text-align: center;"| Low (but it happened)<br />
|style="text-align: center;"| High<br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: top"| System Architect to improve database security <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Organizational<br />
|style="text-align: left;vertical-align: center"| New members in NUS MedSense Team<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Project Manager will be in constant communication with new members, and will regularly review the scope with them. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: center"| Members falling sick or going overseas doing school period, reducing team's available manpower. This can cause a potential delays in the project <br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| C<br />
|style="text-align: left;vertical-align: center"| Team members should constantly check on the health and well-being of one another, as well as update the Project Manager of any overseas plans as early as possible<br />
|-<br />
|}<br />
<br><br />
</div><br />
<br><br />
<br />
===Technical Complexity:===<br />
<br />
====Natural Language Processing====<br />
<div style="font-family: Verdana;"><br />
Natural Language Processing, or NLP for short, is broadly defined as the automatic manipulation of natural language, like speech and text, by software. The study of natural language processing has been around for more than 50 years and grew out of the field of linguistics with the rise of computers.<br />
<br />
Our team decided to employ NLP techniques to perform automated marking for open ended questions. This benefits the user as professors do not need to mark each answer and students can receive immediate feedback with regards to their answers.<br />
<br />
<b>Data structure for storing tokens: Trie</b><br />
<br />
Trie is an efficient information reTrieval data structure. Using Trie, search complexities can be brought to optimal limit (key length). If we store keys in binary search tree, a well balanced BST will need time proportional to M * log N, where M is maximum string length and N is number of keys in tree. Using Trie, we can search the key in O(M) time. However the penalty is on Trie storage requirements.<br />
Every node of Trie consists of multiple branches. Each branch represents a possible character of keys. We need to mark the last node of every key as end of word node. A Trie node field isEndOfWord is used to distinguish the node as end of word node. A simple structure to represent nodes of English alphabet can be as following,<br />
<br />
Inserting a key into Trie is simple approach. Every character of input key is inserted as an individual Trie node. Note that the children is an array of pointers (or references) to next level trie nodes. The key character acts as an index into the array children. If the input key is new or an extension of existing key, we need to construct non-existing nodes of the key, and mark end of word for last node. If the input key is prefix of existing key in Trie, we simply mark the last node of key as end of word. The key length determines Trie depth.<br />
<br />
Searching for a key is similar to insert operation, however we only compare the characters and move down. The search can terminate due to end of string or lack of key in trie. In the former case, if the isEndofWord field of last node is true, then the key exists in trie. In the second case, the search terminates without examining all the characters of key, since the key is not present in trie.<br />
<br />
[[Image:Zenith trie.jpg|center|300px|link=]]<br />
<center><b>An example of a Trie</b></center><br />
<br />
<br />
<br />
Below are some of the techniques used:<br />
<br />
<b>Tokenization</b><br />
<br />
Given a character sequence and a defined document unit, tokenization is the task of chopping it up into pieces, called tokens , perhaps at the same time throwing away certain characters, such as punctuation. <br />
<br />
[[Image:Zenith tokenization.PNG|center|600px|link=]]<br />
<center><b>An example of tokenization. Library used: Natural for Nodejs</b> https://github.com/NaturalNode/natural#tokenizers</center><br />
<br />
<b>Removing Stopwords</b><br />
<br />
Sometimes, some extremely common words which would appear to be of little value in helping select documents matching a user need are excluded from the vocabulary entirely. In natural language processing, Stopwords are words that are so frequent that they can safely be removed from a text without altering its meaning. Hence, for automated marking, we removed all common words from the submitted answer. Doing this significantly reduces the number of tokens our system has to match and store. <br />
<br />
<br />
[[Image:Zenith stopwords.png|center|500px|link=]]<br />
<b><center>An example of a stop list of 25 semantically non-selective words</center></b><br />
<br />
<b>Stemming</b><br />
<br />
For grammatical reasons, answers are going to use different forms of a word, such as organize, organizes, and organizing. Additionally, there are families of derivationally related words with similar meanings, such as democracy, democratic, and democratization. In these situations, we have to treat these words to be the same, as they have the same root meaning.<br />
<br />
The goal of both stemming is to reduce inflectional forms and sometimes derivationally related forms of a word to a common base form. <br />
<br />
We decided to use the Porter Stemming Algorithm (https://tartarus.org/martin/PorterStemmer/index.html) as it is the most popular algorithm for stemming English and has shown to be empirically very effective.<br />
<br />
Porter's algorithm consists of 5 phases of word reductions, applied sequentially. Within each phase there are various conventions to select rules, such as selecting the rule from each rule group that applies to the longest suffix. <br />
<br />
[[Image:Zenith stemming.png|center|500px|link=]]<br />
<b><center>Example of a rule in the Porter Stemming Algorithm</center></b><br />
</div> <br />
<br><br />
<br />
====Game development ====<br />
<div style="font-family: Verdana;"><br />
Together with the NUS team, we developed a few basic game rules. <br />
<br />
<b>Leveling System</b> <br />
<br />
For our application, we introduce a leveling system for student. In its simplest form, leveling up occurs through the process of gaining enough experience points until a target experience point total is reached. Once the target is met, the student's character "levels up," and a new target experience threshold is set. Students gains experience points (XP) by attempting a medical case. The amount of XP is dependent on how well the student scores.<br />
<br />
Currently, the main selling point of the medical cases is to practice for their exams. By introducing the leveling system, we hope to further incentivise students to attempt medical cases on our application. The idea is to ensure that students will be playing the cases throughout the year rather than just during peak (exam) periods.<br />
<br />
<b>Anti Cheat Mechanism for MCQ Scoring</b><br />
<br />
There can be more than one correct answer for each MCQ questions. Hence we use multi-select MCQ questions in our game. However, the problem we face is that students can simply tick all the options to get the correct answer. Hence, we developed a rule that penalizes the student for every wrong option selected. <br />
<br />
<b>Anti Repeat Mechanism for experience points (XP) </b><br />
<br />
Another rule we developed is to halve the total amount of experience points gained for each subsequent game play of the same case. This is to reduce the incentive of repeating the same case again and again for the sake of leveling up. Furthermore, students are already expected to score better after doing the case, as the answers are revealed at the end of each case.<br />
<br />
</div> <br />
<br><br />
<br />
====Added security features====<br />
<div style="font-family: Verdana;"><br />
In December 2017, our MongoDB database was compromised and held hostage by ransomware. We were instructed to pay 0.1 bitcoin (USD $1594) for the return of our data. Fortunately, we had backed up the data so there was no need for us to pay the ransom. Since this incident, we have taken additional measures to ensure that this does not happen again.<br />
<br />
</div><br />
<br />
==Quality of product==<br />
<br />
===Intermediate Deliverables:===<br />
<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Stage <br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Specification<br />
|-<br />
<br />
|rowspan="6"| Project Management<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Management|Schedule]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_minutes|Minutes]] <br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Bug Metric|Bug metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Task Metric|Task metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_risk_management|Risk management]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_change_management|Change management]]<br />
|-<br />
<br />
<br />
|rowspan="3"| Requirements<br />
|| [[IS480 Team wiki: 2017T2 Zenith Overview | Overview]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_project_scope | Scope]]<br />
|-<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Documentation | Personas]]<br />
|-<br />
<br />
|rowspan="3"| Analysis<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Use Case Diagram | Use case diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Architecture Diagram | Architecture diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_technologies| Technologies used]]<br />
|-<br />
<br />
<br />
|rowspan="1"| Design<br />
|| [[IS480_Team_wiki:2017T2 Zenith_prototype |Prototypes]]<br />
|-<br />
<br />
|rowspan="1"| Testing<br />
|| [[IS480_Team_wiki:2017T2 Zenith User Testing 1 |User Acceptance Test 1 (11 - 13 Feb 2018)]]<br />
|-<br />
|}<br />
</center><br />
</div><br />
<br />
===Testing:===<br />
<br />
<div style="font-family: Verdana;"><br />
<br />
*Creation of test cases during development. <br />
*Functionality testing after completion of function. <br />
*Regression testing at the end of every iteration. <br />
*We expect to complete 2 UATs by the end of the project. <br />
*1 UAT has been completed before Midterms. To view the results of this UAT, [[IS480_Team_wiki:2017T2 Zenith User Testing 1|click here]]. <br />
<br />
</div><br />
<br />
==Reflections==<br />
<br />
===Team Reflection:===<br />
<div style="font-family: Verdana;"><br />
<br />
Our team has learnt the importance of working together closely with our clients, to ensure an ideal alignment between the client business requirements and our end-product. Throughout our development process, we are constantly plagued with minor hiccups and bugs. However, our team feels that our most valuable quality is resilience, as we tackle each and every problem with our ineffable tenacity and innovation.<br />
</div><br />
<br />
=== Individual Reflections: ===<br />
<div style="font-family: Verdana;"><br />
<b>Amelia: </b><br />
<br />
It has been a very experimental journey managing the team since the project started. New challenges are always popping up, and I have learnt to manage the workload of each member more carefully. I believe communication is today’s important skill, be it raising issues with the team or simple dissemination of information. That is why I ensure that there are no communication lapses in our team.<br />
<br> <br />
<br />
<b>Chin Rui: </b> <br />
<br />
It has been a challenging 7 weeks since our acceptance. The application has undergone multiple major changes, especially our database schema, to ensure better quality and continuity for our clients. The database attack was an eye-opening experience for me, and I have learnt never to take data security for granted.<br />
<br> <br />
<br />
<b>Ervin: </b><br />
<br />
Being the previous Business Analyst, it was an enriching and mind-boggling experience researching on various Natural Language Processing techniques and trying to appraise their adequacy and appropriateness for our application. Moving on as the Quality Assurance lead, I hope I do not offend everyone involved in development by scrutinizing every single corner case in the application.<br />
<br><br />
<br />
<b>Ming Rui: </b><br />
<br />
The opportunity to be able to apply the entire design thinking process from the creation of prototypes to the actual web development have been arduous but rewarding journey. The final designs of the application are a product of multiple revamps, each better compared to the previous. I have learnt the importance of gathering feedback from the clients as well as real users.<br />
<br> <br />
<br />
<b>Qimin: </b><br />
<br />
Having to pick up Node.js and React.js in a short period of time really pushed me to learn and adapt at a much faster pace. There are many front-end and back-end considerations to factor in during the design process, such as the communication between parent-child components and the use of redux store versus a direct http request to the database. I believe that my technical skills have definitely improved over the past few weeks.<br />
<br> <br />
<br />
<b>Ricky: </b><br />
<br />
It has been an amazing experience seeing how the project has grown from infancy to where it is today and developing my own technical complexity along the way. Throughout the past few months working on the project, I have learnt that what’s even more important than completing the work assigned to me, is helping my team members with their tasks, be it coding or non-coding work. This will enable smoother and faster progression as a team.<br />
<br> <br />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=File:Zenith_trie.jpg&diff=319106File:Zenith trie.jpg2018-02-23T05:25:37Z<p>Ervin.chong.2015: </p>
<hr />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=File:Zenith_Overall_rating.png&diff=318885File:Zenith Overall rating.png2018-02-22T08:14:09Z<p>Ervin.chong.2015: Ervin.chong.2015 uploaded a new version of &quot;File:Zenith Overall rating.png&quot;</p>
<hr />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_Midterm_Wiki&diff=318883IS480 Team wiki:2017T2 Zenith Midterm Wiki2018-02-22T06:55:22Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | <br />
<br />
[[IS480 Team wiki: 2017T2T Zenith | <font color="#000000"><b>Main Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_Midterm Wiki | <font color="#000000"><b>Midterm Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_FinalWiki | <font color="#000000"><b>Final Wiki</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br><br />
[[File:Zenith_midterm_header.PNG|center|1000px]]<br />
<br />
<br />
<br />
==Project Progress Summary==<br />
===Midterm Slides===<br />
(insert link here)<br />
<br />
===Deployed site link===<br />
<center><br />
[[Image: Zenith deployment link.jpeg |600px|link=http://www.themedsense.com]]<br />
</center><br />
<br />
===Project Highlights===<br />
<div style="font-family: Verdana;"><br />
Our project schedule is divided into 13 iterations. <br />
* We are currently on our 9th iteration (12 Feb - 25 Feb 2018).<br />
* Up till 20 Feb 2018, we have completed <b>80.56</b>% of our development progress. <br />
* 1 User Acceptance Test was conducted before Midterms. The results are shown [[IS480_Team_wiki:2017T2 Zenith User Testing 1|here]]. <br />
* Achieved and exceeded [[IS480_Team_wiki:2017T2 Zenith_x-factor|Midterms X-factor]]. <br />
<br />
<br />
Unexpected events:<br />
* New team of clients.<br />
* Cancellation of one User Acceptance Test by clients due to busy schedules.<br />
* List of requirement changes after Acceptance can be viewed [[IS480_Team_wiki:2017T2_Zenith_change_management#Change log (till Midterms)| here]].<br />
</div><br />
<br />
==Project Management==<br />
<div style="font-family: Verdana;"><br />
<b>Iteration Progress:</b> 9 of 13<br/><br />
<b>Features Completion:</b> 80.56% (29 out of 36 features)<br/><br />
<b>Confidence Level:</b> 100%<br />
</div> <br />
<br />
===Project Status:===<br />
<br />
<div style="font-family: Verdana;"><br />
A breakdown of tasks is shown in our [[IS480_Team_wiki:2017T2 Zenith_project_scope|project scope]].<br />
</div> <br />
<br><br />
[[File:Zenith_midterm_scope.png|center|800px]]<br />
<br><br />
<br />
===Project Schedule (Plan Vs Actual):===<br />
<br />
====Milestones Overview:====<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable"<br />
|-<br />
! Planned (Acceptance) !! Actual (Midterms)<br />
|-<br />
|<br />
[[File:Zenith_midterm_planned_timeline.png|500px]]<br />
|| <br />
[[File:Zenith_midterm_actual_timeline.png|500px]]<br />
|}<br />
</center><br />
</div><br />
<br />
====Project Schedule:====<br />
<div style="font-family: Verdana;"><br />
Planned Schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_expected_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Changes in planned schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_changed_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Actual Schedule (Midterms)<br> <br><br />
[[File:Zenith_midterm_actual_schedule.png|center|900px]]<br />
</div><br />
<br />
===Project Metrics:===<br />
<br />
====Task metric====<br />
<div style="font-family: Verdana;"><br />
[[File:Zenith_midterms_task_metric.png|center|600px]]<br />
<br />
<!--Task Metric Table Start--><br />
{| class="wikitable" style=" background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | Score<br />
|style="text-align: center;" width="20%" | TM <= 50<br />
|style="text-align: center;" width="20%" | 50 < TM <= 75<br />
|style="text-align: center;" width="20%" | 75 < TM <= 125<br />
|style="text-align: center;" width="20%" | 125 < TM <= 150<br />
|style="text-align: center;" width="20%" | 150 > TM<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Action<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations. <br> 3. Consider dropping Tasks. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Deduct number of days behind from buffer days. <br> 3. If there are no more buffer days, decide the functionalities to drop. <br />
|style="text-align: left;vertical-align: top"| 1. Our estimates are fairly accurate, and are roughly on track. <br> 2. Add/deduct number of days ahead / behind from buffer days. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Add number of days ahead to buffer days.<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations.<br />
|-<br />
|}<br />
<!--Task Metric Table End--><br />
</div><br />
<br />
====Bug metric====<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith_midterm_bug_count.png|center|600px]]<br><br />
[[File: Zenith_midterm_bug_score.png|center|600px]]<br />
<br />
<center><b>Note:</b> There were no coding tasks for iteration 1. </center><br />
<br />
<br />
<!--Bug Score Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Severity<br />
|style="text-align: center;" width="30%" | Low Impact <br />
|style="text-align: center;" width="30%" | High Impact <br />
|style="text-align: center;" width="30%"| Critical Impact<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| User interface display errors, such as out of alignment, colour used is not according to theme. <br />
It does not affect the functionality of the system. <br />
|style="text-align: left;vertical-align: top"| The system is functional with some non-critical functionalities are not working.<br />
|style="text-align: left;vertical-align: top"| The system is not functional. <br />
Bugs have to be fixed before proceeding.<br />
|-<br />
|}<br />
<!--Bug Score Table End--><br />
<br />
<br />
<!--Bug Metric Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Points<br />
|style="text-align: center;" width="30%" | BM <= 5 <br />
|style="text-align: center;" width="30%" | 5 < BM < 10<br />
|style="text-align: center;" width="30%"| BM >= 10<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| The system does not need immediate fixing, could be fixed during buffer time or during coding sessions<br />
|style="text-align: left;vertical-align: top"| Coders to use planned debugging time in the iteration to solve the bug<br />
|style="text-align: left;vertical-align: top"| The team has to stop all current development and resolve the bug immediately<br />
|-<br />
|}<br />
<!--Bug Metric Table End--><br />
</div> <br />
<br />
<br />
<br><br />
<br />
===Project Risks:===<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith risk metric.png|center|600px]]<br />
<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Technical<br />
|style="text-align: left;vertical-align: center"| Ransomware attacks on Database<br />
|style="text-align: center;"| Low (but it happened)<br />
|style="text-align: center;"| High<br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: top"| System Architect to improve database security <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Organizational<br />
|style="text-align: left;vertical-align: center"| New members in NUS MedSense Team<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Project Manager will be in constant communication with new members, and will regularly review the scope with them. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| External<br />
|style="text-align: left;vertical-align: center"| Future developers unfamiliar with technologies used<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Provide proper documentation such as deployment guide and include comments in the codes. <br />
|-<br />
<br />
<br />
|style="text-align: center;"| 4<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: center"| Members falling sick or going overseas doing school period, reducing team's available manpower. This can cause a potential delays in the project <br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| C<br />
|style="text-align: left;vertical-align: center"| Team members should constantly check on the health and well-being of one another, as well as update the Project Manager of any overseas plans as early as possible<br />
|-<br />
|}<br />
<br><br />
</div><br />
<br><br />
<br />
===Technical Complexity:===<br />
<br />
====Natural Language Processing====<br />
<div style="font-family: Verdana;"><br />
Natural Language Processing, or NLP for short, is broadly defined as the automatic manipulation of natural language, like speech and text, by software. The study of natural language processing has been around for more than 50 years and grew out of the field of linguistics with the rise of computers.<br />
<br />
Our team decided to employ NLP techniques to perform automated marking for open ended questions. This benefits the user as professors do not need to mark each answer and students can receive immediate feedback with regards to their answers.<br />
<br />
Below are some of the techniques used:<br />
<br />
<b>Tokenization</b><br />
<br />
Given a character sequence and a defined document unit, tokenization is the task of chopping it up into pieces, called tokens , perhaps at the same time throwing away certain characters, such as punctuation. <br />
<br />
[[Image:Zenith tokenization.PNG|center|600px|link=]]<br />
<center><b>An example of tokenization. Library used: Natural for Nodejs</b> https://github.com/NaturalNode/natural#tokenizers</center><br />
<br />
<b>Removing Stopwords</b><br />
<br />
Sometimes, some extremely common words which would appear to be of little value in helping select documents matching a user need are excluded from the vocabulary entirely. In natural language processing, Stopwords are words that are so frequent that they can safely be removed from a text without altering its meaning. Hence, for automated marking, we removed all common words from the submitted answer. Doing this significantly reduces the number of tokens our system has to match and store. <br />
<br />
<br />
[[Image:Zenith stopwords.png|center|500px|link=]]<br />
<b><center>An example of a stop list of 25 semantically non-selective words</center></b><br />
<br />
<b>Stemming</b><br />
<br />
For grammatical reasons, answers are going to use different forms of a word, such as organize, organizes, and organizing. Additionally, there are families of derivationally related words with similar meanings, such as democracy, democratic, and democratization. In these situations, we have to treat these words to be the same, as they have the same root meaning.<br />
<br />
The goal of both stemming is to reduce inflectional forms and sometimes derivationally related forms of a word to a common base form. <br />
<br />
We decided to use the Porter Stemming Algorithm (https://tartarus.org/martin/PorterStemmer/index.html) as it is the most popular algorithm for stemming English and has shown to be empirically very effective.<br />
<br />
Porter's algorithm consists of 5 phases of word reductions, applied sequentially. Within each phase there are various conventions to select rules, such as selecting the rule from each rule group that applies to the longest suffix. <br />
<br />
[[Image:Zenith stemming.png|center|500px|link=]]<br />
<b><center>Example of a rule in the Porter Stemming Algorithm</center></b><br />
</div> <br />
<br><br />
<br />
====Game development ====<br />
<div style="font-family: Verdana;"><br />
Together with the NUS team, we developed a few basic game rules. <br />
<br />
<b>Leveling System</b> <br />
<br />
For our application, we introduce a leveling system for student. In its simplest form, leveling up occurs through the process of gaining enough experience points until a target experience point total is reached. Once the target is met, the student's character "levels up," and a new target experience threshold is set. Students gains experience points (XP) by attempting a medical case. The amount of XP is dependent on how well the student scores.<br />
<br />
Currently, the main selling point of the medical cases is to practice for their exams. By introducing the leveling system, we hope to further incentivise students to attempt medical cases on our application. The idea is to ensure that students will be playing the cases throughout the year rather than just during peak (exam) periods.<br />
<br />
<b>Anti Cheat Mechanism for MCQ Scoring</b><br />
<br />
There can be more than one correct answer for each MCQ questions. Hence we use multi-select MCQ questions in our game. However, the problem we face is that students can simply tick all the options to get the correct answer. Hence, we developed a rule that penalizes the student for every wrong option selected. <br />
<br />
<b>Anti Repeat Mechanism for experience points (XP) </b><br />
<br />
Another rule we developed is to halve the total amount of experience points gained for each subsequent game play of the same case. This is to reduce the incentive of repeating the same case again and again for the sake of leveling up. Furthermore, students are already expected to score better after doing the case, as the answers are revealed at the end of each case.<br />
<br />
</div> <br />
<br><br />
<br />
====Added security features====<br />
<div style="font-family: Verdana;"><br />
In December 2017, our MongoDB database was compromised and held hostage by ransomware. We were instructed to pay 0.1 bitcoin (USD $1594) for the return of our data. Fortunately, we had backed up the data so there was no need for us to pay the ransom. Since this incident, we have taken additional measures to ensure that this does not happen again.<br />
<br />
</div><br />
<br />
==Quality of product==<br />
<br />
===Intermediate Deliverables:===<br />
<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Stage <br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Specification<br />
|-<br />
<br />
|rowspan="6"| Project Management<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Management|Schedule]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_minutes|Minutes]] <br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Bug Metric|Bug metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Task Metric|Task metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_risk_management|Risk management]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_change_management|Change management]]<br />
|-<br />
<br />
<br />
|rowspan="3"| Requirements<br />
|| [[IS480 Team wiki: 2017T2 Zenith Overview | Overview]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_project_scope | Scope]]<br />
|-<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Documentation | Personas]]<br />
|-<br />
<br />
|rowspan="3"| Analysis<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Use Case Diagram | Use case diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Architecture Diagram | Architecture diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_technologies| Technologies used]]<br />
|-<br />
<br />
<br />
|rowspan="1"| Design<br />
|| [[IS480_Team_wiki:2017T2 Zenith_prototype |Prototypes]]<br />
|-<br />
<br />
|rowspan="1"| Testing<br />
|| [[IS480_Team_wiki:2017T2 Zenith User Testing 1 |User Acceptance Test 1 (11 - 13 Feb 2018)]]<br />
|-<br />
|}<br />
</center><br />
</div><br />
<br />
===Testing:===<br />
<br />
<div style="font-family: Verdana;"><br />
<br />
*Creation of test cases during development. <br />
*Functionality testing after completion of function. <br />
*Regression testing at the end of every iteration. <br />
*We expect to complete 2 UATs by the end of the project. <br />
*1 UAT has been completed before Midterms. To view the results of this UAT, [[IS480_Team_wiki:2017T2 Zenith User Testing 1|click here]]. <br />
<br />
</div><br />
<br />
==Reflections==<br />
<br />
===Team Reflection:===<br />
<div style="font-family: Verdana;"><br />
<br />
Our team has learnt the importance of working together closely with our clients, to ensure an ideal alignment between the client business requirements and our end-product. Throughout our development process, we are constantly plagued with minor hiccups and bugs. However, our team feels that our most valuable quality is resilience, as we tackle each and every problem with our ineffable tenacity and innovation.<br />
</div><br />
<br />
=== Individual Reflections: ===<br />
<div style="font-family: Verdana;"><br />
<b>Amelia: </b><br />
<br />
It has been a very experimental journey managing the team since the project started. New challenges are always popping up, and I have learnt to manage the workload of each member more carefully. I believe communication is today’s important skill, be it raising issues with the team or simple dissemination of information. That is why I ensure that there are no communication lapses in our team.<br />
<br> <br />
<br />
<b>Chin Rui: </b> <br />
<br />
It has been a challenging 7 weeks since our acceptance. The application has undergone multiple major changes, especially our database schema, to ensure better quality and continuity for our clients. The database attack was an eye-opening experience for me, and I have learnt never to take data security for granted.<br />
<br> <br />
<br />
<b>Ervin: </b><br />
<br />
Being the previous Business Analyst, it was an enriching and mind-boggling experience researching on various Natural Language Processing techniques and trying to appraise their adequacy and appropriateness for our application. Moving on as the Quality Assurance lead, I hope I do not offend everyone involved in development by scrutinizing every single corner case in the application.<br />
<br><br />
<br />
<b>Ming Rui: </b><br />
<br />
The opportunity to be able to apply the entire design thinking process from the creation of prototypes to the actual web development have been arduous but rewarding journey. The final designs of the application are a product of multiple revamps, each better compared to the previous. I have learnt the importance of gathering feedback from the clients as well as real users.<br />
<br> <br />
<br />
<b>Qimin: </b><br />
<br />
Having gone into the web development side of the project and having to pick up Node.js and React.js in such a short period of time made me realise how working under a tight schedule can result in a quicker learning environment. There are many front-end and back-end considerations to factor in during the design process. I believe that my technical skills have definitely improved over the past few weeks.<br />
<br> <br />
<br />
<b>Ricky: </b><br />
<br />
It has been an amazing experience seeing how the project has grown from infancy to where it is today and developing my own technical complexity along the way. Throughout the past few months working on the project, I have learnt that what’s even more important than completing the work assigned to me, is helping my team members with their tasks, be it coding or non-coding work. This will enable smoother and faster progression as a team.<br />
<br> <br />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_Midterm_Wiki&diff=318882IS480 Team wiki:2017T2 Zenith Midterm Wiki2018-02-22T06:54:00Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | <br />
<br />
[[IS480 Team wiki: 2017T2T Zenith | <font color="#000000"><b>Main Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_Midterm Wiki | <font color="#000000"><b>Midterm Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_FinalWiki | <font color="#000000"><b>Final Wiki</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br><br />
[[File:Zenith_midterm_header.PNG|center|1000px]]<br />
<br />
<br />
<br />
==Project Progress Summary==<br />
===Midterm Slides===<br />
(insert link here)<br />
<br />
===Deployed site link===<br />
<center><br />
[[Image: Zenith deployment link.jpeg |600px|link=http://www.themedsense.com]]<br />
</center><br />
<br />
===Project Highlights===<br />
<div style="font-family: Verdana;"><br />
Our project schedule is divided into 13 iterations. <br />
* We are currently on our 9th iteration (12 Feb - 25 Feb 2018).<br />
* Up till 20 Feb 2018, we have completed <b>80.56</b>% of our development progress. <br />
* 1 User Acceptance Test was conducted before Midterms. The results are shown [[IS480_Team_wiki:2017T2 Zenith User Testing 1|here]]. <br />
* Achieved and exceeded [[IS480_Team_wiki:2017T2 Zenith_x-factor|Midterms X-factor]]. <br />
<br />
<br />
Unexpected events:<br />
* New team of clients.<br />
* Cancellation of one User Acceptance Test by clients due to busy schedules.<br />
* List of requirement changes after Acceptance can be viewed [[IS480_Team_wiki:2017T2_Zenith_change_management#Change log (till Midterms)| here]].<br />
</div><br />
<br />
==Project Management==<br />
<div style="font-family: Verdana;"><br />
<b>Iteration Progress:</b> 9 of 13<br/><br />
<b>Features Completion:</b> 80.56% (29 out of 36 features)<br/><br />
<b>Confidence Level:</b> 100%<br />
</div> <br />
<br />
===Project Status:===<br />
<br />
<div style="font-family: Verdana;"><br />
A breakdown of tasks is shown in our [[IS480_Team_wiki:2017T2 Zenith_project_scope|project scope]].<br />
</div> <br />
<br><br />
[[File:Zenith_midterm_scope.png|center|800px]]<br />
<br><br />
<br />
===Project Schedule (Plan Vs Actual):===<br />
<br />
====Milestones Overview:====<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable"<br />
|-<br />
! Planned (Acceptance) !! Actual (Midterms)<br />
|-<br />
|<br />
[[File:Zenith_midterm_planned_timeline.png|500px]]<br />
|| <br />
[[File:Zenith_midterm_actual_timeline.png|500px]]<br />
|}<br />
</center><br />
</div><br />
<br />
====Project Schedule:====<br />
<div style="font-family: Verdana;"><br />
Planned Schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_expected_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Changes in planned schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_changed_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Actual Schedule (Midterms)<br> <br><br />
[[File:Zenith_midterm_actual_schedule.png|center|900px]]<br />
</div><br />
<br />
===Project Metrics:===<br />
<br />
====Task metric====<br />
<div style="font-family: Verdana;"><br />
[[File:Zenith_midterms_task_metric.png|center|600px]]<br />
<br />
<!--Task Metric Table Start--><br />
{| class="wikitable" style=" background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | Score<br />
|style="text-align: center;" width="20%" | TM <= 50<br />
|style="text-align: center;" width="20%" | 50 < TM <= 75<br />
|style="text-align: center;" width="20%" | 75 < TM <= 125<br />
|style="text-align: center;" width="20%" | 125 < TM <= 150<br />
|style="text-align: center;" width="20%" | 150 > TM<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Action<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations. <br> 3. Consider dropping Tasks. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Deduct number of days behind from buffer days. <br> 3. If there are no more buffer days, decide the functionalities to drop. <br />
|style="text-align: left;vertical-align: top"| 1. Our estimates are fairly accurate, and are roughly on track. <br> 2. Add/deduct number of days ahead / behind from buffer days. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Add number of days ahead to buffer days.<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations.<br />
|-<br />
|}<br />
<!--Task Metric Table End--><br />
</div><br />
<br />
====Bug metric====<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith_midterm_bug_count.png|center|600px]]<br><br />
[[File: Zenith_midterm_bug_score.png|center|600px]]<br />
<br />
<center><b>Note:</b> There were no coding tasks for iteration 1. </center><br />
<br />
<br />
<!--Bug Score Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Severity<br />
|style="text-align: center;" width="30%" | Low Impact <br />
|style="text-align: center;" width="30%" | High Impact <br />
|style="text-align: center;" width="30%"| Critical Impact<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| User interface display errors, such as out of alignment, colour used is not according to theme. <br />
It does not affect the functionality of the system. <br />
|style="text-align: left;vertical-align: top"| The system is functional with some non-critical functionalities are not working.<br />
|style="text-align: left;vertical-align: top"| The system is not functional. <br />
Bugs have to be fixed before proceeding.<br />
|-<br />
|}<br />
<!--Bug Score Table End--><br />
<br />
<br />
<!--Bug Metric Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Points<br />
|style="text-align: center;" width="30%" | BM <= 5 <br />
|style="text-align: center;" width="30%" | 5 < BM < 10<br />
|style="text-align: center;" width="30%"| BM >= 10<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| The system does not need immediate fixing, could be fixed during buffer time or during coding sessions<br />
|style="text-align: left;vertical-align: top"| Coders to use planned debugging time in the iteration to solve the bug<br />
|style="text-align: left;vertical-align: top"| The team has to stop all current development and resolve the bug immediately<br />
|-<br />
|}<br />
<!--Bug Metric Table End--><br />
</div> <br />
<br />
<br />
<br><br />
<br />
===Project Risks:===<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith risk metric.png|center|600px]]<br />
<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Technical<br />
|style="text-align: left;vertical-align: center"| Ransomware attacks on Database<br />
|style="text-align: center;"| Low (but it happened)<br />
|style="text-align: center;"| High<br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: top"| System Architect to improve database security <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Organizational<br />
|style="text-align: left;vertical-align: center"| New members in NUS MedSense Team<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Project Manager will be in constant communication with new members, and will regularly review the scope with them. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| External<br />
|style="text-align: left;vertical-align: center"| Future developers unfamiliar with technologies used<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Provide proper documentation such as deployment guide and include comments in the codes. <br />
|-<br />
<br />
<br />
|style="text-align: center;"| 4<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: center"| Members falling sick or going overseas doing school period, reducing team's available manpower. This can cause a potential delays in the project <br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| C<br />
|style="text-align: left;vertical-align: center"| Team members should constantly check on the health and well-being of one another, as well as update the Project Manager of any overseas plans as early as possible<br />
|-<br />
|}<br />
<br><br />
</div><br />
<br><br />
<br />
===Technical Complexity:===<br />
<br />
====Natural Language Processing====<br />
<div style="font-family: Verdana;"><br />
Natural Language Processing, or NLP for short, is broadly defined as the automatic manipulation of natural language, like speech and text, by software. The study of natural language processing has been around for more than 50 years and grew out of the field of linguistics with the rise of computers.<br />
<br />
Our team decided to employ NLP techniques to perform automated marking for open ended questions. This benefits the user as professors do not need to mark each answer and students can receive immediate feedback with regards to their answers.<br />
<br />
Below are some of the techniques used:<br />
<br />
<b>Tokenization</b><br />
<br />
Given a character sequence and a defined document unit, tokenization is the task of chopping it up into pieces, called tokens , perhaps at the same time throwing away certain characters, such as punctuation. <br />
<br />
[[Image:Zenith tokenization.PNG|center|600px|link=]]<br />
<center><b>An example of tokenization. Library used: Natural for Nodejs</b> https://github.com/NaturalNode/natural#tokenizers</center><br />
<br />
<b>Removing Stopwords</b><br />
<br />
Sometimes, some extremely common words which would appear to be of little value in helping select documents matching a user need are excluded from the vocabulary entirely. In natural language processing, Stopwords are words that are so frequent that they can safely be removed from a text without altering its meaning. Hence, for automated marking, we removed all common words from the submitted answer. Doing this significantly reduces the number of tokens our system has to match and store. <br />
<br />
<br />
[[Image:Zenith stopwords.png|center|500px|link=]]<br />
<b><center>An example of a stop list of 25 semantically non-selective words</center></b><br />
<br />
<b>Stemming</b><br />
<br />
For grammatical reasons, answers are going to use different forms of a word, such as organize, organizes, and organizing. Additionally, there are families of derivationally related words with similar meanings, such as democracy, democratic, and democratization. In these situations, we have to treat these words to be the same, as they have the same root meaning.<br />
<br />
The goal of both stemming is to reduce inflectional forms and sometimes derivationally related forms of a word to a common base form. <br />
<br />
We decided to use the Porter Stemming Algorithm (https://tartarus.org/martin/PorterStemmer/index.html) as it is the most popular algorithm for stemming English and has shown to be empirically very effective.<br />
<br />
Porter's algorithm consists of 5 phases of word reductions, applied sequentially. Within each phase there are various conventions to select rules, such as selecting the rule from each rule group that applies to the longest suffix. <br />
<br />
[[Image:Zenith stemming.png|center|500px|link=]]<br />
<b><center>Example of a rule in the Porter Stemming Algorithm</center></b><br />
</div> <br />
<br><br />
<br />
====Game development ====<br />
<div style="font-family: Verdana;"><br />
Together with the NUS team, we developed a few basic game rules. <br />
<br />
<b>Leveling System</b> <br />
<br />
For our application, we introduce a leveling system for student. In its simplest form, leveling up occurs through the process of gaining enough experience points until a target experience point total is reached. Once the target is met, the student's character "levels up," and a new target experience threshold is set. Students gains experience points (XP) by attempting a medical case. The amount of XP is dependent on how well the student scores.<br />
<br />
Currently, the main selling point of the medical cases is to practice for their exams. By introducing the leveling system, we hope to further incentivise students to attempt medical cases on our application. The idea is to ensure that students will be playing the cases throughout the year rather than just during peak (exam) periods.<br />
<br />
<b>Anti Cheat Mechanism for MCQ Scoring</b><br />
<br />
There can be more than one correct answer for each MCQ questions. Hence we use multi-select MCQ questions in our game. However, the problem we face is that students can simply tick all the options to get the correct answer. Hence, we developed a rule that penalizes the student for every wrong option selected. <br />
<br />
<b>Anti Repeat Mechanism for experience points (XP) </b><br />
<br />
Another rule we developed is to halve the total amount of experience points gained for each subsequent game play of the same case. This is to reduce the incentive of repeating the same case again and again for the sake of leveling up. Furthermore, students are already expected to score better after doing the case, as the answers are revealed at the end of each case.<br />
<br />
</div> <br />
<br><br />
<br />
====Added security features====<br />
<div style="font-family: Verdana;"><br />
In December 2017, our MongoDB database was compromised and held hostage by ransomware. We were instructed to pay 0.1 bitcoin (USD $1594) for the return of our data. Fortunately, we had backed up the data so there was no need for us to pay the ransom. Since this incident, we have taken additional measures to ensure that this does not happen again.<br />
<br />
</div><br />
<br />
==Quality of product==<br />
<br />
===Intermediate Deliverables:===<br />
<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Stage <br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Specification<br />
|-<br />
<br />
|rowspan="6"| Project Management<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Management|Schedule]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_minutes|Minutes]] <br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Bug Metric|Bug metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Task Metric|Task metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_risk_management|Risk management]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_change_management|Change management]]<br />
|-<br />
<br />
<br />
|rowspan="3"| Requirements<br />
|| [[IS480 Team wiki: 2017T2 Zenith Overview | Overview]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_project_scope | Scope]]<br />
|-<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Documentation | Personas]]<br />
|-<br />
<br />
|rowspan="3"| Analysis<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Use Case Diagram | Use case diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Architecture Diagram | Architecture diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_technologies| Technologies used]]<br />
|-<br />
<br />
<br />
|rowspan="1"| Design<br />
|| [[IS480_Team_wiki:2017T2 Zenith_prototype |Prototypes]]<br />
|-<br />
<br />
|rowspan="1"| Testing<br />
|| [[IS480_Team_wiki:2017T2 Zenith User Testing 1 |User Acceptance Test 1 (11 - 13 Feb 2018)]]<br />
|-<br />
|}<br />
</center><br />
</div><br />
<br />
===Testing:===<br />
<br />
<div style="font-family: Verdana;"><br />
<br />
*Creation of test cases during development. <br />
*Functionality testing after completion of function. <br />
*Regression testing at the end of every iteration. <br />
*We expect to complete 2 UATs by the end of the project. <br />
*1 UAT has been completed before Midterms. To view the results of this UAT, [[IS480_Team_wiki:2017T2 Zenith User Testing 1|click here]]. <br />
<br />
</div><br />
<br />
==Reflections==<br />
<br />
===Team Reflection:===<br />
<div style="font-family: Verdana;"><br />
<br />
Our team has learnt the importance of working together closely with our clients, to ensure an ideal alignment between the client business requirements and our end-product. Throughout our development process, we are constantly plagued with minor hiccups and bugs. However, our team feels that our most valuable quality is resilience, as we tackle each and every problem with our ineffable tenacity and innovation.<br />
</div><br />
<br />
=== Individual Reflections: ===<br />
<div style="font-family: Verdana;"><br />
<b>Amelia: </b><br />
<br />
<br> <br />
<b>Chin Rui: </b> <br />
<br />
<br> <br />
<b>Ervin: </b><br />
<br />
<br> <br />
<b>Ming Rui: </b><br />
<br />
<br> <br />
<br />
<b>Qimin: </b><br />
<br />
<br> <br />
<br />
<b>Ricky: </b><br />
<br> <br />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_Midterm_Wiki&diff=318847IS480 Team wiki:2017T2 Zenith Midterm Wiki2018-02-21T09:43:20Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | <br />
<br />
[[IS480 Team wiki: 2017T2T Zenith | <font color="#000000"><b>Main Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_Midterm Wiki | <font color="#000000"><b>Midterm Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_FinalWiki | <font color="#000000"><b>Final Wiki</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br><br />
[[File:Zenith_midterm_header.PNG|center|1000px]]<br />
<br />
<br />
<br />
==Project Progress Summary==<br />
===Midterm Slides===<br />
(insert link here)<br />
<br />
===Deployed site link===<br />
<center><br />
[[Image: Zenith deployment link.jpeg |600px|link=http://www.themedsense.com]]<br />
</center><br />
<br />
===Project Highlights===<br />
<div style="font-family: Verdana;"><br />
Our project schedule is divided into 13 iterations. <br />
* We are currently on our 9th iteration (12 Feb - 25 Feb 2018).<br />
* Up till 20 Feb 2018, we have completed <b>80.56</b>% of our development progress. <br />
* 1 User Acceptance Test was conducted before Midterms. The results are shown [[IS480_Team_wiki:2017T2 Zenith User Testing 1|here]]. <br />
* Achieved and exceeded [[IS480_Team_wiki:2017T2 Zenith_x-factor|Midterms X-factor]]. <br />
<br />
<br />
Unexpected events:<br />
* New team of clients.<br />
* Cancellation of one User Acceptance Test by clients due to busy schedules.<br />
* List of requirement changes after Acceptance can be viewed [[IS480_Team_wiki:2017T2_Zenith_change_management#Change log (till Midterms)| here]].<br />
</div><br />
<br />
==Project Management==<br />
<div style="font-family: Verdana;"><br />
<b>Iteration Progress:</b> 9 of 13<br/><br />
<b>Features Completion:</b> 80.56% (29 out of 36 features)<br/><br />
<b>Confidence Level:</b> 100%<br />
</div> <br />
<br />
===Project Status:===<br />
<br />
<div style="font-family: Verdana;"><br />
A breakdown of tasks is shown in our [[IS480_Team_wiki:2017T2 Zenith_project_scope|project scope]].<br />
</div> <br />
<br><br />
[[File:Zenith_midterm_scope.png|center|800px]]<br />
<br><br />
<br />
===Project Schedule (Plan Vs Actual):===<br />
<br />
====Milestones Overview:====<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable"<br />
|-<br />
! Planned (Acceptance) !! Actual (Midterms)<br />
|-<br />
|<br />
[[File:Zenith_midterm_planned_timeline.png|500px]]<br />
|| <br />
[[File:Zenith_midterm_actual_timeline.png|500px]]<br />
|}<br />
</center><br />
</div><br />
<br />
====Project Schedule:====<br />
<div style="font-family: Verdana;"><br />
Planned Schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_expected_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Changes in planned schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_changed_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Actual Schedule (Midterms)<br> <br><br />
[[File:Zenith_midterm_actual_schedule.png|center|900px]]<br />
</div><br />
<br />
===Project Metrics:===<br />
<br />
====Task metric====<br />
<div style="font-family: Verdana;"><br />
[[File:Zenith_midterms_task_metric.png|center|600px]]<br />
<br />
<!--Task Metric Table Start--><br />
{| class="wikitable" style=" background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | Score<br />
|style="text-align: center;" width="20%" | TM <= 50<br />
|style="text-align: center;" width="20%" | 50 < TM <= 75<br />
|style="text-align: center;" width="20%" | 75 < TM <= 125<br />
|style="text-align: center;" width="20%" | 125 < TM <= 150<br />
|style="text-align: center;" width="20%" | 150 > TM<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Action<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations. <br> 3. Consider dropping Tasks. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Deduct number of days behind from buffer days. <br> 3. If there are no more buffer days, decide the functionalities to drop. <br />
|style="text-align: left;vertical-align: top"| 1. Our estimates are fairly accurate, and are roughly on track. <br> 2. Add/deduct number of days ahead / behind from buffer days. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Add number of days ahead to buffer days.<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations.<br />
|-<br />
|}<br />
<!--Task Metric Table End--><br />
</div><br />
<br />
====Bug metric====<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith_midterm_bug_count.png|center|600px]]<br><br />
[[File: Zenith_midterm_bug_score.png|center|600px]]<br />
<br />
<center><b>Note:</b> There were no coding tasks for iteration 1. </center><br />
<br />
<br />
<!--Bug Score Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Severity<br />
|style="text-align: center;" width="30%" | Low Impact <br />
|style="text-align: center;" width="30%" | High Impact <br />
|style="text-align: center;" width="30%"| Critical Impact<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| User interface display errors, such as out of alignment, colour used is not according to theme. <br />
It does not affect the functionality of the system. <br />
|style="text-align: left;vertical-align: top"| The system is functional with some non-critical functionalities are not working.<br />
|style="text-align: left;vertical-align: top"| The system is not functional. <br />
Bugs have to be fixed before proceeding.<br />
|-<br />
|}<br />
<!--Bug Score Table End--><br />
<br />
<br />
<!--Bug Metric Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Points<br />
|style="text-align: center;" width="30%" | BM <= 5 <br />
|style="text-align: center;" width="30%" | 5 < BM < 10<br />
|style="text-align: center;" width="30%"| BM >= 10<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| The system does not need immediate fixing, could be fixed during buffer time or during coding sessions<br />
|style="text-align: left;vertical-align: top"| Coders to use planned debugging time in the iteration to solve the bug<br />
|style="text-align: left;vertical-align: top"| The team has to stop all current development and resolve the bug immediately<br />
|-<br />
|}<br />
<!--Bug Metric Table End--><br />
</div> <br />
<br />
<br />
<br><br />
<br />
===Project Risks:===<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith risk metric.png|center|600px]]<br />
<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Technical<br />
|style="text-align: left;vertical-align: center"| Ransomware attacks on Database<br />
|style="text-align: center;"| Low (but it happened)<br />
|style="text-align: center;"| High<br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: top"| System Architect to improve database security <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Organizational<br />
|style="text-align: left;vertical-align: center"| New members in NUS MedSense Team<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Project Manager will be in constant communication with new members, and will regularly review the scope with them. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| External<br />
|style="text-align: left;vertical-align: center"| Future developers unfamiliar with technologies used<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Provide proper documentation such as deployment guide and include comments in the codes. <br />
|-<br />
<br />
<br />
|style="text-align: center;"| 4<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: center"| Members falling sick or going overseas doing school period, reducing team's available manpower. This can cause a potential delays in the project <br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| C<br />
|style="text-align: left;vertical-align: center"| Team members should constantly check on the health and well-being of one another, as well as update the Project Manager of any overseas plans as early as possible<br />
|-<br />
|}<br />
<br><br />
</div><br />
<br><br />
<br />
===Technical Complexity:===<br />
<br />
====Natural Language Processing====<br />
<div style="font-family: Verdana;"><br />
Natural Language Processing, or NLP for short, is broadly defined as the automatic manipulation of natural language, like speech and text, by software. The study of natural language processing has been around for more than 50 years and grew out of the field of linguistics with the rise of computers.<br />
<br />
Our team decided to employ NLP techniques to perform automated marking for open ended questions. This benefits the user as professors do not need to mark each answer and students can receive immediate feedback with regards to their answers.<br />
<br />
Below are some of the techniques used:<br />
<br />
<b>Tokenization</b><br />
<br />
Given a character sequence and a defined document unit, tokenization is the task of chopping it up into pieces, called tokens , perhaps at the same time throwing away certain characters, such as punctuation. <br />
<br />
[[Image:Zenith tokenization.PNG|center|600px|link=]]<br />
<center><b>An example of tokenization. Library used: Natural for Nodejs</b> https://github.com/NaturalNode/natural#tokenizers</center><br />
<br />
<b>Removing Stopwords</b><br />
<br />
Sometimes, some extremely common words which would appear to be of little value in helping select documents matching a user need are excluded from the vocabulary entirely. In natural language processing, Stopwords are words that are so frequent that they can safely be removed from a text without altering its meaning. Hence, for automated marking, we removed all common words from the submitted answer. Doing this significantly reduces the number of tokens our system has to match and store. <br />
<br />
<br />
[[Image:Zenith stopwords.png|center|500px|link=]]<br />
<b><center>An example of a stop list of 25 semantically non-selective words</center></b><br />
<br />
<b>Stemming</b><br />
<br />
For grammatical reasons, answers are going to use different forms of a word, such as organize, organizes, and organizing. Additionally, there are families of derivationally related words with similar meanings, such as democracy, democratic, and democratization. In these situations, we have to treat these words to be the same, as they have the same root meaning.<br />
<br />
The goal of both stemming is to reduce inflectional forms and sometimes derivationally related forms of a word to a common base form. <br />
<br />
We decided to use the Porter Stemming Algorithm (https://tartarus.org/martin/PorterStemmer/index.html) as it is the most popular algorithm for stemming English and has shown to be empirically very effective.<br />
<br />
Porter's algorithm consists of 5 phases of word reductions, applied sequentially. Within each phase there are various conventions to select rules, such as selecting the rule from each rule group that applies to the longest suffix. <br />
<br />
[[Image:Zenith stemming.png|center|500px|link=]]<br />
<b><center>Example of a rule in the Porter Stemming Algorithm</center></b><br />
</div> <br />
<br><br />
<br />
====Game development ====<br />
<div style="font-family: Verdana;"><br />
Together with the NUS team, we developed a few basic game rules. <br />
<br />
<b>Leveling System</b> <br />
<br />
For our application, we introduce a leveling system for student. In its simplest form, leveling up occurs through the process of gaining enough experience points until a target experience point total is reached. Once the target is met, the student's character "levels up," and a new target experience threshold is set. Students gains experience points (XP) by attempting a medical case. The amount of XP is dependent on how well the student scores.<br />
<br />
Currently, the main selling point of the medical cases is to practice for their exams. By introducing the leveling system, we hope to further incentivise students to attempt medical cases on our application. The idea is to ensure that students will be playing the cases throughout the year rather than just during peak (exam) periods.<br />
<br />
<b>Anti Cheat Mechanism for MCQ Scoring</b><br />
<br />
There can be more than one correct answer for each MCQ questions. Hence we use multi-select MCQ questions in our game. However, the problem we face is that students can simply tick all the options to get the correct answer. Hence, we developed a rule that penalizes the student for every wrong option selected. <br />
<br />
<b>Anti Repeat Mechanism for experience points (XP) </b><br />
<br />
Another rule we developed is to halve the total amount of experience points gained for each subsequent game play of the same case. This is to reduce the incentive of repeating the same case again and again for the sake of leveling up. Furthermore, students are already expected to score better after doing the case, as the answers are revealed at the end of each case.<br />
<br />
</div> <br />
<br><br />
<br />
====Added security features====<br />
<div style="font-family: Verdana;"><br />
In December 2017, our MongoDB database was compromised and held hostage by ransomware. We were instructed to pay 0.1 bitcoin (USD $1594) for the return of our data. Fortunately, we had backed up the data so there was no need for us to pay the ransom. Since this incident, we have taken additional measures to ensure that this does not happen again.<br />
<br />
</div><br />
<br />
==Quality of product==<br />
<br />
===Intermediate Deliverables:===<br />
<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Stage <br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Specification<br />
|-<br />
<br />
|rowspan="6"| Project Management<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Management|Schedule]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_minutes|Minutes]] <br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Bug Metric|Bug metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Task Metric|Task metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_risk_management|Risk management]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_change_management|Change management]]<br />
|-<br />
<br />
<br />
|rowspan="3"| Requirements<br />
|| [[IS480 Team wiki: 2017T2 Zenith Overview | Overview]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_project_scope | Scope]]<br />
|-<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Documentation | Personas]]<br />
|-<br />
<br />
|rowspan="3"| Analysis<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Use Case Diagram | Use case diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Architecture Diagram | Architecture diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_technologies| Technologies used]]<br />
|-<br />
<br />
<br />
|rowspan="1"| Design<br />
|| [[IS480_Team_wiki:2017T2 Zenith_prototype |Prototypes]]<br />
|-<br />
<br />
|rowspan="1"| Testing<br />
|| [[IS480_Team_wiki:2017T2 Zenith User Testing 1 |User Acceptance Test 1 (11 - 13 Feb 2018)]]<br />
|-<br />
|}<br />
</center><br />
</div><br />
<br />
===Testing:===<br />
<br />
<div style="font-family: Verdana;"><br />
<br />
*Creation of test cases during development. <br />
*Functionality testing after completion of function. <br />
*Regression testing at the end of every iteration. <br />
*We expect to complete 2 UATs by the end of the project. <br />
*1 UAT has been completed before Midterms. To view the results of this UAT, [[IS480_Team_wiki:2017T2 Zenith User Testing 1|click here]]. <br />
<br />
</div><br />
<br />
==Reflections==<br />
<br />
===Team Reflection:===<br />
<div style="font-family: Verdana;"><br />
<br />
Any training and lesson learn? What are the take-away so far? It would be very convincing if the knowledge is share at the wiki [[Knowledge_base | knowledge base]] and linked here.<br />
<br />
</div> <br />
<br />
=== Individual Reflections: ===<br />
<div style="font-family: Verdana;"><br />
<b>Amelia: </b><br />
<br />
<br> <br />
<b>Chin Rui: </b> <br />
<br />
<br> <br />
<b>Ervin: </b><br />
<br />
<br> <br />
<b>Ming Rui: </b><br />
<br />
<br> <br />
<br />
<b>Qimin: </b><br />
<br />
<br> <br />
<br />
<b>Ricky: </b><br />
<br> <br />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_Midterm_Wiki&diff=318846IS480 Team wiki:2017T2 Zenith Midterm Wiki2018-02-21T09:43:00Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | <br />
<br />
[[IS480 Team wiki: 2017T2T Zenith | <font color="#000000"><b>Main Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_Midterm Wiki | <font color="#000000"><b>Midterm Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_FinalWiki | <font color="#000000"><b>Final Wiki</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br><br />
[[File:Zenith_midterm_header.PNG|center|1000px]]<br />
<br />
<br />
<br />
==Project Progress Summary==<br />
===Midterm Slides===<br />
(insert link here)<br />
<br />
===Deployed site link===<br />
<center><br />
[[Image: Zenith deployment link.jpeg |600px|link=http://www.themedsense.com]]<br />
</center><br />
<br />
===Project Highlights===<br />
<div style="font-family: Verdana;"><br />
Our project schedule is divided into 13 iterations. <br />
* We are currently on our 9th iteration (12 Feb - 25 Feb 2018).<br />
* Up till 20 Feb 2018, we have completed <b>80.56</b>% of our development progress. <br />
* 1 User Acceptance Test was conducted before Midterms. The results are shown [[IS480_Team_wiki:2017T2 Zenith User Testing 1|here]]. <br />
* Achieved and exceeded [[IS480_Team_wiki:2017T2 Zenith_x-factor|Midterms X-factor]]. <br />
<br />
<br />
Unexpected events:<br />
* New team of clients.<br />
* Cancellation of one User Acceptance Test by clients due to busy schedules.<br />
* List of requirement changes after Acceptance can be viewed [[IS480_Team_wiki:2017T2_Zenith_change_management#Change log (till Midterms)| here]].<br />
</div><br />
<br />
==Project Management==<br />
<div style="font-family: Verdana;"><br />
<b>Iteration Progress:</b> 9 of 13<br/><br />
<b>Features Completion:</b> 80.56% (29 out of 36 features)<br/><br />
<b>Confidence Level:</b> 100%<br />
</div> <br />
<br />
===Project Status:===<br />
<br />
<div style="font-family: Verdana;"><br />
A breakdown of tasks is shown in our [[IS480_Team_wiki:2017T2 Zenith_project_scope|project scope]].<br />
</div> <br />
<br><br />
[[File:Zenith_midterm_scope.png|center|800px]]<br />
<br><br />
<br />
===Project Schedule (Plan Vs Actual):===<br />
<br />
====Milestones Overview:====<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable"<br />
|-<br />
! Planned (Acceptance) !! Actual (Midterms)<br />
|-<br />
|<br />
[[File:Zenith_midterm_planned_timeline.png|500px]]<br />
|| <br />
[[File:Zenith_midterm_actual_timeline.png|500px]]<br />
|}<br />
</center><br />
</div><br />
<br />
====Project Schedule:====<br />
<div style="font-family: Verdana;"><br />
Planned Schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_expected_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Changes in planned schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_changed_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Actual Schedule (Midterms)<br> <br><br />
[[File:Zenith_midterm_actual_schedule.png|center|900px]]<br />
</div><br />
<br />
===Project Metrics:===<br />
<br />
====Task metric====<br />
<div style="font-family: Verdana;"><br />
[[File:Zenith_midterms_task_metric.png|center|600px]]<br />
<br />
<!--Task Metric Table Start--><br />
{| class="wikitable" style=" background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | Score<br />
|style="text-align: center;" width="20%" | TM <= 50<br />
|style="text-align: center;" width="20%" | 50 < TM <= 75<br />
|style="text-align: center;" width="20%" | 75 < TM <= 125<br />
|style="text-align: center;" width="20%" | 125 < TM <= 150<br />
|style="text-align: center;" width="20%" | 150 > TM<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Action<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations. <br> 3. Consider dropping Tasks. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Deduct number of days behind from buffer days. <br> 3. If there are no more buffer days, decide the functionalities to drop. <br />
|style="text-align: left;vertical-align: top"| 1. Our estimates are fairly accurate, and are roughly on track. <br> 2. Add/deduct number of days ahead / behind from buffer days. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Add number of days ahead to buffer days.<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations.<br />
|-<br />
|}<br />
<!--Task Metric Table End--><br />
</div><br />
<br />
====Bug metric====<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith_midterm_bug_count.png|center|600px]]<br><br />
[[File: Zenith_midterm_bug_score.png|center|600px]]<br />
<br />
<center><b>Note:</b> There were no coding tasks for iteration 1. </center><br />
<br />
<br />
<!--Bug Score Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Severity<br />
|style="text-align: center;" width="30%" | Low Impact <br />
|style="text-align: center;" width="30%" | High Impact <br />
|style="text-align: center;" width="30%"| Critical Impact<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| User interface display errors, such as out of alignment, colour used is not according to theme. <br />
It does not affect the functionality of the system. <br />
|style="text-align: left;vertical-align: top"| The system is functional with some non-critical functionalities are not working.<br />
|style="text-align: left;vertical-align: top"| The system is not functional. <br />
Bugs have to be fixed before proceeding.<br />
|-<br />
|}<br />
<!--Bug Score Table End--><br />
<br />
<br />
<!--Bug Metric Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Points<br />
|style="text-align: center;" width="30%" | BM <= 5 <br />
|style="text-align: center;" width="30%" | 5 < BM < 10<br />
|style="text-align: center;" width="30%"| BM >= 10<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| The system does not need immediate fixing, could be fixed during buffer time or during coding sessions<br />
|style="text-align: left;vertical-align: top"| Coders to use planned debugging time in the iteration to solve the bug<br />
|style="text-align: left;vertical-align: top"| The team has to stop all current development and resolve the bug immediately<br />
|-<br />
|}<br />
<!--Bug Metric Table End--><br />
</div> <br />
<br />
<br />
<br><br />
<br />
===Project Risks:===<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith risk metric.png|center|600px]]<br />
<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Technical<br />
|style="text-align: left;vertical-align: center"| Ransomware attacks on Database<br />
|style="text-align: center;"| Low (but it happened)<br />
|style="text-align: center;"| High<br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: top"| System Architect to improve database security <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Organizational<br />
|style="text-align: left;vertical-align: center"| New members in NUS MedSense Team<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Project Manager will be in constant communication with new members, and will regularly review the scope with them. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| External<br />
|style="text-align: left;vertical-align: center"| Future developers unfamiliar with technologies used<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Provide proper documentation such as deployment guide and include comments in the codes. <br />
|-<br />
<br />
<br />
|style="text-align: center;"| 4<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: center"| Members falling sick or going overseas doing school period, reducing team's available manpower. This can cause a potential delays in the project <br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| C<br />
|style="text-align: left;vertical-align: center"| Team members should constantly check on the health and well-being of one another, as well as update the Project Manager of any overseas plans as early as possible<br />
|-<br />
|}<br />
<br><br />
</div><br />
<br><br />
<br />
===Technical Complexity:===<br />
<br />
====Natural Language Processing====<br />
<div style="font-family: Verdana;"><br />
Natural Language Processing, or NLP for short, is broadly defined as the automatic manipulation of natural language, like speech and text, by software. The study of natural language processing has been around for more than 50 years and grew out of the field of linguistics with the rise of computers.<br />
<br />
Our team decided to employ NLP techniques to perform automated marking for open ended questions. This benefits the user as professors do not need to mark each answer and students can receive immediate feedback with regards to their answers.<br />
<br />
Below are some of the techniques used:<br />
<br />
<b>Tokenization</b><br />
<br />
Given a character sequence and a defined document unit, tokenization is the task of chopping it up into pieces, called tokens , perhaps at the same time throwing away certain characters, such as punctuation. <br />
<br />
[[Image:Zenith tokenization.PNG|center|600px|link=]]<br />
<center><b>An example of tokenization. Library used: Natural for Nodejs</b> https://github.com/NaturalNode/natural#tokenizers</center><br />
<br />
<b>Removing Stopwords</b><br />
<br />
Sometimes, some extremely common words which would appear to be of little value in helping select documents matching a user need are excluded from the vocabulary entirely. In natural language processing, Stopwords are words that are so frequent that they can safely be removed from a text without altering its meaning. Hence, for automated marking, we removed all common words from the submitted answer. Doing this significantly reduces the number of tokens our system has to match and store. <br />
<br />
<br />
[[Image:Zenith stopwords.png|center|600px|link=]]<br />
<b><center>An example of a stop list of 25 semantically non-selective words</center></b><br />
<br />
<b>Stemming</b><br />
<br />
For grammatical reasons, answers are going to use different forms of a word, such as organize, organizes, and organizing. Additionally, there are families of derivationally related words with similar meanings, such as democracy, democratic, and democratization. In these situations, we have to treat these words to be the same, as they have the same root meaning.<br />
<br />
The goal of both stemming is to reduce inflectional forms and sometimes derivationally related forms of a word to a common base form. <br />
<br />
We decided to use the Porter Stemming Algorithm (https://tartarus.org/martin/PorterStemmer/index.html) as it is the most popular algorithm for stemming English and has shown to be empirically very effective.<br />
<br />
Porter's algorithm consists of 5 phases of word reductions, applied sequentially. Within each phase there are various conventions to select rules, such as selecting the rule from each rule group that applies to the longest suffix. <br />
<br />
[[Image:Zenith stemming.png|center|500px|link=]]<br />
<b><center>Example of a rule in the Porter Stemming Algorithm</center></b><br />
</div> <br />
<br><br />
<br />
====Game development ====<br />
<div style="font-family: Verdana;"><br />
Together with the NUS team, we developed a few basic game rules. <br />
<br />
<b>Leveling System</b> <br />
<br />
For our application, we introduce a leveling system for student. In its simplest form, leveling up occurs through the process of gaining enough experience points until a target experience point total is reached. Once the target is met, the student's character "levels up," and a new target experience threshold is set. Students gains experience points (XP) by attempting a medical case. The amount of XP is dependent on how well the student scores.<br />
<br />
Currently, the main selling point of the medical cases is to practice for their exams. By introducing the leveling system, we hope to further incentivise students to attempt medical cases on our application. The idea is to ensure that students will be playing the cases throughout the year rather than just during peak (exam) periods.<br />
<br />
<b>Anti Cheat Mechanism for MCQ Scoring</b><br />
<br />
There can be more than one correct answer for each MCQ questions. Hence we use multi-select MCQ questions in our game. However, the problem we face is that students can simply tick all the options to get the correct answer. Hence, we developed a rule that penalizes the student for every wrong option selected. <br />
<br />
<b>Anti Repeat Mechanism for experience points (XP) </b><br />
<br />
Another rule we developed is to halve the total amount of experience points gained for each subsequent game play of the same case. This is to reduce the incentive of repeating the same case again and again for the sake of leveling up. Furthermore, students are already expected to score better after doing the case, as the answers are revealed at the end of each case.<br />
<br />
</div> <br />
<br><br />
<br />
====Added security features====<br />
<div style="font-family: Verdana;"><br />
In December 2017, our MongoDB database was compromised and held hostage by ransomware. We were instructed to pay 0.1 bitcoin (USD $1594) for the return of our data. Fortunately, we had backed up the data so there was no need for us to pay the ransom. Since this incident, we have taken additional measures to ensure that this does not happen again.<br />
<br />
</div><br />
<br />
==Quality of product==<br />
<br />
===Intermediate Deliverables:===<br />
<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Stage <br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Specification<br />
|-<br />
<br />
|rowspan="6"| Project Management<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Management|Schedule]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_minutes|Minutes]] <br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Bug Metric|Bug metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Task Metric|Task metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_risk_management|Risk management]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_change_management|Change management]]<br />
|-<br />
<br />
<br />
|rowspan="3"| Requirements<br />
|| [[IS480 Team wiki: 2017T2 Zenith Overview | Overview]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_project_scope | Scope]]<br />
|-<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Documentation | Personas]]<br />
|-<br />
<br />
|rowspan="3"| Analysis<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Use Case Diagram | Use case diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Architecture Diagram | Architecture diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_technologies| Technologies used]]<br />
|-<br />
<br />
<br />
|rowspan="1"| Design<br />
|| [[IS480_Team_wiki:2017T2 Zenith_prototype |Prototypes]]<br />
|-<br />
<br />
|rowspan="1"| Testing<br />
|| [[IS480_Team_wiki:2017T2 Zenith User Testing 1 |User Acceptance Test 1 (11 - 13 Feb 2018)]]<br />
|-<br />
|}<br />
</center><br />
</div><br />
<br />
===Testing:===<br />
<br />
<div style="font-family: Verdana;"><br />
<br />
*Creation of test cases during development. <br />
*Functionality testing after completion of function. <br />
*Regression testing at the end of every iteration. <br />
*We expect to complete 2 UATs by the end of the project. <br />
*1 UAT has been completed before Midterms. To view the results of this UAT, [[IS480_Team_wiki:2017T2 Zenith User Testing 1|click here]]. <br />
<br />
</div><br />
<br />
==Reflections==<br />
<br />
===Team Reflection:===<br />
<div style="font-family: Verdana;"><br />
<br />
Any training and lesson learn? What are the take-away so far? It would be very convincing if the knowledge is share at the wiki [[Knowledge_base | knowledge base]] and linked here.<br />
<br />
</div> <br />
<br />
=== Individual Reflections: ===<br />
<div style="font-family: Verdana;"><br />
<b>Amelia: </b><br />
<br />
<br> <br />
<b>Chin Rui: </b> <br />
<br />
<br> <br />
<b>Ervin: </b><br />
<br />
<br> <br />
<b>Ming Rui: </b><br />
<br />
<br> <br />
<br />
<b>Qimin: </b><br />
<br />
<br> <br />
<br />
<b>Ricky: </b><br />
<br> <br />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_Midterm_Wiki&diff=318845IS480 Team wiki:2017T2 Zenith Midterm Wiki2018-02-21T09:39:10Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | <br />
<br />
[[IS480 Team wiki: 2017T2T Zenith | <font color="#000000"><b>Main Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_Midterm Wiki | <font color="#000000"><b>Midterm Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_FinalWiki | <font color="#000000"><b>Final Wiki</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br><br />
[[File:Zenith_midterm_header.PNG|center|1000px]]<br />
<br />
<br />
<br />
==Project Progress Summary==<br />
===Midterm Slides===<br />
(insert link here)<br />
<br />
===Deployed site link===<br />
<center><br />
[[Image: Zenith deployment link.jpeg |600px|link=http://www.themedsense.com]]<br />
</center><br />
<br />
===Project Highlights===<br />
<div style="font-family: Verdana;"><br />
Our project schedule is divided into 13 iterations. <br />
* We are currently on our 9th iteration (12 Feb - 25 Feb 2018).<br />
* Up till 20 Feb 2018, we have completed <b>80.56</b>% of our development progress. <br />
* 1 User Acceptance Test was conducted before Midterms. The results are shown [[IS480_Team_wiki:2017T2 Zenith User Testing 1|here]]. <br />
* Achieved and exceeded [[IS480_Team_wiki:2017T2 Zenith_x-factor|Midterms X-factor]]. <br />
<br />
<br />
Unexpected events:<br />
* New team of clients.<br />
* Cancellation of one User Acceptance Test by clients due to busy schedules.<br />
* List of requirement changes after Acceptance can be viewed [[IS480_Team_wiki:2017T2_Zenith_change_management#Change log (till Midterms)| here]].<br />
</div><br />
<br />
==Project Management==<br />
<div style="font-family: Verdana;"><br />
<b>Iteration Progress:</b> 9 of 13<br/><br />
<b>Features Completion:</b> 80.56% (29 out of 36 features)<br/><br />
<b>Confidence Level:</b> 100%<br />
</div> <br />
<br />
===Project Status:===<br />
<br />
<div style="font-family: Verdana;"><br />
A breakdown of tasks is shown in our [[IS480_Team_wiki:2017T2 Zenith_project_scope|project scope]].<br />
</div> <br />
<br><br />
[[File:Zenith_midterm_scope.png|center|800px]]<br />
<br><br />
<br />
===Project Schedule (Plan Vs Actual):===<br />
<br />
====Milestones Overview:====<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable"<br />
|-<br />
! Planned (Acceptance) !! Actual (Midterms)<br />
|-<br />
|<br />
[[File:Zenith_midterm_planned_timeline.png|500px]]<br />
|| <br />
[[File:Zenith_midterm_actual_timeline.png|500px]]<br />
|}<br />
</center><br />
</div><br />
<br />
====Project Schedule:====<br />
<div style="font-family: Verdana;"><br />
Planned Schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_expected_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Changes in planned schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_changed_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Actual Schedule (Midterms)<br> <br><br />
[[File:Zenith_midterm_actual_schedule.png|center|900px]]<br />
</div><br />
<br />
===Project Metrics:===<br />
<br />
====Task metric====<br />
<div style="font-family: Verdana;"><br />
[[File:Zenith_midterms_task_metric.png|center|600px]]<br />
<br />
<!--Task Metric Table Start--><br />
{| class="wikitable" style=" background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | Score<br />
|style="text-align: center;" width="20%" | TM <= 50<br />
|style="text-align: center;" width="20%" | 50 < TM <= 75<br />
|style="text-align: center;" width="20%" | 75 < TM <= 125<br />
|style="text-align: center;" width="20%" | 125 < TM <= 150<br />
|style="text-align: center;" width="20%" | 150 > TM<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Action<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations. <br> 3. Consider dropping Tasks. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Deduct number of days behind from buffer days. <br> 3. If there are no more buffer days, decide the functionalities to drop. <br />
|style="text-align: left;vertical-align: top"| 1. Our estimates are fairly accurate, and are roughly on track. <br> 2. Add/deduct number of days ahead / behind from buffer days. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Add number of days ahead to buffer days.<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations.<br />
|-<br />
|}<br />
<!--Task Metric Table End--><br />
</div><br />
<br />
====Bug metric====<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith_midterm_bug_count.png|center|600px]]<br><br />
[[File: Zenith_midterm_bug_score.png|center|600px]]<br />
<br />
<center><b>Note:</b> There were no coding tasks for iteration 1. </center><br />
<br />
<br />
<!--Bug Score Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Severity<br />
|style="text-align: center;" width="30%" | Low Impact <br />
|style="text-align: center;" width="30%" | High Impact <br />
|style="text-align: center;" width="30%"| Critical Impact<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| User interface display errors, such as out of alignment, colour used is not according to theme. <br />
It does not affect the functionality of the system. <br />
|style="text-align: left;vertical-align: top"| The system is functional with some non-critical functionalities are not working.<br />
|style="text-align: left;vertical-align: top"| The system is not functional. <br />
Bugs have to be fixed before proceeding.<br />
|-<br />
|}<br />
<!--Bug Score Table End--><br />
<br />
<br />
<!--Bug Metric Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Points<br />
|style="text-align: center;" width="30%" | BM <= 5 <br />
|style="text-align: center;" width="30%" | 5 < BM < 10<br />
|style="text-align: center;" width="30%"| BM >= 10<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| The system does not need immediate fixing, could be fixed during buffer time or during coding sessions<br />
|style="text-align: left;vertical-align: top"| Coders to use planned debugging time in the iteration to solve the bug<br />
|style="text-align: left;vertical-align: top"| The team has to stop all current development and resolve the bug immediately<br />
|-<br />
|}<br />
<!--Bug Metric Table End--><br />
</div> <br />
<br />
<br />
<br><br />
<br />
===Project Risks:===<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith risk metric.png|center|600px]]<br />
<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Technical<br />
|style="text-align: left;vertical-align: center"| Ransomware attacks on Database<br />
|style="text-align: center;"| Low (but it happened)<br />
|style="text-align: center;"| High<br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: top"| System Architect to improve database security <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Organizational<br />
|style="text-align: left;vertical-align: center"| New members in NUS MedSense Team<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Project Manager will be in constant communication with new members, and will regularly review the scope with them. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| External<br />
|style="text-align: left;vertical-align: center"| Future developers unfamiliar with technologies used<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Provide proper documentation such as deployment guide and include comments in the codes. <br />
|-<br />
<br />
<br />
|style="text-align: center;"| 4<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: center"| Members falling sick or going overseas doing school period, reducing team's available manpower. This can cause a potential delays in the project <br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| C<br />
|style="text-align: left;vertical-align: center"| Team members should constantly check on the health and well-being of one another, as well as update the Project Manager of any overseas plans as early as possible<br />
|-<br />
|}<br />
<br><br />
</div><br />
<br><br />
<br />
===Technical Complexity:===<br />
<br />
====Natural Language Processing====<br />
<div style="font-family: Verdana;"><br />
Natural Language Processing, or NLP for short, is broadly defined as the automatic manipulation of natural language, like speech and text, by software. The study of natural language processing has been around for more than 50 years and grew out of the field of linguistics with the rise of computers.<br />
<br />
Our team decided to employ NLP techniques to perform automated marking for open ended questions. This benefits the user as professors do not need to mark each answer and students can receive immediate feedback with regards to their answers.<br />
<br />
Below are some of the techniques used:<br />
<br />
<b>Tokenization</b><br />
<br />
Given a character sequence and a defined document unit, tokenization is the task of chopping it up into pieces, called tokens , perhaps at the same time throwing away certain characters, such as punctuation. <br />
<br />
[[Image:Zenith tokenization.PNG|center|600px|link=]]<br />
<center>An example of tokenization. Library used: Natural for Nodejs https://github.com/NaturalNode/natural#tokenizers</center><br />
<br />
<b>Removing Stopwords</b><br />
<br />
Sometimes, some extremely common words which would appear to be of little value in helping select documents matching a user need are excluded from the vocabulary entirely. In natural language processing, Stopwords are words that are so frequent that they can safely be removed from a text without altering its meaning. Hence, for automated marking, we removed all common words from the submitted answer. Doing this significantly reduces the number of tokens our system has to match and store. <br />
<br />
<br />
[[Image:Zenith stopwords.png|center|600px|link=]]<br />
<center>An example of a stop list of 25 semantically non-selective words</center><br />
<br />
<b>Stemming</b><br />
<br />
For grammatical reasons, answers are going to use different forms of a word, such as organize, organizes, and organizing. Additionally, there are families of derivationally related words with similar meanings, such as democracy, democratic, and democratization. In these situations, we have to treat these words to be the same, as they have the same root meaning.<br />
<br />
The goal of both stemming is to reduce inflectional forms and sometimes derivationally related forms of a word to a common base form. <br />
<br />
We decided to use the Porter Stemming Algorithm (https://tartarus.org/martin/PorterStemmer/index.html) as it is the most popular algorithm for stemming English and has shown to be empirically very effective.<br />
<br />
Porter's algorithm consists of 5 phases of word reductions, applied sequentially. Within each phase there are various conventions to select rules, such as selecting the rule from each rule group that applies to the longest suffix. <br />
<br />
[[Image:Zenith stemming.png|center|500px|link=]]<br />
<center>Example of a rule in the Porter Stemming Algorithm</center><br />
</div> <br />
<br><br />
<br />
====Game development ====<br />
<div style="font-family: Verdana;"><br />
Together with the NUS team, we developed a few basic game rules. <br />
<br />
<b>Leveling System</b> <br />
<br />
For our application, we introduce a leveling system for student. In its simplest form, leveling up occurs through the process of gaining enough experience points until a target experience point total is reached. Once the target is met, the student's character "levels up," and a new target experience threshold is set. Students gains experience points (XP) by attempting a medical case. The amount of XP is dependent on how well the student scores.<br />
<br />
Currently, the main selling point of the medical cases is to practice for their exams. By introducing the leveling system, we hope to further incentivise students to attempt medical cases on our application. The idea is to ensure that students will be playing the cases throughout the year rather than just during peak (exam) periods.<br />
<br />
<b>Anti Cheat Mechanism for MCQ Scoring</b><br />
<br />
There can be more than one correct answer for each MCQ questions. Hence we use multi-select MCQ questions in our game. However, the problem we face is that students can simply tick all the options to get the correct answer. Hence, we developed a rule that penalizes the student for every wrong option selected. <br />
<br />
<b>Anti Repeat Mechanism for experience points (XP) </b><br />
<br />
Another rule we developed is to halve the total amount of experience points gained for each subsequent game play of the same case. This is to reduce the incentive of repeating the same case again and again for the sake of leveling up. Furthermore, students are already expected to score better after doing the case, as the answers are revealed at the end of each case.<br />
<br />
</div> <br />
<br><br />
<br />
====Added security features====<br />
<div style="font-family: Verdana;"><br />
In December 2017, our MongoDB database was compromised and held hostage by ransomware. We were instructed to pay 0.1 bitcoin (USD $1594) for the return of our data. Fortunately, we had backed up the data so there was no need for us to pay the ransom. Since this incident, we have taken additional measures to ensure that this does not happen again.<br />
<br />
</div><br />
<br />
==Quality of product==<br />
<br />
===Intermediate Deliverables:===<br />
<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Stage <br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Specification<br />
|-<br />
<br />
|rowspan="6"| Project Management<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Management|Schedule]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_minutes|Minutes]] <br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Bug Metric|Bug metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Task Metric|Task metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_risk_management|Risk management]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_change_management|Change management]]<br />
|-<br />
<br />
<br />
|rowspan="3"| Requirements<br />
|| [[IS480 Team wiki: 2017T2 Zenith Overview | Overview]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_project_scope | Scope]]<br />
|-<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Documentation | Personas]]<br />
|-<br />
<br />
|rowspan="3"| Analysis<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Use Case Diagram | Use case diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Architecture Diagram | Architecture diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_technologies| Technologies used]]<br />
|-<br />
<br />
<br />
|rowspan="1"| Design<br />
|| [[IS480_Team_wiki:2017T2 Zenith_prototype |Prototypes]]<br />
|-<br />
<br />
|rowspan="1"| Testing<br />
|| [[IS480_Team_wiki:2017T2 Zenith User Testing 1 |User Acceptance Test 1 (11 - 13 Feb 2018)]]<br />
|-<br />
|}<br />
</center><br />
</div><br />
<br />
===Testing:===<br />
<br />
<div style="font-family: Verdana;"><br />
<br />
*Creation of test cases during development. <br />
*Functionality testing after completion of function. <br />
*Regression testing at the end of every iteration. <br />
*We expect to complete 2 UATs by the end of the project. <br />
*1 UAT has been completed before Midterms. To view the results of this UAT, [[IS480_Team_wiki:2017T2 Zenith User Testing 1|click here]]. <br />
<br />
</div><br />
<br />
==Reflections==<br />
<br />
===Team Reflection:===<br />
<div style="font-family: Verdana;"><br />
<br />
Any training and lesson learn? What are the take-away so far? It would be very convincing if the knowledge is share at the wiki [[Knowledge_base | knowledge base]] and linked here.<br />
<br />
</div> <br />
<br />
=== Individual Reflections: ===<br />
<div style="font-family: Verdana;"><br />
<b>Amelia: </b><br />
<br />
<br> <br />
<b>Chin Rui: </b> <br />
<br />
<br> <br />
<b>Ervin: </b><br />
<br />
<br> <br />
<b>Ming Rui: </b><br />
<br />
<br> <br />
<br />
<b>Qimin: </b><br />
<br />
<br> <br />
<br />
<b>Ricky: </b><br />
<br> <br />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_Midterm_Wiki&diff=318819IS480 Team wiki:2017T2 Zenith Midterm Wiki2018-02-21T03:48:16Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | <br />
<br />
[[IS480 Team wiki: 2017T2T Zenith | <font color="#000000"><b>Main Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_Midterm Wiki | <font color="#000000"><b>Midterm Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_FinalWiki | <font color="#000000"><b>Final Wiki</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br><br />
[[File:Zenith_midterm_header.PNG|center|1000px]]<br />
<br />
<br />
<br />
==Project Progress Summary==<br />
===Midterm Slides===<br />
(insert link here)<br />
<br />
===Deployed site link===<br />
<center><br />
[[Image: Zenith deployment link.jpeg |600px|link=http://www.themedsense.com]]<br />
</center><br />
<br />
===Project Highlights===<br />
<div style="font-family: Verdana;"><br />
Our project schedule is divided into 13 iterations. <br />
* We are currently on our 9th iteration (12 Feb - 25 Feb 2018).<br />
* Up till 20 Feb 2018, we have completed <b>80.56</b>% of our development progress. <br />
* 1 User Acceptance Test was conducted before Midterms. The results are shown [[IS480_Team_wiki:2017T2 Zenith User Testing 1|here]]. <br />
* Achieved and exceeded [[IS480_Team_wiki:2017T2 Zenith_x-factor|Midterms X-factor]]. <br />
<br />
<br />
Unexpected events:<br />
* New team of clients.<br />
* Cancellation of one User Acceptance Test by clients due to busy schedules.<br />
* List of requirement changes after Acceptance can be viewed [[IS480_Team_wiki:2017T2_Zenith_change_management#Change log (till Midterms)| here]].<br />
</div><br />
<br />
==Project Management==<br />
<div style="font-family: Verdana;"><br />
<b>Iteration Progress:</b> 9 of 13<br/><br />
<b>Features Completion:</b> 80.56% (29 out of 36 features)<br/><br />
<b>Confidence Level:</b> 100%<br />
</div> <br />
<br />
===Project Status:===<br />
<br />
<div style="font-family: Verdana;"><br />
A breakdown of tasks is shown in our [[IS480_Team_wiki:2017T2 Zenith_project_scope|project scope]].<br />
</div> <br />
<br><br />
[[File:Zenith_midterm_scope.png|center|800px]]<br />
<br><br />
<br />
===Project Schedule (Plan Vs Actual):===<br />
<br />
====Milestones Overview:====<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable"<br />
|-<br />
! Planned (Acceptance) !! Actual (Midterms)<br />
|-<br />
|<br />
[[File:Zenith_midterm_planned_timeline.png|500px]]<br />
|| <br />
[[File:Zenith_midterm_actual_timeline.png|500px]]<br />
|}<br />
</center><br />
</div><br />
<br />
====Project Schedule:====<br />
<div style="font-family: Verdana;"><br />
Planned Schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_expected_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Changes in planned schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_changed_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Actual Schedule (Midterms)<br> <br><br />
[[File:Zenith_midterm_actual_schedule.png|center|900px]]<br />
</div><br />
<br />
===Project Metrics:===<br />
<br />
====Task metric====<br />
<div style="font-family: Verdana;"><br />
[[File:Zenith_midterms_task_metric.png|center|600px]]<br />
<br />
<!--Task Metric Table Start--><br />
{| class="wikitable" style=" background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | Score<br />
|style="text-align: center;" width="20%" | TM <= 50<br />
|style="text-align: center;" width="20%" | 50 < TM <= 75<br />
|style="text-align: center;" width="20%" | 75 < TM <= 125<br />
|style="text-align: center;" width="20%" | 125 < TM <= 150<br />
|style="text-align: center;" width="20%" | 150 > TM<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Action<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations. <br> 3. Consider dropping Tasks. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Deduct number of days behind from buffer days. <br> 3. If there are no more buffer days, decide the functionalities to drop. <br />
|style="text-align: left;vertical-align: top"| 1. Our estimates are fairly accurate, and are roughly on track. <br> 2. Add/deduct number of days ahead / behind from buffer days. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Add number of days ahead to buffer days.<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations.<br />
|-<br />
|}<br />
<!--Task Metric Table End--><br />
</div><br />
<br />
====Bug metric====<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith_midterm_bug_count.png|center|600px]]<br><br />
[[File: Zenith_midterm_bug_score.png|center|600px]]<br />
<br />
<center><b>Note:</b> There were no coding tasks for iteration 1. </center><br />
<br />
<br />
<!--Bug Score Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Severity<br />
|style="text-align: center;" width="30%" | Low Impact <br />
|style="text-align: center;" width="30%" | High Impact <br />
|style="text-align: center;" width="30%"| Critical Impact<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| User interface display errors, such as out of alignment, colour used is not according to theme. <br />
It does not affect the functionality of the system. <br />
|style="text-align: left;vertical-align: top"| The system is functional with some non-critical functionalities are not working.<br />
|style="text-align: left;vertical-align: top"| The system is not functional. <br />
Bugs have to be fixed before proceeding.<br />
|-<br />
|}<br />
<!--Bug Score Table End--><br />
<br />
<br />
<!--Bug Metric Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Points<br />
|style="text-align: center;" width="30%" | BM <= 5 <br />
|style="text-align: center;" width="30%" | 5 < BM < 10<br />
|style="text-align: center;" width="30%"| BM >= 10<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| The system does not need immediate fixing, could be fixed during buffer time or during coding sessions<br />
|style="text-align: left;vertical-align: top"| Coders to use planned debugging time in the iteration to solve the bug<br />
|style="text-align: left;vertical-align: top"| The team has to stop all current development and resolve the bug immediately<br />
|-<br />
|}<br />
<!--Bug Metric Table End--><br />
</div> <br />
<br />
<br />
<br><br />
<br />
===Project Risks:===<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith risk metric.png|center|600px]]<br />
<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Technical<br />
|style="text-align: left;vertical-align: center"| Ransomware attacks on Database<br />
|style="text-align: center;"| Low (but it happened)<br />
|style="text-align: center;"| High<br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: top"| System Architect to improve database security <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Organizational<br />
|style="text-align: left;vertical-align: center"| New members in NUS MedSense Team<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Project Manager will be in constant communication with new members, and will regularly review the scope with them. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| External<br />
|style="text-align: left;vertical-align: center"| Future developers unfamiliar with technologies used<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Provide proper documentation such as deployment guide and include comments in the codes. <br />
|-<br />
<br />
<br />
|style="text-align: center;"| 4<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: center"| Members falling sick or going overseas doing school period, reducing team's available manpower. This can cause a potential delays in the project <br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| C<br />
|style="text-align: left;vertical-align: center"| Team members should constantly check on the health and well-being of one another, as well as update the Project Manager of any overseas plans as early as possible<br />
|-<br />
|}<br />
<br><br />
</div><br />
<br><br />
<br />
===Technical Complexity:===<br />
<br />
====Natural Language Processing====<br />
<div style="font-family: Verdana;"><br />
Natural Language Processing, or NLP for short, is broadly defined as the automatic manipulation of natural language, like speech and text, by software. The study of natural language processing has been around for more than 50 years and grew out of the field of linguistics with the rise of computers.<br />
<br />
Our team decided to employ NLP techniques to perform automated marking for open ended questions. This benefits the user as professors do not need to mark each answer and students can receive immediate feedback with regards to their answers.<br />
<br />
Below are some of the techniques used:<br />
<br />
<b>Tokenization</b><br />
<br />
Given a character sequence and a defined document unit, tokenization is the task of chopping it up into pieces, called tokens , perhaps at the same time throwing away certain characters, such as punctuation. <br />
<br />
[[Image:Zenith tokenization.PNG|center|600px|link=]]<br />
<center>An example of tokenization. Library used: Natural for Nodejs https://github.com/NaturalNode/natural#tokenizers</center><br />
<br />
<b>Removing Stopwords</b><br />
<br />
Sometimes, some extremely common words which would appear to be of little value in helping select documents matching a user need are excluded from the vocabulary entirely. In natural language processing, Stopwords are words that are so frequent that they can safely be removed from a text without altering its meaning. Hence, for automated marking, we removed all common words from the submitted answer. Doing this significantly reduces the number of tokens our system has to match and store. <br />
<br />
<br />
[[Image:Zenith stopwords.png|center|600px|link=]]<br />
<center>An example of a stop list of 25 semantically non-selective words</center><br />
<br />
<b>Stemming</b><br />
<br />
For grammatical reasons, answers are going to use different forms of a word, such as organize, organizes, and organizing. Additionally, there are families of derivationally related words with similar meanings, such as democracy, democratic, and democratization. In these situations, we have to treat these words to be the same, as they have the same root meaning.<br />
<br />
The goal of both stemming is to reduce inflectional forms and sometimes derivationally related forms of a word to a common base form. <br />
<br />
We decided to use the Porter Stemming Algorithm (https://tartarus.org/martin/PorterStemmer/index.html) as it is the most popular algorithm for stemming English and has shown to be empirically very effective.<br />
<br />
Porter's algorithm consists of 5 phases of word reductions, applied sequentially. Within each phase there are various conventions to select rules, such as selecting the rule from each rule group that applies to the longest suffix. <br />
<br />
[[Image:Zenith stemming.png|center|500px|link=]]<br />
<center>Example of a rule in the Porter Stemming Algorithm</center><br />
</div> <br />
<br><br />
<br />
====Game development ====<br />
<div style="font-family: Verdana;"><br />
Together with the NUS team, we developed a few basic game rules. <br />
</div> <br />
<br> <br />
====Added security features====<br />
<div style="font-family: Verdana;"><br />
In December 2017, our MongoDB database was compromised and held hostage by ransomware. We were instructed to pay 0.1 bitcoin (USD $1594) for the return of our data. Fortunately, we had backed up the data so there was no need for us to pay the ransom. Since this incident, we have taken additional measures to ensure that this does not happen again.<br />
<br />
</div><br />
<br />
==Quality of product==<br />
<br />
===Intermediate Deliverables:===<br />
<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Stage <br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Specification<br />
|-<br />
<br />
|rowspan="6"| Project Management<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Management|Schedule]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_minutes|Minutes]] <br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Bug Metric|Bug metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Task Metric|Task metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_risk_management|Risk management]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_change_management|Change management]]<br />
|-<br />
<br />
<br />
|rowspan="3"| Requirements<br />
|| [[IS480 Team wiki: 2017T2 Zenith Overview | Overview]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_project_scope | Scope]]<br />
|-<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Documentation | Personas]]<br />
|-<br />
<br />
|rowspan="3"| Analysis<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Use Case Diagram | Use case diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Architecture Diagram | Architecture diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_technologies| Technologies used]]<br />
|-<br />
<br />
<br />
|rowspan="1"| Design<br />
|| [[IS480_Team_wiki:2017T2 Zenith_prototype |Prototypes]]<br />
|-<br />
<br />
|rowspan="1"| Testing<br />
|| [[IS480_Team_wiki:2017T2 Zenith User Testing 1 |User Acceptance Test 1 (11 - 13 Feb 2018)]]<br />
|-<br />
|}<br />
</center><br />
</div><br />
<br />
===Testing:===<br />
<br />
<div style="font-family: Verdana;"><br />
<br />
*Creation of test cases during development. <br />
*Functionality testing after completion of function. <br />
*Regression testing at the end of every iteration. <br />
*We expect to complete 2 UATs by the end of the project. <br />
*1 UAT has been completed before Midterms. To view the results of this UAT, [[IS480_Team_wiki:2017T2 Zenith User Testing 1|click here]]. <br />
<br />
</div><br />
<br />
==Reflections==<br />
<br />
===Team Reflection:===<br />
<div style="font-family: Verdana;"><br />
<br />
Any training and lesson learn? What are the take-away so far? It would be very convincing if the knowledge is share at the wiki [[Knowledge_base | knowledge base]] and linked here.<br />
<br />
</div> <br />
<br />
=== Individual Reflections: ===<br />
<div style="font-family: Verdana;"><br />
<b>Amelia: </b><br />
<br />
<br> <br />
<b>Chin Rui: </b> <br />
<br />
<br> <br />
<b>Ervin: </b><br />
<br />
<br> <br />
<b>Ming Rui: </b><br />
<br />
<br> <br />
<br />
<b>Qimin: </b><br />
<br />
<br> <br />
<br />
<b>Ricky: </b><br />
<br> <br />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_Midterm_Wiki&diff=318818IS480 Team wiki:2017T2 Zenith Midterm Wiki2018-02-21T03:48:01Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | <br />
<br />
[[IS480 Team wiki: 2017T2T Zenith | <font color="#000000"><b>Main Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_Midterm Wiki | <font color="#000000"><b>Midterm Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_FinalWiki | <font color="#000000"><b>Final Wiki</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br><br />
[[File:Zenith_midterm_header.PNG|center|1000px]]<br />
<br />
<br />
<br />
==Project Progress Summary==<br />
===Midterm Slides===<br />
(insert link here)<br />
<br />
===Deployed site link===<br />
<center><br />
[[Image: Zenith deployment link.jpeg |600px|link=http://www.themedsense.com]]<br />
</center><br />
<br />
===Project Highlights===<br />
<div style="font-family: Verdana;"><br />
Our project schedule is divided into 13 iterations. <br />
* We are currently on our 9th iteration (12 Feb - 25 Feb 2018).<br />
* Up till 20 Feb 2018, we have completed <b>80.56</b>% of our development progress. <br />
* 1 User Acceptance Test was conducted before Midterms. The results are shown [[IS480_Team_wiki:2017T2 Zenith User Testing 1|here]]. <br />
* Achieved and exceeded [[IS480_Team_wiki:2017T2 Zenith_x-factor|Midterms X-factor]]. <br />
<br />
<br />
Unexpected events:<br />
* New team of clients.<br />
* Cancellation of one User Acceptance Test by clients due to busy schedules.<br />
* List of requirement changes after Acceptance can be viewed [[IS480_Team_wiki:2017T2_Zenith_change_management#Change log (till Midterms)| here]].<br />
</div><br />
<br />
==Project Management==<br />
<div style="font-family: Verdana;"><br />
<b>Iteration Progress:</b> 9 of 13<br/><br />
<b>Features Completion:</b> 80.56% (29 out of 36 features)<br/><br />
<b>Confidence Level:</b> 100%<br />
</div> <br />
<br />
===Project Status:===<br />
<br />
<div style="font-family: Verdana;"><br />
A breakdown of tasks is shown in our [[IS480_Team_wiki:2017T2 Zenith_project_scope|project scope]].<br />
</div> <br />
<br><br />
[[File:Zenith_midterm_scope.png|center|800px]]<br />
<br><br />
<br />
===Project Schedule (Plan Vs Actual):===<br />
<br />
====Milestones Overview:====<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable"<br />
|-<br />
! Planned (Acceptance) !! Actual (Midterms)<br />
|-<br />
|<br />
[[File:Zenith_midterm_planned_timeline.png|500px]]<br />
|| <br />
[[File:Zenith_midterm_actual_timeline.png|500px]]<br />
|}<br />
</center><br />
</div><br />
<br />
====Project Schedule:====<br />
<div style="font-family: Verdana;"><br />
Planned Schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_expected_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Changes in planned schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_changed_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Actual Schedule (Midterms)<br> <br><br />
[[File:Zenith_midterm_actual_schedule.png|center|900px]]<br />
</div><br />
<br />
===Project Metrics:===<br />
<br />
====Task metric====<br />
<div style="font-family: Verdana;"><br />
[[File:Zenith_midterms_task_metric.png|center|600px]]<br />
<br />
<!--Task Metric Table Start--><br />
{| class="wikitable" style=" background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | Score<br />
|style="text-align: center;" width="20%" | TM <= 50<br />
|style="text-align: center;" width="20%" | 50 < TM <= 75<br />
|style="text-align: center;" width="20%" | 75 < TM <= 125<br />
|style="text-align: center;" width="20%" | 125 < TM <= 150<br />
|style="text-align: center;" width="20%" | 150 > TM<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Action<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations. <br> 3. Consider dropping Tasks. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Deduct number of days behind from buffer days. <br> 3. If there are no more buffer days, decide the functionalities to drop. <br />
|style="text-align: left;vertical-align: top"| 1. Our estimates are fairly accurate, and are roughly on track. <br> 2. Add/deduct number of days ahead / behind from buffer days. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Add number of days ahead to buffer days.<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations.<br />
|-<br />
|}<br />
<!--Task Metric Table End--><br />
</div><br />
<br />
====Bug metric====<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith_midterm_bug_count.png|center|600px]]<br><br />
[[File: Zenith_midterm_bug_score.png|center|600px]]<br />
<br />
<center><b>Note:</b> There were no coding tasks for iteration 1. </center><br />
<br />
<br />
<!--Bug Score Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Severity<br />
|style="text-align: center;" width="30%" | Low Impact <br />
|style="text-align: center;" width="30%" | High Impact <br />
|style="text-align: center;" width="30%"| Critical Impact<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| User interface display errors, such as out of alignment, colour used is not according to theme. <br />
It does not affect the functionality of the system. <br />
|style="text-align: left;vertical-align: top"| The system is functional with some non-critical functionalities are not working.<br />
|style="text-align: left;vertical-align: top"| The system is not functional. <br />
Bugs have to be fixed before proceeding.<br />
|-<br />
|}<br />
<!--Bug Score Table End--><br />
<br />
<br />
<!--Bug Metric Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Points<br />
|style="text-align: center;" width="30%" | BM <= 5 <br />
|style="text-align: center;" width="30%" | 5 < BM < 10<br />
|style="text-align: center;" width="30%"| BM >= 10<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| The system does not need immediate fixing, could be fixed during buffer time or during coding sessions<br />
|style="text-align: left;vertical-align: top"| Coders to use planned debugging time in the iteration to solve the bug<br />
|style="text-align: left;vertical-align: top"| The team has to stop all current development and resolve the bug immediately<br />
|-<br />
|}<br />
<!--Bug Metric Table End--><br />
</div> <br />
<br />
<br />
<br><br />
<br />
===Project Risks:===<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith risk metric.png|center|600px]]<br />
<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Technical<br />
|style="text-align: left;vertical-align: center"| Ransomware attacks on Database<br />
|style="text-align: center;"| Low (but it happened)<br />
|style="text-align: center;"| High<br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: top"| System Architect to improve database security <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Organizational<br />
|style="text-align: left;vertical-align: center"| New members in NUS MedSense Team<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Project Manager will be in constant communication with new members, and will regularly review the scope with them. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| External<br />
|style="text-align: left;vertical-align: center"| Future developers unfamiliar with technologies used<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Provide proper documentation such as deployment guide and include comments in the codes. <br />
|-<br />
<br />
<br />
|style="text-align: center;"| 4<br />
|style="text-align: center;"| Project management<br />
|style="text-align: left;vertical-align: center"| Members falling sick or going overseas doing school period, reducing team's available manpower. This can cause a potential delays in the project <br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| C<br />
|style="text-align: left;vertical-align: center"| Team members should constantly check on the health and well-being of one another, as well as update the Project Manager of any overseas plans as early as possible<br />
|-<br />
|}<br />
<br><br />
</div><br />
<br><br />
<br />
===Technical Complexity:===<br />
<br />
====Natural Language Processing====<br />
<div style="font-family: Verdana;"><br />
Natural Language Processing, or NLP for short, is broadly defined as the automatic manipulation of natural language, like speech and text, by software. The study of natural language processing has been around for more than 50 years and grew out of the field of linguistics with the rise of computers.<br />
<br />
Our team decided to employ NLP techniques to perform automated marking for open ended questions. This benefits the user as professors do not need to mark each answer and students can receive immediate feedback with regards to their answers.<br />
<br />
Below are some of the techniques used:<br />
<br />
<b>Tokenization</b><br />
<br />
Given a character sequence and a defined document unit, tokenization is the task of chopping it up into pieces, called tokens , perhaps at the same time throwing away certain characters, such as punctuation. <br />
<br />
[[Image:Zenith tokenization.PNG|center|600px|link=]]<br />
<center>An example of tokenization. Library used: Natural for Nodejs https://github.com/NaturalNode/natural#tokenizers</center><br />
<br />
<b>Removing Stopwords</b><br />
<br />
Sometimes, some extremely common words which would appear to be of little value in helping select documents matching a user need are excluded from the vocabulary entirely. In natural language processing, Stopwords are words that are so frequent that they can safely be removed from a text without altering its meaning. Hence, for automated marking, we removed all common words from the submitted answer. Doing this significantly reduces the number of tokens our system has to match and store. <br />
<br />
<br />
[[Image:Zenith stopwords.png|center|600px|link=]]<br />
<center>An example of a stop list of 25 semantically non-selective words</center><br />
<br />
<b>Stemming</b><br />
<br />
For grammatical reasons, answers are going to use different forms of a word, such as organize, organizes, and organizing. Additionally, there are families of derivationally related words with similar meanings, such as democracy, democratic, and democratization. In these situations, we have to treat these words to be the same, as they have the same root meaning.<br />
<br />
The goal of both stemming is to reduce inflectional forms and sometimes derivationally related forms of a word to a common base form. <br />
<br />
We decided to use the Porter Stemming Algorithm (https://tartarus.org/martin/PorterStemmer/index.html) as it is the most popular algorithm for stemming English and has shown to be empirically very effective.<br />
<br />
Porter's algorithm consists of 5 phases of word reductions, applied sequentially. Within each phase there are various conventions to select rules, such as selecting the rule from each rule group that applies to the longest suffix. <br />
<br />
[[Image:Zenith stemming.png|center|500px|link=]]<br />
<center>Example of a rule in the Porter Stemming Algorithm</center><br />
</div> <br />
<br><br />
<br />
====Game development ====<br />
<div style="font-family: Verdana;"><br />
Together with the NUS team, we developed a few basic game rules. <br />
</div> <br />
<br> <br />
====Added security features====<br />
<div style="font-family: Verdana;"><br />
In December 2017, our MongoDB database was compromised and held hostage by ransomware. We were instructed to pay 0.1 bitcoin (USD $1594) for the return of our data. Fortunately, we had backed up the data so there was no need for us to pay the ransom. Since this incident, we have taken additional measures to ensure that this does not happen again.<br />
<br />
</div><br />
<br />
==Quality of product==<br />
<br />
===Intermediate Deliverables:===<br />
<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Stage <br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Specification<br />
|-<br />
<br />
|rowspan="6"| Project Management<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Management|Schedule]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_minutes|Minutes]] <br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Bug Metric|Bug metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Task Metric|Task metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_risk_management|Risk management]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_change_management|Change management]]<br />
|-<br />
<br />
<br />
|rowspan="3"| Requirements<br />
|| [[IS480 Team wiki: 2017T2 Zenith Overview | Overview]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_project_scope | Scope]]<br />
|-<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Documentation | Personas]]<br />
|-<br />
<br />
|rowspan="3"| Analysis<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Use Case Diagram | Use case diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Architecture Diagram | Architecture diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_technologies| Technologies used]]<br />
|-<br />
<br />
<br />
|rowspan="1"| Design<br />
|| [[IS480_Team_wiki:2017T2 Zenith_prototype |Prototypes]]<br />
|-<br />
<br />
|rowspan="1"| Testing<br />
|| [[IS480_Team_wiki:2017T2 Zenith User Testing 1 |User Acceptance Test 1 (11 - 13 Feb 2018)]]<br />
|-<br />
|}<br />
</center><br />
</div><br />
<br />
===Testing:===<br />
<br />
<div style="font-family: Verdana;"><br />
<br />
*Creation of test cases during development. <br />
*Functionality testing after completion of function. <br />
*Regression testing at the end of every iteration. <br />
*We expect to complete 2 UATs by the end of the project. <br />
*1 UAT has been completed before Midterms. To view the results of this UAT, [[IS480_Team_wiki:2017T2 Zenith User Testing 1|click here]]. <br />
<br />
</div><br />
<br />
==Reflections==<br />
<br />
===Team Reflection:===<br />
<div style="font-family: Verdana;"><br />
<br />
Any training and lesson learn? What are the take-away so far? It would be very convincing if the knowledge is share at the wiki [[Knowledge_base | knowledge base]] and linked here.<br />
<br />
</div> <br />
<br />
=== Individual Reflections: ===<br />
<div style="font-family: Verdana;"><br />
<b>Amelia: </b><br />
<br />
<br> <br />
<b>Chin Rui: </b> <br />
<br />
<br> <br />
<b>Ervin: </b><br />
<br />
<br> <br />
<b>Ming Rui: </b><br />
<br />
<br> <br />
<br />
<b>Qimin: </b><br />
<br />
<br> <br />
<br />
<b>Ricky: </b><br />
<br> <br />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_Midterm_Wiki&diff=318817IS480 Team wiki:2017T2 Zenith Midterm Wiki2018-02-21T03:47:44Z<p>Ervin.chong.2015: mid term risk</p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | <br />
<br />
[[IS480 Team wiki: 2017T2T Zenith | <font color="#000000"><b>Main Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_Midterm Wiki | <font color="#000000"><b>Midterm Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_FinalWiki | <font color="#000000"><b>Final Wiki</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br><br />
[[File:Zenith_midterm_header.PNG|center|1000px]]<br />
<br />
<br />
<br />
==Project Progress Summary==<br />
===Midterm Slides===<br />
(insert link here)<br />
<br />
===Deployed site link===<br />
<center><br />
[[Image: Zenith deployment link.jpeg |600px|link=http://www.themedsense.com]]<br />
</center><br />
<br />
===Project Highlights===<br />
<div style="font-family: Verdana;"><br />
Our project schedule is divided into 13 iterations. <br />
* We are currently on our 9th iteration (12 Feb - 25 Feb 2018).<br />
* Up till 20 Feb 2018, we have completed <b>80.56</b>% of our development progress. <br />
* 1 User Acceptance Test was conducted before Midterms. The results are shown [[IS480_Team_wiki:2017T2 Zenith User Testing 1|here]]. <br />
* Achieved and exceeded [[IS480_Team_wiki:2017T2 Zenith_x-factor|Midterms X-factor]]. <br />
<br />
<br />
Unexpected events:<br />
* New team of clients.<br />
* Cancellation of one User Acceptance Test by clients due to busy schedules.<br />
* List of requirement changes after Acceptance can be viewed [[IS480_Team_wiki:2017T2_Zenith_change_management#Change log (till Midterms)| here]].<br />
</div><br />
<br />
==Project Management==<br />
<div style="font-family: Verdana;"><br />
<b>Iteration Progress:</b> 9 of 13<br/><br />
<b>Features Completion:</b> 80.56% (29 out of 36 features)<br/><br />
<b>Confidence Level:</b> 100%<br />
</div> <br />
<br />
===Project Status:===<br />
<br />
<div style="font-family: Verdana;"><br />
A breakdown of tasks is shown in our [[IS480_Team_wiki:2017T2 Zenith_project_scope|project scope]].<br />
</div> <br />
<br><br />
[[File:Zenith_midterm_scope.png|center|800px]]<br />
<br><br />
<br />
===Project Schedule (Plan Vs Actual):===<br />
<br />
====Milestones Overview:====<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable"<br />
|-<br />
! Planned (Acceptance) !! Actual (Midterms)<br />
|-<br />
|<br />
[[File:Zenith_midterm_planned_timeline.png|500px]]<br />
|| <br />
[[File:Zenith_midterm_actual_timeline.png|500px]]<br />
|}<br />
</center><br />
</div><br />
<br />
====Project Schedule:====<br />
<div style="font-family: Verdana;"><br />
Planned Schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_expected_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Changes in planned schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_changed_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Actual Schedule (Midterms)<br> <br><br />
[[File:Zenith_midterm_actual_schedule.png|center|900px]]<br />
</div><br />
<br />
===Project Metrics:===<br />
<br />
====Task metric====<br />
<div style="font-family: Verdana;"><br />
[[File:Zenith_midterms_task_metric.png|center|600px]]<br />
<br />
<!--Task Metric Table Start--><br />
{| class="wikitable" style=" background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | Score<br />
|style="text-align: center;" width="20%" | TM <= 50<br />
|style="text-align: center;" width="20%" | 50 < TM <= 75<br />
|style="text-align: center;" width="20%" | 75 < TM <= 125<br />
|style="text-align: center;" width="20%" | 125 < TM <= 150<br />
|style="text-align: center;" width="20%" | 150 > TM<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Action<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations. <br> 3. Consider dropping Tasks. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Deduct number of days behind from buffer days. <br> 3. If there are no more buffer days, decide the functionalities to drop. <br />
|style="text-align: left;vertical-align: top"| 1. Our estimates are fairly accurate, and are roughly on track. <br> 2. Add/deduct number of days ahead / behind from buffer days. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Add number of days ahead to buffer days.<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations.<br />
|-<br />
|}<br />
<!--Task Metric Table End--><br />
</div><br />
<br />
====Bug metric====<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith_midterm_bug_count.png|center|600px]]<br><br />
[[File: Zenith_midterm_bug_score.png|center|600px]]<br />
<br />
<center><b>Note:</b> There were no coding tasks for iteration 1. </center><br />
<br />
<br />
<!--Bug Score Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Severity<br />
|style="text-align: center;" width="30%" | Low Impact <br />
|style="text-align: center;" width="30%" | High Impact <br />
|style="text-align: center;" width="30%"| Critical Impact<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| User interface display errors, such as out of alignment, colour used is not according to theme. <br />
It does not affect the functionality of the system. <br />
|style="text-align: left;vertical-align: top"| The system is functional with some non-critical functionalities are not working.<br />
|style="text-align: left;vertical-align: top"| The system is not functional. <br />
Bugs have to be fixed before proceeding.<br />
|-<br />
|}<br />
<!--Bug Score Table End--><br />
<br />
<br />
<!--Bug Metric Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Points<br />
|style="text-align: center;" width="30%" | BM <= 5 <br />
|style="text-align: center;" width="30%" | 5 < BM < 10<br />
|style="text-align: center;" width="30%"| BM >= 10<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| The system does not need immediate fixing, could be fixed during buffer time or during coding sessions<br />
|style="text-align: left;vertical-align: top"| Coders to use planned debugging time in the iteration to solve the bug<br />
|style="text-align: left;vertical-align: top"| The team has to stop all current development and resolve the bug immediately<br />
|-<br />
|}<br />
<!--Bug Metric Table End--><br />
</div> <br />
<br />
<br />
<br><br />
<br />
===Project Risks:===<br />
<div style="font-family: Verdana;"><br />
Update the proposal assumptions and risks. Describe what you learn from the risk update and mitigation steps taken. <br />
<br />
Be sure to prioritize the risks.<br />
<br />
[[File:Zenith risk metric.png|center|600px]]<br />
<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Technical<br />
|style="text-align: left;vertical-align: center"| Ransomware attacks on Database<br />
|style="text-align: center;"| Low (but it happened)<br />
|style="text-align: center;"| High<br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: top"| System Architect to improve database security <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Organizational<br />
|style="text-align: left;vertical-align: center"| New members in NUS MedSense Team<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Project Manager will be in constant communication with new members, and will regularly review the scope with them. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| External<br />
|style="text-align: left;vertical-align: center"| Future developers unfamiliar with technologies used<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Provide proper documentation such as deployment guide and include comments in the codes. <br />
|-<br />
<br />
<br />
|style="text-align: center;"| 4<br />
|style="text-align: center;"| Project management<br />
|style="text-align: left;vertical-align: center"| Members falling sick or going overseas doing school period, reducing team's available manpower. This can cause a potential delays in the project <br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| C<br />
|style="text-align: left;vertical-align: center"| Team members should constantly check on the health and well-being of one another, as well as update the Project Manager of any overseas plans as early as possible<br />
|-<br />
|}<br />
<br><br />
</div><br />
<br><br />
<br />
===Technical Complexity:===<br />
<br />
====Natural Language Processing====<br />
<div style="font-family: Verdana;"><br />
Natural Language Processing, or NLP for short, is broadly defined as the automatic manipulation of natural language, like speech and text, by software. The study of natural language processing has been around for more than 50 years and grew out of the field of linguistics with the rise of computers.<br />
<br />
Our team decided to employ NLP techniques to perform automated marking for open ended questions. This benefits the user as professors do not need to mark each answer and students can receive immediate feedback with regards to their answers.<br />
<br />
Below are some of the techniques used:<br />
<br />
<b>Tokenization</b><br />
<br />
Given a character sequence and a defined document unit, tokenization is the task of chopping it up into pieces, called tokens , perhaps at the same time throwing away certain characters, such as punctuation. <br />
<br />
[[Image:Zenith tokenization.PNG|center|600px|link=]]<br />
<center>An example of tokenization. Library used: Natural for Nodejs https://github.com/NaturalNode/natural#tokenizers</center><br />
<br />
<b>Removing Stopwords</b><br />
<br />
Sometimes, some extremely common words which would appear to be of little value in helping select documents matching a user need are excluded from the vocabulary entirely. In natural language processing, Stopwords are words that are so frequent that they can safely be removed from a text without altering its meaning. Hence, for automated marking, we removed all common words from the submitted answer. Doing this significantly reduces the number of tokens our system has to match and store. <br />
<br />
<br />
[[Image:Zenith stopwords.png|center|600px|link=]]<br />
<center>An example of a stop list of 25 semantically non-selective words</center><br />
<br />
<b>Stemming</b><br />
<br />
For grammatical reasons, answers are going to use different forms of a word, such as organize, organizes, and organizing. Additionally, there are families of derivationally related words with similar meanings, such as democracy, democratic, and democratization. In these situations, we have to treat these words to be the same, as they have the same root meaning.<br />
<br />
The goal of both stemming is to reduce inflectional forms and sometimes derivationally related forms of a word to a common base form. <br />
<br />
We decided to use the Porter Stemming Algorithm (https://tartarus.org/martin/PorterStemmer/index.html) as it is the most popular algorithm for stemming English and has shown to be empirically very effective.<br />
<br />
Porter's algorithm consists of 5 phases of word reductions, applied sequentially. Within each phase there are various conventions to select rules, such as selecting the rule from each rule group that applies to the longest suffix. <br />
<br />
[[Image:Zenith stemming.png|center|500px|link=]]<br />
<center>Example of a rule in the Porter Stemming Algorithm</center><br />
</div> <br />
<br><br />
<br />
====Game development ====<br />
<div style="font-family: Verdana;"><br />
Together with the NUS team, we developed a few basic game rules. <br />
</div> <br />
<br> <br />
====Added security features====<br />
<div style="font-family: Verdana;"><br />
In December 2017, our MongoDB database was compromised and held hostage by ransomware. We were instructed to pay 0.1 bitcoin (USD $1594) for the return of our data. Fortunately, we had backed up the data so there was no need for us to pay the ransom. Since this incident, we have taken additional measures to ensure that this does not happen again.<br />
<br />
</div><br />
<br />
==Quality of product==<br />
<br />
===Intermediate Deliverables:===<br />
<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Stage <br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Specification<br />
|-<br />
<br />
|rowspan="6"| Project Management<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Management|Schedule]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_minutes|Minutes]] <br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Bug Metric|Bug metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Task Metric|Task metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_risk_management|Risk management]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_change_management|Change management]]<br />
|-<br />
<br />
<br />
|rowspan="3"| Requirements<br />
|| [[IS480 Team wiki: 2017T2 Zenith Overview | Overview]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_project_scope | Scope]]<br />
|-<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Documentation | Personas]]<br />
|-<br />
<br />
|rowspan="3"| Analysis<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Use Case Diagram | Use case diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Architecture Diagram | Architecture diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_technologies| Technologies used]]<br />
|-<br />
<br />
<br />
|rowspan="1"| Design<br />
|| [[IS480_Team_wiki:2017T2 Zenith_prototype |Prototypes]]<br />
|-<br />
<br />
|rowspan="1"| Testing<br />
|| [[IS480_Team_wiki:2017T2 Zenith User Testing 1 |User Acceptance Test 1 (11 - 13 Feb 2018)]]<br />
|-<br />
|}<br />
</center><br />
</div><br />
<br />
===Testing:===<br />
<br />
<div style="font-family: Verdana;"><br />
<br />
*Creation of test cases during development. <br />
*Functionality testing after completion of function. <br />
*Regression testing at the end of every iteration. <br />
*We expect to complete 2 UATs by the end of the project. <br />
*1 UAT has been completed before Midterms. To view the results of this UAT, [[IS480_Team_wiki:2017T2 Zenith User Testing 1|click here]]. <br />
<br />
</div><br />
<br />
==Reflections==<br />
<br />
===Team Reflection:===<br />
<div style="font-family: Verdana;"><br />
<br />
Any training and lesson learn? What are the take-away so far? It would be very convincing if the knowledge is share at the wiki [[Knowledge_base | knowledge base]] and linked here.<br />
<br />
</div> <br />
<br />
=== Individual Reflections: ===<br />
<div style="font-family: Verdana;"><br />
<b>Amelia: </b><br />
<br />
<br> <br />
<b>Chin Rui: </b> <br />
<br />
<br> <br />
<b>Ervin: </b><br />
<br />
<br> <br />
<b>Ming Rui: </b><br />
<br />
<br> <br />
<br />
<b>Qimin: </b><br />
<br />
<br> <br />
<br />
<b>Ricky: </b><br />
<br> <br />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_Midterm_Wiki&diff=318815IS480 Team wiki:2017T2 Zenith Midterm Wiki2018-02-21T03:33:50Z<p>Ervin.chong.2015: nlp tech complexity</p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | <br />
<br />
[[IS480 Team wiki: 2017T2T Zenith | <font color="#000000"><b>Main Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_Midterm Wiki | <font color="#000000"><b>Midterm Wiki</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_FinalWiki | <font color="#000000"><b>Final Wiki</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br><br />
[[File:Zenith_midterm_header.PNG|center|1000px]]<br />
<br />
<br />
<br />
==Project Progress Summary==<br />
===Midterm Slides===<br />
(insert link here)<br />
<br />
===Deployed site link===<br />
<center><br />
[[Image: Zenith deployment link.jpeg |600px|link=http://www.themedsense.com]]<br />
</center><br />
<br />
===Project Highlights===<br />
<div style="font-family: Verdana;"><br />
Our project schedule is divided into 13 iterations. <br />
* We are currently on our 9th iteration (12 Feb - 25 Feb 2018).<br />
* Up till 20 Feb 2018, we have completed <b>80.56</b>% of our development progress. <br />
* 1 User Acceptance Test was conducted before Midterms. The results are shown [[IS480_Team_wiki:2017T2 Zenith User Testing 1|here]]. <br />
* Achieved and exceeded [[IS480_Team_wiki:2017T2 Zenith_x-factor|Midterms X-factor]]. <br />
<br />
<br />
Unexpected events:<br />
* New team of clients.<br />
* Cancellation of one User Acceptance Test by clients due to busy schedules.<br />
* List of requirement changes after Acceptance can be viewed [[IS480_Team_wiki:2017T2_Zenith_change_management#Change log (till Midterms)| here]].<br />
</div><br />
<br />
==Project Management==<br />
<div style="font-family: Verdana;"><br />
<b>Iteration Progress:</b> 9 of 13<br/><br />
<b>Features Completion:</b> 80.56% (29 out of 36 features)<br/><br />
<b>Confidence Level:</b> 100%<br />
</div> <br />
<br />
===Project Status:===<br />
<br />
<div style="font-family: Verdana;"><br />
A breakdown of tasks is shown in our [[IS480_Team_wiki:2017T2 Zenith_project_scope|project scope]].<br />
</div> <br />
<br><br />
[[File:Zenith_midterm_scope.png|center|800px]]<br />
<br><br />
<br />
===Project Schedule (Plan Vs Actual):===<br />
<br />
====Milestones Overview:====<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable"<br />
|-<br />
! Planned (Acceptance) !! Actual (Midterms)<br />
|-<br />
|<br />
[[File:Zenith_midterm_planned_timeline.png|500px]]<br />
|| <br />
[[File:Zenith_midterm_actual_timeline.png|500px]]<br />
|}<br />
</center><br />
</div><br />
<br />
====Project Schedule:====<br />
<div style="font-family: Verdana;"><br />
Planned Schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_expected_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Changes in planned schedule (Acceptance)<br> <br><br />
[[File:Zenith_midterm_changed_schedule.png|center|900px]]<br />
<br />
<br><br><br />
<br />
Actual Schedule (Midterms)<br> <br><br />
[[File:Zenith_midterm_actual_schedule.png|center|900px]]<br />
</div><br />
<br />
===Project Metrics:===<br />
<br />
====Task metric====<br />
<div style="font-family: Verdana;"><br />
[[File:Zenith_midterms_task_metric.png|center|600px]]<br />
<br />
<!--Task Metric Table Start--><br />
{| class="wikitable" style=" background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | Score<br />
|style="text-align: center;" width="20%" | TM <= 50<br />
|style="text-align: center;" width="20%" | 50 < TM <= 75<br />
|style="text-align: center;" width="20%" | 75 < TM <= 125<br />
|style="text-align: center;" width="20%" | 125 < TM <= 150<br />
|style="text-align: center;" width="20%" | 150 > TM<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Action<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations. <br> 3. Consider dropping Tasks. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Deduct number of days behind from buffer days. <br> 3. If there are no more buffer days, decide the functionalities to drop. <br />
|style="text-align: left;vertical-align: top"| 1. Our estimates are fairly accurate, and are roughly on track. <br> 2. Add/deduct number of days ahead / behind from buffer days. <br />
|style="text-align: left;vertical-align: top"| 1. Re-estimate tasks for future iterations. <br> 2. Add number of days ahead to buffer days.<br />
|style="text-align: left;vertical-align: top"| 1. Inform supervisor within 24 hours. <br> 2. Re-estimate tasks for future iterations.<br />
|-<br />
|}<br />
<!--Task Metric Table End--><br />
</div><br />
<br />
====Bug metric====<br />
<div style="font-family: Verdana;"><br />
<br />
[[File:Zenith_midterm_bug_count.png|center|600px]]<br><br />
[[File: Zenith_midterm_bug_score.png|center|600px]]<br />
<br />
<center><b>Note:</b> There were no coding tasks for iteration 1. </center><br />
<br />
<br />
<!--Bug Score Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Severity<br />
|style="text-align: center;" width="30%" | Low Impact <br />
|style="text-align: center;" width="30%" | High Impact <br />
|style="text-align: center;" width="30%"| Critical Impact<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| User interface display errors, such as out of alignment, colour used is not according to theme. <br />
It does not affect the functionality of the system. <br />
|style="text-align: left;vertical-align: top"| The system is functional with some non-critical functionalities are not working.<br />
|style="text-align: left;vertical-align: top"| The system is not functional. <br />
Bugs have to be fixed before proceeding.<br />
|-<br />
|}<br />
<!--Bug Score Table End--><br />
<br />
<br />
<!--Bug Metric Table Start--><br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 500px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="10%" | Points<br />
|style="text-align: center;" width="30%" | BM <= 5 <br />
|style="text-align: center;" width="30%" | 5 < BM < 10<br />
|style="text-align: center;" width="30%"| BM >= 10<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" | Description<br />
|style="text-align: left;vertical-align: top"| The system does not need immediate fixing, could be fixed during buffer time or during coding sessions<br />
|style="text-align: left;vertical-align: top"| Coders to use planned debugging time in the iteration to solve the bug<br />
|style="text-align: left;vertical-align: top"| The team has to stop all current development and resolve the bug immediately<br />
|-<br />
|}<br />
<!--Bug Metric Table End--><br />
</div> <br />
<br />
<br />
<br><br />
<br />
===Project Risks:===<br />
<div style="font-family: Verdana;"><br />
Update the proposal assumptions and risks. Describe what you learn from the risk update and mitigation steps taken. <br />
<br />
Be sure to prioritize the risks.<br />
</div><br />
<br><br />
<br />
===Technical Complexity:===<br />
<br />
====Natural Language Processing====<br />
<div style="font-family: Verdana;"><br />
Natural Language Processing, or NLP for short, is broadly defined as the automatic manipulation of natural language, like speech and text, by software. The study of natural language processing has been around for more than 50 years and grew out of the field of linguistics with the rise of computers.<br />
<br />
Our team decided to employ NLP techniques to perform automated marking for open ended questions. This benefits the user as professors do not need to mark each answer and students can receive immediate feedback with regards to their answers.<br />
<br />
Below are some of the techniques used:<br />
<br />
<b>Tokenization</b><br />
<br />
Given a character sequence and a defined document unit, tokenization is the task of chopping it up into pieces, called tokens , perhaps at the same time throwing away certain characters, such as punctuation. <br />
<br />
[[Image:Zenith tokenization.PNG|center|600px|link=]]<br />
<center>An example of tokenization. Library used: Natural for Nodejs https://github.com/NaturalNode/natural#tokenizers</center><br />
<br />
<b>Removing Stopwords</b><br />
<br />
Sometimes, some extremely common words which would appear to be of little value in helping select documents matching a user need are excluded from the vocabulary entirely. In natural language processing, Stopwords are words that are so frequent that they can safely be removed from a text without altering its meaning. Hence, for automated marking, we removed all common words from the submitted answer. Doing this significantly reduces the number of tokens our system has to match and store. <br />
<br />
<br />
[[Image:Zenith stopwords.png|center|600px|link=]]<br />
<center>An example of a stop list of 25 semantically non-selective words</center><br />
<br />
<b>Stemming</b><br />
<br />
For grammatical reasons, answers are going to use different forms of a word, such as organize, organizes, and organizing. Additionally, there are families of derivationally related words with similar meanings, such as democracy, democratic, and democratization. In these situations, we have to treat these words to be the same, as they have the same root meaning.<br />
<br />
The goal of both stemming is to reduce inflectional forms and sometimes derivationally related forms of a word to a common base form. <br />
<br />
We decided to use the Porter Stemming Algorithm (https://tartarus.org/martin/PorterStemmer/index.html) as it is the most popular algorithm for stemming English and has shown to be empirically very effective.<br />
<br />
Porter's algorithm consists of 5 phases of word reductions, applied sequentially. Within each phase there are various conventions to select rules, such as selecting the rule from each rule group that applies to the longest suffix. <br />
<br />
[[Image:Zenith stemming.png|center|500px|link=]]<br />
<center>Example of a rule in the Porter Stemming Algorithm</center><br />
</div> <br />
<br><br />
<br />
====Game development ====<br />
<div style="font-family: Verdana;"><br />
Together with the NUS team, we developed a few basic game rules. <br />
</div> <br />
<br> <br />
====Added security features====<br />
<div style="font-family: Verdana;"><br />
In December 2017, our MongoDB database was compromised and held hostage by ransomware. We were instructed to pay 0.1 bitcoin (USD $1594) for the return of our data. Fortunately, we had backed up the data so there was no need for us to pay the ransom. Since this incident, we have taken additional measures to ensure that this does not happen again.<br />
<br />
</div><br />
<br />
==Quality of product==<br />
<br />
===Intermediate Deliverables:===<br />
<br />
<div style="font-family: Verdana;"><br />
<center> <br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Stage <br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Specification<br />
|-<br />
<br />
|rowspan="6"| Project Management<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Management|Schedule]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_minutes|Minutes]] <br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Bug Metric|Bug metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_metrics#Task Metric|Task metrics]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_risk_management|Risk management]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_change_management|Change management]]<br />
|-<br />
<br />
<br />
|rowspan="3"| Requirements<br />
|| [[IS480 Team wiki: 2017T2 Zenith Overview | Overview]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_project_scope | Scope]]<br />
|-<br />
|| [[IS480 Team wiki: 2017T2_Zenith_Documentation | Personas]]<br />
|-<br />
<br />
|rowspan="3"| Analysis<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Use Case Diagram | Use case diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_diagrams#Architecture Diagram | Architecture diagram]]<br />
|-<br />
|| [[IS480_Team_wiki:2017T2 Zenith_technologies| Technologies used]]<br />
|-<br />
<br />
<br />
|rowspan="1"| Design<br />
|| [[IS480_Team_wiki:2017T2 Zenith_prototype |Prototypes]]<br />
|-<br />
<br />
|rowspan="1"| Testing<br />
|| [[IS480_Team_wiki:2017T2 Zenith User Testing 1 |User Acceptance Test 1 (11 - 13 Feb 2018)]]<br />
|-<br />
|}<br />
</center><br />
</div><br />
<br />
===Testing:===<br />
<br />
<div style="font-family: Verdana;"><br />
<br />
*Creation of test cases during development. <br />
*Functionality testing after completion of function. <br />
*Regression testing at the end of every iteration. <br />
*We expect to complete 2 UATs by the end of the project. <br />
*1 UAT has been completed before Midterms. To view the results of this UAT, [[IS480_Team_wiki:2017T2 Zenith User Testing 1|click here]]. <br />
<br />
</div><br />
<br />
==Reflections==<br />
<br />
===Team Reflection:===<br />
<div style="font-family: Verdana;"><br />
<br />
Any training and lesson learn? What are the take-away so far? It would be very convincing if the knowledge is share at the wiki [[Knowledge_base | knowledge base]] and linked here.<br />
<br />
</div> <br />
<br />
=== Individual Reflections: ===<br />
<div style="font-family: Verdana;"><br />
<b>Amelia: </b><br />
<br />
<br> <br />
<b>Chin Rui: </b> <br />
<br />
<br> <br />
<b>Ervin: </b><br />
<br />
<br> <br />
<b>Ming Rui: </b><br />
<br />
<br> <br />
<br />
<b>Qimin: </b><br />
<br />
<br> <br />
<br />
<b>Ricky: </b><br />
<br> <br />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=File:Zenith_stemming.png&diff=318814File:Zenith stemming.png2018-02-21T03:30:50Z<p>Ervin.chong.2015: </p>
<hr />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=File:Zenith_tokenization.PNG&diff=318813File:Zenith tokenization.PNG2018-02-21T03:13:19Z<p>Ervin.chong.2015: </p>
<hr />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=File:Zenith_stopwords.png&diff=318812File:Zenith stopwords.png2018-02-21T03:12:50Z<p>Ervin.chong.2015: </p>
<hr />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_risk_management&diff=318535IS480 Team wiki:2017T2 Zenith risk management2018-02-19T18:06:57Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="12.5%" | [[IS480 Team wiki: 2017T2_Zenith_Management | <font color="#000000"><b>Project Schedule</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="12.5%" | [[IS480_Team_wiki:2017T2 Zenith_metrics | <font color="#000000"><b>Metrics</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="12.5%" | [[IS480_Team_wiki:2017T2 Zenith_risk_management | <font color="#000000"><b>Risk Management</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="12.5%" | [[IS480_Team_wiki:2017T2 Zenith_change_management | <font color="#000000"><b>Change Management</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br />
<!--content start--><br />
<br />
<br><br />
[[File:Zenith risk header.png|center|1000px]]<br />
<br />
<br />
<br />
[[File:Zenith risk metric.png|center|600px]]<br />
<br />
__FORCETOC__<br />
<br />
==Potential Risks==<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Technical<br />
|style="text-align: left;vertical-align: top"| Team is unfamiliar with some of the technology used (React framework, machine learning, NLP).<br />
|style="text-align: center;"| High<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| A<br />
|style="text-align: left;vertical-align: top"| Team members will actively learn and discuss. Project Manager will assign more time to unfamiliar tasks. <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Client Management<br />
|style="text-align: left;vertical-align: top"| Unexpected changes in client requirements, or growth of scope (eg. Change in gamification will be time-consuming to change).<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: top"| Project Manager will be in constant communication with the sponsors and clients, and will regularly review the scope with them. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: top"| The schedule is planned based on macro functionalities, so small coding tasks may have been left out / time is underestimated due to lack of experience. <br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| C<br />
|style="text-align: left;vertical-align: top"|Project Manager will review the project schedule and the time needed for each task, and make changes when necessary. <br />
|-<br />
|}<br />
<br><br />
<br />
==Risks Identified (Mid-Term)==<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Technical<br />
|style="text-align: left;vertical-align: center"| Ransomware attacks on Database<br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| High<br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: top"| System Architect to improve database security <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Organizational<br />
|style="text-align: left;vertical-align: center"| New members in NUS MedSense Team<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Project Manager will be in constant communication with new members, and will regularly review the scope with them. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| External<br />
|style="text-align: left;vertical-align: center"| Future developers unfamiliar with technologies used<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Provide proper documentation such as deployment guide and include comments in the codes. <br />
|-<br />
|}<br />
<br><br />
<br />
==Challenges Faced==<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Client Management <br />
|style="text-align: left;vertical-align: top"| The clients are very busy as they are doctors and medical students. It is hard to arrange meetings to update them and gather their feedback. It is especially difficult to meet more than one doctor at a time, due to their busy schedules. <br />
|style="text-align: center;"| High<br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: top"| The team will have to be more flexible in terms of meeting timings, and will likely go down to the hospitals to meet the clients. <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: top"| Team members have other projects to work on, and some have term-time internship commitments. It can get difficult to arrange meeting times. <br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| C<br />
|style="text-align: left;vertical-align: top"| Team members will regularly update the team calendar on when they are unavailable for meetings. Project Manager will select a timing that best fits the group, at least one week in advance. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: top"| Team members feel overwhelmed by the workload, and feel that they are increasingly burned out. <br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| C<br />
|style="text-align: left;vertical-align: top"| Team members decided to drop one module this semester, and take only 4 modules during the FYP semester. This will lighten the workload, and let us have more time to focus on our project. <br />
|-<br />
<br />
|}<br />
<br />
<br />
<!--content end--></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_risk_management&diff=318534IS480 Team wiki:2017T2 Zenith risk management2018-02-19T18:06:22Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="12.5%" | [[IS480 Team wiki: 2017T2_Zenith_Management | <font color="#000000"><b>Project Schedule</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="12.5%" | [[IS480_Team_wiki:2017T2 Zenith_metrics | <font color="#000000"><b>Metrics</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="12.5%" | [[IS480_Team_wiki:2017T2 Zenith_risk_management | <font color="#000000"><b>Risk Management</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="12.5%" | [[IS480_Team_wiki:2017T2 Zenith_change_management | <font color="#000000"><b>Change Management</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br />
<!--content start--><br />
<br />
<br><br />
[[File:Zenith risk header.png|center|1000px]]<br />
<br />
<br />
<br />
[[File:Zenith risk metric.png|center|600px]]<br />
<br />
__FORCETOC__<br />
<br />
==Potential Risks==<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Technical<br />
|style="text-align: left;vertical-align: top"| Team is unfamiliar with some of the technology used (React framework, machine learning, NLP).<br />
|style="text-align: center;"| High<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| A<br />
|style="text-align: left;vertical-align: top"| Team members will actively learn and discuss. Project Manager will assign more time to unfamiliar tasks. <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Client Management<br />
|style="text-align: left;vertical-align: top"| Unexpected changes in client requirements, or growth of scope (eg. Change in gamification will be time-consuming to change).<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: top"| Project Manager will be in constant communication with the sponsors and clients, and will regularly review the scope with them. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: top"| The schedule is planned based on macro functionalities, so small coding tasks may have been left out / time is underestimated due to lack of experience. <br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| C<br />
|style="text-align: left;vertical-align: top"|Project Manager will review the project schedule and the time needed for each task, and make changes when necessary. <br />
|-<br />
|}<br />
<br><br />
<br />
==Risks Identified (Mid-Term)==<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Technical<br />
|style="text-align: left;vertical-align: center"| Ransomware attacks on Database<br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| High<br />
|style="text-align: center;"| A<br />
|style="text-align: left;vertical-align: top"| System Architect to improve database security <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Organizational<br />
|style="text-align: left;vertical-align: center"| New members in NUS MedSense Team<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Project Manager will be in constant communication with new members, and will regularly review the scope with them. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| External<br />
|style="text-align: left;vertical-align: center"| Future developers unfamiliar with technologies used<br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Medium <br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: center"| Provide proper documentation such as deployment guide and include comments in the codes. <br />
|-<br />
|}<br />
<br><br />
<br />
==Challenges Faced==<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Risk Type<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Description<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Likelihood<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Impact Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Threat Level<br />
! style="color:#ecf0f1; background-color:#404040;" width="275pt" | Mitigation Plan<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| Client Management <br />
|style="text-align: left;vertical-align: top"| The clients are very busy as they are doctors and medical students. It is hard to arrange meetings to update them and gather their feedback. It is especially difficult to meet more than one doctor at a time, due to their busy schedules. <br />
|style="text-align: center;"| High<br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| B<br />
|style="text-align: left;vertical-align: top"| The team will have to be more flexible in terms of meeting timings, and will likely go down to the hospitals to meet the clients. <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: top"| Team members have other projects to work on, and some have term-time internship commitments. It can get difficult to arrange meeting times. <br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| C<br />
|style="text-align: left;vertical-align: top"| Team members will regularly update the team calendar on when they are unavailable for meetings. Project Manager will select a timing that best fits the group, at least one week in advance. <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| Project Management<br />
|style="text-align: left;vertical-align: top"| Team members feel overwhelmed by the workload, and feel that they are increasingly burned out. <br />
|style="text-align: center;"| Medium<br />
|style="text-align: center;"| Low<br />
|style="text-align: center;"| C<br />
|style="text-align: left;vertical-align: top"| Team members decided to drop one module this semester, and take only 4 modules during the FYP semester. This will lighten the workload, and let us have more time to focus on our project. <br />
|-<br />
<br />
|}<br />
<br />
<br />
<!--content end--></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=File:Overall_rating.png&diff=318525File:Overall rating.png2018-02-19T17:33:39Z<p>Ervin.chong.2015: </p>
<hr />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_User_Testing_1&diff=318524IS480 Team wiki:2017T2 Zenith User Testing 12018-02-19T17:15:56Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480 Team wiki: 2017T2_Zenith_Documentation | <font color="#000000"><b>Personas</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_prototype | <font color="#000000"><b>Prototypes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_minutes | <font color="#000000"><b>Meeting Minutes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_diagrams | <font color="#000000"><b>Diagrams</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_technologies | <font color="#000000"><b>Technologies</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_user_testing | <font color="#000000"><b>User Testing</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_deliverables | <font color="#000000"><b>Deliverables</b></font>]]<br />
<br />
|}<br />
<br> <br />
<br />
<!-- Content Start--> <br />
==Test Plan==<br />
<div style="font-family: Verdana;"><br />
<p><br />
<b>Venue:</b> Singapore General Hospital<br/><br />
<b>Date:</b> 9 - 13 February 2018<br/><br />
<b>Duration:</b> ~ 30 minutes per user<br/><br />
<b>Number of Participants:</b> 46 <br/><br />
<b>User Test:</b> Instructions can be found here: <br/><br />
[[Media: zenith_uat1_admin.docx|UAT 1 Admin Instructions]] <br/><br />
[[Media: zenith_uat1_prof.docx|UAT 1 Professor Instructions]] <br/><br />
[[Media: zenith_uat_student.docx|UAT 1 Student Instructions]] <br/><br />
<br />
</p><br />
</div><br />
<br />
==Demographics of participants==<br />
<br />
<center><br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Role<br />
! style="color:#ecf0f1; background-color:#565656;" width="500pt" | Number of participants<br />
|-<br />
<br />
|style="text-align: center;"| Students, year 2 <br />
|style="text-align: center;"| 2<br />
|-<br />
<br />
|style="text-align: center;"| Students, year 3 <br />
|style="text-align: center;"| 15<br />
|-<br />
<br />
|style="text-align: center;"| Students, year 4 <br />
|style="text-align: center;"| 25<br />
|-<br />
<br />
|style="text-align: center;"| Admin<br />
|style="text-align: center;"| 4<br />
|-<br />
<br />
|}<br />
[[Image:zenith_uat1.jpg|center|700px|link=]]<br />
</center><br />
<br />
==Objectives==<br />
<div style="font-family: Verdana"><br />
<p><br />
<ul><br />
<li>Determine if user interface is intuitive</li><br />
<li>Discover usability problem which users might face</li><br />
<li>Evaluate accuracy of case marking module</li><br />
</ul><br />
</p><br />
</div><br />
<br />
==Scope==<br />
<div style="font-family: Verdana"><br />
<p><br />
<ul><br />
<b>Admin</b><br />
<li>Create student accounts</li><br />
<li>Create Professor accounts</li><br />
<li>Search users</li><br />
<li>Delete users</li><br />
<li>Search cases</li><br />
<li>Delete cases</li><br />
<b>Professor</b><br />
<li>Upload cases</li><br />
<li>Vet cases</li><br />
<b>Students</b><br />
<li>Login to accounts</li><br />
<li>Update user profiles</li><br />
<li>Upload cases</li><br />
<li>Search for games</li><br />
<li>Play games</li><br />
<li>Marking for MCQ questions</li><br />
<li>Marking for open-ended questions</li><br />
</ul><br />
</p><br />
</div><br />
<br />
==Procedures==<br />
<div style="font-family: Verdana"><br />
<p><br />
<br />
Participants will be given a consent form prior to the user testing. Once signed, they will be handed the study tasks instructions. We will encourage them to think aloud and ask questions as they attempt to complete the tasks, and note down the participant's comments. Participants will complete a post-test questionnaire at the end of their user testing.<br />
<br />
==Key Findings==<br />
<br />
<br/><br />
<center><br />
{| class="wikitable" style="background-color:#FFFFFF; width: 800px;" align="center"<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="100pt" | User<br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Likes<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Dislikes<br />
|-<br />
<br />
|style="text-align: center;"| Admin<br />
|style="text-align: center;"|<br />
Simple and neat design <br/><br />
Search functions are useful <br/><br />
Easy to create and delete users <br/><br />
<br />
|style="text-align: center;"| <br />
Add instructions <br/><br />
Needs clear filter button <br/><br />
Plain Design <br/><br />
Prompt before deleting <br/><br />
|-<br />
<br />
|style="text-align: center;"| Professors<br />
|style="text-align: center;"|<br />
Easy to vet cases <br/><br />
User friendly layout <br/><br />
Easy to upload a case <br/><br />
Simple and clean design <br/><br />
<br />
|style="text-align: center;"| <br />
Hard to re-upload images <br/><br />
Size for MEQ questions too small <br/><br />
Display all fields in "story so far" <br/><br />
|-<br />
<br />
|style="text-align: center;"| Students<br />
|style="text-align: center;"|<br />
Very user friendly <br/><br />
Intuitive ans straightforward design <br/><br />
Easy to upload cases <br/><br />
Simple and clean design <br/><br />
Familiar format of cases <br/><br />
<br />
|style="text-align: center;"| <br />
Unfair/inflexible grading <br/><br />
Problems uploading profile picture <br/><br />
Too much scrolling <br/><br />
Answer key not responsive <br/><br />
|-<br />
<br />
|}<br />
</center><br />
<br />
==Overall Results==<br />
<br/><br />
<center><br />
[[File:Zenith Overall rating.png|600px]]<br />
</center><br />
<br />
<br />
<!-- Content End--></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=File:Zenith_Overall_rating.png&diff=318523File:Zenith Overall rating.png2018-02-19T17:13:43Z<p>Ervin.chong.2015: </p>
<hr />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_User_Testing_1&diff=318518IS480 Team wiki:2017T2 Zenith User Testing 12018-02-19T16:47:12Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480 Team wiki: 2017T2_Zenith_Documentation | <font color="#000000"><b>Personas</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_prototype | <font color="#000000"><b>Prototypes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_minutes | <font color="#000000"><b>Meeting Minutes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_diagrams | <font color="#000000"><b>Diagrams</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_technologies | <font color="#000000"><b>Technologies</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_user_testing | <font color="#000000"><b>User Testing</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_deliverables | <font color="#000000"><b>Deliverables</b></font>]]<br />
<br />
|}<br />
<br> <br />
<br />
<!-- Content Start--> <br />
==Test Plan==<br />
<div style="font-family: Verdana;"><br />
<p><br />
<b>Venue:</b> Singapore General Hospital<br/><br />
<b>Date:</b> 9 - 13 February 2018<br/><br />
<b>Duration:</b> ~ 30 minutes per user<br/><br />
<b>Number of Participants:</b> 46 <br/><br />
<b>User Test:</b> Instructions can be found here: <br/><br />
[[Media: zenith_uat1_admin.docx|UAT 1 Admin Instructions]] <br/><br />
[[Media: zenith_uat1_prof.docx|UAT 1 Professor Instructions]] <br/><br />
[[Media: zenith_uat_student.docx|UAT 1 Student Instructions]] <br/><br />
<br />
</p><br />
</div><br />
<br />
==Demographics of participants==<br />
<br />
<center><br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Role<br />
! style="color:#ecf0f1; background-color:#565656;" width="500pt" | Number of participants<br />
|-<br />
<br />
|style="text-align: center;"| Students, year 2 <br />
|style="text-align: center;"| 2<br />
|-<br />
<br />
|style="text-align: center;"| Students, year 3 <br />
|style="text-align: center;"| 15<br />
|-<br />
<br />
|style="text-align: center;"| Students, year 4 <br />
|style="text-align: center;"| 25<br />
|-<br />
<br />
|style="text-align: center;"| Admin<br />
|style="text-align: center;"| 4<br />
|-<br />
<br />
|}<br />
[[Image:zenith_uat1.jpg|center|700px|link=]]<br />
</center><br />
<br />
==Objectives==<br />
<div style="font-family: Verdana"><br />
<p><br />
<ul><br />
<li>Determine if user interface is intuitive</li><br />
<li>Discover usability problem which users might face</li><br />
<li>Evaluate accuracy of case marking module</li><br />
</ul><br />
</p><br />
</div><br />
<br />
==Scope==<br />
<div style="font-family: Verdana"><br />
<p><br />
<ul><br />
<b>Admin</b><br />
<li>Create student accounts</li><br />
<li>Create Professor accounts</li><br />
<li>Search users</li><br />
<li>Delete users</li><br />
<li>Search cases</li><br />
<li>Delete cases</li><br />
<b>Professor</b><br />
<li>Upload cases</li><br />
<li>Vet cases</li><br />
<b>Students</b><br />
<li>Login to accounts</li><br />
<li>Update user profiles</li><br />
<li>Upload cases</li><br />
<li>Search for games</li><br />
<li>Play games</li><br />
<li>Marking for MCQ questions</li><br />
<li>Marking for open-ended questions</li><br />
</ul><br />
</p><br />
</div><br />
<br />
==Procedures==<br />
<div style="font-family: Verdana"><br />
<p><br />
<br />
Participants will be given a consent form prior to the user testing. Once signed, they will be handed the study tasks instructions. We will encourage them to think aloud and ask questions as they attempt to complete the tasks, and note down the participant's comments. Participants will complete a post-test questionnaire at the end of their user testing.<br />
<br />
==Key Findings==<br />
<br />
<br/><br />
<center><br />
{| class="wikitable" style="background-color:#FFFFFF; width: 800px;" align="center"<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="100pt" | User<br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Likes<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Dislikes<br />
|-<br />
<br />
|style="text-align: center;"| Admin<br />
|style="text-align: center;"|<br />
Simple and neat design <br/><br />
Search functions are useful <br/><br />
Easy to create and delete users <br/><br />
<br />
|style="text-align: center;"| <br />
Add instructions <br/><br />
Needs clear filter button <br/><br />
Plain Design <br/><br />
Prompt before deleting <br/><br />
|-<br />
<br />
|style="text-align: center;"| Professors<br />
|style="text-align: center;"|<br />
Easy to vet cases <br/><br />
User friendly layout <br/><br />
Easy to upload a case <br/><br />
Simple and clean design <br/><br />
<br />
|style="text-align: center;"| <br />
Hard to re-upload images <br/><br />
Size for MEQ questions too small <br/><br />
Display all fields in "story so far" <br/><br />
|-<br />
<br />
|style="text-align: center;"| Students<br />
|style="text-align: center;"|<br />
Very user friendly <br/><br />
Intuitive ans straightforward design <br/><br />
Easy to upload cases <br/><br />
Simple and clean design <br/><br />
Familiar format of cases <br/><br />
<br />
|style="text-align: center;"| <br />
Unfair/inflexible grading <br/><br />
Problems uploading profile picture <br/><br />
Too much scrolling <br/><br />
Answer key not responsive <br/><br />
|-<br />
<br />
|}<br />
</center><br />
<br />
==Overall Results==<br />
<br />
<br />
<br />
<br />
<!-- Content End--></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_User_Testing_1&diff=318517IS480 Team wiki:2017T2 Zenith User Testing 12018-02-19T16:46:43Z<p>Ervin.chong.2015: key findings</p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480 Team wiki: 2017T2_Zenith_Documentation | <font color="#000000"><b>Personas</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_prototype | <font color="#000000"><b>Prototypes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_minutes | <font color="#000000"><b>Meeting Minutes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_diagrams | <font color="#000000"><b>Diagrams</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_technologies | <font color="#000000"><b>Technologies</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_user_testing | <font color="#000000"><b>User Testing</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_deliverables | <font color="#000000"><b>Deliverables</b></font>]]<br />
<br />
|}<br />
<br> <br />
<br />
<!-- Content Start--> <br />
==Test Plan==<br />
<div style="font-family: Verdana;"><br />
<p><br />
<b>Venue:</b> Singapore General Hospital<br/><br />
<b>Date:</b> 9 - 13 February 2018<br/><br />
<b>Duration:</b> ~ 30 minutes per user<br/><br />
<b>Number of Participants:</b> 46 <br/><br />
<b>User Test:</b> Instructions can be found here: <br/><br />
[[Media: zenith_uat1_admin.docx|UAT 1 Admin Instructions]] <br/><br />
[[Media: zenith_uat1_prof.docx|UAT 1 Professor Instructions]] <br/><br />
[[Media: zenith_uat_student.docx|UAT 1 Student Instructions]] <br/><br />
<br />
</p><br />
</div><br />
<br />
==Demographics of participants==<br />
<br />
<center><br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Role<br />
! style="color:#ecf0f1; background-color:#565656;" width="500pt" | Number of participants<br />
|-<br />
<br />
|style="text-align: center;"| Students, year 2 <br />
|style="text-align: center;"| 2<br />
|-<br />
<br />
|style="text-align: center;"| Students, year 3 <br />
|style="text-align: center;"| 15<br />
|-<br />
<br />
|style="text-align: center;"| Students, year 4 <br />
|style="text-align: center;"| 25<br />
|-<br />
<br />
|style="text-align: center;"| Admin<br />
|style="text-align: center;"| 4<br />
|-<br />
<br />
|}<br />
[[Image:zenith_uat1.jpg|center|700px|link=]]<br />
</center><br />
<br />
==Objectives==<br />
<div style="font-family: Verdana"><br />
<p><br />
<ul><br />
<li>Determine if user interface is intuitive</li><br />
<li>Discover usability problem which users might face</li><br />
<li>Evaluate accuracy of case marking module</li><br />
</ul><br />
</p><br />
</div><br />
<br />
==Scope==<br />
<div style="font-family: Verdana"><br />
<p><br />
<ul><br />
<b>Admin</b><br />
<li>Create student accounts</li><br />
<li>Create Professor accounts</li><br />
<li>Search users</li><br />
<li>Delete users</li><br />
<li>Search cases</li><br />
<li>Delete cases</li><br />
<b>Professor</b><br />
<li>Upload cases</li><br />
<li>Vet cases</li><br />
<b>Students</b><br />
<li>Login to accounts</li><br />
<li>Update user profiles</li><br />
<li>Upload cases</li><br />
<li>Search for games</li><br />
<li>Play games</li><br />
<li>Marking for MCQ questions</li><br />
<li>Marking for open-ended questions</li><br />
</ul><br />
</p><br />
</div><br />
<br />
==Procedures==<br />
<div style="font-family: Verdana"><br />
<p><br />
<br />
Participants will be given a consent form prior to the user testing. Once signed, they will be handed the study tasks instructions. We will encourage them to think aloud and ask questions as they attempt to complete the tasks, and note down the participant's comments. Participants will complete a post-test questionnaire at the end of their user testing.<br />
<br />
<center><br />
{| class="wikitable" style="background-color:#FFFFFF; width: 800px;" align="center"<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="100pt" | S/N<br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Goals<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Results<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: left;"| Students should be able to create accounts and log in successfully. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: left;"| Students should be able to update their profiles. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: left;"| Students should be able to upload cases <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 4<br />
|style="text-align: left;"| Year 5 students should be able to vet the cases. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 5<br />
|style="text-align: left;"| Students should be able to search and play the games. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 6<br />
|style="text-align: left;"| MCQ and open-ended answers should be marked at the end of the game. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 7<br />
|style="text-align: left;"| Admin should be able to create accounts for Professors and selected students, as well as delete users. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 8<br />
|style="text-align: left;"| Admin should be able to search for cases and delete them. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|}<br />
</center><br />
<br />
==Key Findings==<br />
<br />
<br/><br />
<center><br />
{| class="wikitable" style="background-color:#FFFFFF; width: 800px;" align="center"<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="100pt" | User<br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Likes<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Dislikes<br />
|-<br />
<br />
|style="text-align: center;"| Admin<br />
|style="text-align: center;"|<br />
Simple and neat design <br/><br />
Search functions are useful <br/><br />
Easy to create and delete users <br/><br />
<br />
|style="text-align: center;"| <br />
Add instructions <br/><br />
Needs clear filter button <br/><br />
Plain Design <br/><br />
Prompt before deleting <br/><br />
|-<br />
<br />
|style="text-align: center;"| Professors<br />
|style="text-align: center;"|<br />
Easy to vet cases <br/><br />
User friendly layout <br/><br />
Easy to upload a case <br/><br />
Simple and clean design <br/><br />
<br />
|style="text-align: center;"| <br />
Hard to re-upload images <br/><br />
Size for MEQ questions too small <br/><br />
Display all fields in "story so far" <br/><br />
|-<br />
<br />
|style="text-align: center;"| Students<br />
|style="text-align: center;"|<br />
Very user friendly <br/><br />
Intuitive ans straightforward design <br/><br />
Easy to upload cases <br/><br />
Simple and clean design <br/><br />
Familiar format of cases <br/><br />
<br />
|style="text-align: center;"| <br />
Unfair/inflexible grading <br/><br />
Problems uploading profile picture <br/><br />
Too much scrolling <br/><br />
Answer key not responsive <br/><br />
|-<br />
<br />
|}<br />
</center><br />
<br />
==Overall Results==<br />
<br />
<br />
<br />
<br />
<!-- Content End--></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_User_Testing_1&diff=318513IS480 Team wiki:2017T2 Zenith User Testing 12018-02-19T16:15:25Z<p>Ervin.chong.2015: updated scope</p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480 Team wiki: 2017T2_Zenith_Documentation | <font color="#000000"><b>Personas</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_prototype | <font color="#000000"><b>Prototypes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_minutes | <font color="#000000"><b>Meeting Minutes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_diagrams | <font color="#000000"><b>Diagrams</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_technologies | <font color="#000000"><b>Technologies</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_user_testing | <font color="#000000"><b>User Testing</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_deliverables | <font color="#000000"><b>Deliverables</b></font>]]<br />
<br />
|}<br />
<br> <br />
<br />
<!-- Content Start--> <br />
==Test Plan==<br />
<div style="font-family: Verdana;"><br />
<p><br />
<b>Venue:</b> Singapore General Hospital<br/><br />
<b>Date:</b> 9 - 13 February 2018<br/><br />
<b>Duration:</b> ~ 30 minutes per user<br/><br />
<b>Number of Participants:</b> 46 <br/><br />
<b>User Test:</b> Instructions can be found here: <br/><br />
[[Media: zenith_uat1_admin.docx|UAT 1 Admin Instructions]] <br/><br />
[[Media: zenith_uat1_prof.docx|UAT 1 Professor Instructions]] <br/><br />
[[Media: zenith_uat_student.docx|UAT 1 Student Instructions]] <br/><br />
<br />
</p><br />
</div><br />
<br />
==Demographics of participants==<br />
<br />
<center><br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Role<br />
! style="color:#ecf0f1; background-color:#565656;" width="500pt" | Number of participants<br />
|-<br />
<br />
|style="text-align: center;"| Students, year 2 <br />
|style="text-align: center;"| 2<br />
|-<br />
<br />
|style="text-align: center;"| Students, year 3 <br />
|style="text-align: center;"| 15<br />
|-<br />
<br />
|style="text-align: center;"| Students, year 4 <br />
|style="text-align: center;"| 25<br />
|-<br />
<br />
|style="text-align: center;"| Admin<br />
|style="text-align: center;"| 4<br />
|-<br />
<br />
|}<br />
[[Image:zenith_uat1.jpg|center|700px|link=]]<br />
</center><br />
<br />
==Objectives==<br />
<div style="font-family: Verdana"><br />
<p><br />
<ul><br />
<li>Determine if user interface is intuitive</li><br />
<li>Discover usability problem which users might face</li><br />
<li>Evaluate accuracy of case marking module</li><br />
</ul><br />
</p><br />
</div><br />
<br />
==Scope==<br />
<div style="font-family: Verdana"><br />
<p><br />
<ul><br />
<b>Admin</b><br />
<li>Create student accounts</li><br />
<li>Create Professor accounts</li><br />
<li>Search users</li><br />
<li>Delete users</li><br />
<li>Search cases</li><br />
<li>Delete cases</li><br />
<b>Professor</b><br />
<li>Upload cases</li><br />
<li>Vet cases</li><br />
<b>Students</b><br />
<li>Login to accounts</li><br />
<li>Update user profiles</li><br />
<li>Upload cases</li><br />
<li>Search for games</li><br />
<li>Play games</li><br />
<li>Marking for MCQ questions</li><br />
<li>Marking for open-ended questions</li><br />
</ul><br />
</p><br />
</div><br />
<br />
==Procedures==<br />
<div style="font-family: Verdana"><br />
<p><br />
<br />
Participants will be given a consent form prior to the user testing. Once signed, they will be handed the study tasks instructions. We will encourage them to think aloud and ask questions as they attempt to complete the tasks, and note down the participant's comments. Participants will complete a post-test questionnaire at the end of their user testing.<br />
<br />
<center><br />
{| class="wikitable" style="background-color:#FFFFFF; width: 800px;" align="center"<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="100pt" | S/N<br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Goals<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Results<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: left;"| Students should be able to create accounts and log in successfully. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: left;"| Students should be able to update their profiles. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: left;"| Students should be able to upload cases <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 4<br />
|style="text-align: left;"| Year 5 students should be able to vet the cases. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 5<br />
|style="text-align: left;"| Students should be able to search and play the games. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 6<br />
|style="text-align: left;"| MCQ and open-ended answers should be marked at the end of the game. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 7<br />
|style="text-align: left;"| Admin should be able to create accounts for Professors and selected students, as well as delete users. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 8<br />
|style="text-align: left;"| Admin should be able to search for cases and delete them. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|}<br />
</center><br />
<br />
==Key Findings==<br />
<br />
<br/><br />
==Overall Results==<br />
<br />
<br />
<br />
<br />
<!-- Content End--></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_User_Testing_1&diff=318510IS480 Team wiki:2017T2 Zenith User Testing 12018-02-19T16:03:57Z<p>Ervin.chong.2015: added uat instructions</p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480 Team wiki: 2017T2_Zenith_Documentation | <font color="#000000"><b>Personas</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_prototype | <font color="#000000"><b>Prototypes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_minutes | <font color="#000000"><b>Meeting Minutes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_diagrams | <font color="#000000"><b>Diagrams</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_technologies | <font color="#000000"><b>Technologies</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_user_testing | <font color="#000000"><b>User Testing</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_deliverables | <font color="#000000"><b>Deliverables</b></font>]]<br />
<br />
|}<br />
<br> <br />
<br />
<!-- Content Start--> <br />
==Test Plan==<br />
<div style="font-family: Verdana;"><br />
<p><br />
<b>Venue:</b> Singapore General Hospital<br/><br />
<b>Date:</b> 9 - 13 February 2018<br/><br />
<b>Duration:</b> ~ 30 minutes per user<br/><br />
<b>Number of Participants:</b> 46 <br/><br />
<b>User Test:</b> Instructions can be found here: <br/><br />
[[Media: zenith_uat1_admin.docx|UAT 1 Admin Instructions]] <br/><br />
[[Media: zenith_uat1_prof.docx|UAT 1 Professor Instructions]] <br/><br />
[[Media: zenith_uat_student.docx|UAT 1 Student Instructions]] <br/><br />
<br />
</p><br />
</div><br />
<br />
==Demographics of participants==<br />
<br />
<center><br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Role<br />
! style="color:#ecf0f1; background-color:#565656;" width="500pt" | Number of participants<br />
|-<br />
<br />
|style="text-align: center;"| Students, year 2 <br />
|style="text-align: center;"| 2<br />
|-<br />
<br />
|style="text-align: center;"| Students, year 3 <br />
|style="text-align: center;"| 15<br />
|-<br />
<br />
|style="text-align: center;"| Students, year 4 <br />
|style="text-align: center;"| 25<br />
|-<br />
<br />
|style="text-align: center;"| Admin<br />
|style="text-align: center;"| 4<br />
|-<br />
<br />
|}<br />
[[Image:zenith_uat1.jpg|center|700px|link=]]<br />
</center><br />
<br />
==Objectives==<br />
<div style="font-family: Verdana"><br />
<p><br />
<ul><br />
<li>Determine if user interface is intuitive</li><br />
<li>Discover usability problem which users might face</li><br />
<li>Evaluate accuracy of case marking module</li><br />
</ul><br />
</p><br />
</div><br />
<br />
==Scope==<br />
<div style="font-family: Verdana"><br />
<p><br />
<ul><br />
<li>Create student accounts</li><br />
<li>Login to accounts</li><br />
<li>Update user profiles</li><br />
<li>Upload cases</li><br />
<li>Vet cases</li><br />
<li>Search for games</li><br />
<li>Play games</li><br />
<li>Marking for MCQ questions</li><br />
<li>Marking for open-ended questions</li><br />
<li>Search users</li><br />
<li>Create Professor accounts</li><br />
<li>Delete users</li><br />
<li>Search cases</li><br />
<li>Delete cases</li><br />
</ul><br />
</p><br />
</div><br />
<br />
==Procedures==<br />
<div style="font-family: Verdana"><br />
<p><br />
<br />
Participants will be given a consent form prior to the user testing. Once signed, they will be handed the study tasks instructions. We will encourage them to think aloud and ask questions as they attempt to complete the tasks, and note down the participant's comments. Participants will complete a post-test questionnaire at the end of their user testing.<br />
<br />
<center><br />
{| class="wikitable" style="background-color:#FFFFFF; width: 800px;" align="center"<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="100pt" | S/N<br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Goals<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Results<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: left;"| Students should be able to create accounts and log in successfully. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: left;"| Students should be able to update their profiles. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: left;"| Students should be able to upload cases <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 4<br />
|style="text-align: left;"| Year 5 students should be able to vet the cases. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 5<br />
|style="text-align: left;"| Students should be able to search and play the games. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 6<br />
|style="text-align: left;"| MCQ and open-ended answers should be marked at the end of the game. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 7<br />
|style="text-align: left;"| Admin should be able to create accounts for Professors and selected students, as well as delete users. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 8<br />
|style="text-align: left;"| Admin should be able to search for cases and delete them. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|}<br />
</center><br />
<br />
==Key Findings==<br />
<br />
<br/><br />
==Overall Results==<br />
<br />
<br />
<br />
<br />
<!-- Content End--></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=File:Zenith_uat_student.docx&diff=318509File:Zenith uat student.docx2018-02-19T16:02:05Z<p>Ervin.chong.2015: </p>
<hr />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=File:Zenith_uat1_prof.docx&diff=318508File:Zenith uat1 prof.docx2018-02-19T16:01:01Z<p>Ervin.chong.2015: </p>
<hr />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=File:Zenith_uat1_admin.docx&diff=318507File:Zenith uat1 admin.docx2018-02-19T15:57:33Z<p>Ervin.chong.2015: </p>
<hr />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_User_Testing_1&diff=318475IS480 Team wiki:2017T2 Zenith User Testing 12018-02-19T13:31:35Z<p>Ervin.chong.2015: uat image + update number of people</p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480 Team wiki: 2017T2_Zenith_Documentation | <font color="#000000"><b>Personas</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_prototype | <font color="#000000"><b>Prototypes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_minutes | <font color="#000000"><b>Meeting Minutes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_diagrams | <font color="#000000"><b>Diagrams</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_technologies | <font color="#000000"><b>Technologies</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_user_testing | <font color="#000000"><b>User Testing</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_deliverables | <font color="#000000"><b>Deliverables</b></font>]]<br />
<br />
|}<br />
<br> <br />
<br />
<!-- Content Start--> <br />
==Test Plan==<br />
<div style="font-family: Verdana;"><br />
<p><br />
<b>Venue:</b> Singapore General Hospital<br/><br />
<b>Date:</b> 9 - 13 February 2018<br/><br />
<b>Time:</b> TBC<br/><br />
<b>Duration:</b> ~ 30 minutes per user<br/><br />
<b>Number of Participants:</b> 50 <br/><br />
<b>User Test:</b> Instructions can be found [https://google.com.sg here] <br/><br />
</p><br />
</div><br />
<br />
==Demographics of participants==<br />
<br />
<center><br />
{| class="wikitable" style="font-family:Verdana; background-color:#FFFFFF; width: 600px;" align="center"<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Role<br />
! style="color:#ecf0f1; background-color:#565656;" width="500pt" | Number of participants<br />
|-<br />
<br />
|style="text-align: center;"| Students, year 2 <br />
|style="text-align: center;"| 2<br />
|-<br />
<br />
|style="text-align: center;"| Students, year 3 <br />
|style="text-align: center;"| 15<br />
|-<br />
<br />
|style="text-align: center;"| Students, year 4 <br />
|style="text-align: center;"| 25<br />
|-<br />
<br />
|style="text-align: center;"| Admin<br />
|style="text-align: center;"| 4<br />
|-<br />
<br />
|}<br />
[[Image:zenith_uat1.jpg|center|700px|link=]]<br />
</center><br />
<br />
==Objectives==<br />
<div style="font-family: Verdana"><br />
<p><br />
<ul><br />
<li>Determine if user interface is intuitive</li><br />
<li>Discover usability problem which users might face</li><br />
<li>Evaluate accuracy of case marking module</li><br />
</ul><br />
</p><br />
</div><br />
<br />
==Scope==<br />
<div style="font-family: Verdana"><br />
<p><br />
<ul><br />
<li>Create student accounts</li><br />
<li>Login to accounts</li><br />
<li>Update user profiles</li><br />
<li>Upload cases</li><br />
<li>Vet cases</li><br />
<li>Search for games</li><br />
<li>Play games</li><br />
<li>Marking for MCQ questions</li><br />
<li>Marking for open-ended questions</li><br />
<li>Search users</li><br />
<li>Create Professor accounts</li><br />
<li>Delete users</li><br />
<li>Search cases</li><br />
<li>Delete cases</li><br />
</ul><br />
</p><br />
</div><br />
<br />
==Procedures==<br />
<div style="font-family: Verdana"><br />
<p><br />
<br />
Participants will be given a consent form prior to the user testing. Once signed, they will be handed the study tasks instructions. We will encourage them to think aloud and ask questions as they attempt to complete the tasks, and note down the participant's comments. Participants will complete a post-test questionnaire at the end of their user testing.<br />
<br />
<center><br />
{| class="wikitable" style="background-color:#FFFFFF; width: 800px;" align="center"<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#565656;" width="100pt" | S/N<br />
! style="color:#ecf0f1; background-color:#565656;" width="400pt" | Goals<br />
! style="color:#ecf0f1; background-color:#565656;" width="300pt" | Results<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: left;"| Students should be able to create accounts and log in successfully. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: left;"| Students should be able to update their profiles. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: left;"| Students should be able to upload cases <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 4<br />
|style="text-align: left;"| Year 5 students should be able to vet the cases. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 5<br />
|style="text-align: left;"| Students should be able to search and play the games. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 6<br />
|style="text-align: left;"| MCQ and open-ended answers should be marked at the end of the game. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 7<br />
|style="text-align: left;"| Admin should be able to create accounts for Professors and selected students, as well as delete users. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|style="text-align: center;"| 8<br />
|style="text-align: left;"| Admin should be able to search for cases and delete them. <br />
|style="text-align: left;"| <br />
|-<br />
<br />
|}<br />
</center><br />
<br />
==Key Findings==<br />
<br />
<br/><br />
==Overall Results==<br />
<br />
<br />
<br />
<br />
<!-- Content End--></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=File:Zenith_uat1.jpg&diff=318474File:Zenith uat1.jpg2018-02-19T13:26:12Z<p>Ervin.chong.2015: Ervin.chong.2015 uploaded a new version of &quot;File:Zenith uat1.jpg&quot;</p>
<hr />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=File:Zenith_uat1.jpg&diff=318473File:Zenith uat1.jpg2018-02-19T13:20:53Z<p>Ervin.chong.2015: </p>
<hr />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_minutes&diff=308509IS480 Team wiki:2017T2 Zenith minutes2017-11-06T02:37:03Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480 Team wiki: 2017T2_Zenith_Documentation | <font color="#000000"><b>Personas</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_prototype | <font color="#000000"><b>Prototypes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_minutes | <font color="#000000"><b>Meeting Minutes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_diagrams | <font color="#000000"><b>Diagrams</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_technologies | <font color="#000000"><b>Technologies</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_user_testing | <font color="#000000"><b>User Testing</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_deliverables | <font color="#000000"><b>Deliverables</b></font>]]<br />
<br />
|}<br />
<br />
<br />
{|style="border-collapse: separate; border-spacing: 0; border-width: 1px; border-style: solid; border-color: #000000; padding: 0; cellspacing="0" cellpadding="0" valign="top" border="0""<br />
|-valign="top"<br />
{| style="text-align: center; width: 100%;"<br />
|-<br />
<br />
|valign=top width=33%|<br />
<div style="text-align: center; padding-left: 40px; padding-right: 40px;"><br />
<h3><b>INTERNAL MEETING</b></h3><br />
<br />
<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_1.docx|Internal Meeting 1 (6th Jun 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_2.docx|Internal Meeting 2 (20th Jun 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_3.docx|Internal Meeting 3 (5th Jul 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_4.docx|Internal Meeting 4 (21st Jul 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_5.docx|Internal Meeting 5 (18th Aug 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_6.docx|Internal Meeting 6 (27th Aug 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_7.docx|Internal Meeting 7 (8th Sep 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_8.docx|Internal Meeting 8 (25th Sep 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_9.docx|Internal Meeting 9 (4th Oct 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_10.docx|Internal Meeting 10 (20th Oct 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_11.docx|Internal Meeting 11 (4th Nov 2017)]]<br />
-----------------------------------------------------<br />
<br />
</div><br />
<br />
<br />
<br />
|valign=top width=33%|<br />
<div style="text-align: center; padding-right: 40px;"><br />
<br />
<h3><b>SPONSOR/CLIENT MEETING</b></h3><br />
<br />
<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_1.docx|Sponsor/Client Meeting 1 (20th Jul 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_2.docx|Sponsor/Client Meeting 2 (17th Aug 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_3.docx|Sponsor/Client Meeting 3 (3rd Sep 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_4.docx|Sponsor/Client Meeting 4 (5th Sep 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_5.docx|Sponsor/Client Meeting 5 (11st Sep 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_6.docx|Sponsor/Client Meeting 6 (15th Sep 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_7.docx|Sponsor/Client Meeting 7 (15th Sep 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_8.docx|Sponsor/Client Meeting 8 (15th Sep 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_9.docx|Sponsor/Client Meeting 9 (16th Oct 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_10.docx|Sponsor/Client Meeting 10 (18th Oct 2017)]]<br />
-----------------------------------------------------<br />
<br />
<br />
</div><br />
<br />
|valign=top width=33%|<br />
<div style="text-align: center; padding-right: 40px;"><br />
<br />
<h3><b>SUPERVISOR MEETING</b></h3><br />
<br />
<br />
-----------------------------------------------------<br />
[[Media: Zenith_Supervisor_Meeting_1.docx|Supervisor Meeting 1 (6th Nov 2017)]]<br />
-----------------------------------------------------<br />
<br />
</div><br />
<br />
|-<br />
|}<br />
|-}<br />
|}</div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=File:Zenith_Supervisor_Meeting_1.docx&diff=308508File:Zenith Supervisor Meeting 1.docx2017-11-06T02:36:06Z<p>Ervin.chong.2015: </p>
<hr />
<div></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_change_management&diff=308389IS480 Team wiki:2017T2 Zenith change management2017-11-05T17:46:24Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="12.5%" | [[IS480 Team wiki: 2017T2_Zenith_Management | <font color="#000000"><b>Project Schedule</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="12.5%" | [[IS480_Team_wiki:2017T2 Zenith_metrics | <font color="#000000"><b>Metrics</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="12.5%" | [[IS480_Team_wiki:2017T2 Zenith_risk_management | <font color="#000000"><b>Risk Management</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="12.5%" | [[IS480_Team_wiki:2017T2_Zenith_change_management | <font color="#000000"><b>Change Management</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br><br />
<br />
<!--content start--><br />
[[File:Zenith_change_management.PNG|center|1000px]]<br />
<br />
==Change Log==<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Date requested<br />
! style="color:#ecf0f1; background-color:#404040;" width="150pt" | Issue<br />
! style="color:#ecf0f1; background-color:#404040;" width="270pt" | Change Required<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Affected Functions<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Predicted Additional Workload (hrs)<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Decision<br />
! style="color:#ecf0f1; background-color:#404040;" width="80pt" | Affected Personnel<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Status<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| 16 Oct 2017<br />
|style="text-align: center"| Added feature: introduce 2-level case vetting process. <br />
|style="text-align: left"| 1. Change schema design and associated references <br> 2. Introduce 2 levels of Professors <br> 3. Make changes to back-end logic for case release. <br />
|style="text-align: center"| Profile, <br> Case Vetting <br />
|style="text-align: center;"| 4 <br />
|style="text-align: center"| Accepted<br />
|style="text-align: center"| Chin Rui<br />
|style="text-align: center"| In progress<br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| 16 Oct 2017<br />
|style="text-align: center"| Added feature: checking of IC numbers. <br />
|style="text-align: left"| 1. Make changes to back-end logic for case upload. <br> 2. Add validation on case upload page. <br />
|style="text-align: center"| Case Upload<br />
|style="text-align: center;"| 3<br />
|style="text-align: center"| Accepted<br />
|style="text-align: center"| Qimin <br />
|style="text-align: center"| Completed<br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| 16 Oct 2017<br />
|style="text-align: center"| Added feature: facial recognition for attachments. <br />
|style="text-align: left"| 1. Research on Facial Recognition API. <br> 2. Make changes to back-end logic for case upload. <br> 3. Add validation on case upload page. <br />
|style="text-align: center"| Case Upload<br />
|style="text-align: center;"| 6<br />
|style="text-align: center"| Undecided<br />
|style="text-align: center"| TBC<br />
|style="text-align: center"| Not started<br />
|- <br />
<br />
|style="text-align: center;"| 4<br />
|style="text-align: center;"| 16 Oct 2017<br />
|style="text-align: center"| Added feature: have levels for students and professors. <br />
|style="text-align: left"| 1. Define levels. <br> 2. Change schema and associated references. <br> 3. Modify user profiles. <br> <br />
|style="text-align: center"| Profile, <br> Analytics dashboard<br />
|style="text-align: center;"| 10<br />
|style="text-align: center"| Accepted<br />
|style="text-align: center"| Ming Rui<br />
|style="text-align: center"| Not started<br />
|- <br />
<br />
|style="text-align: center;"| 5<br />
|style="text-align: center;"| 3 Nov 2017<br />
|style="text-align: center"| Modification of feature: change of specialty and sub-specialty structure. <br />
|style="text-align: left"| 1. Change schema design and associated references<br> 2. Modify case upload template and user profiles. <br />
|style="text-align: center"| Profile, <br> Case Upload, <br> Case Vetting <br />
|style="text-align: center;"| 1.5 <br />
|style="text-align: center"| Accepted<br />
|style="text-align: center"| Ricky<br />
|style="text-align: center"| Completed<br />
|-<br />
<br />
<br />
|}<br />
<!--content end--></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_change_management&diff=308387IS480 Team wiki:2017T2 Zenith change management2017-11-05T17:45:57Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="12.5%" | [[IS480 Team wiki: 2017T2_Zenith_Management | <font color="#000000"><b>Project Schedule</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="12.5%" | [[IS480_Team_wiki:2017T2 Zenith_metrics | <font color="#000000"><b>Metrics</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="12.5%" | [[IS480_Team_wiki:2017T2 Zenith_risk_management | <font color="#000000"><b>Risk Management</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="12.5%" | [[IS480_Team_wiki:2017T2_Zenith_Management | <font color="#000000"><b>Change Management</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br><br />
<br />
<!--content start--><br />
[[File:Zenith_change_management.PNG|center|1000px]]<br />
<br />
==Change Log==<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Date requested<br />
! style="color:#ecf0f1; background-color:#404040;" width="150pt" | Issue<br />
! style="color:#ecf0f1; background-color:#404040;" width="270pt" | Change Required<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Affected Functions<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Predicted Additional Workload (hrs)<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Decision<br />
! style="color:#ecf0f1; background-color:#404040;" width="80pt" | Affected Personnel<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Status<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| 16 Oct 2017<br />
|style="text-align: center"| Added feature: introduce 2-level case vetting process. <br />
|style="text-align: left"| 1. Change schema design and associated references <br> 2. Introduce 2 levels of Professors <br> 3. Make changes to back-end logic for case release. <br />
|style="text-align: center"| Profile, <br> Case Vetting <br />
|style="text-align: center;"| 4 <br />
|style="text-align: center"| Accepted<br />
|style="text-align: center"| Chin Rui<br />
|style="text-align: center"| In progress<br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| 16 Oct 2017<br />
|style="text-align: center"| Added feature: checking of IC numbers. <br />
|style="text-align: left"| 1. Make changes to back-end logic for case upload. <br> 2. Add validation on case upload page. <br />
|style="text-align: center"| Case Upload<br />
|style="text-align: center;"| 3<br />
|style="text-align: center"| Accepted<br />
|style="text-align: center"| Qimin <br />
|style="text-align: center"| Completed<br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| 16 Oct 2017<br />
|style="text-align: center"| Added feature: facial recognition for attachments. <br />
|style="text-align: left"| 1. Research on Facial Recognition API. <br> 2. Make changes to back-end logic for case upload. <br> 3. Add validation on case upload page. <br />
|style="text-align: center"| Case Upload<br />
|style="text-align: center;"| 6<br />
|style="text-align: center"| Undecided<br />
|style="text-align: center"| TBC<br />
|style="text-align: center"| Not started<br />
|- <br />
<br />
|style="text-align: center;"| 4<br />
|style="text-align: center;"| 16 Oct 2017<br />
|style="text-align: center"| Added feature: have levels for students and professors. <br />
|style="text-align: left"| 1. Define levels. <br> 2. Change schema and associated references. <br> 3. Modify user profiles. <br> <br />
|style="text-align: center"| Profile, <br> Analytics dashboard<br />
|style="text-align: center;"| 10<br />
|style="text-align: center"| Accepted<br />
|style="text-align: center"| Ming Rui<br />
|style="text-align: center"| Not started<br />
|- <br />
<br />
|style="text-align: center;"| 5<br />
|style="text-align: center;"| 3 Nov 2017<br />
|style="text-align: center"| Modification of feature: change of specialty and sub-specialty structure. <br />
|style="text-align: left"| 1. Change schema design and associated references<br> 2. Modify case upload template and user profiles. <br />
|style="text-align: center"| Profile, <br> Case Upload, <br> Case Vetting <br />
|style="text-align: center;"| 1.5 <br />
|style="text-align: center"| Accepted<br />
|style="text-align: center"| Ricky<br />
|style="text-align: center"| Completed<br />
|-<br />
<br />
<br />
|}<br />
<!--content end--></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_change_management&diff=308384IS480 Team wiki:2017T2 Zenith change management2017-11-05T17:44:50Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="12.5%" | [[IS480 Team wiki: 2017T2T 2017T2_Zenith_Management | <font color="#000000"><b>Project Schedule</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="12.5%" | [[IS480_Team_wiki:2017T2 Zenith_metrics | <font color="#000000"><b>Metrics</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="12.5%" | [[IS480_Team_wiki:2017T2 Zenith_risk_management | <font color="#000000"><b>Risk Management</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="12.5%" | [[IS480_Team_wiki:2017T2_Zenith_Management | <font color="#000000"><b>Change Management</b></font>]]<br />
<br />
|} <br />
<!--sub header end--><br />
<br><br />
<br />
<!--content start--><br />
[[File:Zenith_change_management.PNG|center|1000px]]<br />
<br />
==Change Log==<br />
{| class="wikitable" style="font-family:Garamond; background-color:#FFFFFF; width: 1000px"|+ '''Cells left-aligned, table centered'''<br />
|-<br />
<br />
! style="color:#ecf0f1; background-color:#404040;" width="50pt" | S/N<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Date requested<br />
! style="color:#ecf0f1; background-color:#404040;" width="150pt" | Issue<br />
! style="color:#ecf0f1; background-color:#404040;" width="270pt" | Change Required<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Affected Functions<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Predicted Additional Workload (hrs)<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Decision<br />
! style="color:#ecf0f1; background-color:#404040;" width="80pt" | Affected Personnel<br />
! style="color:#ecf0f1; background-color:#404040;" width="100pt" | Status<br />
|-<br />
<br />
|style="text-align: center;"| 1<br />
|style="text-align: center;"| 16 Oct 2017<br />
|style="text-align: center"| Added feature: introduce 2-level case vetting process. <br />
|style="text-align: left"| 1. Change schema design and associated references <br> 2. Introduce 2 levels of Professors <br> 3. Make changes to back-end logic for case release. <br />
|style="text-align: center"| Profile, <br> Case Vetting <br />
|style="text-align: center;"| 4 <br />
|style="text-align: center"| Accepted<br />
|style="text-align: center"| Chin Rui<br />
|style="text-align: center"| In progress<br />
|-<br />
<br />
|style="text-align: center;"| 2<br />
|style="text-align: center;"| 16 Oct 2017<br />
|style="text-align: center"| Added feature: checking of IC numbers. <br />
|style="text-align: left"| 1. Make changes to back-end logic for case upload. <br> 2. Add validation on case upload page. <br />
|style="text-align: center"| Case Upload<br />
|style="text-align: center;"| 3<br />
|style="text-align: center"| Accepted<br />
|style="text-align: center"| Qimin <br />
|style="text-align: center"| Completed<br />
|-<br />
<br />
|style="text-align: center;"| 3<br />
|style="text-align: center;"| 16 Oct 2017<br />
|style="text-align: center"| Added feature: facial recognition for attachments. <br />
|style="text-align: left"| 1. Research on Facial Recognition API. <br> 2. Make changes to back-end logic for case upload. <br> 3. Add validation on case upload page. <br />
|style="text-align: center"| Case Upload<br />
|style="text-align: center;"| 6<br />
|style="text-align: center"| Undecided<br />
|style="text-align: center"| TBC<br />
|style="text-align: center"| Not started<br />
|- <br />
<br />
|style="text-align: center;"| 4<br />
|style="text-align: center;"| 16 Oct 2017<br />
|style="text-align: center"| Added feature: have levels for students and professors. <br />
|style="text-align: left"| 1. Define levels. <br> 2. Change schema and associated references. <br> 3. Modify user profiles. <br> <br />
|style="text-align: center"| Profile, <br> Analytics dashboard<br />
|style="text-align: center;"| 10<br />
|style="text-align: center"| Accepted<br />
|style="text-align: center"| Ming Rui<br />
|style="text-align: center"| Not started<br />
|- <br />
<br />
|style="text-align: center;"| 5<br />
|style="text-align: center;"| 3 Nov 2017<br />
|style="text-align: center"| Modification of feature: change of specialty and sub-specialty structure. <br />
|style="text-align: left"| 1. Change schema design and associated references<br> 2. Modify case upload template and user profiles. <br />
|style="text-align: center"| Profile, <br> Case Upload, <br> Case Vetting <br />
|style="text-align: center;"| 1.5 <br />
|style="text-align: center"| Accepted<br />
|style="text-align: center"| Ricky<br />
|style="text-align: center"| Completed<br />
|-<br />
<br />
<br />
|}<br />
<!--content end--></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_deliverables&diff=308245IS480 Team wiki:2017T2 Zenith deliverables2017-11-05T09:23:58Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480 Team wiki: 2017T2_Zenith_Documentation | <font color="#000000"><b>Personas</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_prototype | <font color="#000000"><b>Prototypes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_minutes | <font color="#000000"><b>Meeting Minutes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_diagrams | <font color="#000000"><b>Diagrams</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_technologies | <font color="#000000"><b>Technologies</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_user_testing | <font color="#000000"><b>User Testing</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_deliverables | <font color="#000000"><b>Deliverables</b></font>]]<br />
<br />
|}<br />
<br />
<br />
<!-- Content Start --> <br />
__FORCETOC__<br />
<br />
==Proposal==<br />
[[Media:Zenith proposal.pdf|Proposal Report]]<br />
<br />
==Acceptance==<br />
<br />
==Midterm==<br />
<br />
==Finals==</div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_user_testing&diff=308244IS480 Team wiki:2017T2 Zenith user testing2017-11-05T09:23:06Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480 Team wiki: 2017T2_Zenith_Documentation | <font color="#000000"><b>Personas</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_prototype | <font color="#000000"><b>Prototypes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_minutes | <font color="#000000"><b>Meeting Minutes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_diagrams | <font color="#000000"><b>Diagrams</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_technologies | <font color="#000000"><b>Technologies</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_user_testing | <font color="#000000"><b>User Testing</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_deliverables | <font color="#000000"><b>Deliverables</b></font>]]<br />
<br />
|}</div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_diagrams&diff=308243IS480 Team wiki:2017T2 Zenith diagrams2017-11-05T09:22:00Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="10%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="10%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="10%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="10%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="10%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | <br />
[[IS480 Team wiki: 2017T2_Zenith_Documentation | <font color="#000000"><b>Personas</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_prototype | <font color="#000000"><b>Prototypes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_minutes | <font color="#000000"><b>Meeting Minutes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_diagrams | <font color="#000000"><b>Diagrams</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_technologies | <font color="#000000"><b>Technologies</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_user_testing | <font color="#000000"><b>User Testing</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_deliverables | <font color="#000000"><b>Deliverables</b></font>]]<br />
<br />
|}<br />
<!--sub header ends--><br />
<br />
<!-- Content Starts--><br />
__FORCETOC__<br />
<br />
==As-Is Diagram==<br />
<br/><br />
Case Uploading and Vetting<br />
[[File:Zenith As Is cases.PNG|center|600px]]<br />
<br />
==To-Be Diagram==<br />
<br/><br />
Case Uploading and Vetting<br />
[[File:Zenith to be diagram.png|center|600px]]<br />
<br />
==Use Case Diagram==<br />
<br/><br />
[[File:Zenith_Use_Case_Diagram.PNG|center|600px]]</div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_technologies&diff=308242IS480 Team wiki:2017T2 Zenith technologies2017-11-05T09:21:05Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480 Team wiki: 2017T2_Zenith_Documentation | <font color="#000000"><b>Personas</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_prototype | <font color="#000000"><b>Prototypes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_minutes | <font color="#000000"><b>Meeting Minutes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_diagrams | <font color="#000000"><b>Diagrams</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_technologies | <font color="#000000"><b>Technologies</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_user_testing | <font color="#000000"><b>User Testing</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_deliverables | <font color="#000000"><b>Deliverables</b></font>]]<br />
<br />
|}<br />
<br />
<!--content start--><br />
<br />
[[File:Zenith technology header.PNG|center|1000px]] <br><br />
[[File:Zenith technology.png|center|700px]]<br />
<br />
<!--content end--></div>Ervin.chong.2015https://wiki.smu.edu.sg/is480/index.php?title=IS480_Team_wiki:2017T2_Zenith_minutes&diff=308240IS480 Team wiki:2017T2 Zenith minutes2017-11-05T09:16:44Z<p>Ervin.chong.2015: </p>
<hr />
<div><!--logo start--><br />
[[File:Zenith banner.png|center|1000px]]<br />
<!--logo end--><br />
<br />
<!--header start--><br />
{|style="background-color: #830303; color:#F5F5F5; padding: 10 0 10 0;" width="1000px" valign="top" align="center" cellspacing="0" cellpadding="0" border="0" |<br />
|style="font-size:100%; border-left:0px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480 Team wiki: 2017T2T Zenith |<font color="#000000"><b>Home</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Team |<font color="#000000"><b>Team</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Overview |<font color="#000000"><b>Project Overview</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#CCABA5; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Management |<font color="#000000"><b>Project Management</b></font>]] <br />
<br />
|style="font-size:100%; border-left:1px solid #ffffff; border-right:1px solid #ffffff; text-align:center; background-color:#c13c3e; " width="12%" |<br />
[[IS480_Team_wiki:_2017T2 Zenith_Documentation |<font color="#000000"><b>Documentation</b></font>]]<br />
|}<br />
<!--header end--><br />
<br />
<!--sub header start--><br />
{|style=" width="1000px" align="center" cellspacing="0" border="0" |<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480 Team wiki: 2017T2_Zenith_Documentation | <font color="#000000"><b>Personas</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#ffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_prototype | <font color="#000000"><b>Prototypes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:5px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_minutes | <font color="#000000"><b>Meeting Minutes</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_diagrams | <font color="#000000"><b>Diagrams</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_technologies | <font color="#000000"><b>Technologies</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_user_testing | <font color="#000000"><b>User Testing</b></font>]]<br />
<br />
| style="font-size:100%; border-bottom:1px solid #000000; border-left:20px solid #ffffff; border-right:20px solid #ffffff; text-align:center; background-color:#fffffff; " width="10%" | [[IS480_Team_wiki:2017T2 Zenith_deliverables | <font color="#000000"><b>Deliverables</b></font>]]<br />
<br />
|}<br />
<br />
<br />
{|style="border-collapse: separate; border-spacing: 0; border-width: 1px; border-style: solid; border-color: #000000; padding: 0; cellspacing="0" cellpadding="0" valign="top" border="0""<br />
|-valign="top"<br />
{| style="text-align: center; width: 100%;"<br />
|-<br />
<br />
|valign=top width=33%|<br />
<div style="text-align: center; padding-left: 40px; padding-right: 40px;"><br />
<h3><b>INTERNAL MEETING</b></h3><br />
<br />
<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_1.docx|Internal Meeting 1 (6th Jun 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_2.docx|Internal Meeting 2 (20th Jun 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_3.docx|Internal Meeting 3 (5th Jul 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_4.docx|Internal Meeting 4 (21st Jul 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_5.docx|Internal Meeting 5 (18th Aug 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_6.docx|Internal Meeting 6 (27th Aug 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_7.docx|Internal Meeting 7 (8th Sep 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_8.docx|Internal Meeting 8 (25th Sep 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_9.docx|Internal Meeting 9 (4th Oct 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_10.docx|Internal Meeting 10 (20th Oct 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Internal_Meeting_11.docx|Internal Meeting 11 (4th Nov 2017)]]<br />
-----------------------------------------------------<br />
<br />
</div><br />
<br />
<br />
<br />
|valign=top width=33%|<br />
<div style="text-align: center; padding-right: 40px;"><br />
<br />
<h3><b>SPONSOR/CLIENT MEETING</b></h3><br />
<br />
<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_1.docx|Sponsor/Client Meeting 1 (20th Jul 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_2.docx|Sponsor/Client Meeting 2 (17th Aug 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_3.docx|Sponsor/Client Meeting 3 (3rd Sep 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_4.docx|Sponsor/Client Meeting 4 (5th Sep 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_5.docx|Sponsor/Client Meeting 5 (11st Sep 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_6.docx|Sponsor/Client Meeting 6 (15th Sep 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_7.docx|Sponsor/Client Meeting 7 (15th Sep 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_8.docx|Sponsor/Client Meeting 8 (15th Sep 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_9.docx|Sponsor/Client Meeting 9 (16th Oct 2017)]]<br />
-----------------------------------------------------<br />
[[Media: Zenith_Sponsor_Client_Meeting_10.docx|Sponsor/Client Meeting 10 (18th Oct 2017)]]<br />
-----------------------------------------------------<br />
<br />
<br />
</div><br />
<br />
|valign=top width=33%|<br />
<div style="text-align: center; padding-right: 40px;"><br />
<br />
<h3><b>SUPERVISOR MEETING</b></h3><br />
<br />
<br />
-----------------------------------------------------<br />
<br />
</div><br />
<br />
|-<br />
|}<br />
|-}<br />
|}</div>Ervin.chong.2015