2010T2 B.I. JOE : Final Presentation

From IS480
Revision as of 12:40, 13 April 2011 by Yingda.tan.2008 (talk | contribs) (→‎Testing)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Project Progress Summary

After Mid Term Presentation, reviews from various stakeholders were collated and reviewed within the team. Improvements and changes were made to different segments of the system. Towards the end of the development, a series of User Acceptance Tests were conducted. The purpose is to ensure the system is fully functional ready for deployment and handing over to the client. At the same time, we would make use of this opportunity to further enhance the user interface design of the application. The project is well managed and completed on time. The stakeholders are satisfied and pleased with the deliverables.

Project Highlights

Bijoe - jessica-highlight.jpg
  • Additional requirements in Iteration 7
    • Control Chart
    • Apply config file to deployment architecture

The team carried out an assessment upon receiving the additional requirements. After careful consideration, the two additional requirements were accepted. The reasons that brought us to the decision are:

  • On the technical complexity scale, the team classified both the requirements in the moderate zone. Though with a different programming language, Isaac has experience in developing config file methodology in deployment architecture
  • The team has 3 buffer days allocated to this iteration
  • The two features would bring tremendous business value to our client

Project Challenges


Project Management

Project Scheduled (Actual vs Planned)


Project Metrics



Results: A total of 66 man-hours issued on 28 bugs. With no outstanding bugs to date.


Results: All buffer time are utilised. We have eaten into some weekends as well due to UAT.

Project/Technical Complexity

Algorithm used in:

1) Dynamic Charting

 -  Dynamic positioning of canvas
    -  Tested capacity: 10 by 10 = 100 charting areas
 -  Vertical level algorithm; number of columns needed to display required canvas count
 -  Horizontal level algorithm; number of rows needed to display required canvas count
 -  Positioning of individual canvas

2) Elastic Search

 -  2 stage checking algorithm
    -  Sequence check; checking of selection path
    -  Variable check; checking of previously selected option
 -  Multiple ways of accessing selection
 -  Required to capture all possible selection path

Quality of Project

Project Deliverables

Stage Specification Modules
Project Management Minutes Weekly Sponsor meetings | Weekly Supervisor meetings
Metrics Bug metrics | Schedule metrics
Requirements Story cards Storyboard scene
Technical specifications Technical specifications
Analysis Use case Overview
Sequence Diagram (Core) Linked View (View Data), Image Coverflow
Business Workflow Diagram 1,2,3,4,5
Screen Shots Overview | Treemap | MapPanel | MapPanel2 | Highlighting | ViewData | InteractiveCharting | ElasticSearch | ControlChart | LegendFilter | ProximitySearch
Design Logical Diagram Overview
Class Diagram Overview | Detail
System Architecture Structure
Testing Test plan Test scripts for Iteration 2, 3, 4, 5, 6 and 7
User Acceptance Testing UAT Script | Test Results | Sample UAT Log
Usability Assessment Script | Results
Handover Manuals User tutorial, Setup manual
Code Deployment Link
Deployment Diagram Diagram


The first diagram under deployment section shows the current deployment methods. Basically everything is being host on one server which contains Apache 2.2 commanded from XAMPP and Postgis 9.0 extended from Postgres. However, as we have a configuration text file, it makes this deployment design highly scalable. Not only is this application scalable in hardware wise, it is also scalable in software. Even though we are using Postgis as our database, client can also choose to use MySQL database to replace Postgis. The reason for choosing Postgis over MySQL in current case is because Postgis allows extension of calculating distance in geographical manner which allows functional scalability if the client would wish to extend this application. The second diagram under deployment section illustrates the recommended deployment design to be used in the client's environment. The application server is being distributed even workload from the several load balance to prevent single point of failure. From there, the application server will be connected to a cluster of database to prevent any over utilization on the database as well.


To access the application online, please visit this deployment link

Refer to Quality section for scalability and quality of this deployment.

BIJoe current deployment.PNG
BIJoe scalability design.PNG


For every function developed in each iteration, there are test scripts created to check and verify that the component has fulfilled its functional requirements. In addition, we conducted a total of two UAT for this project. The first UAT occurred before the mid term presentation, the final UAT was conducted in iteration 7.

Details of UAT (Final):

  • Number of testers: 27
  • Tester profile: 15 Technical, 12 Non-technical
  • Test cases: 56
  • Survey results:
  • Issue Tracker: tracker tool
  • Bug reports: Highlighting bug, bullet chart line missing after performing proximity search, duplicated controls in proximity control panel

To assist our understanding of user behavior, we implemented a tracker for the UAT. A sample result from the tracker tool: Sample UAT Log

  • Primary Objectives

To facilitate tracing of bugs reported during UAT

  • Secondary Objectives (prove of concept)

To analyse user behaviours based on unguided usage of our application. Highlight potential improvements to make our application more intuitive with analysed findings.

UA Log 1.png UA Log 2.png

Processing file: UAT Log Processing

Since our secondary objective is a prove of concept, this is implemented through Excel VBA to perform the ETL processes and later with a classification process using decision tree methodology to classify all user actions to 11 main components. With a clickrate of function, we can then proceed to assess the user trends which may help us in our application improvements. However, the results we have here is derived from small sample data and we have yet to consider other factors that may affect user behaviours. Given a larger sample size collected through an extended duration, we would be able to apply clustering techniques such as K-Means to find trends among our various user demographics.

In conjunction with our final UAT, we also rolled out the Usability assessment to gather feedback on the application's interface and interactivity.

  • Number of tester: 27
  • Tester profile: 15 Technical, 12 Non-technical
  • Test cases: 20
  • Survey results: Shown below

Generally, the user interface design of the application is well received by the testers. There are some suggestions made to further improve certain aspects of the UI. However, these feedback will be discussed with the project supervisor and sponsor, to evaluate on their impacts on the system itself. Below is a summary of the results of the useability assessment.




Team Reflection

Our team hopes that through the Final Year Project, we can facilitate learning and development in the following aspects:

  • Business aspects (Business intelligent analytic, Business-IT alignment, Graphical data visualization, use of IT as a business enabler)
  • IT aspects (Project management, Software development)
  • Soft skills (Work and family management, Client and sponsor management, Negotiation skills, Working in a diverse team)

We feel that the Final Year project have prepared us well for the long journey ahead. It has enhance our chances to survive in the working environment. Overall, it was really a great learning experience to work with fellow friends and our stakeholders.

Individual Reflection

Sim Sing Hong

My role as a project manager in this IS480 is to oversee the project progress, managing the team and stakeholders. While I carry out my responsibilities throughout the 14 weeks, I acted as a technical consultant in my secondary role.

What I have learnt from this project is that students from Information Systems are capable of creating functions offered in the commercial world. For instance, so far in our research, there are only two companies selling APIs for Elastic search feature. Without access to their API, we created our own Elastic search which is comparable to theirs in terms of performance and standard.

I believe I can do better in terms of work delegation to my team member's area of interest. Given the same team to do another project, I would base it on the experience acquired this time to maximize their performance and productivity. Every project is different, in terms of team dynamics, scope of work and stakeholders’ requirements. If I were to involve in another project, I apply what I have learnt thus far, apply on future projects and modify accordingly

Isaac Lim

After going through this FYP, which in my opinion is the most challenging and difficult module ever, there are a few points I would like to share. Initially, when I started off with Flex Builder, I thought this is a very difficult programming language which is very unusual thing that happens to me as I am quite competent in adapting new languages. In addition, Flex gave a weird logic way of coding as everything is able to go concurrently instead of the usual coding style where step A has to be done before step B. That really makes me feel uncomfortable. However, in the end, I would say that I have mastered it perfectly and finds it very user-friendly instead.

Secondly, as I progress my FYP, I advanced myself to a Dad as well. Up till the point before becoming a father, I always believe in balancing work-life. However, I feel that balancing work-life is impossible. Work-life integration seems to be the more feasible way. For example, I would do some calls home to my wife to settle some housing matters which in other words I am "controlling" my life from school or from work.

Last but not least, I would like to say that family is important! I can perfectly understand the meaning behind the movie 'Click' featuring Adam Sandler acting as a workaholic and neglecting family which in the end he regretted. Therefore, I have appreciate my family more than ever.

Ng Wei Quan

There are a few learning outcome from our Final Year Project module. Firstly, I learned a great deal of programming with flex. I managed to apply what I learned in other modules to satisfy the FYP requirement. For example, the technique use of elastic search was from IS 414: Search Engine Technologies.

My second takeaway is having to deal with complex problems faced as an individual or as the team during the entire FYP. I believe the problem solving skills learned will benefit me in future when I graduate.

The most challenging technical part of the FYP is to create a core function from scrape. I did my research from various visualization sources online and examine examples taught during the Visual Analytic classes. Using the variable concept, I customized the logic and algorithm to match out project requirement. The two core components created were challenging but gave me a strong sense of satisfaction upon completion.

Tan Ying Da

Our team once suggested to do up a simulation model to forecast the demand for goods in IDS’s distribution channels as we see it would provide more business value as well as serving as a platform for us to showcase what we learnt in academia. However, when we had a discussion with the client with our idea, we were immediately shot down. We had failed to see that we are not in a good position to do recommendations to our client when we are not the ones doing the groundwork; most of the observations were done and reported by IDS representatives at field. We had to balance academic achievements with client's demands - achieving more and yet not stepping over the line.

This FYP was a good motivation for me to pick up a new skill that I've been procrastinating. With this new-found skill set, I feel more confident to create flash web applications from scratch. The power to create new things is what that always satisfy me.

With a "Best-fit" model, it is much more effective and efficient to get things done. But due to time constraints, some team members may not get the full opportunity to learn new things from other members. Fortunately, a bulk of our individual functions will overlap in the end. We made good use of the code compilation phases to update and educate what each of us is doing to the rest of the team to share our knowledge and expertise; this certainly value-add to my learning experience.

Marcus Yap

Being involved in a full blown IS module that require one to make use of the knowledge accumulate over the years, is an experience that I would never forget. Throughout this journey, besides the technical knowledge acquired, what's more enriching and rewarding is the friendships forged and strengthen within a span of 5 months.

Client's Comment

"If you guys would like to continue in this field, we would like to offer you permanent positions with us" - Nicholas Tan, IT Director