HeaderSIS.jpg

Difference between revisions of "Old Wiki"

From IS480
Jump to navigation Jump to search
(New page: {| style="width:40%; text-align:left; border: 1px solid black; " align="right" |+ '''uClaim''' | colspan="2" style="text-align: center;" | 250px |- | '''Type'''|...)
 
Line 11: Line 11:
 
| '''Duration'''|| 19 May 2010 - 10 Dec 2010
 
| '''Duration'''|| 19 May 2010 - 10 Dec 2010
 
|-
 
|-
|'''Team members''' || Tommy Tien
+
|'''Team members''' || Tommy Tien Dehui
 
|-
 
|-
 
|||Daryl Lee
 
|||Daryl Lee

Revision as of 20:28, 9 November 2010

uClaim
NewLogo 2.jpg
Type Student group
Industry School (Education)
Semester AY 2010-2011 Semester 1
Duration 19 May 2010 - 10 Dec 2010
Team members Tommy Tien Dehui
Daryl Lee
Hendry Poh
Mark Voon
Thia Kai Xin
Wong De Ming
Supervisor Professor Li Ying Jiu
Sponsors SMU Students' Association
Clients Sarah Swee, Finance Secretary, SMUSA
Daniel Lee, Deputy Finance Secretary, SMUSA




Project Overview

SMU Students' Association

Our team’s project seeks to improve the current SMUSA claim system. This claim system is used by the various CCAs (co-curricular activity) of SMU to claim money that they have expended for various CCA purposes (e.g. purchasing jerseys, renting training space, hiring coaching staff). This money has been granted to the CCAs as part of their biyearly budgets, which are given to them every semester. In order to achieve this, we must analyze the whole business process and find out which are the areas that can be optimized by leveraging on Information Technology (IT).

For the current claim system, submitting of claims is all done manually and is a paper-based process. The 2 main problems with the current system are that firstly, the overall claims process takes a total of 1 to 2 months, and secondly, it is hard to track where the bottleneck is and what is causing the delays.

Hence our main motivation for undertaking this project would be to (1) increase the overall speed of the claims process, (2) reduce the number of mistakes caused by manual work, and (3) to be able to accurately track the status of a claim and what stage of the process it is at.

Our project aims to design 4 modules:

  1. Budgeting module
  2. Claims module
  3. Administrative module
  4. Reporting module

Through the implementation of an online claims module, the user would be able to track the status of a claim and where exactly each claim is along the claim process and who was the last one to interact with the claim. This will make the overall claim process more efficient and effective, as the bottleneck can be pinpointed and immediate action can be taken to alleviate the delay. Thus, we are targeting a 25% increase in speed of operations to shorten the overall claims process to a total of 3 weeks.

Picture of a CCA

With a budgeting module in place, the module would allow us to track past budgets of each CCA, and track how much of their budget were expended every semester. Hence, this will enable us to see which CCAs are maximizing their budgets, and which CCAs are spending much less than what they budgeted for. This would help in tracking the accuracy of budgeting by each CCA’s financial secretary and predict future trends and correlation between requested budget and expended budget. This in turn provides a gauge for SMUSA to help them to decide how much they should cut each CCA’s budget for the subsequent semester’s budget.

Although the previous FYP has come up with the beta version, however the system do not encompass the needs of the client. Thus, upon request from the client, we have decided to continue with the project and revamp the system. On top of revamping the system, based on the feedbacks given during beta version, there will be new addition to the user requirements. We hope to streamline our client’s business processes and optimizing it with IT solutions, thus meeting all the requirements requested by our client.

Project Evolution.JPG


Objectives

Our final takeaway for the sponsor would be a website that allows you to make online claims. It will be deployed on SMUSA’s server, and the type of web database management we will be using would be Oracle. At the same time, we need to provide a in depth analysis function to help SMSUA determine which club is over spending and under utilizing their resources. This will help in their budgeting and quickly sieve out the clubs which have been misusing their budget.

For this project, our team will work closely with SMUSA Finance Department, so as to better understand their existing claims process flows to develop our system. Once implemented, this system will bring more efficiency in student reimbursements and also a one-stop function for Finance, OSL and CCA clubs to track budgets effectively.


Value Statement:

We seek to improve the efficiency of SMUSA’s claim system, and thus saving time, cost, and reducing manual labor and its resultant errors.


Goals:


1. 25% increase in the speed of the overall claims process (i.e. new lifecycle time of 3 weeks)

2. Accurately track the status of a claim and what stage of the process it is currently at

3. Provide a more descriptive view of the expenditure of the individual clubs (via the budgeting and reporting modules)

Stakeholders Involved

Stakeholder Role Responsibility
SMUSA Finance Secretary Sponsor Administers the development of the project
SMUSA Deputy Finance Secretary Client Point of contact for project requirements
Office of Finance Client Provides assistance in understanding the claiming process
Director, Office of Student Life Project Continuity Support Provides continuity support after project is handed over
SMU Communications and IT Helpdesk Technical Support Provides assistance to the integration of system with SAP
Prof. Li Ying Jiu Supervisor Advises and supervises project team


Technology

Technologies used

  • MySQL
  • Apache
  • Java Servlets & AJAX Framework: The previous group used Ruby On Rails (ROR). However, there is no continuity in the project as the main users change yearly and programmers with ROR background are rare. Hence, we will start from scratch and will implement the Java/AJAX framework, coding in model 2 (model-view-controller design pattern).

Software used

  • Adobe Dreamweaver CS5
  • Microsoft Visio
  • Tortoise
  • Unfuddle: Project management solution that encompasses Subversion hosting and implements tickets to track our progress with program bugs and milestones to track achievements
  • Oracle 11G: Oracle offers superior, out the box enterprise software integration, better performance (especially for larger database) and better security features than MySQL.

Production environment

  • UNIX Server: Our client’s server is running on Unix



Analyzing current system

This project is a continuation from previous FYP group. The project was handled over with Budgeting and Claims module completed. However, after discussing with our client (SMUSA), we realized that the Claims module needs to be re-analyse again as it did not fulfill certain requirements of the business process. Moreover, after exploring the current status of the applications, we felt that there was no continuity in the project as the main users changes every year and it is rare to find a programmer with Ruby on Rails background.

Below is a summary of the problems we have identified:

# Business Needs of our Client Solutions Implemented by Team uClaim
1 Coding was not done using frameworks taught in our SIS modules (e.g. Java) Coding will be done using Java and AJAX framework
2 The UI (User Interface) and paper-based nature of the entire process was not very easy to use. UI will be revamped to increase userability and to be more simplistic and concise in nature
3 To track the accuracy of budgeting by each CCA’s financial secretary and the ability to predict future trends and correlation between requested budget and expended budget. Reporting module will aid in the decision making process of granting the subsequent semester’s budget for each CCA.
4 To track previous records of past transactions (e.g. for reference, view past budget utilization rates) and to move away from paper-based storage methods. Archiving of records function will be introduced and storage function would be via an online database.
5 Claims module that contains all ANNEX forms (Previous group’s claims module only included 1 ANNEX forms and did not include other ANNEX and did not complete ANNEX codes ). A fully-functional Claims module that includes all ANNEX forms and implements ANNEX codes.

Methods of Collaboration

  • Google Docs
  • Skype
  • Dropbox
  • Email


Roles and Responsibilities

Name Role Job Scope Email
Daryl Lee Security Analyst / Developer *Responsible for secure connection during login and access of information.
*Design the security program
*Secondary role as Developer for Claims module
Email me
Hendry Poh User Interface Designer / Web Developer *Design the layout for best user experience and usability.
*Implement a rich Web Experience on the portal
Email me
Mark Voon Documenter / Developer *Management of documents and diagrams
*Secretary
*Secondary role as Developer for Budgeting Module
Email me
Thia Kai Xin Database Administrator / Developer *Setting up of database and scripting of SQL queries
*Secondary role as Developer for Claims Module
Email me
Tommy Tien Dehui Project Manager *Project management
*Managing stakeholders and main liaison to client
Email me
Wong De Ming Quant Analyst / Developer *Responsible reporting system
*Provide an in-depth algorithm for the analysis of data collected
*Secondary role as Developer for Report module
Email me

Project Details

Project URL

Click here to visit the uClaim Website!

Project Scope

Version Description of changes Changed by Date
v1.0 Initial requirements gathered Tommy Tien 18 June 2010

Business Process Diagrams

1. Budgeting Module


2. Claims Module


3. Reporting Module


4. Administrative Module


User Interface Designs

1. User Interface Design

Business Flow

All Business Flow Diagrams

School CBD Claim Process.jpg



CCA CBD Claim Process.jpg

Project Risk

Updated as of 26th September 2010

Number Risk Category Risk Description Impact Risk Level Mitigation Plan Comments
1 Project One of our group members will be in China for the entire summer (May-August) due to his internship commitments. 1. Difficult to communicate with him during the initial 1-2 weeks of his internship stint as he needs time to settle down and set up his internet connection and workstation.

2. He will not be physically present for our meetings.

Medium 1. Record detailed minutes of every meeting so that he can refer to them and update himself regularly.

2. Implement the use of Skype so as to be able to have verbal and visual communication with him. This will provide him a virtual presence during our meetings and he will still be able to provide his input and comments during our meetings.

This risk has been eliminated as all our group members are back in Singapore.
2 Project Scheduling a common meeting time with our clients and stakeholders. 1. With our whole project team busy with classes and CCA (co-curricular activities) commitments, it is quite hard to find a common meeting time (i.e. weekday evening / night) to meet our clients and stakeholders. Medium 1. Work out a schedule well in advance and block out those dates to ensure full attendance for the meetings.

2. If advanced booking (e.g. at least 1 week in advance) of meeting dates is not possible, then we will cater to the clients and stakeholders and attend the meeting with as many group members present as possible.

This risk has been greatly minimized via the mitigation plan.
3 Project Possibility of the server experiencing prolonged periods of downtime. 1. The server may experience advanced technical issues that would require prolonged periods for maintenance and repair work to be carried out. High 1. Schedule frequent server maintenance checks to monitor load bearing updates and to troubleshoot any problems before they escalate out of proportion.

2. Maintain daily interaction with the server to ensure that the team has a highly accurate server status update.

3. Use personal server (which we would have more control over as compared to the SMUSA server)

This risk has been kept in check via the mitigation plan.

However, due to feasibility constraints (e.g. cash, lack of suitable location), the use of a personal server is not possible.

4 Product For our reporting and analysis of the budget (granted / expended), we shall be using a business intelligence application called Crystal Reports to aid us (via graphical designing of report layouts and data connections) 1.This application is totally new to all of the group members. Hence, there will be a steep learning curve to conquer in order to fully master and utilize this application for our analytical work. Medium 1.Invest a large amount of time and effort to study and use this application, so as to properly incorporate all of project data to enhance our level of analytical work and improve the analysis section of the Claims System. This risk has been kept in check via the mitigation plan.
5 Product Implementation of the Oracle Database to use as our database management system. 1. None of our group members possess prior working experience with the Oracle Database. Hence, there will be a steep learning curve to conquer in order to fully master and utilize this database management system. Medium 1. Invest a large amount of time and effort to study and use this application, so as to maximize the use of our database management system. This risk has been eliminated as all the group members have installed the Oracle Database and have experienced working with the database (e.g. inserting and retrieval of data from the database).
6 Product Implementation of the AJAX Framework to create an interactive web application 1. Only one of our group members possesses prior working experience (minimal) with the AJAX Framework. Hence, there will be a steep learning curve to conquer in order to fully master and utilize this framework. Medium 1. Invest a large amount of time and effort to study and use this application, so as to produce a proper and interactive web application. This risk has been greatly minimized as the numerous weeks’ worth of interaction with the AJAX Framework has allowed us to familiarize ourselves with it.
7 Business Our Claims System would be required to eventually be integrated with the Office of Finance’s (OFIN) SAP Finance Module. Proper integration is required to ensure longevity of the Claims System. 1. None of our group members possess prior working experience with the Office of Finance’s (OFIN) SAP Finance Module. Hence, there will be a steep learning curve to conquer in order to fully master and utilize this SAP Finance Module. High 1. Invest a large amount of time and effort to ensure proper integration with the SAP Finance module is possible. This risk is still apparent as we still have not had much exposure to the OFIN SAP Finance Module.
8 Product - Specific As our online Claims System is being created from scratch (not merely just an improvement from a previous online Claims System), the group’s interpretation of functions and process flow may differ from our clients’ and stakeholders’ interpretation. 1. Our perception of an effective process flow may differ from the current process flow.

2. We may suggest an alternative approach to a certain current process flow. However, the clients and stakeholders may have an opposing view and a different alternative approach.

Medium 1. Schedule frequent meetings with the clients and shareholders (e.g. fortnightly) to ensure that our team’s ideas and thought process are align to that of our clients and shareholders. This will keep the process flow on track and ensure that our clients and shareholders will be satisfied and agreeable with our end product. This risk has been eliminated as our regular interaction with the clients and shareholders has ensured that our work is on the right thought process.
9 Product-Specific Users may take a significant amount of time to migrate over to this new system. 1. Users would require time to learn how to use this new system and understand all the system's functionalities. Medium 1. Arrange for short introductory courses to teach the users how to make optimum use of the new system.

2. Include a FAQ section and documentation/help text to guide the users along as they use the new system.

This risk has been kept in check via the mitigation plan.
10 Product-Specific This large-scale project will involve large amounts of information (data and files). 1.An effective storage and tracking process will be required to communicate and share information with one another.

2.Many versions of data will be created and all the group members should possess the most recent version for each set of data. We should also be able to backtrack to previous versions of data in case we need to refer to an old set of data.

Medium 1.Implement the use of Dropbox and not rely on the use of thumb drives and emails to send files and information. Dropbox creates a local shared folder onto each of our Desktops, enabling easy sharing and retrieving of files with one another.

2.By updating your own Dropbox folder on your Desktop, you will be able to update your versions of data to the most updated versions. This ensures that all group members are equally informed and are working with the most updated resources. Dropbox allows one to backtrack and retrieve previous versions.

This risk has been eliminated through the continued updating via Dropbox and Tortoise Subversion.

Risks Levels

3 Risk levels: low, medium, high


Risk Categories

4 Categories: product-specific, project, product, business


1. Product-Specific Risks:

affects the factors that are associated with the product being developed. eg: availability of testing resources, storage


2. Project Risks:

affect the project schedule or resources


3. Product Risks:

affects the performance quality of software. eg: use of a specific framework [e.g. Java(Ajax Framework) vs Ruby on Rails]


4. Business Risks:

affects the viability of the software. eg: integration problems with the OFIN SAP module.


Website Screenshots

Login page

Homepage.png

Claims module overlook

Claims module.png

Add new event

Add new event.png

Add new user

Add new user.png



Unfuddle Screenshots

A project management solution that encompasses Subversion hosting and implements tickets to track our progress with program bugs and milestones to track what we achieved


This one stop solution is much more efficient than alternate solutions.

For example-->

  • Subversion hosting: Sourceforge
  • File sharing: Dropbox
  • Project management: Google docs


Unfuddle Homepage

Unfuddle overall.JPG


Unfuddle Tickets & Activities

Unfuddle Tickets and Activity.JPG


Unfuddle Milestones Tracker

Unfuddle Milestones.JPG


Unfuddle Ticket Tracker

Unfuddle Tickets.JPG


Unfuddle Users

Unfuddle People.JPG

Project Management

Milestones

Milestones Description Intended End Date Actual End Date Remarks
1 Finalize requirements with client 16 Jun 16 Jun Completed
2 Complete training 16 Jul 6 Aug Completed
3 Iteration 1 (User Interface and Database setup) 6 Aug 11 Aug Completed
4 Prepare prototype 14 Aug 14 Aug Completed
5 Presentation of initial project to client 12 Aug 12 Aug Completed
6 Iteration 2 (Administrative Module release) 7 Sep 17 Sep Completed
7 Mid term review 30 Sep 30 Sep Completed
8 Mid term UAT 8 Sep 11 Oct To Be Started
9 Iteration 3 (Budgeting Module release) 30 Sep 30 Sep Completed
10 Iteration 4 (Claims Module release) 19 Oct To Be Started
11 Iteration 5 (Reporting Module release) 10 Nov To Be Started
12 UAT 12 Nov To Be Started
13 Documentation and end-user training 15 Nov To Be Started
14 Final review 16 Nov To Be Started

Schedule

updated as of: 28 September 2010 Gantt Chart.JPG Gantt Chart Screenshot Legend.JPG

Click here for a further detailed schedule outline


UAT

Click here for our UAT Test Case Results


Metrics

  • Functional


  1. Issues tracking

We will be using a web application called unfuddle

Refer to the Unfuddle screenshots (in the above section) for a more detailed overview.


  • Non-Functional (PENDING)

Meeting inefficiency rate (tells us how efficient we are by measuring how much extra time we require for each of our meetings)


--> The lower the rate, the more efficient we are during our meetings.


--> Equation = (actual meeting duration - predicted meeting duration)/(predicted meeting duration)


example 1: predicted meeting duration = 3 hours, actual meeting duration = 4 hours

therefore meeting inefficiency rate = (4-3) / (3) = 33%


example 2: predicted meeting duration = 2 hours, actual meeting duration = 3 hours

therefore meeting inefficiency rate = (3-2) / (2) = 50%


--> Progress-Contingency Index

0% to 25%: meetings are still within acceptable inefficiency rates. continue to monitor rates and maintain rate within this range.

25% to 75%: meetings are inefficient. employ strict timetable outline for each meeting (e.g. 1st hour - updates from each member, 2nd hour - checking of assigned homework).

>75%: immediate rectifications and solutions need to be implemented. possible solutions: decrease agenda per meeting, increase meeting duration, increase frequencies of meetings

Minutes

May 2010

1. Meeting 1: Minutes for 19 May 2010


2. Meeting 2: Minutes for 28 May 2010


June 2010

1. Meeting 3: Minutes for 17 June 2010


July 2010

1. Meeting 4: Minutes for 1 July 2010

2. Meeting 5: Minutes for 8 July 2010

3. Meeting 6: Minutes for 11 July 2010

4. Meeting 7: Minutes for 18 July 2010

5. Meeting 8: Minutes for 22 July 2010


September 2010

1. Meeting 9: Minutes for 27 Sept 2010

Supervisor Meetings

July 2010

1. Supervisor Meeting 1: Minutes for 15 July 2010


August 2010

1. Supervisor Meeting 2: Minutes for 3 Aug 2010

Change Management

Technical Complexities

Event Reason Solution
For the design of the web page and user interface, we initially intended to use NetObjects Fusion and Microsoft Expression 1. Incompatibility issues when trying to manually manipulate the code for the backend logic of NetObjects Fusion.

2. Microsoft Expression only addresses the user interface portion of our requirements

Switched to Adobe Dreamweaver CS5 as it provides us a more holistic solution, allowing us to address both the web page and user interface requirements either by designing visually or via direct coding.
SMU’s Unix server (production environment) is rather complicated and taking longer than planned to master (2 weeks instead of 1 week). Time was needed to resolve host and IP address. Consult Lee Yeow Leong (SIS Course Instructor) for guidance.
Change requirement by the client after our client update session: Audit Trail for claims made by CCA’s need to be recorded. Thus, the delete functionality for CCA’s, Events and Users should rightfully be implemented during the Reporting Module. The audit trail has not been implemented yet and thus CCA’s, Events and Users should not be deleted from the database. Instead, the entries should be logged in a report. Implement audit trail for deleted CCA’s, Events and Users by extracting the relevant data into a log file. This log file can then be generated into a report file for consolidation purposes.
Oracle Database 11G is not compatible with our school’s UNIX server. Our school’s UNIX server doesn’t support this edition of the Oracle Database. Downgrade to oracle database 10G express. However, this isn’t an issue as we don’t require the new advanced features that are exclusive to the Oracle Database 11G version.
Changed the user interface design (as compared to our initial wireframe design) Upon gathering comments about the initial wireframe design, we decided that userability could be increased by changing from the design of having a horizontal taskbar (with the main page below). Implemented the design of a left-sided taskbar (with the main page to the right).


Midterm Change Management Report

Click here to view our midterm change management report

Learning Outcome

Course-related Learning Points

No. IS480 – Final Year Project Core competencies which address the Outcomes
1 Integration of business & technology in a sector context
1.1 Business IT value linkage skills YY
  1. Define the concept of Online Claim System and identify business scenarios where implementation of the system adds business value
1.2 Cost and benefits analysis skills Y
  1. List typical features offered by most commercial software packages and identify their costs and benefits in a given business scenario
1.3 Business software solution impact analysis skills YY
  1. Analyze the impact of online system on business process efficiency and agility
  2. Analyze the impact of system on firm level capabilities (performance management, financial results)
  3. Analyze the impact of system on company security
2 IT architecture, design and development skills
2.1 System requirements specification skills YY
  1. Analyze the system and the impact of our proposed technolgies on the system
  2. Identify if a specific IT requirement is functional or non-functional requirement
  3. Prepare a system requirements specification report.
2.2 Software and IT architecture analysis and design skills YY
  1. Designing the functional scope
  2. Translating business requirements to IT requirements
2.3 Implementation skills Y
  1. Set up the system by implementing a JSP page on Apache Tomcat.
2.4 Technology application skills N -
3 Project management skills
3.1 Scope management skills Y
  1. Prepare a project implementation plan.
3.2 Risks management skills YY
  1. Analyze the risks involved in implementing the system
3.3 Project integration and time management skills Y
  1. Design Gantt chart showing project phases and resource allocations.
3.4 Configuration management skills Y
  1. Ability to manage expectation of project sponsor.
3.5 Quality management skills Y
  1. Perform UAT test.
  2. Prepare meta data and application documentation.
4 Learning to learn skills
4.1 Search skills Y
  1. Make use of the advanced features of common search engines.
4.2 Skills for developing a methodology for learning Y
  1. Develop a learning style (e.g. "test drive" using trial version, reading of online forums, analyzing FAQ section on company's website, group research and discussion) to learn the new systems/programs used during the course of the project (e.g. AJAX framework, Oracle 10G Enterprise Edition Database)
5 Collaboration (or team) skills
5.1 Skills to improve the effectiveness of group processes and work products Y
  1. Effectively communicate and resolve conflicts while working in a self-chosen team with peers of various abilities and attitudes
6 Change management skills for enterprise systems
6.1 Skills to diagnose business changes N -
6.2 Skills to implement and sustain business changes N -
7 Skills for working across countries, cultures and borders
7.1 Cross-national awareness skills N -
7.2 Business across countries facilitation skills N -
8 Communication skills
8.1 Presentation skills Y
  1. Give a presentation on the proposed system concept and design.
8.2 Writing skills Y
  1. Write an investigation report.
  2. Write a project proposal.

Legend


YY: This sub-skill is the main focus of the module

Y: This sub-skill is partially covered by the module

N: This sub-skill is not covered by the module


Individual Refections

Daryl: I have learnt that the work is not truly over when you have completed your own assigned piece of work, for the key is a fully functional integrated model. So it is important to do integration at an early stage and as an iterative process, so as to ensure a smooth integration process where bugs and conflicts can be spotted early and rectified quickly.


De Ming: I learnt that revising materials learnt from past modules was especially useful to our project as some functionalities (e.g. bootstrapping of a CSV file to a database) and logic greatly aided me in designing certain modules (e.g. uploading of budget) of our project. So it definitely pays off to not forget what you previously learnt!


Hendry: As the AJAX framework is entirely new to me, designing an effective user interface takes a large amount of time, experimentation, and research work. Hence, it is important to start designing early in order to be able to consider and implement various design considerations.


Kaixin: The initial learning curve for mastering the Oracle database was rather steep and substantial time was required to read up on forums and to experiment with the database and connecting it to our web interface. Thus, I learnt that developing and maintaining the database was an ever-ongoing learning process as whenever we updated or added a functionality, further tweaking of the codes (e.g. SQL) and connection logic was required.


Mark: Although the project has many different segments (e.g. coding of modules, user interface, project management, documentation), I have learnt that it is imperative that everyone knows the progress of each segment, regardless of whether or not you are assigned to that particular segment. Hence, it is important to have up-to-date and regular communication with group members for status updates and so that everyone has a clear picture of the overall progress.


Tommy: With a bigger project scale and a more complicated client requirement set as compared to the Software Engineering project, effective project management has become even more critical and hard to execute to ensure a successful project.