Title :
Software lives too long
Author_Institution :
Dept. of Comput. Sci., Idaho Univ., Moscow, ID, USA
Abstract :
Old programs represent yesterday´s technology. We have has learned quite a bit about software engineering methodology in the last few years. We now know, for example, that requirements traceability is central to program maintainability-if we don´t know what a program is supposed to do we cannot maintain it. We know that calendar years have four digits in them, not two. We know that data can best be managed in databases. We know that many of the utility functions once written into programs are best handled by the operating system. And we have new design constructs and new programming language features that permit us to design eminently maintainable programs. When the cost of maintaining old buildings becomes excessive, we replace these buildings. We must do the same with old programs. Programs do not age well-written for hardware systems and operating systems that typically no longer exist many are fraught with undocumented patches and features. Just as we have learned that it is wise to invest in new hardware and new buildings, we must learn to recognize the value of replacing drafty and rickety old software
Keywords :
software maintenance; databases; design constructs; hardware systems; old programs; operating systems; program maintainability; programming language features; requirements traceability; software engineering methodology; utility functions; Aging; Application software; Automatic programming; Buildings; Computer languages; Hardware; Magnetic heads; Operating systems; Software maintenance; Software reliability;
Journal_Title :
Software, IEEE