{"title":"Dividing the software pie","authors":"J. C. Cleaveland, J. Fertig, George W. Newsome","doi":"10.15325/ATTTJ.1996.6771124","DOIUrl":null,"url":null,"abstract":"Systematic software reuse, or multiuse, is a key to increasing the productivity and quality of software development. In the past 20 years, reuse has experienced many failures and few successes. Many technological, organizational, and cultural obstacles have been placed in its path. A critical step to increasing software reuse is to recognize that a new division of labor is required, one in which component developers create reusable components and product developers compose products from these components. Changing organizational structure and software development processes to nurture these roles is challenging. Once these roles are recognized and established, however, standard abstraction techniques and other software reuse technologies can help separate the concerns of component developers and product developers. This paper illustrates the separation of concerns by examining its application to interfaces, a particularly difficult area in which these concerns are traditionally intertwined.","PeriodicalId":135932,"journal":{"name":"AT&T Tech. J.","volume":"212 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1996-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"AT&T Tech. J.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.15325/ATTTJ.1996.6771124","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
Abstract
Systematic software reuse, or multiuse, is a key to increasing the productivity and quality of software development. In the past 20 years, reuse has experienced many failures and few successes. Many technological, organizational, and cultural obstacles have been placed in its path. A critical step to increasing software reuse is to recognize that a new division of labor is required, one in which component developers create reusable components and product developers compose products from these components. Changing organizational structure and software development processes to nurture these roles is challenging. Once these roles are recognized and established, however, standard abstraction techniques and other software reuse technologies can help separate the concerns of component developers and product developers. This paper illustrates the separation of concerns by examining its application to interfaces, a particularly difficult area in which these concerns are traditionally intertwined.