{"title":"The Hierarchical Dependence Diagram: improving design for reuse in object-oriented software development","authors":"Jing Chen","doi":"10.1109/ASWEC.1996.534132","DOIUrl":null,"url":null,"abstract":"Object-oriented paradigm promises a high level of reusability in software development. However, by just selecting an object-oriented programming language does not guarantee achieving highly reusable software components. Reusable components have to be designed carefully from the early stage of software development. Among many proposed guidelines for improving software reusability, \"class independence\" is regarded as an important criterion. The guidelines in this category state that the less dependence the class is, the more reusable the class is. However we argue that the use of these guidelines is often very difficult to follow consistently within a group of designers during the design process. This is because the implementation of such guidelines is highly based on individual designer's interpretation and experience. Another problem is that such guidelines are difficult to apply to a large software system, which may consist of hundreds or even thousands of classes. This paper describes a new notation, called the Hierarchical Dependence Diagram (HDD), to support a more systematic use of \"components independence\" guidelines by extending reusable classes to \"clusters\", \"libraries\", and \"platforms\". Our work establishes a solid basis for tool support for improving reusability and can be more effectively applied to the development of large object-oriented software systems.","PeriodicalId":321303,"journal":{"name":"Proceedings of 1996 Australian Software Engineering Conference","volume":"12 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1996-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of 1996 Australian Software Engineering Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ASWEC.1996.534132","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
Abstract
Object-oriented paradigm promises a high level of reusability in software development. However, by just selecting an object-oriented programming language does not guarantee achieving highly reusable software components. Reusable components have to be designed carefully from the early stage of software development. Among many proposed guidelines for improving software reusability, "class independence" is regarded as an important criterion. The guidelines in this category state that the less dependence the class is, the more reusable the class is. However we argue that the use of these guidelines is often very difficult to follow consistently within a group of designers during the design process. This is because the implementation of such guidelines is highly based on individual designer's interpretation and experience. Another problem is that such guidelines are difficult to apply to a large software system, which may consist of hundreds or even thousands of classes. This paper describes a new notation, called the Hierarchical Dependence Diagram (HDD), to support a more systematic use of "components independence" guidelines by extending reusable classes to "clusters", "libraries", and "platforms". Our work establishes a solid basis for tool support for improving reusability and can be more effectively applied to the development of large object-oriented software systems.