"Design Guidelines and Documentation Paradigms for Object Oriented Programs"


Mr. Jens Andexer


Abstract

What's the problem with software? Almost daily one reads about the advances in technology and leading the way, it seems, is the computer industry. Storage costs are dropping, processor cycles per dollar are increasing, but nagging at the heels of these successes are stories from the software industry reporting cost overruns and ballooning expenses. Why is that? And what about today's crop of new software technologies? Surely they can help solve the problems.

Object Oriented programming languages are a new technology. Some believe this new technology can cure many of the software industries ills, that it is a "silver bullet [52]".

But in order to find a cure one must understand the disease, not just treat the symptoms. Costs are not the disease, only a symptom. But if costs are only a symptom what are their main contributors? What is driving them up? And can OO deliver what is hoped for?

The answers to these questions do not lay in new cutting edge of technology, their answers lay in what happens to cutting edge technology over time.

This thesis explores what happens to software as it ages. Starting from a basic understanding of software aging, a deeper understanding of its details is established by analysing the most prevalent software maintenance process in industry. This analysis uncovers what makes software maintenance so difficult and, therefore, so expensive.

The information gained from the analysis of the software maintenance process is used to develop design guidelines and a documentation paradigms that take muchof the speculation out of designing sofware for maintenance. Finally, a case study is developed that shows what the documentation for a system developed using this thesis might look like.