{"title":"面向对象程序的维护支持","authors":"N. Wilde, R. Huitt","doi":"10.1109/ICSM.1991.160324","DOIUrl":null,"url":null,"abstract":"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>>","PeriodicalId":269572,"journal":{"name":"Proceedings. Conference on Software Maintenance 1991","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"1991-10-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"63","resultStr":"{\"title\":\"Maintenance support for object oriented programs\",\"authors\":\"N. Wilde, R. Huitt\",\"doi\":\"10.1109/ICSM.1991.160324\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"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>>\",\"PeriodicalId\":269572,\"journal\":{\"name\":\"Proceedings. Conference on Software Maintenance 1991\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1991-10-15\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"63\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings. Conference on Software Maintenance 1991\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICSM.1991.160324\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings. Conference on Software Maintenance 1991","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSM.1991.160324","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
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.<>