Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615529
S. Biffl, G. Thomas
The paper reports on the structure of a two-semester workshop accompanied by lectures on software engineering (SE) methods and on major issues in project management (PM). The course is taught to 300 students per year as part of a master degree curriculum in computer science (CS). During the last ten years the technical content of the course as well as structure, style and schedule have been reviewed regularly in order to achieve a high degree of practical effectiveness. Form and contents of the software engineering labs are described. Teaching project management in parallel with experiencing PM in teamwork is presented as a major factor in tailoring SE education towards practical needs. The authors' experiences in SE consulting and project management in industrial practice have gradually tuned the course design towards the following priorities. C1: Caution with 'latest' methods. C2: Caution with brand new tools. F1: Focus on (experiencing) roles in SE teams. F2: Focus on work organization on team level. F3: Focus on work organization of the team members on the individual level. F4: Focus on rigid selection of team supervisors.
{"title":"A course in software engineering and project management at university level for industrial needs: some reliable results after ten years of experiences","authors":"S. Biffl, G. Thomas","doi":"10.1109/STEP.1997.615529","DOIUrl":"https://doi.org/10.1109/STEP.1997.615529","url":null,"abstract":"The paper reports on the structure of a two-semester workshop accompanied by lectures on software engineering (SE) methods and on major issues in project management (PM). The course is taught to 300 students per year as part of a master degree curriculum in computer science (CS). During the last ten years the technical content of the course as well as structure, style and schedule have been reviewed regularly in order to achieve a high degree of practical effectiveness. Form and contents of the software engineering labs are described. Teaching project management in parallel with experiencing PM in teamwork is presented as a major factor in tailoring SE education towards practical needs. The authors' experiences in SE consulting and project management in industrial practice have gradually tuned the course design towards the following priorities. C1: Caution with 'latest' methods. C2: Caution with brand new tools. F1: Focus on (experiencing) roles in SE teams. F2: Focus on work organization on team level. F3: Focus on work organization of the team members on the individual level. F4: Focus on rigid selection of team supervisors.","PeriodicalId":68622,"journal":{"name":"软件","volume":"12 1","pages":"390-399"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72954045","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.615534
J. Kalaoja, Eila Niemela, Harri Perunka
The electronic and automation industries develop and maintain software embedded in computer controlled products. Higher software productivity can be achieved by a systematic software engineering process and an environment that supports automatic software mass customisation. Existing methods are too narrow and commercial tools are often too closed to be suited for component based software tailoring. Integrating feature and object based models and providing a distributed environment based on commercial tools feature models of embedded software are utilized in reuse oriented product development, maintenance and sales. Reuse of product knowledge is based on layered feature models. Configuration data for product variations is automatically derived and mapped to software design and implementation components and assemblies.
{"title":"Feature modelling of component-based embedded software","authors":"J. Kalaoja, Eila Niemela, Harri Perunka","doi":"10.1109/STEP.1997.615534","DOIUrl":"https://doi.org/10.1109/STEP.1997.615534","url":null,"abstract":"The electronic and automation industries develop and maintain software embedded in computer controlled products. Higher software productivity can be achieved by a systematic software engineering process and an environment that supports automatic software mass customisation. Existing methods are too narrow and commercial tools are often too closed to be suited for component based software tailoring. Integrating feature and object based models and providing a distributed environment based on commercial tools feature models of embedded software are utilized in reuse oriented product development, maintenance and sales. Reuse of product knowledge is based on layered feature models. Configuration data for product variations is automatically derived and mapped to software design and implementation components and assemblies.","PeriodicalId":68622,"journal":{"name":"软件","volume":"65 1","pages":"444-451"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80989407","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.615523
D. Lawrence, H. U. Shah, Paul Anthony Golder
End user computing (EUC) is an activity that is attracting increasing interest from information systems (IS) researchers and business organisations. The vast increase over recent years of the use of IT as part of everyday business activities, and the growing direct involvement of business users in application development, clearly has implications for modern organisations. We discuss how an organisation might best approach the task of optimising the effectiveness of end user developed applications, and also of maximising the contribution that can be made by IT specialists. As part of this discussion we outline a modelling approach which is designed to enable the prediction of the impact of changes to identified success factors on the effectiveness of end user developed applications. We discuss the results of a questionnaire survey of 69 business users. We show how business users can be categorised by their levels of IT/business/IS knowledge and expertise, and how this can be used to identify which users are best suited to taking part in end user centred development projects.
{"title":"End user computing: how an organisation can maximise potential","authors":"D. Lawrence, H. U. Shah, Paul Anthony Golder","doi":"10.1109/STEP.1997.615523","DOIUrl":"https://doi.org/10.1109/STEP.1997.615523","url":null,"abstract":"End user computing (EUC) is an activity that is attracting increasing interest from information systems (IS) researchers and business organisations. The vast increase over recent years of the use of IT as part of everyday business activities, and the growing direct involvement of business users in application development, clearly has implications for modern organisations. We discuss how an organisation might best approach the task of optimising the effectiveness of end user developed applications, and also of maximising the contribution that can be made by IT specialists. As part of this discussion we outline a modelling approach which is designed to enable the prediction of the impact of changes to identified success factors on the effectiveness of end user developed applications. We discuss the results of a questionnaire survey of 69 business users. We show how business users can be categorised by their levels of IT/business/IS knowledge and expertise, and how this can be used to identify which users are best suited to taking part in end user centred development projects.","PeriodicalId":68622,"journal":{"name":"软件","volume":"44 1","pages":"352-363"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"87563386","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.615468
P. Murphy, J. Miller
Although there exists a multitude of different inspection processes, the basis process has remained unchanged since it was first defined by Fagan in 1976. The process has as its central component an inspection meeting which all participants attend. But is this meeting cost effective? Recent work suggests this is not the case. An inspection model that dispenses totally with the need for the inspectors to be in the same place at the same time is presented. It replaces the meeting with further individual inspections combined with asynchronous communication between inspectors. A prototype tool has been developed that supports the asynchronous model. In contrast to a previously developed asynchronous inspection tool, it uses electronic mail as the basis for communication and the reasons for this approach are discussed. The inspection model is evaluated in comparison with the traditional, meeting-oriented approach on a number of criteria. An initial attempt was made to gain quantitive data by carrying out a small-scale experiment, but whilst encouraging results being obtained, the number of subjects was too low for any significant conclusions to be drawn. Larger scale experiments are planned for the future to obtain more data.
{"title":"A process for asynchronous software inspection","authors":"P. Murphy, J. Miller","doi":"10.1109/STEP.1997.615468","DOIUrl":"https://doi.org/10.1109/STEP.1997.615468","url":null,"abstract":"Although there exists a multitude of different inspection processes, the basis process has remained unchanged since it was first defined by Fagan in 1976. The process has as its central component an inspection meeting which all participants attend. But is this meeting cost effective? Recent work suggests this is not the case. An inspection model that dispenses totally with the need for the inspectors to be in the same place at the same time is presented. It replaces the meeting with further individual inspections combined with asynchronous communication between inspectors. A prototype tool has been developed that supports the asynchronous model. In contrast to a previously developed asynchronous inspection tool, it uses electronic mail as the basis for communication and the reasons for this approach are discussed. The inspection model is evaluated in comparison with the traditional, meeting-oriented approach on a number of criteria. An initial attempt was made to gain quantitive data by carrying out a small-scale experiment, but whilst encouraging results being obtained, the number of subjects was too low for any significant conclusions to be drawn. Larger scale experiments are planned for the future to obtain more data.","PeriodicalId":68622,"journal":{"name":"软件","volume":"10 1","pages":"96-104"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89338429","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.615531
D. Welch, James M. Purtilo
As the power and utility of virtual reality environments increases, so do the potential benefits found from combining several such environments. The US Department of Defense currently uses over 2000 simulators, and has mandated that they all be interoperable through its High Level Architecture. Modifying these legacy systems to interact through an abstract software layer presents the developer with a host of difficult software engineering issues, not the least of which is how to build a system that will remain configured to provide realistic behavior in spite of system anomalies. The paper explores some of these issues such as coordinate translation and event mapping and gives our suggestion for automating the construction of an abstraction layer. It also examines how we keep an interconnected virtual environment properly configured regardless of system anomalies. We relate our successes to date in overcoming these problems by means of various automated tools.
{"title":"Software engineering support for reliably interconnecting legacy virtual environments","authors":"D. Welch, James M. Purtilo","doi":"10.1109/STEP.1997.615531","DOIUrl":"https://doi.org/10.1109/STEP.1997.615531","url":null,"abstract":"As the power and utility of virtual reality environments increases, so do the potential benefits found from combining several such environments. The US Department of Defense currently uses over 2000 simulators, and has mandated that they all be interoperable through its High Level Architecture. Modifying these legacy systems to interact through an abstract software layer presents the developer with a host of difficult software engineering issues, not the least of which is how to build a system that will remain configured to provide realistic behavior in spite of system anomalies. The paper explores some of these issues such as coordinate translation and event mapping and gives our suggestion for automating the construction of an abstraction layer. It also examines how we keep an interconnected virtual environment properly configured regardless of system anomalies. We relate our successes to date in overcoming these problems by means of various automated tools.","PeriodicalId":68622,"journal":{"name":"软件","volume":"25 1","pages":"411-421"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90584396","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.615470
Jin-Cherng Lin, Szu-Wen Lin, Ian-Ho
Software testability is becoming an important factor to be considered during software development and assessment, especially for critical software. The paper gives software testability, previously defined by Voas (1991, 1992), a new model and measurement which is done before random black-box testing with respect to a particular input distribution. The authors also compared their measurement results with the one simulated according with Voas's model. It showed that their rough testability estimate provides enough information and will be used as guidelines for software development.
{"title":"An estimated method for software testability measurement","authors":"Jin-Cherng Lin, Szu-Wen Lin, Ian-Ho","doi":"10.1109/STEP.1997.615470","DOIUrl":"https://doi.org/10.1109/STEP.1997.615470","url":null,"abstract":"Software testability is becoming an important factor to be considered during software development and assessment, especially for critical software. The paper gives software testability, previously defined by Voas (1991, 1992), a new model and measurement which is done before random black-box testing with respect to a particular input distribution. The authors also compared their measurement results with the one simulated according with Voas's model. It showed that their rough testability estimate provides enough information and will be used as guidelines for software development.","PeriodicalId":68622,"journal":{"name":"软件","volume":"33 1","pages":"116-123"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"73191984","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.615530
P. Green, D. Morris, G. Evans
The MOOSE approach to the engineering of embedded systems is discussed. MOOSE is a full lifecycle, model based approach which is based on extensions to object oriented technology to apply to both software and hardware. The paper describes how early lifecycle models that represent the logical behaviour and architecture of a system can be transformed into representations that allow implementation source for both software and hardware to be synthesised.
{"title":"Software technology for embedded systems","authors":"P. Green, D. Morris, G. Evans","doi":"10.1109/STEP.1997.615530","DOIUrl":"https://doi.org/10.1109/STEP.1997.615530","url":null,"abstract":"The MOOSE approach to the engineering of embedded systems is discussed. MOOSE is a full lifecycle, model based approach which is based on extensions to object oriented technology to apply to both software and hardware. The paper describes how early lifecycle models that represent the logical behaviour and architecture of a system can be transformed into representations that allow implementation source for both software and hardware to be synthesised.","PeriodicalId":68622,"journal":{"name":"软件","volume":"31 1","pages":"402-410"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89589989","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.615528
K. Bergner, F. Huber
The paper describes our experiences in using the Java object oriented programming language in a student software engineering project. We focus on the suitability of Java for developing large scale software systems in teams, and on the tools and techniques used for design and implementation. Furthermore, we comment on the significance of our experiences for future educational software engineering projects as well as for industrial projects.
{"title":"Systems development with Java: experiences from a practical project course in software engineering","authors":"K. Bergner, F. Huber","doi":"10.1109/STEP.1997.615528","DOIUrl":"https://doi.org/10.1109/STEP.1997.615528","url":null,"abstract":"The paper describes our experiences in using the Java object oriented programming language in a student software engineering project. We focus on the suitability of Java for developing large scale software systems in teams, and on the tools and techniques used for design and implementation. Furthermore, we comment on the significance of our experiences for future educational software engineering projects as well as for industrial projects.","PeriodicalId":68622,"journal":{"name":"软件","volume":"1 1","pages":"382-389"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89266833","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.615519
J. Borer, A. J. Reynolds
The paper describes a methodology which enables non-software-specialist engineers to specify, design and implement reusable project-specific software for process engineering monitoring and control systems using a suitable real time expert-system. The software, running under a run-time version of the expert-system, is independent of the operating-system software. The inevitable errors and difficulties which normally attend subcontracting can thus be avoided with considerable advantage to integrity, speed of development and project-management.
{"title":"Reusable project-specific software for industrial control","authors":"J. Borer, A. J. Reynolds","doi":"10.1109/STEP.1997.615519","DOIUrl":"https://doi.org/10.1109/STEP.1997.615519","url":null,"abstract":"The paper describes a methodology which enables non-software-specialist engineers to specify, design and implement reusable project-specific software for process engineering monitoring and control systems using a suitable real time expert-system. The software, running under a run-time version of the expert-system, is independent of the operating-system software. The inevitable errors and difficulties which normally attend subcontracting can thus be avoided with considerable advantage to integrity, speed of development and project-management.","PeriodicalId":68622,"journal":{"name":"软件","volume":"66 1","pages":"296-311"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86075190","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.615464
I. Peake, Eric J. Salzman
As reengineering increasingly contributes to software engineering, so can software engineering principles contribute to cost-effective reengineering tool development. The cost of modelling languages motivates support for modular parsers which can, like program modules, be assembled cheaply from smaller, tested components. We describe a scheme which achieves this by extending the expressive and flexible combinator parsing scheme using object-oriented constructs (class inheritance and dynamic method dispatch). Related schemes either do not fully support code sharing or sacrifice flexibility. The scheme has been implemented in a prototype reengineering environment and successfully tested on grammars such as Modula-2. The generation time for extensions is linear in the size of the extension. The run-time performance is potentially as bad as for general parsing algorithms, but can be linear (10 times slower than LALR for Modula-2) after optimization.
{"title":"Support for modular parsing in software reengineering","authors":"I. Peake, Eric J. Salzman","doi":"10.1109/STEP.1997.615464","DOIUrl":"https://doi.org/10.1109/STEP.1997.615464","url":null,"abstract":"As reengineering increasingly contributes to software engineering, so can software engineering principles contribute to cost-effective reengineering tool development. The cost of modelling languages motivates support for modular parsers which can, like program modules, be assembled cheaply from smaller, tested components. We describe a scheme which achieves this by extending the expressive and flexible combinator parsing scheme using object-oriented constructs (class inheritance and dynamic method dispatch). Related schemes either do not fully support code sharing or sacrifice flexibility. The scheme has been implemented in a prototype reengineering environment and successfully tested on grammars such as Modula-2. The generation time for extensions is linear in the size of the extension. The run-time performance is potentially as bad as for general parsing algorithms, but can be linear (10 times slower than LALR for Modula-2) after optimization.","PeriodicalId":68622,"journal":{"name":"软件","volume":"53 1","pages":"58-66"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81269850","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}