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.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.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.615520
H. Gomaa, G. A. Farrukh
In this paper a reuse-oriented perspective is taken for designing and implementing configurable distributed applications. An application domain is defined as a family of systems that have some features in common and others that differentiate them. During domain engineering, reusable specifications, architectures and component types are developed, which capture the similarities and variations of the family of systems that compose the application domain. Target systems are generated by tailoring the reusable specification and architecture given the requirements of the target system, and configuring a target system based on the tailored architecture. The paper describes a software engineering environment for configuring distributed applications from a reusable architecture and library of predefined component types.
{"title":"A software engineering environment for configuring distributed applications from reusable software architectures","authors":"H. Gomaa, G. A. Farrukh","doi":"10.1109/STEP.1997.615520","DOIUrl":"https://doi.org/10.1109/STEP.1997.615520","url":null,"abstract":"In this paper a reuse-oriented perspective is taken for designing and implementing configurable distributed applications. An application domain is defined as a family of systems that have some features in common and others that differentiate them. During domain engineering, reusable specifications, architectures and component types are developed, which capture the similarities and variations of the family of systems that compose the application domain. Target systems are generated by tailoring the reusable specification and architecture given the requirements of the target system, and configuring a target system based on the tailored architecture. The paper describes a software engineering environment for configuring distributed applications from a reusable architecture and library of predefined component types.","PeriodicalId":68622,"journal":{"name":"软件","volume":"12 1","pages":"312-325"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75481778","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}