HeaderSIS.jpg

2010T2 B.I. JOE : Final Presentation

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

Bi-joe-greatest-challenge.jpg

Project Management

Project Scheduled (Actual vs Planned)

Bi-joe-project-schedule.jpg

Project Metrics

Summary of analysis for the metrics collected. You may refer to another page for the details about the metrics and how it is collected.

Schedule Metric v2.png

Project/Technical Complexity

Describe and list the technical complexity of your project in order of highest complexity first. For example, deploying on iPhone using Objective-C, customizing Drupal with own database, quick search for shortest flight path, database structure, etc.

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 | Result | Logs
Usability Assessment Script | Result
Handover Manuals User tutorial, Developer manual, Setup manual
Code client server
Deployment Diagram Diagram

Quality

Explain the quality attributes (non functional) of your project deliverables. Have you designed the architecture, use a design pattern, etc? Does your architecture address scalability, performance, reliability, availability, fault tolerance, usability, etc. Does your design address maintainability, flexibility, configurability, etc. Be brief here but you can link to diagrams or code detail pages. Do not repeat the technical complexity part, link to it if necessary.

Deployment

To access the application online, please visit this deployment link

BIJoe current deployment.PNG

The diagram above 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 uding 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 diagram below 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.

BIJoe scalability design.PNG

Testing

Describe the testing done on your system. For example, the number of UAT, tester profile, test cases, survey results, issue tracker, bug reports, etc. Bi-joe-UAT-overall-result-1.jpg

Reflection

Team Reflection

Individual Reflection

Sim Sing Hong

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

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