Tuesday, 21 September 2010

Project reflection

STU188 is now finished, a full task list is on the design specification within the evidence folder.

Looking back the project has been a good one, when I first started work on the application it had errors in the code, crashed at certain points and allowed users to go through the full application without entering any data.

This gave me the opportunity to learn how the application had been setup at first and I was able to follow the processes in such a way that I was able to find the faults which had been causing the problems while it was live. It also reinforced in myself that I was able to apply skills gained in the leadup to this placement, this was a confidence boost right at the start of the project.

I was given a timescale of around 9 days to complete the project, as these timescales were for a competant developer I was given the option to extend if required.

The tasks to complete in this time were:

  • Implement EASE authentication (integration to the university single sign on system)
  • Customize acknowledgement Email to include the applied for schemes
  • Form Validation upgrade
  • fix crashing on the Postgrad process
  • Restructure the database
  • remove redundant code
  • create pre populating fields
  • create additional mandatory fields
  • add validation for the mandatory fields
  • add timestamps to the databases
  • amend page design (to fit consistantly with the rest of the university web space)
  • amend internal links to relative format
Initial thoughts

having read through the code my intial concerns were with the EASE process and the errors causing the crashes. I had no experience with EASE and only knew of it due to the log in sequence for some of our applications.

During the build

My initial concerns were turned on their head, EASE authentication was something new and I had to ask for help with this one, Gabby one of the developers explained the procedure to me and went through the code required to run it.

The code didnt work, instead of going back and getting it fixed I decided to try this myself, with a little help from the lead developer for STU188 I was able to write a ColdFusion Component which ran the EASE authentication, this file is application .cfc and can be found in uni/evidence/september/STU188/STU188_1.1/pg/application.cfc.

One of the trickier parts of the build was the form validation, my method of implementation was to validate at the end of each section (usually 3 form to fill out during the application), as it was the current system validated at the end of the process which was a pain if you needed to fix an error on the first page.

However the problems this posed to me was I now had to figure out a new sequence logic, the order of form>validate>return to form>fix error>validate>progress did not already exist in the application and was something I created from almost new with the basis being from the old system. Tracing the steps through the old system then re engineering this around my system design was the part which took the longest and also the part I needed help to complete, because I was covering new ground for me I didnt know how to deal with some of the problems which arose as a result, such as validating checkboxes or returning to specific points to make changes in the form.

Throughout the build I have spent alot of time with another developer Petra, she has been highly valuable to my progress and my understanding of coldfusion. Petra has helped me to debug my software and understand what the error messages meant. Although I have now spent two years studying software engineering, in the real world I am coming up against what I would class as day to day issues and I feel that I am only encountering them now, things I probably wouldn't get to experience had I not been in the workplace.

I actually managed to finish the project just over half the alloted time, the application initially used hard coded internal navigation and according to my tests was servicable and robust as a commercial application. However, after a chat with Peter one of our senior developers he spoke about alternative coding techniques and given I was well ahead of the target I decided to have a go.

The end result was STU188_1.1, using dynamic coding through coldfusion lists & loops, a bit more advanced validation and a better error catching system. I'm very proud of this application because 1.1 was built by me, I was showed how the lists worked by Greg (another very good developer) and left to it.

Issues

Through this build I don't feel that I have been confident in my ability, I have felt that I was stumbling in the dark looking for solutions. I don't know how much of this project I will take forward into others because I feel that I failed here.

I had been writing the application in accordance to the adobe user documents however I've been told by colleagues (peter, greg) that this way is not the way we build applications here. Although the architecture described in the documentation is competent most builds here keep all the dynamic parts of the application and business logic out of the users access. This is not the case with the more procedural format of the user documents.

I do feel downhearted with this, however on the other side of this it also means that I will be exposed to and learn the proper way to develop applications.

To look at it another way its also a good measure of where I am starting out from, so there is a positive.

What did I learn?

  • Further usage of regular expressions, now writing my own (basic) regexp using reference
  • ColdFusion Lists & loops
  • Importance if minimalising coupling
  • EASE implementation
  • Creating databases in MS access
  • use of coldfusion debugging functions &
  • Further usage of the standard debugging output on the web page
Summarise

Great project, learned alot from it. It has demonstrated to me that I am competant and progressing in the way I hoped as opposed to sitting and panicking. I finished this project in little over half the budgeted timescale and had enough time to build two, I hope thats not expected of me all the time:)

No comments:

Post a Comment