IS480 Team wiki: 2017T1 Renew Final Wiki

From IS480
Jump to navigation Jump to search






Project Progress Summary

Deployed Site Link

Fashion Your Future

Finals Slides

Finals Slides

Deployment Progress
  • Current Iteration: Iteration 11
  • Iteration Period: 20 November 2017 - 22 November 2017
  • Major Milestones: Finals Presentation (22 November)
  • Functions: All Completed

Project Highlights

  • Changes to our functions even after midterms where we increased the depth of our functions.
  • Based on the feedback from our sponsor's management, changes were still required to the public facing website before we could go live after midterms.
  • Related to the above point, design is equally important to functionality as our client is a fashion retailer thus necessitating an atypical approach to the project, something our team was happy to take on.
  • We added good-to-have functions which are to aid our sponsor in their daily job scopes as the number of personnel they have has decreased.
  • The team is consistently thinking of ways to value add to our project, even up to the previous iteration. This was where we were troubled as we had to consider between adding extra functions or going more in depth into our functions.

Project Management

Project Status

As seen below, Renew is proud to present that we have delivered on 100% of our scope from Midterms, it should be noted that this 100% figure actually represents even more features than what was intended at midterms. We would like to thank our supervisors and reviewers as well as our sponsors for giving us more ideas on how else we could value add to this project.

Renew Final Project Status.png

Module Status Confidence Level (0-1) Comment
Job 100% 1 Had functions added after Midterms
Admin 100% 1 Nil
Account 100% 1 Had functions added after Midterms
Welfare 100% 1 Nil
Engagement 100% 1 Nil
Reward 100% 1 During testing, speed was highlight on our part as a concern, however, our sponsor assures us that this is due to their system.
Reporting 100% 1 Nil
CMS 100% 1 Nil
Communication 100% 1 Nil
Blog 100% 1 Nil
Roster 100% 1 Nil

Project Scope Changes

From midterms till the end of the project, Renew did not remove any functions. Conversely, we added even more functionality to existing modules to deliver a product which has greater value than what we planned to deliver from our midterm presentation.
For Renew, we had to consider different things we previously did not need to. Mainly, this resulted from the change in the number of HR personnel in F J Benjamin. We thus had to consider if we were to create new functions such as a chatbot, would it really be beneficial in light of the reduced number of HR Personnel. After consideration and discussion with our sponsor and supervisor, we decided to concentrate more on functions that would help HR with the onboarding processes. This included adding functions to help interviewing as well as making use of the data present for potential integration with F J Benjamin's other IT systems.


Renew Midterm Scope.png


Renew Scope Finals Wiki.png

Changes since Midterm:

S/N Function Module Function Type Type of Change Reason How
1 a. Note-Taking
b. Filters
c. KIV & Reassign Applicants
Job Core Addition of Functions To value add in 3 different areas a. Interviewing potential employees
b. Making it easier to search for potential employees who fit a criteria
c. To easily keep track of potential employees
2 a. Convert from Applicant
b. Applicant Information Web Service
Account Core Addition of Functions To value add via the portal a. Make use of existing data within the system
b. To reuse data captured for potential integration with F J Benjamin's other IT systems

Project Schedule Changes

Planned (from Midterm)

Renew Timeline 10Aug Ver 3.png


Renew Final Wiki Schedule.png

Changes since Midterm:

Previous Iteration New Iteration Change(s) Reason(s)
- Iteration 9 Addition of Job (III) and Account (II) Functions To increase the depth of our functionality to provide even more value to our sponsor
Iteration 9 Iteration 10 UAT 3 was pushed back to the next iteration To account for the addition of new functions.
Iteration 11 Iteration 11 Finalisation of Final Presentation Date and removal of Demo Final Presentation Date was open for booking and there were changes in the course

Project Metrics

For a complete breakdown of how we calculated our metrics as well as for more information pertaining to our metrics, do take a look at Renew Metrics

Task Metrics:

Renew Finals Task Metrics.PNG

Bug Metrics:

Renew Finals Bug Metrics.PNG

Project Risks

For a full list of all our risks along with their status and our mitigation strategies employed, do take at our Risk Management

Renew Finals Risk.png

Technical Complexity

Focus on UI that is easy to maintain and change

We have a project whereby the UI is very important and must fulfil 4 basic needs whilst having a consistent look and feel across the website.
1. Ability to upload images
2. Text in the form of a paragraph must be attached to the image
3. Easy to use without training as editors will be HR personnel who are not trained in any IT skills.
4. Liberty for user to edit changes and reverse mistakes instantaneously without the need to redeploy portion of the project

Based on the research done by us, existing CMS are overloaded with non-essential functionalities and would require elaborate access control via other systems. To aid us, we have used blobs and containers as well as Dropbox which allows us to change our display on the go.

Sample Page:

Dropbox Integration:
This is to cut down on the resources needed due to concerns regarding the size of the database as well as to reduce the time taken to load the images. To achieve this, we have brought in the Dropbox API for images. However, this does not solve the concerns regarding the editing of the text.

How Our Blobs Work:
(i) Year Blob:
Decades – /LegacyHome.jsp
At this page, the code goes into database to search in table “DecadeBlobs”. Retrieves the blobs in increasing decade order(1990s, 2000s, 2010s, etc) and prints them in LegacyHome.jsp
Within each decade – eg: /LegacyTemplate.jsp?decade=1980
At this page, the code goes into database to search in table “YearBlobs”. Retrieves the blobs whose decade=the selected decade, and prints them in LegacyTemplate.jsp
(ii) Timeline Blob:
The individual “timeline circles” are blobs, which are also retrieved along with the year blob and printed.

Sample Blob from Database:
Regarding the usage of blobs, it has become a key point of our project as our previous efforts did not manage to give it the consistency we needed. For reference, our previous efforts are shown below alongside common HTML tags which we were exposed to. While it showcases a decent product, it is not something we felt was spectacular and deserving of a company which is firmly rooted in the fashion industry which places a high emphasis on design.

Usage of C# to integrate with our client’s POS system

As part of our requirements, we are to integrate our system, which is coded mainly in java, with the current POS system that F J Benjamin has in place for a purpose of validating a voucher. Through this, we had to analyse their POS system and to aid us, they have kindly offered a code extract.

Our solution is to create a RESTful web service which makes use of XML to be able to update both systems when the proper conditions are met. This has meant that we have had to analyse their current systems and see where we could come in.

Based on what we have seen, the way a voucher is parsed into the POS system is that the system will digest the data in the interim of the POS system and parse it to their Backend system to act upon. However, our approach is that we do not do the digestion in the interim but rather, route it to a specific system before letting the data is digested to retrieve the needed information. Therefore, this makes the need to recompile the POS system redundant when there is a change in information which needs to be digested as compared to the previous approach.

This involved convincing the IT Team at F J Benjamin of the benefits of the modularity basis we used to approach this issue as well as being able to demonstrate the effectiveness of this approach as this is a clear departure from their established process. Through this basis of modularity, our own webservice needed to be coded in C# and was presented to them in the format of a .DLL file which can be thought of as a compile version of a C# project which offers plug and play capabilities.

Our code as seen, makes use of a byte array to transmit our voucher code to our database to verify the voucher’s validity which is returned in the format of an XML document to showcase the extensibility of this particular method.

Quality of Product


Area of Interest Link
Project Management Minutes
Requirements Scope
Analysis Use Case
Market Research
Architectural Diagram
Design Prototypes
Testing Test Information
Handover Documentation Available on request due to agreement with F J Benjamin


For the live version of our website, do visit Fashion Your Future and browse through the legacy of F J Benjamin and understand their story. Feel inspired and confident about the rich history behind the brand and the testimonials from our people and take the plunge to apply for a career with us!


Total number of testing:

  • 3 UATs in total, all tested.
  • Internal testing of new function when developed
  • Regression testing at the end of every iteration
  • Testing before website-goes-live
  • Internal and regression testing are completed with documented test cases

    Renew FinalTesting.png  More details about our testing can be found below:

    Regression Testing UAT 1 UAT 2 UAT 3
    Renew MidtermRegression TestingLogo.png Renew UAT1MidtermLogo.png Renew UAT2MidtermLogo.png.png Renew UAT3MidtermLogo.png


    Renew Testimonial.png


    Team Reflection

    Renew Finals Team Reflection.png


    Individual Reflection

    Renew FinalsReflection.png