{"title":"一种在组件中支持软件演进的建议","authors":"A. Rausch","doi":"10.1109/CSMR.2000.827319","DOIUrl":null,"url":null,"abstract":"In practice, a pure top down and refinement based development process is not applicable. A more iterative and incremental approach is usually applied with respect to changing requirements. We call such an approach an evolutionary approach. As existing methodologies rely on refinement concepts, they do not support an evolutionary development. We present the basic concepts of a suitable overall methodology based on componentware and software evolution. We classify the difference between refinement steps and evolution steps in a document based development methodology. We propose an evolutionary development process during system design. To support this process best, we need to be able to model and track the dependencies between the various development documents. Currently, there is no adequate modeling technique available. To close this gap, we introduce the concept of requirements/assurance contracts. These contracts can be rechecked whenever the specification of a component evolves. This allows the impacts of that evolutionary step to be determined. Developers are able to track and manage the software evolution process. A short example shows the usefulness of the presented concepts and introduces a description technique for requirements/assurance contracts in componentware.","PeriodicalId":169352,"journal":{"name":"Proceedings of the Fourth European Conference on Software Maintenance and Reengineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2000-02-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"A proposal for supporting software evolution in componentware\",\"authors\":\"A. Rausch\",\"doi\":\"10.1109/CSMR.2000.827319\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"In practice, a pure top down and refinement based development process is not applicable. A more iterative and incremental approach is usually applied with respect to changing requirements. We call such an approach an evolutionary approach. As existing methodologies rely on refinement concepts, they do not support an evolutionary development. We present the basic concepts of a suitable overall methodology based on componentware and software evolution. We classify the difference between refinement steps and evolution steps in a document based development methodology. We propose an evolutionary development process during system design. To support this process best, we need to be able to model and track the dependencies between the various development documents. Currently, there is no adequate modeling technique available. To close this gap, we introduce the concept of requirements/assurance contracts. These contracts can be rechecked whenever the specification of a component evolves. This allows the impacts of that evolutionary step to be determined. Developers are able to track and manage the software evolution process. A short example shows the usefulness of the presented concepts and introduces a description technique for requirements/assurance contracts in componentware.\",\"PeriodicalId\":169352,\"journal\":{\"name\":\"Proceedings of the Fourth European Conference on Software Maintenance and Reengineering\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2000-02-29\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the Fourth European Conference on Software Maintenance and Reengineering\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CSMR.2000.827319\",\"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 of the Fourth European Conference on Software Maintenance and Reengineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CSMR.2000.827319","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A proposal for supporting software evolution in componentware
In practice, a pure top down and refinement based development process is not applicable. A more iterative and incremental approach is usually applied with respect to changing requirements. We call such an approach an evolutionary approach. As existing methodologies rely on refinement concepts, they do not support an evolutionary development. We present the basic concepts of a suitable overall methodology based on componentware and software evolution. We classify the difference between refinement steps and evolution steps in a document based development methodology. We propose an evolutionary development process during system design. To support this process best, we need to be able to model and track the dependencies between the various development documents. Currently, there is no adequate modeling technique available. To close this gap, we introduce the concept of requirements/assurance contracts. These contracts can be rechecked whenever the specification of a component evolves. This allows the impacts of that evolutionary step to be determined. Developers are able to track and manage the software evolution process. A short example shows the usefulness of the presented concepts and introduces a description technique for requirements/assurance contracts in componentware.