Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615486
Jin-Cherng Lin, Pu-Lin Yeh, Shou-Chia Yang
Software testing is one of the most powerful methods to improve the software quality directly. Usually, testing costs on the large scales of 50% during software system development phase. How to reduce the testing cost thus becomes an important issue. The software design for testability maybe a new direction to solve this problem. Using the strategy of software design for testability, we develop a technique called "test condition oracle" to check the program's correctness. The performance evaluation shows that this technique is an effective method for promoting software testability.
{"title":"Promoting the software design for testability towards a partial test oracle","authors":"Jin-Cherng Lin, Pu-Lin Yeh, Shou-Chia Yang","doi":"10.1109/STEP.1997.615486","DOIUrl":"https://doi.org/10.1109/STEP.1997.615486","url":null,"abstract":"Software testing is one of the most powerful methods to improve the software quality directly. Usually, testing costs on the large scales of 50% during software system development phase. How to reduce the testing cost thus becomes an important issue. The software design for testability maybe a new direction to solve this problem. Using the strategy of software design for testability, we develop a technique called \"test condition oracle\" to check the program's correctness. The performance evaluation shows that this technique is an effective method for promoting software testability.","PeriodicalId":68622,"journal":{"name":"软件","volume":"47 1","pages":"209-214"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76497618","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615472
R. Ramaswamy
Object-orientation is emerging as a development methodology that promises highly modular software that is easily maintainable and reusable. Object-oriented (OO) methods have been deployed in a variety of fields ranging from OLTP business systems to real-time and embedded software. Interestingly, current OO literature makes barely a passing reference to some of the most outstanding ideas of structured analysis that in fact continue to be indispensable in the OO context. Also, there are relatively few reports of real-life experiences in deploying the complete OO lifecycle from requirements specification through coding and testing for business systems, which can serve as a starting point for practical guidance on configuring and managing an OO project. The paper presents the experiences of one company in deploying a combination of structured analysis and OO design for the development of a set of client/server business applications for a large public utility firm in the US.
{"title":"An experience in deploying object-orientation for business applications","authors":"R. Ramaswamy","doi":"10.1109/STEP.1997.615472","DOIUrl":"https://doi.org/10.1109/STEP.1997.615472","url":null,"abstract":"Object-orientation is emerging as a development methodology that promises highly modular software that is easily maintainable and reusable. Object-oriented (OO) methods have been deployed in a variety of fields ranging from OLTP business systems to real-time and embedded software. Interestingly, current OO literature makes barely a passing reference to some of the most outstanding ideas of structured analysis that in fact continue to be indispensable in the OO context. Also, there are relatively few reports of real-life experiences in deploying the complete OO lifecycle from requirements specification through coding and testing for business systems, which can serve as a starting point for practical guidance on configuring and managing an OO project. The paper presents the experiences of one company in deploying a combination of structured analysis and OO design for the development of a set of client/server business applications for a large public utility firm in the US.","PeriodicalId":68622,"journal":{"name":"软件","volume":"5 1","pages":"135-142"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77131549","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615532
V. Plekhanova, R. Offen
A software development team is characterised by a human-software environment (HSE) model, which captures the individual characteristics of the participants in a project such as their professional and specialisation skills and knowledge. The paper presents some practical applications of the HSE model for human resource management (HRM) activities in support of the software development process (SDP). We show how managing the human-software environment facilitates the determination of available and required human resources with respect to the project task(s) and finds an optimal allocation of human resources in the context of economic constraints and customer requirements, etc. The proposed approach is based on mathematical modelling. Illustrative examples are presented.
{"title":"Managing the human-software environment","authors":"V. Plekhanova, R. Offen","doi":"10.1109/STEP.1997.615532","DOIUrl":"https://doi.org/10.1109/STEP.1997.615532","url":null,"abstract":"A software development team is characterised by a human-software environment (HSE) model, which captures the individual characteristics of the participants in a project such as their professional and specialisation skills and knowledge. The paper presents some practical applications of the HSE model for human resource management (HRM) activities in support of the software development process (SDP). We show how managing the human-software environment facilitates the determination of available and required human resources with respect to the project task(s) and finds an optimal allocation of human resources in the context of economic constraints and customer requirements, etc. The proposed approach is based on mathematical modelling. Illustrative examples are presented.","PeriodicalId":68622,"journal":{"name":"软件","volume":"24 1","pages":"422-432"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77216676","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615488
Robert Esser
In this paper a modelling language is described for the automated design of embedded systems. Constraints such as price, performance etc. often imply that embedded systems are implemented as communicating heterogeneous components. Today these components can no longer be classed as software or hardware but as more or less programmable with specialised languages being used to define their functionality and structure. The proposed modelling language consists of a class of high level time Petri nets, augmented with object-oriented mechanisms. It is formal, ensuring unambiguous specification, supports a high level of analysis and is general enough to support other more specialised formalisms. This language constitutes a major part of the CodeSign design methodology developed at the ETH for embedded system design.
{"title":"An object oriented Petri net language for embedded system design","authors":"Robert Esser","doi":"10.1109/STEP.1997.615488","DOIUrl":"https://doi.org/10.1109/STEP.1997.615488","url":null,"abstract":"In this paper a modelling language is described for the automated design of embedded systems. Constraints such as price, performance etc. often imply that embedded systems are implemented as communicating heterogeneous components. Today these components can no longer be classed as software or hardware but as more or less programmable with specialised languages being used to define their functionality and structure. The proposed modelling language consists of a class of high level time Petri nets, augmented with object-oriented mechanisms. It is formal, ensuring unambiguous specification, supports a high level of analysis and is general enough to support other more specialised formalisms. This language constitutes a major part of the CodeSign design methodology developed at the ETH for embedded system design.","PeriodicalId":68622,"journal":{"name":"软件","volume":"36 1","pages":"216-223"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81074506","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615474
A. Aerts, J. Blijenberg, F. J. Heemstra, R. Kusters, L. Somers
A prototype has been developed of a generic tool set and accompanying methods that enable a customizable approach towards project tracking and benchmarking. The underlying data model describes a generic project life cycle. The prototype has been applied to an iterative development life cycle in a number of field rests.
{"title":"Project Performance Indicator Workbench (PPIW)","authors":"A. Aerts, J. Blijenberg, F. J. Heemstra, R. Kusters, L. Somers","doi":"10.1109/STEP.1997.615474","DOIUrl":"https://doi.org/10.1109/STEP.1997.615474","url":null,"abstract":"A prototype has been developed of a generic tool set and accompanying methods that enable a customizable approach towards project tracking and benchmarking. The underlying data model describes a generic project life cycle. The prototype has been applied to an iterative development life cycle in a number of field rests.","PeriodicalId":68622,"journal":{"name":"软件","volume":"19 1","pages":"156-164"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76716468","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615497
Anne Chan, Sheung-Iun Hung
Software Configuration management is concerned with the identification, organizing, and controlling the configuration of and changes to a system under parallel development environment. It should encompass all system components. However, most existing software configuration management tools have emphasized too much on version control of source files and have neglected some of the other vital functionality. In this paper, recommendations are made to the desirable features that should be incorporated in future tools to make them truly effective in the software development process.
{"title":"Software configuration management tools","authors":"Anne Chan, Sheung-Iun Hung","doi":"10.1109/STEP.1997.615497","DOIUrl":"https://doi.org/10.1109/STEP.1997.615497","url":null,"abstract":"Software Configuration management is concerned with the identification, organizing, and controlling the configuration of and changes to a system under parallel development environment. It should encompass all system components. However, most existing software configuration management tools have emphasized too much on version control of source files and have neglected some of the other vital functionality. In this paper, recommendations are made to the desirable features that should be incorporated in future tools to make them truly effective in the software development process.","PeriodicalId":68622,"journal":{"name":"软件","volume":"65 1","pages":"238-250"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77377085","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615459
L. Deri
Object-oriented programming (OOP) has changed the way we produce software applications significantly, and has allowed many problems that affected traditional programming to be overcome. Unfortunately, several object-oriented frameworks have misused OOP techniques, failed to address issues such as application extensibility, and have produced monolithic systems that are hard to manage and tailor. This paper describes Yasmin, a new object-oriented component-based architecture for software applications. It allows one to build applications which use system resources efficiently and which can be easily extended and configured, in addition to being simple to program and to compose. This is achieved by means of droplets, a new type of software components that can be replaced and modified at run-time and by exploiting novel techniques such as collaboration and delegation.
{"title":"Yasmin: a component based architecture for software applications","authors":"L. Deri","doi":"10.1109/STEP.1997.615459","DOIUrl":"https://doi.org/10.1109/STEP.1997.615459","url":null,"abstract":"Object-oriented programming (OOP) has changed the way we produce software applications significantly, and has allowed many problems that affected traditional programming to be overcome. Unfortunately, several object-oriented frameworks have misused OOP techniques, failed to address issues such as application extensibility, and have produced monolithic systems that are hard to manage and tailor. This paper describes Yasmin, a new object-oriented component-based architecture for software applications. It allows one to build applications which use system resources efficiently and which can be easily extended and configured, in addition to being simple to program and to compose. This is achieved by means of droplets, a new type of software components that can be replaced and modified at run-time and by exploiting novel techniques such as collaboration and delegation.","PeriodicalId":68622,"journal":{"name":"软件","volume":"38 1","pages":"4-12"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78036487","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615483
John Gorbutt, P. Layzell
The ami approach is a common sense framework for applying metrics to software development projects. This paper proposes an extension to the ami approach, based on industrial experience within a large telecommunications supplier, which encompasses the very early stages of a measurement programme. Formalising the initial stages of a measurement programme helps reduce the risk of missing fundamental issues that effect the overall programme, and reduces the likelihood of project failure. Formalisation is achieved through completing the three distinct steps of the Foundation activity; Construct Programme Terms Of Reference, Produce Project Plan, and Conduct Project Launch. To aid in completing these three steps a Foundation Checklist was development, based on Pulford's five pre-requisites (1996) and the work conducted within telecommunications supplier.
{"title":"Extending the ami approach to encompass the Foundation activity","authors":"John Gorbutt, P. Layzell","doi":"10.1109/STEP.1997.615483","DOIUrl":"https://doi.org/10.1109/STEP.1997.615483","url":null,"abstract":"The ami approach is a common sense framework for applying metrics to software development projects. This paper proposes an extension to the ami approach, based on industrial experience within a large telecommunications supplier, which encompasses the very early stages of a measurement programme. Formalising the initial stages of a measurement programme helps reduce the risk of missing fundamental issues that effect the overall programme, and reduces the likelihood of project failure. Formalisation is achieved through completing the three distinct steps of the Foundation activity; Construct Programme Terms Of Reference, Produce Project Plan, and Conduct Project Launch. To aid in completing these three steps a Foundation Checklist was development, based on Pulford's five pre-requisites (1996) and the work conducted within telecommunications supplier.","PeriodicalId":68622,"journal":{"name":"软件","volume":"13 1","pages":"198-208"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90560268","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615521
K. Lano, N. Malik
This paper presents a new approach to the use of design patterns for the reengineering of legacy code, using a mapping from procedural design patterns to object-oriented patterns. We show also how object-oriented design patterns can be formalised and correctness conditions for their application derived, in order to justify the preservation of functionality in the reengineering process. We conclude with a case study of reengineering of a legacy COBOL application.
{"title":"Reeingineering legacy applications using design patterns","authors":"K. Lano, N. Malik","doi":"10.1109/STEP.1997.615521","DOIUrl":"https://doi.org/10.1109/STEP.1997.615521","url":null,"abstract":"This paper presents a new approach to the use of design patterns for the reengineering of legacy code, using a mapping from procedural design patterns to object-oriented patterns. We show also how object-oriented design patterns can be formalised and correctness conditions for their application derived, in order to justify the preservation of functionality in the reengineering process. We conclude with a case study of reengineering of a legacy COBOL application.","PeriodicalId":68622,"journal":{"name":"软件","volume":"73 1","pages":"326-338"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83119607","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615533
Chrysanthos Dellarocas
Component based software development places an emphasis on identifying and managing interdependencies among preexisting pieces of software in order to integrate them into new systems. Traditional software development methodologies, on the other hand, place an emphasis on representing components, leaving the description and management of component interdependencies implicit, or distributed among the components. To support component based software development, we need new methodologies and tools which elevate the representation and management of software component interdependencies to a distinct design problem, orthogonal to the specification and implementation of the core functional pieces of an application. A core element of such methodologies will be a "design handbook" of software component interconnection, which catalogues common software interconnection, which catalogues common software interconnection dependencies and sets of alternative protocols for managing them. SYNTHESIS, a component based software development environment based on this perspective, has been developed and successfully used to minimize the manual effort required to integrate independently developed components into new applications.
{"title":"The SYNTHESIS environment for component-based software development","authors":"Chrysanthos Dellarocas","doi":"10.1109/STEP.1997.615533","DOIUrl":"https://doi.org/10.1109/STEP.1997.615533","url":null,"abstract":"Component based software development places an emphasis on identifying and managing interdependencies among preexisting pieces of software in order to integrate them into new systems. Traditional software development methodologies, on the other hand, place an emphasis on representing components, leaving the description and management of component interdependencies implicit, or distributed among the components. To support component based software development, we need new methodologies and tools which elevate the representation and management of software component interdependencies to a distinct design problem, orthogonal to the specification and implementation of the core functional pieces of an application. A core element of such methodologies will be a \"design handbook\" of software component interconnection, which catalogues common software interconnection, which catalogues common software interconnection dependencies and sets of alternative protocols for managing them. SYNTHESIS, a component based software development environment based on this perspective, has been developed and successfully used to minimize the manual effort required to integrate independently developed components into new applications.","PeriodicalId":68622,"journal":{"name":"软件","volume":"72 1","pages":"434-443"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77162825","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}