HeaderSIS.jpg

Difference between revisions of "IS480 Team wiki: 2016T2 Team VI Final Wiki"

From IS480
Jump to navigation Jump to search
 
(13 intermediate revisions by 2 users not shown)
Line 38: Line 38:
 
<!--Content Start-->
 
<!--Content Start-->
 
==<div style="background: #134E84; padding: 15px; font-weight: bold;text-indent: 15px;letter-spacing:-0.08em"><font color=#fbfcfd face="Helvetica">OUR PROJECT PROGRESS</font></div>==
 
==<div style="background: #134E84; padding: 15px; font-weight: bold;text-indent: 15px;letter-spacing:-0.08em"><font color=#fbfcfd face="Helvetica">OUR PROJECT PROGRESS</font></div>==
<h3>Mid Terms Slides</h3>:[https://drive.google.com/a/smu.edu.sg/folderview?id=0B5iOEjHpTuodeExBTDZJcEhUMFE&usp=sharing here]
+
<h3>Deployment Link</h3>: [https://edulearn-exploreandlearn.rhcloud.com/VI here]
<h3>Deployment Link</h3>: https://is480z-lin9z.rhcloud.com/VI/
+
<b>Credentials: </b>
 +
<li>Username: branchmanager@email.com</li>
 +
<li>Password: branchmanager</li>
 +
[[Media:Team_VI_Final_Slides.pdf| Final Slides]]
  
 
<h3>Project Highlights</h3>
 
<h3>Project Highlights</h3>
 
<li>Conducted 3 user testings.
 
<li>Conducted 3 user testings.
<li>Renamed Gamification Module to Redemption Module, which involves a pirate themed banking system for students to redeem points and exchange for gifts. The banking system also serves to inculcate the values of saving among the students.
+
<li>Renamed Gamification Module to Treasure Chest Module, which involves a pirate themed banking system for students to redeem points and exchange for gifts. The banking system also serves to inculcate the values of saving among the students.
<li>Site went live and has been deployed to the enrichment center.
+
<li>Site went live and has been deployed to the enrichment center since 10 Feb.
<li>Our team spent a large amount of time dissecting the database to fit the business rules of the enrichment centre.
+
<li>As of 10 Apr, we achieved 13 active parent users.
<li>Our team's AWS account was being compromised and we were charged $3186.86, but we managed to gained approval for our concession.
 
<li>Able to successfully send SMS and email notification to parents upon successfully marking student's attendance.
 
<li>Conducted A/B Testing which gave us the go ahead to choose Version B as our user interface for parents portal.
 
  
 
==<div style="background: #134E84; padding: 15px; font-weight: bold;text-indent: 15px;letter-spacing:-0.08em;font-size:20px"><font color=#fbfcfd face="Helvetica">OUR PROJECT MANAGMENT</font></div>==
 
==<div style="background: #134E84; padding: 15px; font-weight: bold;text-indent: 15px;letter-spacing:-0.08em;font-size:20px"><font color=#fbfcfd face="Helvetica">OUR PROJECT MANAGMENT</font></div>==
Line 56: Line 56:
  
 
<h3>Summary of Project Progress</h3>
 
<h3>Summary of Project Progress</h3>
 
+
<center>[[File:Team_VI_Iteration_Completion.png|700px]]</center>
 
<h3>Project Status</h3>
 
<h3>Project Status</h3>
  
Line 62: Line 62:
 
{| class="wikitable" style="margin: auto;width:50%; text-align:center; background: white;"
 
{| class="wikitable" style="margin: auto;width:50%; text-align:center; background: white;"
 
! style="background: #134E84; color: white; font-weight: bold; width:50px" | Planned
 
! style="background: #134E84; color: white; font-weight: bold; width:50px" | Planned
! style="background: #134E84; color: white; font-weight: bold; width:50px" | Actual
+
! style="background: #134E84; color: white; font-weight: bold; width:50px" | For Mid Terms
 
|-
 
|-
 
| [[File:Team_VI_Project_Schedule.png|550px]]
 
| [[File:Team_VI_Project_Schedule.png|550px]]
 
| [[File:Actualschedule.png|550px]]
 
| [[File:Actualschedule.png|550px]]
 
|-
 
|-
 +
| colspan="3" style="border: 1px solid black; text-align: center;" |
 +
[[Image:Team VI Timeline Finals.png|800px|center]]
 
|}
 
|}
  
Line 77: Line 79:
 
| [[File:Team VI Scope 4.0.png|550px]]
 
| [[File:Team VI Scope 4.0.png|550px]]
 
|-
 
|-
 +
| colspan="3" style="border: 1px solid black; text-align: center;" |
 +
[[Image:Team VI Scope Finals.png|800px|center]]
 
|}
 
|}
  
Line 113: Line 117:
 
! style="background: #134E84; color: white; font-weight: bold; width:50px" | Bug Count by Category
 
! style="background: #134E84; color: white; font-weight: bold; width:50px" | Bug Count by Category
 
|-
 
|-
|  
+
| [[Image:Team Vi Bug Score Per Iteration.png|550px|center]]
 
| [[Image:Team VI Bug Count By Category.png|550px|center]]
 
| [[Image:Team VI Bug Count By Category.png|550px|center]]
 
|-
 
|-
Line 169: Line 173:
 
|}
 
|}
  
Currently, we are using the a frontend library called <b>FullCalendar.io</b> to display our schedules and classes. FullCalender.io has many API methods, but we are focusing on the recursive rendering method.
+
We choose 'FullCalendar.io' frontend library for the rendering of our schedules and classes. However, for the need of temporarily rescheduling as our business requirement stated, recursive rendering method in FullCalender.io has limitations in fulfilling that. For example, we need to allow a student who only wishes to temporary reschedule one of his lesson to another time slot, the student will be shifted to another schedule completely if we were to use the recursively rendering method. 
Due to the business requirement for temporarily rescheduling, the recursive rerendering method in FullCalender.io cannot be used to fulfill the requirement. If a student wishes to temporary reschedule to another class, the student will be shifted to another date and the student will be rendered recursively on the changed date range instead due to its repeated schedule ID.
 
  
The team has came up with our own methods of generating schedule events that is linked to a particular schedule. These schedule events will instead contain the students that belong to this class, and each schedule event id will be unique. In this case, the student can then make a temporary reschedule of classes.
+
Hence, the team has came up with our own methods of adding a sub layer of relationship into the schedule, which we named it as schedule events that are associated to a particular schedule. These schedule events are recursively created at the moment of the schedule creation and the students are associated to schedule events instead, and each schedule event id will be unique. In this case, the temporary rescheduling of classes for student is thus possible.
  
 
<br>
 
<br>
<h4>Technical Complexity 2: Database Structure </h4>  
+
<h4>Technical Complexity 2: Geolocation Encoding </h4>  
 
{| class="wikitable" style="margin: auto;width:80%; text-align:center; background: white;"
 
{| class="wikitable" style="margin: auto;width:80%; text-align:center; background: white;"
! style="background: #134E84; color: white; font-weight: bold; width:50px" | Before
+
! style="background: #134E84; color: white; font-weight: bold; width:50px" | Diagram
! style="background: #134E84; color: white; font-weight: bold; width:50px" | After
 
 
|-
 
|-
| [[Image:Team VI Technical Complexity 4.png|550px|center]]
+
| [[Image:Team VI Technical Complexity Map.png|700px|center]]
| [[Image:Team VI Technical Complexity 5.png|550px|center]]
 
 
|-
 
|-
 
|}
 
|}
  
In order to cater to temporary rescheduling, the database has to be design such in a way that stores each lesson as a unique event together with the attendances. It has differed a lot to our initial understanding and design to the database. Hence we have to rework on the entire data structure and auto create multiple schedule events in the backend according to the schedule. Furthermore, we also learnt that the tuition  center has their unique set of course workbook for their students. It requires the system to keep track of the performance of each student on each work book. We used to link the result with the schedule as we define our schedule to be a joint table of teacher, student and course. However, since we made the change to allowed temporary reschedule, the result will have no correct table to join. Hence we purposely create a TeacherStudentCourse (TSC) table for the reporting module. We also included two attributes in the TSC table to keep track of the student current progress level for fast retrieval. And we also realize this data structure has the capability of tracking the results for multiple schedules for the same teacher, student and course.
+
Our client desire a way to easily view the result of the marketing campaigns they have organised. Hence we propose to render each individual sign up on the map to give an intuitive way of understanding the coverage on each campaign over the island. Moreover, calculate the signup rate of all the students against the target number which is to show the effectiveness of each campaign organised
 +
 
 +
We decide to use google map API for the geolocation encoding as well as maplace.js to embed an interactive google map view in our map. We also learn to use the d3.js in creating a graph that will change along with the map in rendering of the data points of student sign up for each campaign. This require a proper setting up of an google application on google developer console as well as prepare the data into suitable format for a successful display on the web page.
  
 
<h3>Deliverables</h3>
 
<h3>Deliverables</h3>
Line 217: Line 220:
 
! style="background: #134E84; color: white; font-weight: bold; width:50px" | Testing
 
! style="background: #134E84; color: white; font-weight: bold; width:50px" | Testing
 
| User Test Plan
 
| User Test Plan
| [https://wiki.smu.edu.sg/is480/img_auth.php/2/2f/UAT2TestPlan.pdf Test Plan]
+
| [https://wiki.smu.edu.sg/is480/img_auth.php/5/5e/Test_Plan.docx Test Plan]
 +
|-
 +
! style="background: #134E84; color: white; font-weight: bold; width:50px" | Handover
 +
| User Guide
 +
| [[Media:Team VI User Guide.pdf| User Guide]]
 
|-
 
|-
 
|}
 
|}
Line 265: Line 272:
 
<!--/Sub Header-->
 
<!--/Sub Header-->
 
<br>
 
<br>
<div style="background: #134E84; padding: 15px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica"><font color= #FFFFFF>User Testing 3</font></div>
+
<h3>User Testing 3</h3>
 
<font size="3"><b>Objective:</b></font>
 
<font size="3"><b>Objective:</b></font>
 
<ul>
 
<ul>
Line 307: Line 314:
 
</ul>
 
</ul>
 
<br>
 
<br>
<div style="background: #134E84; padding: 15px; font-weight: bold; line-height: 0.3em; text-indent: 15px; font-size:18px; font-family:helvetica"><font color= #FFFFFF>User Testing 3 Results</font></div>
+
<font size="3"><b>User Testing 3 Results: </b></font>
 +
<ul>
 
{| class="wikitable" style="background-color:#FFFFFF;"
 
{| class="wikitable" style="background-color:#FFFFFF;"
 
|-
 
|-
Line 340: Line 348:
 
<li>Map analysis should have options for branch manager to choose the filter conditions</li>
 
<li>Map analysis should have options for branch manager to choose the filter conditions</li>
 
<li>Heatmap marker not user friendly</li>
 
<li>Heatmap marker not user friendly</li>
 +
|}
 +
| <font size="3"><center><b>Changes Made for UT3</b></center></font>
 +
 +
{| class="wikitable" style="margin: auto;width:80%; text-align:center; background: white;"
 +
! style="background: #134E84; color: white; font-weight: bold; width:50px" | Heatmap Function
 +
! style="background: #134E84; color: white; font-weight: bold; width:50px" | Dropdown list function
 +
|-
 +
| [[Image:Screen_Shot_2016-04-09_at_12.29.28_pm.png|500px|center]]
 +
| [[Image:Screen_Shot_2016-04-09_at_12.29.36_pm.png|500px|center]]
 +
|-
 +
| Insert display markers for heatmap
 +
| created auto search function for all existing dropdown lists
 +
|}
 +
 +
{| class="wikitable" style="margin: auto;width:80%; text-align:center; background: white;"
 +
! style="background: #134E84; color: white; font-weight: bold; width:50px" | Scheduling Colors
 +
! style="background: #134E84; color: white; font-weight: bold; width:50px" | Select Pop Up
 +
|-
 +
| [[Image:Screen_Shot_2016-04-09_at_12.43.41_pm.png|500px|center]]
 +
| [[Image:Screen_Shot_2016-04-09_at_12.47.18_pm.png|500px|center]]
 
|-
 
|-
 +
| Different Colors represents different classrooms for easy identification
 +
| Created a onclick function which shows 'selected' when a user selects a schedule
 
|}
 
|}
 +
 +
Find out more about our User Testing 3 [https://wiki.smu.edu.sg/is480/File%3ATest_Plan.docx User Testing 3]
  
 
==<div style="background: #134E84; padding: 15px; font-weight: bold;text-indent: 15px;letter-spacing:-0.08em"><font color=#fbfcfd face="Helvetica">TEAM REFLECTIONS</font></div>==
 
==<div style="background: #134E84; padding: 15px; font-weight: bold;text-indent: 15px;letter-spacing:-0.08em"><font color=#fbfcfd face="Helvetica">TEAM REFLECTIONS</font></div>==
  
[[Image:Team VI Mid Term Reflections.png|650px|center]]
+
[[Image:Team VI Final LO.png|650px|center]]
 +
[[Image:Team VI Final LO 2.png|650px|center]]

Latest revision as of 09:36, 20 April 2016

Team VI Logo.PNG


HOME

 

ABOUT US

 

PROJECT OVERVIEW

 

PROJECT MANAGEMENT

 

DOCUMENTATION

 

Final Wiki

OUR PROJECT PROGRESS

Deployment Link

: here

Credentials:

  • Username: branchmanager@email.com
  • Password: branchmanager
  • Final Slides

    Project Highlights

  • Conducted 3 user testings.
  • Renamed Gamification Module to Treasure Chest Module, which involves a pirate themed banking system for students to redeem points and exchange for gifts. The banking system also serves to inculcate the values of saving among the students.
  • Site went live and has been deployed to the enrichment center since 10 Feb.
  • As of 10 Apr, we achieved 13 active parent users.

    OUR PROJECT MANAGMENT

    About our Project

    Our team aims to provide a web-based student monitoring system and business analysis tool for an enrichment centre, Explore and Learn Pte Ltd. Our project also aims to engage the students through gamification and encourage learning.

    Summary of Project Progress

    Team VI Iteration Completion.png

    Project Status

    Project Schedule

    Planned For Mid Terms
    Team VI Project Schedule.png Actualschedule.png
    Team VI Timeline Finals.png

    Project Scope

    For Acceptance For MidTerms
    Team VI Project Scope Before.png Team VI Scope 4.0.png
    Team VI Scope Finals.png

    The full Change Management Log can be found here.

    Metrics

    Schedule Metric

    Team VI Schedule Metrics Graph.png

    Highlights of Schedule Metrics

    Iteration Planned (Days) Actual (Days) SM Score Action Status
    5
    14 18 78% Underestimated time required, PM to re-estimate tasks for future iterations. Delayed due to bugs found. Team was unfamiliar with QR code scanning and email notification. Reduced 4 Days of Finals Break Completed
    9
    14 20 70% Underestimated time required, PM to re-estimate tasks for future iterations. Delayed due to the database changes required to mimic the business rules, wherey timeslot is not course unique and a teacher is able to teach more than 1 courses at the same time. Use 6 buffer days. Completed

    Bug Metrics

    Bug Metrics Bug Count by Category
    Team Vi Bug Score Per Iteration.png
    Team VI Bug Count By Category.png


    Highlights of Bug Metrics

    Iteration Bug Score Number of Issues Summary of Bugs and Issues Action Taken
    3
    30
    20 Low Impact Bugs & 2 High Impact Bugs Most bugs are due to validation errors. Developers stopped all current development and resolve the bugs.

    Project Risks

    Category Description Likelihood Impact Mitigation Mitigated
    Client Management Changing functional requirements High High Project Manager adjusts schedule according to the client's requiremtns and apply change management controls. Developers to update the PM if the changes in requirements affact the project schedule. Mitigated successfully
    Client Management Hard to get real users to test our application Medium High PM scheduled team members to go down to the centre at different times and conduct testing with the users. Mitigated successfully

    Technical Complexity

    Technical Complexity 1: Rescheduling

    Team VI Technical Complexity 1.png
    Team VI Technical Complexity 2.png
    Team VI Technical Complexity 3.png

    We choose 'FullCalendar.io' frontend library for the rendering of our schedules and classes. However, for the need of temporarily rescheduling as our business requirement stated, recursive rendering method in FullCalender.io has limitations in fulfilling that. For example, we need to allow a student who only wishes to temporary reschedule one of his lesson to another time slot, the student will be shifted to another schedule completely if we were to use the recursively rendering method. 

    Hence, the team has came up with our own methods of adding a sub layer of relationship into the schedule, which we named it as schedule events that are associated to a particular schedule. These schedule events are recursively created at the moment of the schedule creation and the students are associated to schedule events instead, and each schedule event id will be unique. In this case, the temporary rescheduling of classes for student is thus possible.


    Technical Complexity 2: Geolocation Encoding

    Diagram
    Team VI Technical Complexity Map.png

    Our client desire a way to easily view the result of the marketing campaigns they have organised. Hence we propose to render each individual sign up on the map to give an intuitive way of understanding the coverage on each campaign over the island. Moreover, calculate the signup rate of all the students against the target number which is to show the effectiveness of each campaign organised

    We decide to use google map API for the geolocation encoding as well as maplace.js to embed an interactive google map view in our map. We also learn to use the d3.js in creating a graph that will change along with the map in rendering of the data points of student sign up for each campaign. This require a proper setting up of an google application on google developer console as well as prepare the data into suitable format for a successful display on the web page.

    Deliverables

    Type Description Documentation
    Requirement Gathering Market Research Market Research
    Project Management Minutes, Metrics, Risks, Change

    Meeting Minutes
    Schedule & Effort Metrics
    Bug Metrics
    Risk Management
    Change Management

    Analysis and Design Use Case, ER Diagram Use Case & ER Diagram
    Analysis and Design Architectural Diagram, Technology and Tools Used Architectural Diagram & Technology and Tools Used
    Testing User Test Plan Test Plan
    Handover User Guide User Guide

    OUR QUALITY ASSURANCE

    User Testing 1

    Objective:

    • Gather feedback regarding the user interface from existing users
    • Identify usability issues based on observations
    • Improve web application based on user testing results
    • Identify potential bugs that was not found during testing phase

    Users: Wong Bing Xiang (Sponsor), Teacher
    Venue: Upper Thomson
    Date: 26/10/2015
    Duration: 25 Minutes / User

    Find out more about our User Testing 1 here

    User Testing 2

    Objective:

    • Gather feedback from students in SMU
    • Identify usability issues based on observations
    • Improve web application based on user testing results
    • Identify potential bugs that was not found during testing phase
    • Testing of functionality

    Users: 15 SMU Students, 4 IT Consultant, 1 Digital Marketing Consultant
    Venue: SMU , FYP Labs, Starbucks at Parkway
    Date: 4,5,6 Feb 2016
    Duration: 20 Minutes / User Participants Demographics:

  • 10 Actual Parents from the center
  • Find out more about our User Testing 2 here

    User Testing 3

    Objective:

    • Gather feedback from live users in Explore & Learn
    • Identify usability issues based on observations
    • Improve web application based on user testing results
    • Identify potential bugs that was not found during testing phase
    • Testing of functionality

    Users: 1 Branch Manager, 2 Teachers, 15 Actual Students, 10 Parents
    Venue: Explore & Learn Center
    Date: 6,7 April 2016
    Duration: 20 Minutes / User

    Scope of User Testing 3

    • Branch Manager to successfully create a Parent and Student.
    • Branch Manager to create a schedule, and assign the student into a class
    • Branch Manager to create a marketing campaign
    • Branch Manager to view analysis of student
    • Student To redeem a gift from the redemption portal
    • Teacher to mark the attendance of a student using the QR code
    • Teacher to create a feedback for the student
    • Parents to edit their own and child's information/li>
    • Parents to successfully receive an SMS, Email when their children has attended lesson
    • Parents to view the feedback given to their children by their teachers
    • Parents to view the performance over time analysis of their children results


    User Testing 3 Focus Group:

    • Branch Manager
    • Parent
    • Teacher
    • Students


    User Testing 3 Results:

      Likes Dislikes
      User Interface
      • Color Scheme is good
      • Users found it intuitive and could know exactly where to click
      • Pirate Bank Scheme is nice
      • N/A
      Functionality
      • Liked the concept of gift redemptions
      • Students are excited about QR Codes to sign in
      • SMS system is useful
      • Parents liked how they know when their student has attended lessons
      • Liked the performance over time analysis chart
    • Students want get the rewards fast and not inclined with banking system
    • Wanted a payment system
    • Dropdown list for students were not user friendly
    • Map analysis should have options for branch manager to choose the filter conditions
    • Heatmap marker not user friendly
    • |
      Changes Made for UT3
      Heatmap Function Dropdown list function
      Screen Shot 2016-04-09 at 12.29.28 pm.png
      Screen Shot 2016-04-09 at 12.29.36 pm.png
      Insert display markers for heatmap created auto search function for all existing dropdown lists
      Scheduling Colors Select Pop Up
      Screen Shot 2016-04-09 at 12.43.41 pm.png
      Screen Shot 2016-04-09 at 12.47.18 pm.png
      Different Colors represents different classrooms for easy identification Created a onclick function which shows 'selected' when a user selects a schedule

      Find out more about our User Testing 3 User Testing 3

      TEAM REFLECTIONS

      Team VI Final LO.png
      Team VI Final LO 2.png