Automated tests can play a key role in ensuring system quality in software development. However, significant problems arise in automating tests of stochastic algorithms. Normally, developers write tests that simply check whether the actual result is equal to the expected result (perhaps within some tolerance). But for stochastic algorithms, restricting ourselves in this way severely limits the kinds of tests we can write: either to trivial tests, or to fragile and hard-tounderstand tests that rely on a particular seed for a random number generator. A richer and more powerful set of tests is possible if we accommodate tests of statistical properties of the results of running an algorithm many times. The work described in this paper has been done in the context of a real-world application, a large-scale simulation of urban development designed to inform major decisions about land use and transportation. We describe our earlier experience with using automated testing for this system, in which we took a conventional approach, and the resulting difficulties. We then present a statistically based approach for testing stochastic algorithms based on hypothesis testing. Three different ways of constructing such tests are given, which cover the most commonly used distributions. We evaluate these tests in terms of frequency of failing when they should and when they should not, and conclude with guidelines and practical suggestions for implementing such unit tests for other stochastic applications.
Basic software engineering education is an important part of IS education. This paper shows and critically discusses how experiences gained from years of software engineering training in the industry can be transferred to mass university education. The approach relies on cyclic, iterative, and problem based learning and puts equal stress on technical skills (such as object-oriented and database programming) and on soft skills (such as presentation techniques, handling personal conflicts and cooperating in a team).
Damit Investitionen in Online-Angebote der Verwaltung zeitnah zu den erwarteten Qualitätsverbesserungen und Einsparungseffekten führen, richtet sich der Fokus bei der E-Government-Entwicklung zunehmend auf die Abnehmer der Dienstleistungen und deren Anliegen, z. B. von Bürgerinnen und Bürger oder Unternehmen im jeweiligen Zuständigkeitsbereich. Um diese Herangehensweise zu unterstützen, skizziert der vorliegende Beitrag ein neues Steuerungsmodell zur kundenorientierten Entwicklung von E-Government-Dienstleistungen, das zentral auf der Auswertung von Anwenderfeedback beruht. Dieses Modell basiert auf den Erkenntnissen und Erfahrungen der anwendungsorientierten Entwicklung von Web-Anwendungen, die sich aus der jahrzehntelangen Forschung und Praxis der partizipativen Softwareentwicklung ableiten. Darüber hinaus werden die besonderen Bedingungen von E-Government-Projekten (wie z. B. Bund-Online 2005) berücksichtigt, um zu einer den Möglichkeiten der Verwaltung gerechten Verfahren und Steuerungsmöglichkeiten zu gelangen.
This paper shows and critically discusses how experience gained from years of software engineering training in industry can be transferred to mass university education. The approach relies on cyclical, iterative and problem-based learning and places equal emphasis on technical skills (such as object-oriented and database programming) and soft skills (such as presentation techniques, handling personal conflicts and cooperating in a team context)
Financial services companies which heavily depend on IT, still face a shortage of well-educated software engineers. Of the two principal ways to react to this, either by training employees who are already IT-professionals or by introducing talented and interested nonprogrammers to software engineering, the latter was chosen by a large insurance company in Hamburg, Germany. This experience report points out why and how this approach, realized as a trainee program with a well-balanced mix of both technical and soft skills, could be as successful as it eventually turned out to be.
Universities have severe difficulties in using e-learning applications successfully due to organisational problems to provide them. Providing a Web-based learning environment is an enormous effort not only from the didactical and organisational perspective, but also from an administrative and technical point of view. In this paper, we critically review two case studies for making software available in a university context by applying a model for application service providing. ASP in the university context is a different business than ASP between companies. A much more flexible relation between service provider and consumer needs to be established. We describe the necessary process that is based on an evolutionary approach consisting of repeated loops that help to balance the organisational frame for application service providing on the four different levels: application domain, organisation, services, and contracts.
Projects developing Web applications face problems when it comes to identifying the Web users' requirements. There are a number of reasons for this. It is unclear how to gather initial requirements from potential users if there is no design artifact to communicate about. Developers have difficulty identifying the needs of the Web application users during the ongoing development process because of a lack of proper communication concepts. Development teams for Web-based systems include professionals from different disciplines with diverse cultures. Members of the development team often belong to many different organizations with varying stakes in the project. This article presents a modified prototyping approach called e-Prototyping. This approach includes frequent releases of software versions (based on short development cycles) as well as integrated mechanisms for gathering feedback from users and other relevant actors via the live system. It underlines the need to offer various communication channels to the users and to systematically order the different streams of feedback to enable the developers to identify the user requirements. e-Prototyping encompasses the management of an agile software development process and the systematic evaluation of manifold feedback contributions.
Universities have severe difficulties in using e-learning applications successfully due to organizational problems to provide them. Providing a web-based learning environment is an enormous effort not only from the didactical and organizational perspective, but also from an administrative and technical point of view. In this paper we critically review the steps taken for making a web-based learning platform available to a broad public by developing a model for application service providing. ASP in the university context is a different business than ASP between companies. A much more flexible relation between service provider and consumer needs to be established. We outline the necessary roles involved and tasks observed. As a result the paper proposes a process that focuses on organizational, technical and financial conditions, which must be investigated when undertaking a similar enterprise.
Web Engineering projects face problems when it comes to reveal the Web users’ requirements. This is due to the fact that users – the clients of a Web application – have difficulties to express their needs if there is no design artefact to communicate about. The paper presents a modified prototyping approach called e-Prototyping. It includes frequent releases of software versions (based on short development cycles) as well as gathering feedback from users and other relevant actors in “productive mode”. The approach points at the need for offering various communication channels for the users and systematically sorting out the stream of feedback in order to enable the developers to reveal the user requirements.
Objektorientierte Programmierung zu lehren erfordert einiges an Didaktik, da die Objektorientierung stark in die Praxis der Softwareentwicklung eingebunden ist. Das Paradigma muss aber nicht nur praktisch, sondern auch konzeptionell in den Software-Entwicklungsprozessen eingeordnet werden. Die Bezuge reichen von der Analyse uber den Entwurf und die Implementierung bis hin zur Integration in bestehende Softwarelandschaften. Nach unseren Erfahrungen ist fur eine solche Einordnung die klassische Veranstaltungsform mit Vorlesung und begleitenden, kleinen, bindungslosen Ubungen nicht mehr angemessen. Wir planen deshalb fur das Sommersemester 2003, die in die Objektorientierung einfuhrende Grundstudiumsveranstaltung neu zu strukturieren. Dabei sollen Prinzipien agiler Entwicklungsprozesse in den Ubungsteil eingehen. Agile Methoden sind durch ihre kurzen Projektzyklen, die sich iterativ entwickelnden Architekturen und die vielschichtigen Ruckkopplungsmechanismen aus unserer Sicht besonders geeignet. Die Studierenden lernen dadurch relevante Fragenstellungen der objektorientierten Softwareentwicklung in kurzer Zeit aus eigener Erfahrung kennen und konnen daruber in Rucksprachen diskutieren. So konnen dann Konzepte in der Vorlesung auf wissenschaftlichem Niveau reflektiert werden.
Project teams have become an important element in teaching informatics. Web-based groupware systems are increasingly used in such educational settings. This kind of educational teamwork and computational support is comparable to project work observed in industrial settings. We present the design principles for a Web-based system called 'CommSy', an abbreviation for community system, which has been successfully applied in a number of educational projects. We outline the didactic aims leading to the particular design of the system as well as the specific support the system provides. Further, we provide some anecdotal evidence as to how the design principles have helped the project teams and whether or not the teams felt the system adhered to the principles discussed.
Diese Veroffentlichung enthalt Beitrage, die im Kontext einer Tagung des Projekts „WissPro” (Wissensprojekt „Informatiksysteme im Kontext”. Vernetzte Lerngemeinschaften in gestaltungs- und ITorientierten Studiengangen.) entstanden sind. Alle Autorinnen und Autoren beschaftigen sich mit der Frage nach einer sinnvollen Medienunterstutzung fur das Studium, legen aber verschiedene Schwerpunkte: Mayrberger und Ueckert fokussieren die Erwartungen der Studierenden an das Informatik-Studium. Janneck und Strauss fragen danach, wie Medien gute universitare Lehre unterstutzen konnen. Krause resumiert den Einsatz des „CommSy” (Community System) in einem offenen Seminarkonzept. Deimann diskutiert die Moglichkeiten, die Motivation der Lernenden bei der Nutzung von Medien zu erhohen. Pape, Janneck und Bleek betrachten den Medieneinsatz unter dem Blickwinkel der einsetzenden Organisation. Klann setzt sich schlieslich mit der Idee auseinander, personlich und gemeinschaftlich genutzte Medien miteinander zu verknupfen. This publication includes contributions to a conference organized by the research project “WissPro” (Translation: Knowledge Project Computers in Context - Supporting Learning Communities in Informatics and Design). All authors deal with the use of ICT (Information and Communication Technology) for higher education, but each choose a different focus: · Mayrberger and Ueckert emphasize the expectations of students in informatics towards their course of study. · Janneck and Strauss investigate how the use of ICT can support good university education. · Krause reports on the use of CommSy (Community System) in an learner-centered learning environment. · Deimann discusses how to motivate learners to use ICT. · Pape, Janneck and Bleek focus on the user support for ICT in learning environments. · Klann investigates the possible linkage of computer-supported personal and cooperative work.
Carola Lilienthal合作论文数Informatics Department of the University of Hamburg5