{"title":"Building reusable software","authors":"S. Parker","doi":"10.1109/TOOLS.1999.10002","DOIUrl":null,"url":null,"abstract":"Summary form only given, as follows. Reusing software improves quality as well as productivity. In practice, it is hard to achieve significant levels of reuse in commercial applications beyond generic support software. This tutorial will present programming and design techniques for achieving more reuse. The first session will examine the obstacles to reuse in commercial data processing, and illustrate the potential benefits. The main session will: 1) consider design reuse, source code reuse and routine libraries; 2) review the principles of modular design, cohesion, coupling and information hiding; 3) show how inheritance and dynamic binding extend and enhance these established techniques. The final session addresses organisational aspects of reuse, an alternative project lifecycle, metrics and developer motivation. The tutorial is intended for developers and their managers regardless of language, method or platform.","PeriodicalId":434404,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 29 (Cat. No.PR00275)","volume":"99 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1999-06-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 29 (Cat. No.PR00275)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/TOOLS.1999.10002","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
Summary form only given, as follows. Reusing software improves quality as well as productivity. In practice, it is hard to achieve significant levels of reuse in commercial applications beyond generic support software. This tutorial will present programming and design techniques for achieving more reuse. The first session will examine the obstacles to reuse in commercial data processing, and illustrate the potential benefits. The main session will: 1) consider design reuse, source code reuse and routine libraries; 2) review the principles of modular design, cohesion, coupling and information hiding; 3) show how inheritance and dynamic binding extend and enhance these established techniques. The final session addresses organisational aspects of reuse, an alternative project lifecycle, metrics and developer motivation. The tutorial is intended for developers and their managers regardless of language, method or platform.