IS480 Team wiki: 2012T2 5 B 1 G Mid Term Wiki
Contents
Project Progress summary
Files download
Presentation Slides
S/N | Description | Link |
---|---|---|
1 | Presentation Slide | To Be Updated |
Youtube Links
S/N | Description | Link |
---|---|---|
1 | 5B1G Acceptance Presentation Preview | Link |
2 | 5B1G Midterm Presentation Preview | Link |
3 | 5B1G Indoor Routing | Link |
4 | 5B1G Acceptance Presentation Video | Link |
4 | 5B1G with Singleton Test | Link |
5 | 5B1G Without Singleton Test | Link |
Project status
- Our team has completed 7 iterations and still has 4 more iterations
- We are currently on Iteration 8 which began on 11th February and will end on the 24th of February
- Our next iteration(Iteration 9) will begin on the 25th of March.
Achievements
✔ Multiple software development tools
✔ Successfully integrated WifiSLAM into Mobile Application for indoor positioning
✔ Successfully value-added on top of WifiSLAM by implementing straight-line indoor routing in our Mobile Application
✔ Successfully implemented Jersey framework for Retailer Admin Dashboard (Web Application) that provides web services to Mobile Application
✔ Successfully integrated SpagoBI into Retailer Admin Dashboard (Web Application) for Retailers via SpagoBI SDK
✔ Successfully generated BI reports via JasperReports Engine on SpagoBI
✔ Successfully implemented Hibernate framework for both Web Service and Retailer Admin Dashboard (Web Application) to communicate with MySQL database
✔ Designed and Built 5 prototypes:
- Count Me In (Mobile Application)
- 2 low fidelity prototypes
- 1 high fidelity prototype
- 2 low fidelity prototypes
- Count Me In (Mobile Application)
- Retailer Admin Dashboard (Web Application)
- 1 low fidelity prototype
- 1 high fidelity prototype
- 1 low fidelity prototype
- Retailer Admin Dashboard (Web Application)
✔ Performed 3 rounds of user testings
- Count Me In (Mobile Application)
- 2 user testings with 2 low fidelity paper prototypes
- 1 user testing with 1 high fidelity working prototype
- 2 user testings with 2 low fidelity paper prototypes
- Count Me In (Mobile Application)
- Retailer Admin Dashboard (Web Application)
- 1 user testing with 1 low fidelity paper prototypes
- 1 user testing with 1 low fidelity paper prototypes
- Retailer Admin Dashboard (Web Application)
Project Highlights
S/N | Description of unexpected changes | Occurrence | Mitigation/Contingency plan |
---|---|---|---|
1 | Web service API for the indoor positioning, which was promised by Live labs was delayed. Our mitigation plan is to fall back on our backup plan and proceed on with WifiSLAM as our indoor positioning system instead. | Iteration 4 | We had a contingency plan in the event that we are unable to utilize Live Labs indoor positioning system, we fell back on our back up plan of using WifiSLAM. |
2 | Unexpected delays during iteration 5 caused the delay in schedule. These delays were due to 2 reasons.
Firstly, there was a change from using android activity to using fragment. Using fragment provides more modularity and reusability. Initially, we were worried that the switch would mean that we would have to change a lot of our class files as we were using mainly using android activity. However, after careful analysis and deliberation, we realized that fragment activity is better catered to the development of our android application. Secondly, our client proposed that we use SpagoBI as a form of Business Intelligence. The configuration of the SpagoBI was much more difficult than expected. This was coupled with the fact that there was limited help that is provided online. |
Iteration 5 | We decided to review the tasks for the remaining iterations. As we would be working with SpagoBI for our remaining iterations, we decided to break down the tasks further in case we encounter a similar situation as this. |
3 | We found out that the Android target SDK version, which we used in our application, was not compatible with mobile device with older versions of the Android Operating System (OS). Our application is able to run from Ice Cream Sandwich (API level 15) onwards | Iteration 5 | We placed a disclaimer on our wiki to inform our users about this problem. The information can be viewed here |
4 | We found out that the older versions of Android devices are not NFC enabled. | Iteration 5 | We placed a disclaimer on our wiki to inform our users about this problem. The information can be viewed here |
Technical Complexity
In order of complexity:
S/N | Complexity | Description | Component | |||
---|---|---|---|---|---|---|
1 | Android Fragment |
|
Mobile Application | |||
2 | SpagoBI and iReport to generate BI reports (JasperReports) |
|
Retailer Admin Dashboard (Web Application) | |||
3 | WifiSLAM for indoor positioning |
|
Mobile Application | |||
4 | Create Hibernate Project to be used as an external library for our web applications to communicate with the database |
|
Hibernate Project | |||
5 | Using third-party connection pool, c3p0, for Hibernate Project |
|
Hibernate Project |
Project Management
Tasks completed by Iteration
Iteration | Planned Task | Actual Task | Completed Task | Leftover Task | Percentage | Remarks |
---|---|---|---|---|---|---|
1 | 11 | 12 | 12 | 0 | 100% | Nil |
2 | 6 | 6 | 6 | 0 | 100% | Nil |
3 | 4 | 4 | 4 | 0 | 100% | Wen Bin, Adrian and Celine went to Israel to complete their Business Study Mission (BSM) |
4 | 10 | 10 | 10 | 0 | 100% | Nil |
5 | 14 | 22 | 19 | 3 | 86% |
|
6 | 23 | 27 | 25 | 2 | 93% |
|
7 | 18 | 20 | 20 | 0 | 100% |
|
Overview of all tasks
Mobile Application
Task/Function/Features | Status | Confidence level | Comments |
---|---|---|---|
View E-coupons by Category Page | Fully deployed and tested 100% | 1 | |
Search E-coupons by Category Page | Fully deployed and tested 100% | 1 | |
View E-coupons in Latest Page | Fully deployed and tested 100% | 1 | |
View E-coupons in Personalised Page | Fully deployed and tested 100% | 1 | |
View details of E-coupon | Fully deployed and tested 100% | 1 | |
View E-coupons in E-coupon Cart | Fully deployed and tested 100% | 1 | |
Add and delete E-coupons from and to E-coupon cart | Fully deployed and tested 100% | 1 | |
Retrieve information from Facebook profiles | Fully deployed and tested 100% | 1 | |
Internal/External Push Notification | Fully deployed and tested 100% | 1 | |
Indoor positioning using WifiSLAM | Fully deployed and tested 100% | 1 | |
Indoor routing using Dijkstra's algorithm | 25% | 0.9 |
|
Pull to refresh E-coupons | Fully deployed and tested 100% | 1 | |
Load more E-coupons | Fully deployed and tested 100% | 1 | |
Integration of NFC with NFC tags (Redeem) | Fully deployed and tested 100% | 1 | |
Integration with Facebook (Login/logout) | Fully deployed and tested 100% | 1 | |
Facebook Integration: Login via Facebook | Fully deployed and tested 100% | 1 | |
Facebook Integration: Sharing of E-coupon | Fully deployed and tested 100% | 1 |
Web Service for Mobile Application
Task/Function/Features | Status | Confidence level | Comments |
---|---|---|---|
Web service to retrieve all E-coupons from shopper's E-coupon cart | Fully deployed and tested 100% | 1 | |
Web service to add an E-coupon to the shopper's E-coupon cart | Fully deployed and tested 100% | 1 | |
Web service to delete an E-coupon to the shopper's E-coupon cart | Fully deployed and tested 100% | 1 | |
Web service to share E-coupon to shopper's Facebook | Fully deployed and tested 100% | 1 | |
Web service to get image of E-coupon | Fully deployed and tested 100% | 1 | |
Web service to get location of retail outlet based on E-coupon | 75% | 1 | Waiting for the indoor routing on the Mobile Application to be completed before testing this web service |
Web service to redeem E-coupon | Fully deployed and tested 100% | 1 | |
Web service to get list of E-coupons by category | Fully deployed and tested 100% | 1 | |
web service to get list of latest E-coupons | Fully deployed and tested 100% | 1 | |
web service to get list of personalised E-coupons | Fully deployed and tested 100% | 1 | |
Web service to validate a shopper's login via Facebook | Fully deployed and tested 100% | 1 | |
Business analytics (predictive analytics) to recommend E-coupons to shoppers | 25% | 0.7 | Adrian Lee is researching on the collaborative filtering technique. |
Retailer Admin Dashboard (Web Application)
Task/Function/Features | Status | Confidence level | Comments |
---|---|---|---|
Retailer login and logout | Fully deployed and tested 100% | 1 | |
Validate login session | Fully deployed and tested 100% | 1 | |
Upload new E-coupon | Fully deployed and tested 100% | 1 | |
Update pending E-coupon | Fully deployed and tested 100% | 1 | |
Publish pending E-coupon | Fully deployed and tested 100% | 1 | |
Delete pending, published and expired E-coupon | 66% | 0.9 | Delete expired E-coupon has yet to be implemented. |
Integrate SpagoBI SDK | Fully deployed and tested 100% | 1 | |
Configure SpagoBI data source, list of values, analytical driver, analytical document and JasperReports Engine | Fully deployed and tested 100% | 1 | |
Create JasperReports XML (JRXML) template via iReport | 75% | 1 | Celine Leong needs to confirm the format of the report and collected data on the E-coupons after discussing with the retailers (The Basement and 7" Pizza) and sponsor |
Generate BI report for expired E-coupon with JRXML and JasperReports Engine on SpagoBI | Fully deployed and tested 100% | 1 | |
Create Chart XML | Not started | 0.8 | Adrian Lee is researching on how to create the chart XML |
Generate chart for published E-coupon with Chart Engine on SpagoBI | Not started | 0.8 | Adrian Lee is researching on how to use the Chart Engine on SpagoBI |
Design of Web Application (Retailer) | 60% | 0.9 | Alvin Lee will be assigned to design the Retailer Admin Dashboard (Web Application) after Celine Leong has completed her tasks. |
Hibernate Project
Task/Function/Features | Status | Confidence level | Comments |
---|---|---|---|
Set up Hibernate Configuration XML file for Hibernate Project | Fully deployed and tested 100% | 1 | |
Create plain old java objects (POJO) model classes based on Hibernate Annotations | Fully deployed and tested 100% | 1 | |
Create data access objects based on Hibernate Session and Hibernate Query Language (HQL) | Fully deployed and tested 100% | 1 | |
Create shared controllers for both Web Applications | Fully deployed and tested 100% | 1 | |
Export Hibernate Project as a library project | Fully deployed and tested 100% | 1 | |
Configure c3p0 as the connection pool for Hibernate Project | Fully deployed and tested 100% | 1 | c3p0 is implemented because Hibernate internal connection pool is not meant for production use. In addition, it will check for stale connections that MySQL has timed out. |
Project Schedule
Delay #1: Iteration 3
Task delayed: Installing WAMP Server/ TomCat and host environment
Reason: Accidentally logged out of VMware machine and was unable to return to the VM image
Delay #2: Iteration 5
Task delayed: "Load more" function
Reason: As our team switched from activity to fragment, the "load more" function was more difficult to develop with fragment navigation.
Task delayed: "SpagoBI" function
Reason: The configuration for SpagoBI was more technically challenging than we thought. Little help is provided online.
Delay #3: Iteration 6
Task delayed: Add E-coupon to the E-coupon cart and delete E-coupon from E-coupon cart'
Reason: The functionality was more technically challenging than expected.
Project Scope
Latest Scope
Previous Scopes
Version | Changes made |
---|---|
2 |
a) Merged Bookmarks and Shopping cart to E-coupon cart
b) Removed Transaction History
c) Added NFC scanner to replace QR scanner
|
3 |
a) Changed Featured list to Latest list and Recommended list to Personalised list
b) Researched into Dijkstra's algorithm which allows us to obtain the shortest path for indoor routing |
Schedule Metrices
The diagrams below show our scheduled number of days that we took for each iteration as well the actual number of days that we took. Our Schedule Index diagram shows the schedule index score which we scored for each iteration
Our Schedule Index (SI) score is calculated by taking the actual duration divided by the schedule duration. If the SI is between 0.9 and 1.1, it means that we are currently on track. If the SI is less than or equals to 0.9, it means that we are ahead of schedule. If the SI is more than or equals to 1.1 then it means we are behind schedule. For most of our iterations (1,2,4 and 7), we were on schedule as our SI was between 0.9 and 1.1.
Key Issues
Iteration 5:
- There was a value of 1.14 for the SI indicating that we were behind schedule
- The number of actual days, which the team took, was 16 days whereas the number of scheduled days was 14 days.
- The reason why we were behind schedule for 2 days was because integration of “load-more” E-coupon function to Android Fragment was more difficult than expected as compared to integrating to Android Activity
- The SpagoBI configuration was more difficult than we expected. In addition, due to insufficient technical support available online, we have to rely on "trail and error" method to resolve our issues.
- Hence, there was a delay in schedule as we did not manage to resolve the function within the scheduled days
- Our team decided to pushed this function to the next iteration (Iteration 6)
Links
Bug metrices
Note: There is no bugs found in iteration 2 & 3. Because during these 2 iterations, we did simple functions and configurations. The application is working as we expected and no bugs were found.
Risk Management
The following is our prioritized risks during the mid Term presentation. Our full account of the risks can be viewed here.
S/N | Risks description | Likelihood of Occurence | Impact | Mitigation/Contingency plan |
---|---|---|---|---|
1 | Reliance on WifiSLAM (3rd Party) SDK and services may result in us not being able to demonstrate the function to our supervisor and client when the 3rd party goes down. | Medium | High | To take video of our application when we implement new functions |
2 | Vendors may back out of our user testing and we won't be able to conduct a user test that can simulate a real environment. | Medium | High | We have approached other retailers such as the 7" Pizza to work with us in case The Basement do not work with us. |
3 | Sponsor/Client may not know the exact changes in the mobile and web applications | Medium | High | We created low fidelity prototypes and flow through diagrams for the mobile and web applications. Through these prototypes and diagrams we hoped that they would communicate effectively with the client and ensure the changes are understood properly. |
Development
Summary:
Our team would first brainstorm on how the overall interfaces and flow-through for our mobile and web applications should look like. After which, prototypes will be developed and feedback will be given by the team as to what changes can be made to better improve the design and the overall implementation. Our team would also create flow-through diagrams as well as paper protoypes. The purpose of the flow-through diagrams, which are created using Balsamiq, is to give an overview of how the applications works. An example of our flow-through diagrams can be viewed here. The creation of low fidelity paper prototypes are for users to test our applications and gather their feedback and opinions on our applications. An example of our paper prototypes can be seen here. After gathering the feedbacks and discussing, we would then implement the necessary changes to our applications.
Below is a summary of the changes that we have made to our overall interface as well as our functionalities. We have also kept track of the new functionalities we have made as well as the old functionalities which we have taken out.
Changes made
Signing in functionality
During Acceptance | Latest version |
---|---|
Bring Me there functionality
During Acceptance | Latest version |
---|---|
|
Share Me functionality
During Acceptance | Latest version |
---|---|
|
E-coupon Cart functionality
During Acceptance | Latest version |
---|---|
|
Search functionality
During Acceptance | Latest version |
---|---|
|
Scan functionality
During Acceptance | Latest version |
---|---|
|
View Latest (previously known as Recommended) functionality
During Acceptance | Latest version |
---|---|
|
|
New functionalities added
Functionalities removed
Quality of Product
Intermediates Deliverables
Stage | Specification | Modules |
---|---|---|
Project Management | Minutes | |
Metrics | ||
Requirements | User Interface Mockups and Videos | |
Analysis | Use case | |
Design | Deployment Diagram | |
Logical Diagram | ||
System Architecture Diagram | ||
ER diagram | ||
Testing | User Test Plan |
Deployment
Area | Details |
---|---|
Development Environment |
|
Database |
|
Web Services |
|
Web Links |
|
User Testing for mobile application
Summary:
For the user testing of our mobile application, we have conducted 2 UT so far. The first UT involves the use of a high fidelity prototype while the second UT uses a low fidelity prototype.
Typically, our UT will revolve around 3 areas :
- How we conduct the UT
- Results
- Changes made.
The first area (How we conduct the UT) typically shows our objectives, details , methodology, data collection methods as well as the scope of the features that are tested.
Our second area (Results) will show the observations we made when we conducted the UT. We also analyse the compiled feedback in which we have gathered from our users.
Our final area (Changes made) show the changes which we have made after carefully analysing and discussing the results from the UT.
Usability Test | Date Conducted | Usability Test Documents | Usability Test Results | More Details |
---|---|---|---|---|
1 | 2 Nov 2012 (Fri) | UT 1 Execution Plan | UT 1 Results |
UT 1 Details |
2 | 14 Jan 2013 (Mon) | UT 2 Execution Plan |
UT 2 Results | UT 2 Details |
Web | 22 Jan 2013 (Tues) | Web UT Execution Plan | Web UT Results | Web App Details |
3 | 15 Feb 2013 (Mon) | UT 3 Execution Plan UT 3 Instruction Sheet |
UT 3 Raw Qualitative Results |
UT 2 Details |
User Test 1
Area | Details |
---|---|
Objectives |
|
Details |
|
Method |
We conducted the user test using a high-fidelity paper prototype using the mock up designs of the application. Thereafter, we gave the participants the freedom to explore the application by themselves. |
Data collection |
Collecting of qualitative metrics
|
Scope of features tested |
|
User Test 2
Area | Details |
---|---|
Objectives |
|
Details |
|
Method |
|
Scope of features tested |
|
User Test 2
Area | Details |
---|---|
Objectives |
|
Details |
|
Method |
|
Scope of features tested |
|
User Test 3
Area | Details |
---|---|
Objectives |
|
Details |
|
Method |
|
Scope of features tested |
|