Tuesday, March 24, 2009

Data Flow Diagram of USeP's Enrollment System

THE NOBLE ART OF MAINTENANCE PROGRAMMING.....




Software maintenance is...

  • Intellectually complex - it requires innovation while placing severe constraints on the innovator
  • Technically difficult - the maintainer must be able to work with a concept and a design and its code all at the same time
  • Unfair - the maintainer never gets all the things the maintainer needs, such as documentation
  • No-win - the maintainer only sees people who have problems
  • Dirty work - the maintainer must work at the grubby level of detailed coding
  • Living in the past - the code was probably written by someone else before they got good at it
  • Conservative - the going motto for maintenance is "if it ain't broke, don't fix it"

Software maintenance is pretty complex, challenging stuff. In most computing installations, the people who do maintenance tend to be those who are new on the job or not very good at development. There's a reason for that. Most people would rather do original development; maintenance is too constraining to the creative juices for most people to enjoy doing it. And so by default, the least capable and the least in demand are the ones who most often do the maintenance.

The status quo is all wrong. Maintenance is a significant intellectual challenge as well as a solution and not a problem. If we want to maximize our effectiveness at doing it, we need to significantly change the way in which we assign people to it.

Those things are based the book of Robert L. Glass “The art and science of software engineering”. It is very evident that maintenance programmer should have a good people skills as they call it because he/she is going to deal with people, peoples that had problems about the system which requires skills in analyzing because those people don’t talk technical language, therefore maintenance programmer should be able to understand and analyze what those people are referring to because sometimes those people can’t directly explain what the problem really is. Other skills that are needed are already mentioned above.