HeaderSIS.jpg

IS480 Team wiki: 2013T1 Kungfu Panda Final Wiki

From IS480
Revision as of 16:13, 24 November 2013 by Yh.koon.2010 (talk | contribs)
Jump to navigation Jump to search
KP-NewHeader.PNG



Main WikiKP-Main Wiki Link.PNG
KP-WithClient2.PNG


Project Progress Summary

Final Presentation Slides Download!
Link to our Branch Teller Application: http://10.0.106.169:8080/SMUtBank_Teller/


Our team, Kungfu Panda, have been progressing well since the start of iteration 1; currently, we are in iteration 9 of our project. Although through the first half of the semester, we faced some changes requested by our client, our team faced them well. We were very focused. However, due to some last minute changes to our requirement, our team is currently rescheduling some task to the next iteration in order to complete the prioritized task first.

After Midterm, our team should have completed about 65% of the Branch Teller Application which includes the Party Customer, Deposit Account, Loan Account and Transaction use cases. We will be moving on to complete our X-Factor (Credit Approval and Teaching Tool) after our Midterm.

Project Highlights

  • Address feedbacks from our User Tests

Project Challenges

  • We were unable to get expert advice for our application (e.g. real branch teller)
  • Trying to get real branch teller as our users for User Test
  • Constant changes made to our requirement by our client
  • Dependency with the other FYP SMU tBank teams
  • Having to handle the deadlines to get the services up for the other teams and also services by them


How we overcome

  • Preserve and press on
  • Think out of the box
  • Efficient communication with the other teams

Project Achievements

  • Complete the Application with all our client's requirement
  • Manage to secure one Branch Manager from a bank to try out our Application

Project Management

Project Status

Currently, our project is 100% completed.
Percentage of Development Tasks Complete = Number of Completed Tasks (in Green) / Total Number of Tasks

The below diagram shows a coloured diagram / map of development tasks that are completed and outstanding.
974×497px 1051×489px

Project Milestone

KP Milestone Table.PNG
KP FinalMilestone.PNG
Our Updated Project Schedule Download!

Project Schedule (Planned Vs Actual)

Project Metrics

Schedule Metrics

KP-ScheduleMetricsNew2.PNG



KP-Individule MetricsWk23.PNG



Below are some graphs which shows our schedule metrics for each iterations and for each individual members.
We have also calculated the average man hours per week each member put in.

KP-TeamScheduleMetricsWk23.PNG


KP-Individule MetricsGraphWk23.PNG


KP-ManhoursWk23.PNG



Bug Metrics

Bug Metric for FYP Week 30: 0 KP-GoodBugMetric.PNG
Below shown are the latest 25 bugs our team have encountered and is recorded in our Bug Tracker.
http://kfpbugtracker.no-ip.org/webissues

KP BugTrackerFinal.PNG


KP-BugMetricsNew2.PNG


KP-BugMFormula.PNG


KP BugMetric-a.PNG


KP BugMetric-b.PNG


KP BugMetric-c.PNG


Happiness Metric

KP-HappyMetirc.PNG
KP-HappyMetircScale.PNG


KP Happy Metric New.PNG

Technical Complexity

Frontend Complexity

KP-Frontend Complexity.PNG


Backend Complexity

Summary of Complexities Faced

  1. Data Integrity
    1. Ensured that insert statements made to the databases were ordered (serialized)
    2. Handled error flow should a transaction violation error occur
  2. Finance Formulas
    1. Had to research on finance formulas and understand the time value of money in order to complete this task
    2. Translated finance formulas (annuity formula) into Java code to be used in the Loan creation process
  3. Business Logic Errors
    1. Used XPath formulas within Tibco Designer to check for conditions such as insufficient balance or no such account and what to do subsequently
  4. Business Process Flow
    1. Entire business logic of the core banking systems is programmed inside the back-end services
    2. Deciding the order of events (which should come first etc.) in terms of business requirements was a key consideration in the design as well



Development using Tibco Enterprise Messaging Service (EMS)
Tibco Enterprise Messaging Service is a middleware product that implements the Java Messaging Service (JMS). Its flexible architecture helps simplify operational complexity by supporting the communication with a wide variety of technologies so that businesses can focus on the development and refinement of business requirements.

To develop on the EMS, our team had to use a sister product of Tibco, the Tibco Designer. This is a GUI-based developmental interface that allows developers to minimise coding whilst maintaining a high level of efficiency in capturing business process logic.

Sample Service: Transaction_PartialLoanRepayment_Create Sample-core-services-complicated.png

Quality of Application

Project Deliverables

Stage Specification Modules
Project Management Project Scope
Progress Overview
Risks
Metrics
Meeting Minutes
Design ER Diagram
Project Architecture Diagram
Testing UT 1 - Informal Testing
UT 2 - Deployment Exercise

Quality

Deployment

The following Branch Teller Functionalities have been deployed in the SMU tBank Server:
These represent 17 of 18 core functionalities.
- Party Create
- Party User PIN Create
- Party Read & Update
- Customer's Accounts Dashboard
- Account Deposit Read & Update
- Account Loan Create
- Manage Customer's Loan Accounts
- Account Loan Read & Update
- Transaction Deposit
- Transaction Withdrawal
- Transaction History Read
- Payment Credit Transfer Bill Payment
- Payment Loan Repayment Full
- Payment Loan Repayment Partial

The following Back End Services have been deployed in the SMU tBank Server:
These represent all 17 SMU Core Services.
- Party Customer Create
- Party Customer Read
- Party Customer Update
- Party Customer Read IC
- Account List Read
- Account Deposit Create
- Account Deposit Read
- Account Deposit Update
- Account Loan Create
- Account Loan Read
- Account Loan Update
- Transaction Deposit
- Transaction Withdrawal
- Transaction History Read
- Payment Credit Transfer Create
- Transaction FullLoanRepayment Create
- Payment Loan Repayment Partial

Testing

Link to our Our User Testing

Client Testing

Link to our Informal Testing with Client

Deployment Exercise

Our team have conducted this Deployment Exercise together with the two other FYP SMU tBank teams. The objective of this exercise is to utilize our Branch Teller Application in a classroom setting as a lab exercise and to test the usability of the application. This exercise was conducted in the IS419: Retail Banking class with 45 students. The lab was lead by Instructor Arul. So the students do their lab exercise in class and our team members will walk and observe some users through the whole lab exercise.
More details can be found by clicking the link below.
Link to our Deployment Exercise

User Testing

Our team did 2 User Test on 25 Oct and 8 Nov respectively
Link to our Our UT 1 Results
Link to our Our UT 2 Results

The objective of the user test is to test

  • The usability of the application
  • Measure the time required for each test cases
  • To see the learning curve of our application


For each User Test, we invited 30 SMU students from different schools to be our user and these users are all first time users.
The users are left to execute the task while our team member observe and time them.

The scope we covered for these two User Test are:

  1. Create Customer and Update Customer Details
  2. Create and Update Deposit Account
  3. Create and Update Loan Account
  4. Deposit & Withdrawal
  5. Bill Payment
  6. Overview and create Ibanking Account
  7. Customer View (by NRIC and Customer ID)
  8. Transactions (Partial & Full Loans)
  9. View Transaction History
  10. Direct Debit Authorisation
  11. Update Customer Details


Time Result
This is the average timing we have collated for our UT 1 and UT 2 for each individual test case.
Our Team have notices that after making the change suggested in UT 1 by our users, the timing for UT 2 is faster as compared to UT 1.
KP UTAvgTiming.PNG

From the timing we have collated, we have also noticed that users tend to be faster at conducting a task they had done before.
Therefore, our application have a low learning curve, allowing users to familiarise the application very easily.
KP UTTimeDiff.PNG

Subjective Feedback
This is the subjective feedbacks we have received from both UT 1 and UT 2.
The score given were in the range of between 4 to 4.5, where
Score of 5 means: Very Easy and Very Good
Score of 1 means: Very Difficult and Very Bad
KP SubjectiveFeedback.PNG
Overall Comments

  • Information is well organised and legible
  • Fast and Responsive, Simple Design, Clear sections on left menu
  • Clean cut, Simple, Neat layout
  • The notification pop-up is useful
  • Colours are soothing to the eyes, and fonts are appropriate for such applications


Changes

  • Changes made to the color and we have also bold the words to make it clearer.

KPChange-Color.PNG

  • We have added instructions, so users are clear that the password have to be 6 numerical.

KPChange-Password.PNG

  • Checkbooxes are also added to the toggle filter

KPChange-Filter.PNG

  • We have added one more button to lead the teller to the Teller Main Menu.

KPChange-Logout.PNG

  • Tip boxes with instructions help users with the application

KPChange-TipBox.PNG



UAT

At the end of our whole project, our team did a User Acceptance Test with our client to test whether the application is functional and that proper validation for each fields are correct.
This test cover all the requirement our client have given to us.
We are glad to pass all the task cases. More details can be found by clicking the link below.
Link to our UAT with Client

Reflections

Team Reflection

Most of us have heard about the quintessential proverb that refers to teams, “If you want to go fast, go alone. But if you want to go far, go together”. In this Final Year Project, this proverb really sums up the biggest take away as a team. Most would expect in SIS that students would learn about computer systems and hard skills, and perhaps it is apt that our FYP experience debunks this severely lacking assumption. The close proximity and working relationships we’ve forged over the duration of this project have caused us to bond together like a family. As with all families, it augurs well for getting out a quality product due to team chemistry. But there’s also disagreements, fights and differences in opinions that result because of a collective ownership that also takes place on a deeply personal level. At the end, it’s about recognizing the common denominator we all share as teammates, comrades and brothers (and sisters) in arms, we’re here to journey together in making SMU tBank a success.

KP-TeamPiclong.PNG


Individual Reflections

Geraldine Koon (Project Manager)
Through IS480, I learnt that in a project, everyone really needs to work closely together regardless of the different working style each member has. Things may not work out very well at the start, however, as we work along with one another strong points and help each another with our weak points, we will be able to progress well together. Also in this project, I realized that progress is impossible without changes. With all the feedback we received from our client and user testing, I see that the changes we made have improved our application, becoming a much better application as we progress.
All in all, I am very glad that my team have managed to come so far together and it is definitely a very memorable experience.


Jonathan Ho (Business Analyst)
One of the key tenets of the popular 7 Habits of Highly Effective People deals with beginning with the end in mind. Throughout the project, I learnt in my primary role as a Business Analyst that a problem well defined was half the problem solved. The team needed to to have a common idea and vision of our deliverables and end product with our client, and defining the requirements was a key factor to our team’s completion. After all, you can’t build something if you don’t know what you’re building right? But moving towards the finals from the midterms was a vastly different “ballgame”, where the team was already aligned with our client, and the bigger challenge was persevering on to seeing things to completion. Keeping team morale up and remembering our end in mind was essential in motivating a continued and sustained push towards the end to deliver our final product.

Zhu Juntao (Usability Engineer)



James Lim (Quality Assurance)
During the period of IS480, I have learnt much how challenging a Core Banking Project can be. Though it is developed within a sheltered environment, the technologies used are of relevance. TIBCO and Java is widely used in the banking industry, and HTML5 is becoming very powerful and useful in today's web technologies. Combining both to create a vanilla Bank Teller Application has been very intriguing, a back-end based on traditional banking technologies and a front-end using the latest of web technologies, it perhaps, might be the new way of doing a Teller application, where most systems today are easily decades old. To do this, collaborating as a team, we ensured that the ideals are guaranteed is just as important as keeping ourselves grounded on what can or cannot be done. We also made it clear to be open to suggestions from people and the environment, ideas from our testers were considered on a very open process and applied to the project. The same can be said from the environment, where we kept a lookout to see what we can use in our project. All of this have contributed to a project we have pride in.


Kevin Ng (Lead Developer)
The journey through IS480 developing the SMU tBank's Branch Teller was challenging but satisfying. Although we got off to a somewhat rocky start, it was encouraging to see the team improve rapidly as the weeks progressed. I took a few key takeaways from this experience.
Firstly, a good understanding of domain knowledge is essential to develop an effective system. In our case, market research and learning about retail banking products and processes helped us greatly when designing the Branch teller System.
Secondly, I learnt that difficult challenges can be overcome by perseverance and optimism. For example, after many attempts, we finally managed to secure an expert user to test our Branch Teller System.
Finally, it's important that we design our code with extensibility and modifiability in mind. This will assist future teams to improve upon our foundation to ensure SMU tBank remains a relevant and effective teaching and educational tool.
Tan Yao Guang (System Analyst)
As a developer in the team, I have learnt many technical skills ranging from developing using third party libraries like Drools, to using a GUI development environment (TIBCO). But then there were the other skills that I got to learn as well - there was the creating of a credit engine from scratch. This required us to do an extensive amount of research to find out how credit scoring was done in the industry, as well as finding out average loan amounts etc. These skills were not technical in nature and hence was a great add-on to the skills learnt for myself from this project.


KP-SponsorComment.PNG

Project Future