2002 · 26 citations · 20 references
ComputingComputer ScienceMaintenance EngineeringProgramming LanguagesSoftware EngineeringObject-oriented DesignObject-oriented ProgrammingSoftware ArchitectureSoftware DesignSoftware MaintenanceType SystemsDependency AnalysisDependency Graph AnalysisDependency GraphsObject-oriented ArchitectureObject-oriented MaintainabilityObjects
Some of the difficulties that may be expected in the maintenance of software developed using the new object oriented languages are described. The concepts of inheritance and of polymorphism provide the great strengths of these languages but they also introduce difficulties in program analysis and understanding. The authors analyze problems of dynamic binding, object dependencies, dispersed program structure, control of polymorphism, high level understanding and detailed code understanding. Examples are presented based on code from the Smalltalk V environment. Recommendations are made for possible tool support, particularly using the concepts of dependency analysis, external dependency graphs, and clustering methodologies. Some suggestions are made concerning maintenance in firefighting situations, when a failed system must be brought back into service with a minimum of lost time.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
20
Mark Weiser · IEEE Transactions on Software Engineering · 1984 · 3.2K citations
Object-oriented software construction
Pierre America · Science of Computer Programming · 1989 · 2K citations
BoochG · IEEE Transactions on Software Engineering · 1986 · 778 citations
Grady Booch · IEEE Transactions on Software Engineering · 1986 · 713 citations
Software Maintenance Management
P.H. Silcox · IEE Proceedings E Computers and Digital Techniques · 1980 · 388 citations