HeaderSIS.jpg

Difference between revisions of "IS480 Team wiki: 2010T1 Flexperts/final page"

From IS480
Jump to navigation Jump to search
m
 
(102 intermediate revisions by 4 users not shown)
Line 1: Line 1:
==Complete Timeline==
+
Click [https://wiki.smu.edu.sg/is480/IS480_Team_wiki:_2010T1_Flexperts here] to go back to our Midterm Wiki.
  
Timeline following the RUP process
+
==<div style="width: 98%; padding: 12px;  font-weight: bold; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='blue',endColorstr='white'); ">Complete Timeline</div>==
 +
 
 +
 
 +
Timeline following the Rational Unified Process (RUP) process
 
<br>
 
<br>
[[Image:Flexperts_timeline.png| 700px| Timeline following the RUP process]]
+
[[Image:Flexperts_timeline.png| 700px|  center | Timeline following the RUP process]]
 
<br>
 
<br>
==Project Progress Summary==
+
 
 +
==<div style="width: 98%; padding: 12px;  font-weight: bold; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='blue',endColorstr='white'); ">Project Progress Summary</div>==
  
 
Highlights since the [[IS480_Team_wiki:_2010T1_Flexperts/midterm_page | midterm]].
 
Highlights since the [[IS480_Team_wiki:_2010T1_Flexperts/midterm_page | midterm]].
  
Describe the project progress briefly here. Is the project completed?
+
The project was completed on time. It was deployed on our client's server before our final presentation. Our shippable product, Flexcellence, comprises the Flash Generator and Live Whiteboard applications. The client is very satisfied with our product, and even commented that the Whiteboard has a lot of potential in the field of remote learning, which is in line with CTE’s promotion of e-learning.
  
The project was completed on time. It was deployed on our client's server before our final presentation. Our shippable product, Flexcellence, comprises the Flash Generator and Live Whiteboard applications. The client is very satisfied with our product, and even commented that the Whiteboard has a lot of potential in the field of remote learning, which is in line with CTE’s promotion of e-learning.
 
 
Our project will be put into pilot testing phase next semester. Professor Kevin Steppe will be using the Live Whiteboard in his Architecture class. While CTE will be conducting training  sessions for faculty members to get familiar with the Flash Generator. A dedicated server, apart from the current machine that we are using, will be set up soon. The necessary permissions and discussions are already in progress.
 
Our project will be put into pilot testing phase next semester. Professor Kevin Steppe will be using the Live Whiteboard in his Architecture class. While CTE will be conducting training  sessions for faculty members to get familiar with the Flash Generator. A dedicated server, apart from the current machine that we are using, will be set up soon. The necessary permissions and discussions are already in progress.
  
 +
===Project Demonstration:===
 +
====Flash Generator's Output:====
 +
 +
<br>
 +
[[Image:Flexperts_Demo1.gif| 800px|  center | Flash-Generator]]
 +
<br>
 +
This is an example of an output that students will see. This will be used out of classroom context for self learning.
 +
 +
====Whiteboard Output:====
 +
 +
<br>
 +
[[Image:Wb1.gif| 500px|  center | Whiteboard]]
 +
<br>
 +
This animation shows snapshots of both the professor's and students' view.
 +
It shows the process of setting up, logging in, uploading, displaying and downloading of the image/powerpoint file in its life cycle.
  
 
===Project Highlights:===
 
===Project Highlights:===
 
What unexpected events occurred and how were they handled?
 
  
 
* We dropped the delete function from CRUD of the flash generator, because it wasn’t the client’s requirement and was minute.
 
* We dropped the delete function from CRUD of the flash generator, because it wasn’t the client’s requirement and was minute.
 
* We dropped the toolbox function from the Whiteboard, as our client, Prof Kevin, felt that there was no point in duplicating features that were already available to students with PowerPoint.
 
* We dropped the toolbox function from the Whiteboard, as our client, Prof Kevin, felt that there was no point in duplicating features that were already available to students with PowerPoint.
+
* We moved from using the Live Cycle Data Services (LCDS) technology to database technology for our whiteboard.
  
 
===Project Challenges:===
 
===Project Challenges:===
  
Describe areas of the project that were particularly difficult and how they were dealt with, whether successfully or not. Again, a few sentences are enough. If there are no challenges, remove this section.
+
*Project was more complex than we thought
 +
*Our initial scope was too large
 +
*We were way behind our schedule during mid-term.
  
===Project Achievements:===
+
====How We Overcame These Challenges====
  
With the help of our supervisor, we caught up after being behind schedule for weeks due to the unforeseen complexity in code. The method we used is by prioritizing by functions:
+
* We had constant communication with our supervisor and client.
 +
* We revamped our schedule after advise from our supervisor Prof Kevin.
 +
* We prioritised our features, and did the important ones first.
 +
* We focused on quality, rather than quantity.
 +
* We dropped certain functions that were not part of the client's requirements.
 +
* We did not limit ourselves to the specific job scope we initially imposed.
 +
* We were flexible and had showed agile teamwork dynamics.
 +
* We never gave up.
  
#We listed all the functions that we had promised to deliver on a board
+
===Project Achievements:===
#We rated them in order of importance, not by sequence
 
#We took into account precedence of functions in ordering
 
#Using the new numbering, we set new goals for each iteration
 
#Having set priorities, unimportant functions were taken out, and will only be completed if there is extra time
 
  
By changing our focus from delivering quantity to delivering quality, we found ourselves in a better position to meeting all our client’s requirements punctually.
+
#CTE is piloting our Flash Generator
Teamwork wise, we did not limit ourselves to the specific job scope which we initially imposed. Instead, we were very flexible with it and filled in whichever gaps present. This agile teamwork dynamics that we put together often helped us help one another, thus aided us in working well with one another.
+
#Professor Kevin Steppe is going to use our whiteboard in his Architectural Analysis (AA) class next year.
 +
#We met all of our client's requirements punctually.
  
==Project Management==
+
==<div style="width: 98%; padding: 12px;  font-weight: bold; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='blue',endColorstr='white'); ">Project Management</div>==
  
Provide more details about the status, schedule and the scope of the project. Describe the complexity of the project.
 
  
 
===Project Schedule (Plan Vs Actual):===
 
===Project Schedule (Plan Vs Actual):===
Line 54: Line 75:
 
[[Image:Flexperts_schedule.png|600px| Schedule Metrics]]
 
[[Image:Flexperts_schedule.png|600px| Schedule Metrics]]
  
As you can notice we had certain  rough patches. The following chart shows our mitigation strategies which helped overcome our problem in terms of being behind schedule.  
+
We had certain  rough patches. The following chart shows our mitigation strategies which helped overcome our problem in terms of being behind schedule.  
  
 
[[Image:Flexperts_schMet_miti.png|600px|Mitigation Strategy]]
 
[[Image:Flexperts_schMet_miti.png|600px|Mitigation Strategy]]
 +
 +
=====Advantage of the Schedule Metric=====
 +
 +
* Assist us to determine whether the progress is behind time / on time /ahead of time
 +
* Helps us to prioritise our features based on our progress.
 +
* Helps us to take important mitigation steps such as dropping functions should the progress be behind time.
  
 
====Bug Metric====
 
====Bug Metric====
Line 62: Line 89:
 
The .xls version of the excel with all the formulae can be downloaded from [http://dl.dropbox.com/u/580827/Bug%20Metric.xls here].
 
The .xls version of the excel with all the formulae can be downloaded from [http://dl.dropbox.com/u/580827/Bug%20Metric.xls here].
  
The screenshot below shows the page of the excel sheet on which we list all the unsolved bugs.
+
The graph below shows the number of bugs and their severity for an iteration.
[[Image:Flexperts_bug_met.png|600px|Screenshot of the bug listing]]
+
 
 +
[[Image:Bug metric graph.png|600px|Screenshot of the bug listing]]
  
 
=====Advantage of the Bug Metric=====
 
=====Advantage of the Bug Metric=====
Line 72: Line 100:
 
===Technical Complexity:===
 
===Technical Complexity:===
  
#Edit a flash object only by changing the xml
+
#Learning a new programming language (Action Script)
#Database feeding changing files at real-time which replaces Live-cycle data service
+
#Complex System Architecture
 +
#Editing a flash object only by changing the xml
 +
#Database feeding changing files at real-time which replaced Live Cycle Data Services
 
#Complex file structure due to the integration of 2 applications
 
#Complex file structure due to the integration of 2 applications
 
#Efficient search without going through database
 
#Efficient search without going through database
  
==Quality of product==
+
=====System Architecture=====
 +
 
 +
[[Image:Flexperts_architecture.png|600px|System Architecture]]
 +
 
 +
 
 +
==<div style="width: 98%; padding: 12px;  font-weight: bold; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='blue',endColorstr='white'); ">Quality of product</div>==
  
  
Line 83: Line 118:
 
===Project Deliverables:===
 
===Project Deliverables:===
  
The zipped source code is available [http://dl.dropbox.com/u/580827/Flexperts.zip here].
+
{| border="1"
 +
|- style="background:blue; color:white"
 +
|align="center"| Stage
 +
|align="center"| Specification
 +
|align="center"| Modules
 +
|-
 +
 
 +
|rowspan="2"| Project Management
 +
|| [https://wiki.smu.edu.sg/is480/IS480_Team_wiki:_2010T1_Flexperts#Meeting_Minutes Minutes]
 +
|| Supervisor and Client Meetings
 +
|-
 +
 
 +
|| [[#Project Metrics|Metrics]]
 +
|| Bug metric, Schedule metric
 +
|-
 +
 
 +
|rowspan="5"| Requirements
 +
 
 +
|| [[Image:fact_ui_design.png| 300px|  left | Fact UI Design]]
 +
|| UI Design
 +
|-
 +
 
 +
|| [[Image:concept_ui_design.png| 300px|  left | Concept UI Design]]
 +
|| UI Design
 +
|-
 +
 
 +
|| [[Image:principle_ui_design.png | 300px|  left | Principle UI Design]]
 +
|| UI Design
 +
|-
 +
 
 +
|| [[Image:process_ui_design.png | 300px|  left | Process UI Design]]
 +
|| UI Design
 +
|-
 +
 
 +
|| [[Image:procedure_ui_design.png | 300px|  left | Procedure UI Design]]
 +
|| UI Design
 +
|-
 +
 
 +
 
 +
|rowspan="5"| Analysis
 +
 
 +
|| [[Image:Flexperts_BP_FlashGen.jpg | 300px|  left | Business Process Flash Generator]]
 +
|| Business Process Diagram
 +
|-
 +
 
 +
|| [[Image:Flexperts_BP_Whiteboard.jpg | 300px|  left | Business Process Whiteboard]]
 +
|| Business Process Diagram
 +
|-
 +
 
 +
|| [[Image:Flexperts_TechDiag_FlashGen.jpg | 300px|  left | Technical Diagram Flash Generator]]
 +
|| Technical Diagram
 +
|-
 +
 
 +
|| [[Image:Flexperts_TechDiag_Whiteboard.jpg | 300px|  left | Technical Diagram Whiteboard]]
 +
|| Technical Diagram
 +
|-
 +
 
 +
|| [[Image:Flexperts_architecture.png | 300px|  left | System Architecture]]
 +
|| Overall System Architecture Diagram
 +
|-
 +
 
 +
|| Testing
 +
|| [http://dl.dropbox.com/u/580827/UAT%20Test%20Plan_Final.docx Test plan]
 +
|| Test cases
 +
|-
 +
 
 +
|rowspan="4"| Handover
 +
|| [http://dl.dropbox.com/u/580827/Flash_Generator_User_Manual.docx Flash Generator User Manual]
 +
|| User manual for the Flash Generator
 +
|-
 +
 
 +
|| [http://dl.dropbox.com/u/580827/Whiteboard_%20User_Manual.docx White Board User Manual]
 +
|| User manual for Whiteboard
 +
|-
 +
 
 +
|| Property of CTE|| Code for entire solution
 +
|-
 +
 
 +
|| [http://dl.dropbox.com/u/580827/Flexperts_Documentation_Client.doc Documentation]
 +
|| Comphensive documentation for CTE
 +
|}
  
 
=== Quality:===
 
=== Quality:===
Line 95: Line 210:
  
 
We have a bat file that is scheduled to run at start up which performs the below actions:
 
We have a bat file that is scheduled to run at start up which performs the below actions:
1) Map our project folder to S:\
+
# Map our project folder to S:\
2) Write the IP address to a html embedding a flash to redirect (until we get a static IP)
+
# Write the IP address to a html embedding a flash to redirect (until we get a static IP)
3) Start Mod Converter, which is a Open office Library
+
# Start Mod Converter, which is a Open office Library
4) Start WAMP and tomcat
+
# Start WAMP and Tomcat
 
With this bat file, it will automatically configure the runtime environment for our project.
 
With this bat file, it will automatically configure the runtime environment for our project.
  
[[IS480_Final_Wiki#Project_Deliverables: | deployment diagram link]].
+
Open only in SMU domain (Use VPN if at home)
 +
#[http://10.1.12.23:8080/Flexperts/ Flash Generator Professor Login]
 +
#[http://10.1.12.23:8080/Flexperts/Login.html Whiteboard Professor Login]
 +
#[http://10.1.12.23:8080/Flexperts/Main.html Whiteboard Student Login]
  
===Testing:===
+
Template Outputs
 +
#[http://10.1.12.23:8080/Flexperts/OUTPUT/IS480/BlankPrinciple.html Principle Template Output]
 +
#[http://dl.dropbox.com/u/584125/Flexperts/BlankFact.html Blank Fact Template Output]
 +
 
 +
====Development Environment====
 +
# Flash IDE : Adobe Flash Builder 4 (Student licensing)
 +
# Flash Generator : Adobe Flex SDK 3.5 (Open source)
 +
# Webapps IDE : Netbeans 6.8 (Open source)
 +
# Database : mySQL (Open Source)
 +
# Server : Apache Tomcat (Open Source)
 +
# Repository: Dropbox
 +
 
 +
===Testing and Feedback:===
  
 
We conducted a UAT with not only our client, but our end users as well, which includes the Professors and students as well.
 
We conducted a UAT with not only our client, but our end users as well, which includes the Professors and students as well.
Our UAT Test plan can be found at [insert same link from Project Deliverables section]
+
Our UAT Test plan for Flash Generator can be found [http://dl.dropbox.com/u/580827/UAT%20Test%20Plan_Final.docx here]
For the Flash Generator, we approached 4 Professors and 4 students, who were from SIS, SOB and Dean of Students office .In general, they found the system useful, and expressed an interest to use it in the future. Their suggestions were more on the UI than functionality based. The details of the feedback can be found in the following document.  
+
We approached 4 Professors and 4 students, who were from SIS, SOB and Dean of Students office .In general, they found the system useful, and expressed an interest to use it in the future. Their suggestions were more on the UI than functionality based. The details of the feedback can be found in the following document.
 +
Our client upon testing had very positive feedback and was very happy.
  
Our client upon testing had very positive feedback and was very happy.
+
Our UAT Test plan for the Whiteboard can be found [http://dl.dropbox.com/u/5479131/UAT%20Whiteboard%20Test%20Plan_Final.docx here].We asked our supervisor, Prof Kevin Steppe as this product was primarily for him. He showed great enthusiasm and commitment in seeing this application become a reality. He was very happy with the application. However, he felt that we should have given him the option of choosing how many student whiteboard rooms he would like. Currently, there are 8 fixed student rooms.
For the Whiteboard, we asked [I don’t know who we asked to demo]. They were in general very happy with the application, although felt that 8 screens might not be enough for all students in the class, and therefore felt this was a limitation. Also, when uploaded to the Whiteboard, the diagrams are slightly small, so not very useful for all courses.
 
  
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 119: Line 249:
 
  |<!--col1-->Mockup showing suggestions of Professors
 
  |<!--col1-->Mockup showing suggestions of Professors
 
  |<!--col2-->Mockup showing suggestions of Students
 
  |<!--col2-->Mockup showing suggestions of Students
 +
|}
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
|<!--col1-->[[Image:Flexperts_Flashgen%28prof%29-positive.png|520px]]
 +
|<!--col2-->[[Image:Flexperts_Flashgen%28stu%29-positive.png|520px]]
 +
|-
 +
|<!--col1-->Mockup showing benefits pointed out by Professors
 +
|<!--col2-->Mockup showing benefits pointed out by Students
 
  |}
 
  |}
  
 
The Professors we asked:
 
The Professors we asked:
* Jason Woodard * Li Yingjiu
+
* Jason Woodard  
* Jiang Lingxiao * Timothy Hsi
+
* Li Yingjiu
* Hong Seng * Vandana Ramachandra
+
* Jiang Lingxiao
 +
* Timothy Hsi
 +
* Ong Hong Seng  
 +
* Vandana Ramachandra
 +
* Tan Swee Liang
  
==Reflection==
 
  
Compile common lessons and reflection for the team and for each team member. Be brief.
+
==<div style="width: 98%; padding: 12px;  font-weight: bold; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='blue',endColorstr='white'); ">Reflection</div>==
 +
 
  
 
===Team Reflection:===
 
===Team Reflection:===
  
 
====Bobby's Reflection====
 
====Bobby's Reflection====
[[Image:Bobby.jpg|90px|right]]
+
[[Image:Bobby.jpg|150px|right]]
 
As project manager, I had two goals for this project. Firstly, I wanted my group members to work as a closely knitted and united team. The beginning was not easy because we had different opinions on the feasibility of this project. As the semester when by, there were times where progress was slow due to the complexity of our technology. Even when times got tough, we never gave up. I am immensely pleased that we worked together and pressed on to finish this project as a team.
 
As project manager, I had two goals for this project. Firstly, I wanted my group members to work as a closely knitted and united team. The beginning was not easy because we had different opinions on the feasibility of this project. As the semester when by, there were times where progress was slow due to the complexity of our technology. Even when times got tough, we never gave up. I am immensely pleased that we worked together and pressed on to finish this project as a team.
 
Secondly, I wanted my team to deliver a shippable product, something that could be used. Our professor Kevin Steppe showed great commitment in our whiteboard application and he intends to use it in his Architectural Analysis (AA) class next semester. Our client, Dr Soo Wai Man from Centre of Teaching Excellence (CTE) wants to pilot test our Flash Generator too. I am very proud of these achievements.
 
Secondly, I wanted my team to deliver a shippable product, something that could be used. Our professor Kevin Steppe showed great commitment in our whiteboard application and he intends to use it in his Architectural Analysis (AA) class next semester. Our client, Dr Soo Wai Man from Centre of Teaching Excellence (CTE) wants to pilot test our Flash Generator too. I am very proud of these achievements.
 +
 +
<br>
  
 
====Bryan's Reflection====
 
====Bryan's Reflection====
[[Image:Bryan.jpg|90px|right]]
+
[[Image:Bryan.jpg|150px|right]]
 +
<br>
 
It is almost impossible to develop a truly finished product. There will always be side details of about how the project can be further enhanced. However, these enhancements must be prioritized and not be allowed to overtake the main functionalities in importance. I learnt that in order to have a working product, we must put aside thoughts of ultimate expansion on concentrate on the functionalities at hand and how to deliver them.
 
It is almost impossible to develop a truly finished product. There will always be side details of about how the project can be further enhanced. However, these enhancements must be prioritized and not be allowed to overtake the main functionalities in importance. I learnt that in order to have a working product, we must put aside thoughts of ultimate expansion on concentrate on the functionalities at hand and how to deliver them.
 +
<br>
 +
<br>
 +
<br>
  
 
====George’s Reflection====
 
====George’s Reflection====
[[Image:George.jpg|90px|right]]
+
[[Image:George.jpg|150px|right]]
This project is more than just a technical project. The team got the chance to search for a sponsor, discuss the technicalities with him, gather feedback and improve on our product. I feel that this project is more than academic; it’s practical and puts everything we learnt in and out of classroom to practice. As I have had very good experience and learning outcome from this FYP, I will be doing another one next year.
+
<br>
 +
This project is more than just a technical project. Our team got the chance to search for a sponsor, discuss the technicalities with him, gather feedback and improve on our product. I feel that this project is more than academic; it’s practical and puts everything we learnt in and out of classroom to practice. At the end of the day, we do not just submit our project for grading, but actually implement and maintain the product. In fact, what delights me is that we are actually going to use a part of our project for next semester's AA class! That will really meet our client's objective of promoting e-learning in SMU. We believe that what we have done will eventually lead to a movement and for faculty, a shift in paradigm to use e-learning resources to teach. <br>
 +
One key lesson I learnt is to never give up; never be afraid to fail. If we have to fail, fail fast, recover, and rise up to improve. Ultimately, we will reap success, and as we did.<br>As I have had very good experience and learning outcome from this FYP, I will be doing another one next year.
 +
<br>
 +
<br>
 +
<br>
 +
<br>
 +
<br>
  
 
====Urmila’s Reflection====
 
====Urmila’s Reflection====
[[Image:Urmila.jpg|90px|right]]
+
[[Image:Urmila.jpg|150px|right]]
 +
<br>
 
The most important lesson I learnt from this project is that it’s very essential for business requirements to take into account technical possibilities. Sometime, what are good business requirements may not be able to be translated into technical requirements, so some way has to be figured out whereby the business requirement is addressed in some manner, without putting too much strain on the technical team.
 
The most important lesson I learnt from this project is that it’s very essential for business requirements to take into account technical possibilities. Sometime, what are good business requirements may not be able to be translated into technical requirements, so some way has to be figured out whereby the business requirement is addressed in some manner, without putting too much strain on the technical team.
 
Working with a real client, and being able to deliver a working product at the end, was definitely very fulfilling, and really helped me to understand some of the concepts that we are taught in our courses.
 
Working with a real client, and being able to deliver a working product at the end, was definitely very fulfilling, and really helped me to understand some of the concepts that we are taught in our courses.
 +
<br>
 +
<br>
 +
<br>
 +
<br>
 +
<br>
  
 
====Yohann's Reflection====
 
====Yohann's Reflection====
[[Image:Yohann.jpg|90px|right]]
+
[[Image:Yohann.jpg|160px|right]]
 +
<br>
 
This project has helped me develop holistically. It has not only helped me to hone my skills at software development but has allowed me think beyond. To list a few things -  
 
This project has helped me develop holistically. It has not only helped me to hone my skills at software development but has allowed me think beyond. To list a few things -  
 
*How to deal with or present your product to a client
 
*How to deal with or present your product to a client
 
*When to stop trying and change strategies completely
 
*When to stop trying and change strategies completely
 
*How to make a good presentation
 
*How to make a good presentation
 +
 +
<br><br>
 +
<br><br>
  
 
===Sponsor Comment:===
 
===Sponsor Comment:===
  
 
The sponsor commented that our whiteboard has potential for remote learning, and is currently looking into that. He also expresses that our system is efficient, and commends our team efficiency in delivering the customized product
 
The sponsor commented that our whiteboard has potential for remote learning, and is currently looking into that. He also expresses that our system is efficient, and commends our team efficiency in delivering the customized product

Latest revision as of 01:06, 29 November 2010

Click here to go back to our Midterm Wiki.

Complete Timeline

Timeline following the Rational Unified Process (RUP) process

Timeline following the RUP process


Project Progress Summary

Highlights since the midterm.

The project was completed on time. It was deployed on our client's server before our final presentation. Our shippable product, Flexcellence, comprises the Flash Generator and Live Whiteboard applications. The client is very satisfied with our product, and even commented that the Whiteboard has a lot of potential in the field of remote learning, which is in line with CTE’s promotion of e-learning.

Our project will be put into pilot testing phase next semester. Professor Kevin Steppe will be using the Live Whiteboard in his Architecture class. While CTE will be conducting training sessions for faculty members to get familiar with the Flash Generator. A dedicated server, apart from the current machine that we are using, will be set up soon. The necessary permissions and discussions are already in progress.

Project Demonstration:

Flash Generator's Output:


Flash-Generator


This is an example of an output that students will see. This will be used out of classroom context for self learning.

Whiteboard Output:


Whiteboard


This animation shows snapshots of both the professor's and students' view. It shows the process of setting up, logging in, uploading, displaying and downloading of the image/powerpoint file in its life cycle.

Project Highlights:

  • We dropped the delete function from CRUD of the flash generator, because it wasn’t the client’s requirement and was minute.
  • We dropped the toolbox function from the Whiteboard, as our client, Prof Kevin, felt that there was no point in duplicating features that were already available to students with PowerPoint.
  • We moved from using the Live Cycle Data Services (LCDS) technology to database technology for our whiteboard.

Project Challenges:

  • Project was more complex than we thought
  • Our initial scope was too large
  • We were way behind our schedule during mid-term.

How We Overcame These Challenges

  • We had constant communication with our supervisor and client.
  • We revamped our schedule after advise from our supervisor Prof Kevin.
  • We prioritised our features, and did the important ones first.
  • We focused on quality, rather than quantity.
  • We dropped certain functions that were not part of the client's requirements.
  • We did not limit ourselves to the specific job scope we initially imposed.
  • We were flexible and had showed agile teamwork dynamics.
  • We never gave up.

Project Achievements:

  1. CTE is piloting our Flash Generator
  2. Professor Kevin Steppe is going to use our whiteboard in his Architectural Analysis (AA) class next year.
  3. We met all of our client's requirements punctually.

Project Management

Project Schedule (Plan Vs Actual):

Plan vs Actual Schedule

Project Metrics:

Schedule Metric

Schedule Metrics

We had certain rough patches. The following chart shows our mitigation strategies which helped overcome our problem in terms of being behind schedule.

Mitigation Strategy

Advantage of the Schedule Metric
  • Assist us to determine whether the progress is behind time / on time /ahead of time
  • Helps us to prioritise our features based on our progress.
  • Helps us to take important mitigation steps such as dropping functions should the progress be behind time.

Bug Metric

The .xls version of the excel with all the formulae can be downloaded from here.

The graph below shows the number of bugs and their severity for an iteration.

Screenshot of the bug listing

Advantage of the Bug Metric
  • To keep track of bugs that can not be solved on the spot
  • Severity > 6 in any case = bug fixing day

Technical Complexity:

  1. Learning a new programming language (Action Script)
  2. Complex System Architecture
  3. Editing a flash object only by changing the xml
  4. Database feeding changing files at real-time which replaced Live Cycle Data Services
  5. Complex file structure due to the integration of 2 applications
  6. Efficient search without going through database
System Architecture

System Architecture


Quality of product

Project Deliverables:

Stage Specification Modules
Project Management Minutes Supervisor and Client Meetings
Metrics Bug metric, Schedule metric
Requirements
Fact UI Design
UI Design
Concept UI Design
UI Design
Principle UI Design
UI Design
Process UI Design
UI Design
Procedure UI Design
UI Design
Analysis
Business Process Flash Generator
Business Process Diagram
Business Process Whiteboard
Business Process Diagram
Technical Diagram Flash Generator
Technical Diagram
Technical Diagram Whiteboard
Technical Diagram
System Architecture
Overall System Architecture Diagram
Testing Test plan Test cases
Handover Flash Generator User Manual User manual for the Flash Generator
White Board User Manual User manual for Whiteboard
Property of CTE Code for entire solution
Documentation Comphensive documentation for CTE

Quality:

Our system is designed to take in multiple instances at a time. The flash generator evokes a bat file every time it is called, and these bat files are executed in the order they are queued, and thus supports multiple instances. The whiteboard application creates multiple sessions, and allows multiple ‘rooms’ to be created.

In essence, the target and source are loosely coupled.

Deployment:

We have a bat file that is scheduled to run at start up which performs the below actions:

  1. Map our project folder to S:\
  2. Write the IP address to a html embedding a flash to redirect (until we get a static IP)
  3. Start Mod Converter, which is a Open office Library
  4. Start WAMP and Tomcat

With this bat file, it will automatically configure the runtime environment for our project.

Open only in SMU domain (Use VPN if at home)

  1. Flash Generator Professor Login
  2. Whiteboard Professor Login
  3. Whiteboard Student Login

Template Outputs

  1. Principle Template Output
  2. Blank Fact Template Output

Development Environment

  1. Flash IDE : Adobe Flash Builder 4 (Student licensing)
  2. Flash Generator : Adobe Flex SDK 3.5 (Open source)
  3. Webapps IDE : Netbeans 6.8 (Open source)
  4. Database : mySQL (Open Source)
  5. Server : Apache Tomcat (Open Source)
  6. Repository: Dropbox

Testing and Feedback:

We conducted a UAT with not only our client, but our end users as well, which includes the Professors and students as well. Our UAT Test plan for Flash Generator can be found here We approached 4 Professors and 4 students, who were from SIS, SOB and Dean of Students office .In general, they found the system useful, and expressed an interest to use it in the future. Their suggestions were more on the UI than functionality based. The details of the feedback can be found in the following document. Our client upon testing had very positive feedback and was very happy.

Our UAT Test plan for the Whiteboard can be found here.We asked our supervisor, Prof Kevin Steppe as this product was primarily for him. He showed great enthusiasm and commitment in seeing this application become a reality. He was very happy with the application. However, he felt that we should have given him the option of choosing how many student whiteboard rooms he would like. Currently, there are 8 fixed student rooms.

Flexperts UAT prof.png Flexperts UAT stu.png
Mockup showing suggestions of Professors Mockup showing suggestions of Students
Flexperts Flashgen(prof)-positive.png Flexperts Flashgen(stu)-positive.png
Mockup showing benefits pointed out by Professors Mockup showing benefits pointed out by Students

The Professors we asked:

  • Jason Woodard
  • Li Yingjiu
  • Jiang Lingxiao
  • Timothy Hsi
  • Ong Hong Seng
  • Vandana Ramachandra
  • Tan Swee Liang


Reflection

Team Reflection:

Bobby's Reflection

Bobby.jpg

As project manager, I had two goals for this project. Firstly, I wanted my group members to work as a closely knitted and united team. The beginning was not easy because we had different opinions on the feasibility of this project. As the semester when by, there were times where progress was slow due to the complexity of our technology. Even when times got tough, we never gave up. I am immensely pleased that we worked together and pressed on to finish this project as a team. Secondly, I wanted my team to deliver a shippable product, something that could be used. Our professor Kevin Steppe showed great commitment in our whiteboard application and he intends to use it in his Architectural Analysis (AA) class next semester. Our client, Dr Soo Wai Man from Centre of Teaching Excellence (CTE) wants to pilot test our Flash Generator too. I am very proud of these achievements.


Bryan's Reflection

Bryan.jpg


It is almost impossible to develop a truly finished product. There will always be side details of about how the project can be further enhanced. However, these enhancements must be prioritized and not be allowed to overtake the main functionalities in importance. I learnt that in order to have a working product, we must put aside thoughts of ultimate expansion on concentrate on the functionalities at hand and how to deliver them.


George’s Reflection

George.jpg


This project is more than just a technical project. Our team got the chance to search for a sponsor, discuss the technicalities with him, gather feedback and improve on our product. I feel that this project is more than academic; it’s practical and puts everything we learnt in and out of classroom to practice. At the end of the day, we do not just submit our project for grading, but actually implement and maintain the product. In fact, what delights me is that we are actually going to use a part of our project for next semester's AA class! That will really meet our client's objective of promoting e-learning in SMU. We believe that what we have done will eventually lead to a movement and for faculty, a shift in paradigm to use e-learning resources to teach.
One key lesson I learnt is to never give up; never be afraid to fail. If we have to fail, fail fast, recover, and rise up to improve. Ultimately, we will reap success, and as we did.
As I have had very good experience and learning outcome from this FYP, I will be doing another one next year.




Urmila’s Reflection

Urmila.jpg


The most important lesson I learnt from this project is that it’s very essential for business requirements to take into account technical possibilities. Sometime, what are good business requirements may not be able to be translated into technical requirements, so some way has to be figured out whereby the business requirement is addressed in some manner, without putting too much strain on the technical team. Working with a real client, and being able to deliver a working product at the end, was definitely very fulfilling, and really helped me to understand some of the concepts that we are taught in our courses.




Yohann's Reflection

Yohann.jpg


This project has helped me develop holistically. It has not only helped me to hone my skills at software development but has allowed me think beyond. To list a few things -

  • How to deal with or present your product to a client
  • When to stop trying and change strategies completely
  • How to make a good presentation





The sponsor commented that our whiteboard has potential for remote learning, and is currently looking into that. He also expresses that our system is efficient, and commends our team efficiency in delivering the customized product