Difference between revisions of "2010T2 B.I. JOE : Final Presentation"

From IS480
Jump to navigation Jump to search
Line 122: Line 122:
|| User Acceptance Testing
|| User Acceptance Testing
|| [[Media:Uat_Template.xlsx | UAT Script]] | Result | [[Media:04 Apr 2011 05 20 40.txt | Sample UAT Log]]
|| [[Media:Uat_Template.xlsx | UAT Script]] | [https://wiki.smu.edu.sg/is480/2010T2_B.I._JOE_:_Final_Presentation#Testing Results] | [[Media:04 Apr 2011 05 20 40.txt | Sample UAT Log]]

Revision as of 15:00, 12 April 2011

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 | 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

UA Log 1.png UA Log 2.png

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 feedbacks 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

Individual Reflection

Sim Sing Hong

  • Role: Project Manager
  • Responsibility: Oversee the project progress, managing the team and stakeholders. I acted as a technical consultant at the same time
  • What have I learnt: 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
  • What I can do better: Best fit in terms of work delegation to their 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
  • What will I redo if I were to be involved in another project again: 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