Professor for Software Development at the University of Applied Sciences Upper Austria at the Faculty for Computer Science, Communication and Media in Hagenberg Address: Softwarepark 11 A-4232 Hagenbrg i.M. Austria
ABSTRACT Object oriented technology has been established as an important new paradigm in software... more ABSTRACT Object oriented technology has been established as an important new paradigm in software development. Thus, many organizations involved in any kind of software production plan to migrate to object oriented technology or have already started this process. Besides several successful migrations, many failures occur. In order to reduce the risk of failure during the migration process, we developed a migration model based on an empirical study. The application of this model leads to a better understanding of the migration process and supports its planning, designing and implementation, putting special emphasis on improvement of acceptance. The theoretical foundations of our migration model come from technology management, organizational research (i.e. change management, and organizational roles), as well as existing approaches and models for this kind of migration. Our migration model consists of three main parts: the migration process model, the definition of organizational roles, and the use of acceptance strategies such as information and communication, participation, and further education. The main results concerning the rise of acceptance strategies, based on the results of the empirical study, are presented
Wirtschaftsinformatik und Angewandte Informatik, 1996
ABSTRACT Ausgehend vom reinen ami-Vorgehensmodell ("application of metrics in industry&a... more ABSTRACT Ausgehend vom reinen ami-Vorgehensmodell ("application of metrics in industry" bzw. "assess / analyse / metricate / improve") wird seine konkrete Umsetzung am Beispiel der VOEST-ALPINE Stahl Linz GmbH gezeigt und die Anwendbarkeit der Methode im industriellen Umfeld nachgewiesen. Einer kurzen Schilderung des Projekthintergrunds folgt ein Überblick über die einzelnen Phasen des ami-Vorgehensmodells. Die Umsetzung dieser Phasen wird anhand des Verlaufs des Projekts EMS geschildert. Die Gegenüberstellung der Ergebnisse der beiden durchgeführten Selbst-Assesssments mit Hilfe des SEI-Reifegradmodells und die Erfahrungen bei der Anwendung von Metriken im Softwareentwicklungsprozeß runden den Erfahrungsbericht ab.
A transformation system can be viewed as a general case of a compiler. This paper introduces a ne... more A transformation system can be viewed as a general case of a compiler. This paper introduces a new concept to generate such transformation systems (e.g., compilers), a so called generic compiler. A first version of the generic compiler is described: GenComp, which is the abbreviation for a generic compiler. It first reads a formal description in form of an attributed grammar and then interprets this description in order to transform an input in the source language to an output in the target language.
Collections or containers have become a standard facility used by almost any software application... more Collections or containers have become a standard facility used by almost any software application. The availability and widespread use of collection class libraries, the large number of systems depending on them, their algorithmic complexity, as well as their object-oriented design demand an elaborated testing approach. Despite the availability of such testing approaches, many industry projects still rely on unstructured unit
Object-oriented software development has become the de-facto standard programming paradigm used i... more Object-oriented software development has become the de-facto standard programming paradigm used in modern software systems. Additionally genericity has grown more popular since the enhancement of Java and C#. This paper attempts to reconsider the principles of compiler construction from this modern, object-oriented point of view. We present a multi-paradigm, mainly object-oriented and generic approach for creating a compiler generator using a combination of the Interpreter pattern and the Visitor pattern. A prototype of such an object-oriented and generic compiler generator has also been developed using C# 2.0 and will serve as a reference to explain the design throughout this paper.
ABSTRACT For the efficient and effective use of automated static analysis of software systems it ... more ABSTRACT For the efficient and effective use of automated static analysis of software systems it is crucial to know what kind of errors can be detected and how seriously a reported problem can or should be taken. In the study conducted for this paper we applied a widely used tool (PC-lint) for automated static analysis (ASA) to check C++ code fragments from student exercises. The goal of this research was to discover which types of defects can be identified by automated static analysis. In this paper we present our findings; furthermore the results from classifying the defects are set in relation to detection rules and severity levels provided by ASA, in order to derive insights for calibrating ASA tools in a specific application context.
ABSTRACT Object oriented technology has been established as an important new paradigm in software... more ABSTRACT Object oriented technology has been established as an important new paradigm in software development. Thus, many organizations involved in any kind of software production plan to migrate to object oriented technology or have already started this process. Besides several successful migrations, many failures occur. In order to reduce the risk of failure during the migration process, we developed a migration model based on an empirical study. The application of this model leads to a better understanding of the migration process and supports its planning, designing and implementation, putting special emphasis on improvement of acceptance. The theoretical foundations of our migration model come from technology management, organizational research (i.e. change management, and organizational roles), as well as existing approaches and models for this kind of migration. Our migration model consists of three main parts: the migration process model, the definition of organizational roles, and the use of acceptance strategies such as information and communication, participation, and further education. The main results concerning the rise of acceptance strategies, based on the results of the empirical study, are presented
ABSTRACT Ausgehend vom reinen ami-Vorgehensmodell ("application of metrics in industry&a... more ABSTRACT Ausgehend vom reinen ami-Vorgehensmodell ("application of metrics in industry" bzw. "assess / analyse / metricate / improve") wird seine konkrete Umsetzung am Beispiel der VOEST-ALPINE Stahl Linz GmbH gezeigt und die Anwendbarkeit der Methode im industriellen Umfeld nachgewiesen. Einer kurzen Schilderung des Projekthintergrunds folgt ein Überblick über die einzelnen Phasen des ami-Vorgehensmodells. Die Umsetzung dieser Phasen wird anhand des Verlaufs des Projekts EMS geschildert. Die Gegenüberstellung der Ergebnisse der beiden durchgeführten Selbst-Assesssments mit Hilfe des SEI-Reifegradmodells und die Erfahrungen bei der Anwendung von Metriken im Softwareentwicklungsprozeß runden den Erfahrungsbericht ab.
Software production has become an industrial task usually involving teams of programmers working ... more Software production has become an industrial task usually involving teams of programmers working on complex problems to produce large, even huge software systems. A growing share of all software development work is being done by globally distributed teams. The management of software engineering teamwork, especially of a temporally and/or spacially distributed team, presents an enormous organizational challenge as well as an intricate technical problem, as such distributed teamwork requires tool support for coordination of cooperative activities, maintenance of project control, and sharing of information. We present an overview of the managerial (mainly organizational) basics and aspects of distributed software development, give an overview of the potential and the limits of some of the published research projects, extract the design principles for the construction of cooperative software development environments, and formulate a model for cooperative work processes in software proje...
Starting with a short description of the pure process model, we demonstrate its use on VOEST-ALPI... more Starting with a short description of the pure process model, we demonstrate its use on VOEST-ALPINE Stahl Linz GmbH in a real world project and thereby prove its usefulness in an industrial environment. After outlining the project's background, we give a survey on the different phases of the ami process model (application of metrics in industry resp. assess/analyse/metricate/improve). The effect of its stepwise implementation is shown along the whole project. A comparison of the results of the two conducted self-assements applying the SET Capability Maturity Model and the experiences in using metrics in the software development process complete the practitioner's report.
Software production has become an industrial task usually involving teams of programmers working ... more Software production has become an industrial task usually involving teams of programmers working on complex problems to produce large, even huge software systems. A growing share of all software development work is being done by globally distributed teams. The management of software engineering teamwork, especially of a temporally and/or spacially distributed team, presents an enormous organizational challenge as well as an intricate technical problem, as such distributed teamwork requires tool support for coordination of cooperative activities, maintenance of project control, and sharing of information. We present an overview of the managerial (mainly organizational) basics and aspects of distributed software development, give an overview of the potential and the limits of some of the published research projects, extract the design principles for the construction of cooperative software development environments, and formulate a model for cooperative work processes in software proje...
ABSTRACT Object oriented technology has been established as an important new paradigm in software... more ABSTRACT Object oriented technology has been established as an important new paradigm in software development. Thus, many organizations involved in any kind of software production plan to migrate to object oriented technology or have already started this process. Besides several successful migrations, many failures occur. In order to reduce the risk of failure during the migration process, we developed a migration model based on an empirical study. The application of this model leads to a better understanding of the migration process and supports its planning, designing and implementation, putting special emphasis on improvement of acceptance. The theoretical foundations of our migration model come from technology management, organizational research (i.e. change management, and organizational roles), as well as existing approaches and models for this kind of migration. Our migration model consists of three main parts: the migration process model, the definition of organizational roles, and the use of acceptance strategies such as information and communication, participation, and further education. The main results concerning the rise of acceptance strategies, based on the results of the empirical study, are presented
Wirtschaftsinformatik und Angewandte Informatik, 1996
ABSTRACT Ausgehend vom reinen ami-Vorgehensmodell ("application of metrics in industry&a... more ABSTRACT Ausgehend vom reinen ami-Vorgehensmodell ("application of metrics in industry" bzw. "assess / analyse / metricate / improve") wird seine konkrete Umsetzung am Beispiel der VOEST-ALPINE Stahl Linz GmbH gezeigt und die Anwendbarkeit der Methode im industriellen Umfeld nachgewiesen. Einer kurzen Schilderung des Projekthintergrunds folgt ein Überblick über die einzelnen Phasen des ami-Vorgehensmodells. Die Umsetzung dieser Phasen wird anhand des Verlaufs des Projekts EMS geschildert. Die Gegenüberstellung der Ergebnisse der beiden durchgeführten Selbst-Assesssments mit Hilfe des SEI-Reifegradmodells und die Erfahrungen bei der Anwendung von Metriken im Softwareentwicklungsprozeß runden den Erfahrungsbericht ab.
A transformation system can be viewed as a general case of a compiler. This paper introduces a ne... more A transformation system can be viewed as a general case of a compiler. This paper introduces a new concept to generate such transformation systems (e.g., compilers), a so called generic compiler. A first version of the generic compiler is described: GenComp, which is the abbreviation for a generic compiler. It first reads a formal description in form of an attributed grammar and then interprets this description in order to transform an input in the source language to an output in the target language.
Collections or containers have become a standard facility used by almost any software application... more Collections or containers have become a standard facility used by almost any software application. The availability and widespread use of collection class libraries, the large number of systems depending on them, their algorithmic complexity, as well as their object-oriented design demand an elaborated testing approach. Despite the availability of such testing approaches, many industry projects still rely on unstructured unit
Object-oriented software development has become the de-facto standard programming paradigm used i... more Object-oriented software development has become the de-facto standard programming paradigm used in modern software systems. Additionally genericity has grown more popular since the enhancement of Java and C#. This paper attempts to reconsider the principles of compiler construction from this modern, object-oriented point of view. We present a multi-paradigm, mainly object-oriented and generic approach for creating a compiler generator using a combination of the Interpreter pattern and the Visitor pattern. A prototype of such an object-oriented and generic compiler generator has also been developed using C# 2.0 and will serve as a reference to explain the design throughout this paper.
ABSTRACT For the efficient and effective use of automated static analysis of software systems it ... more ABSTRACT For the efficient and effective use of automated static analysis of software systems it is crucial to know what kind of errors can be detected and how seriously a reported problem can or should be taken. In the study conducted for this paper we applied a widely used tool (PC-lint) for automated static analysis (ASA) to check C++ code fragments from student exercises. The goal of this research was to discover which types of defects can be identified by automated static analysis. In this paper we present our findings; furthermore the results from classifying the defects are set in relation to detection rules and severity levels provided by ASA, in order to derive insights for calibrating ASA tools in a specific application context.
ABSTRACT Object oriented technology has been established as an important new paradigm in software... more ABSTRACT Object oriented technology has been established as an important new paradigm in software development. Thus, many organizations involved in any kind of software production plan to migrate to object oriented technology or have already started this process. Besides several successful migrations, many failures occur. In order to reduce the risk of failure during the migration process, we developed a migration model based on an empirical study. The application of this model leads to a better understanding of the migration process and supports its planning, designing and implementation, putting special emphasis on improvement of acceptance. The theoretical foundations of our migration model come from technology management, organizational research (i.e. change management, and organizational roles), as well as existing approaches and models for this kind of migration. Our migration model consists of three main parts: the migration process model, the definition of organizational roles, and the use of acceptance strategies such as information and communication, participation, and further education. The main results concerning the rise of acceptance strategies, based on the results of the empirical study, are presented
ABSTRACT Ausgehend vom reinen ami-Vorgehensmodell ("application of metrics in industry&a... more ABSTRACT Ausgehend vom reinen ami-Vorgehensmodell ("application of metrics in industry" bzw. "assess / analyse / metricate / improve") wird seine konkrete Umsetzung am Beispiel der VOEST-ALPINE Stahl Linz GmbH gezeigt und die Anwendbarkeit der Methode im industriellen Umfeld nachgewiesen. Einer kurzen Schilderung des Projekthintergrunds folgt ein Überblick über die einzelnen Phasen des ami-Vorgehensmodells. Die Umsetzung dieser Phasen wird anhand des Verlaufs des Projekts EMS geschildert. Die Gegenüberstellung der Ergebnisse der beiden durchgeführten Selbst-Assesssments mit Hilfe des SEI-Reifegradmodells und die Erfahrungen bei der Anwendung von Metriken im Softwareentwicklungsprozeß runden den Erfahrungsbericht ab.
Software production has become an industrial task usually involving teams of programmers working ... more Software production has become an industrial task usually involving teams of programmers working on complex problems to produce large, even huge software systems. A growing share of all software development work is being done by globally distributed teams. The management of software engineering teamwork, especially of a temporally and/or spacially distributed team, presents an enormous organizational challenge as well as an intricate technical problem, as such distributed teamwork requires tool support for coordination of cooperative activities, maintenance of project control, and sharing of information. We present an overview of the managerial (mainly organizational) basics and aspects of distributed software development, give an overview of the potential and the limits of some of the published research projects, extract the design principles for the construction of cooperative software development environments, and formulate a model for cooperative work processes in software proje...
Starting with a short description of the pure process model, we demonstrate its use on VOEST-ALPI... more Starting with a short description of the pure process model, we demonstrate its use on VOEST-ALPINE Stahl Linz GmbH in a real world project and thereby prove its usefulness in an industrial environment. After outlining the project's background, we give a survey on the different phases of the ami process model (application of metrics in industry resp. assess/analyse/metricate/improve). The effect of its stepwise implementation is shown along the whole project. A comparison of the results of the two conducted self-assements applying the SET Capability Maturity Model and the experiences in using metrics in the software development process complete the practitioner's report.
Software production has become an industrial task usually involving teams of programmers working ... more Software production has become an industrial task usually involving teams of programmers working on complex problems to produce large, even huge software systems. A growing share of all software development work is being done by globally distributed teams. The management of software engineering teamwork, especially of a temporally and/or spacially distributed team, presents an enormous organizational challenge as well as an intricate technical problem, as such distributed teamwork requires tool support for coordination of cooperative activities, maintenance of project control, and sharing of information. We present an overview of the managerial (mainly organizational) basics and aspects of distributed software development, give an overview of the potential and the limits of some of the published research projects, extract the design principles for the construction of cooperative software development environments, and formulate a model for cooperative work processes in software proje...
Uploads