Thursday, December 27, 2007

Design Bug

This huge mistake is caused only as a result of 'Lack of Experience'. Thankfully I am working on AMS right now so I can really find out how much I was missing from practical experience. I found out that: I have no 'Classes' in the system, and honestly this is not accepted to me. I have a web pages that insert, update, delete, and assess data from a database but I did not use Object Oriented Programming. It is more like a database interface, nothing more. I shall start correcting this problem, but I won't start doing so till students finish the Second Year Data Structure assessment.

I thought about the Classes I shall have in the system, and how they relate to each other.
  • Assessment ( that includes questions, each assessment can have different formats)
  • Student ( If I handled student as a class in the first place, I should have solved too many situations I have been through in building AMS)
  • Courses
I gotta admit I got stuck in the gap between Relational databases and Object Oriented Concepts. I read a lot about this gap in the books (specially Object Oriented, and Object Relational Databases books) but I have never felt it like I did this time.

I learned database (if I am allowed to say I learned database) before I learned Object Oriented Concepts, so I am totally affected with Relational Databases concepts too much more than Object Oriented Concepts. I even start building systems by building databases, and apparently this is not completely wrong. I missed the OOP completely, I don't have any UML diagrams, and I know this is a disaster, but this is what happened. The funny thing is: Students are attending their assessments successfully, without a single class in the AMS :)

Thanks to God, merciful God
:)

No comments: