Sunday, January 11, 2009

LibTimeManager 1.0 : The Journey






Yes,Last Sem this was the most productive thing that was done by me.. with more of active help from Swapnil aka Nawab.. it was actually his idea that we take up this project. As the Name suggests the Stand Alone Application is for a Library which is being used to Monitor Activities of Employees and stores the corresponding records. At First it seemed really easy given the Customer Requirement Specification but then all Hell Broke Loose.. more so because i was quite inexperienced in implementation in Java that too with a GUI front end.
(as an afterthought even Text based Front end would have been really difficult to achieve..) .. so i took the task at hand.. with the work being cut out for each of us we began individually. Initial Stages were tough given that i had just started out with Java and OOP.Also the fact that everything from OOAD,DB Design,Implementation,Testing,Delivery everything had to be done by us.

So I took a book called HeadFirst Java and began with the basic Concepts but that was insufficient because the Gravity of the Project demanded better Implementation Skills and along the same time Class Diagrams,Use Case Diagrams and Database Design were being done.Everything was in a mess because the Design was changed everyday for atleast 4 days until our thought-process failed to find any faults. However the Customer Req.Spec Changed during that course and there were more changes to the Design that added more to the Complexity.

After nearly a week of BrainStorming,the Design was finalized and we began Implementing the Class Diagrams and Creating Tables in Database.
We however could find Faults during Implementation rather clearly which we missed because of lack of experience in Implementation . With more changes we had a rough GUI layout of all the Frames and Panels ready in 5-6 days.It was then we realized that GUI was the most Trivial part in the Application and it was the backend Computation that shouldnt fail for all cases. GUI work was almost done by Swapnil and i chipped in with Repetitive work of copying Code and then Modifying. It was at that point i realized the importance of Following Coding Standards and making the code readable .(I mean within a week of learning Java i could Implement a GUI panel :).. gr8 for a start).

We were almost 4 days from the Initial Deadline and almost most parts of the Application werent Functional.Now both of us were getting used to working together and reading each other codes (At the Last Stage of the Project this helped when both of us were mentally exhausted and we began coding together .. and it was like few lines were done by me and next few were done by him :P ). Most of BackEnd work were functional the day before the deadline but there were major flaws in the design as a whole which lead to major problems at this point of time.

I clearly remember the Night before the Deadline we were working minus our brains .. rather mechanically which is when we incorporated the WORST UNREADABLE and DUPLICATED code. The Deadline was though Extended. given the Inability of both of us and more so the inability of the Software to deliver the reqd specs .

Then we came back to College which is when the real Task began. In the Train however we had refined the code and Followed some naming Conventions that werent done earlier.
So with a much readable code base of about 2500 lines the work at coll began. Some Flaws in DB design and Class Diagrams were corrected and reflected in the Code. Then i guess we worked for 2 weeks on the stretch day in and day out working on the code set and adding new features and rectifying the earlier mistakes and quickly the code base grew to 8000 lines and more than 60 .java Files.However we knew each file inside out .. name of each variable and each method (which was a surprise :) though).

Finally the App was ready for Deployement 2 days after diwali .We had hardly worked for a month to roll out something that is after all a Practical Application and not that has something to do with Numbers,Bit Fiddling,String Manipulation for a change.

Then we began with our next assignment for QuizInc called QuizBuilder 1.0 which we worked upon in 5 days and came up with a manageable application. Though it was Beta Tested for a Quiz .. it turned out to be a damp squib.

Finally we rested for a few days after so much work and the End Semester Exams were nearing.After the Exams, we did Extensive Testing and tried to make the App Break and Stress out .. and fortunately or Unfortunately it did and we rectified each time until the software was finally tested OK.


The Application is now being used in the Library from 1st Jan 2009.. however we heard that there was some problems with the Firewalls or the Operating System.. we will soon Rectify that.. But as a whole the entire experience was an enriching one .. it enhanced my capability to think Logically and also improved my Implementation Skills tremendously.

I ll keep you updated till then Enjoy Life.

1 comment:

Anonymous said...

Good work!!
I faced similar trouble in ER model designing while i participated in TGMC