FG Praktische Informatik / Softwaresystemtechnik
Refine
Document Type
- Conference Proceeding (7)
- Article (1)
- Part of a book (chapter) (1)
- Report (1)
Keywords
- Softwaretechnik (10) (remove)
Institute
Abstract. Software architectures are key enabling assets within organizationsthat develop complex software systems. Among other purposes,software architectures are useful to maintain intellectual control overa software product. We propose a method to continuously check theconsistency between a specified architecture model and structural informationreverse engineered from the code. We develop criteria that adesign language for architectures should fulfill and show that an ontologybased description has substantial benefits over the standard modelinglanguages MOF/UML/OCL. Using ontologies allows the explicitmodelling of architectural styles as well as concrete system structuresin a single architecture design language. The resulting specifications aremodular, compositional and evolvable. Using ontologies we can apply anontology reasoner to implement consistency checks. Our method integratespreviously separate checks such as checking for allowed dependenciesand coding style into a single framework and enables more powerfuland flexible analyses.
Abstract. In this paper we describe a systematic approach to utilize the citymetaphor for the visualization of large software systems asevolving software cities. The main contribution is a new layoutapproach which explicitly takes the development history ofsoftware systems into account and makes history directly visiblein the layouts. These layouts incrementally evolve in a verysmooth and stable way during the development of the representedsoftware system. They are used as a visualization platform forintegrating a large variety of product and process data and thuscreate a coherent set of specialized visualizations. To illustratethis we present some example maps capturing specificdevelopment history aspects.
Abstract. Our feature configuration tool S2T2 Configurator integrates (1) a visual interactive representation of the feature model and (2) a formal reasoning engine that calculates consequences of the user's actions and provides formal explanations. The tool's software architecture is designed as a chain of components, whichprovide mappings between visual elements and their corresponding formal representations. Using these mappings, consequences and explanations calculated by thereasoning engine are communicated in the interactive representation.
Abstract. SoftUrbs is a systematic approach to utilize the City metaphor for the visualization and interpretation of large software systems as urban structures. The maincontributions are, firstly, a systematic approach to construct and use these visualizations by adopting thethree-staged cartographic modeling chain and, secondly, the use of force-directed layouts of the city map. The latter provides a framework for flexible and incrementally adaptable layouts, which are necessary to preserve a city's overall morphology throughout the structural evolution of the visualized software system. The distinction between different model stages helps to create uniform and consistent visualizations supporting different usage scenarios. The conceptshave been implemented and were successfully applied in some large scale industry projects.
Whenever a software engineer derives a product from a prod-uct line, he has to resolve variability by making con_guration decisions.This con_guration process can become rather complex because of depen-dencies within the variability model and knock-on e_ects and dependen-cies in other related artefacts. Because of the limited cognitive capacity ofthe human engineer, this complexity limits the ability of handling prod-uct lines with large con_guration spaces. To address this problem wefocus on techniques that support the interactive con_guration of largerfeature models, including (1) visual interaction with a formal reason-ing engine, (2) visual representation of multiple interrelated hierarchies,(3) indicators for con_guration progress and (4) _ltering of visible nodes.The concepts are demonstrated within S2T2 Con_gurator, an interactivefeature con_guration tool. The techniques are discussed and evaluatedwith feature models, however, we believe they can be generalised to othermodels that describe con_guration choices, e.g., variability models anddecision models.
Abstract. Software Product Line engineering has emerged as a viable and important software development paradigm in the automotive industry. It allows companies to realise significant improvements in time-to-market, cost, productivity, and system quality. One major difficulty with software product line engineering is related to the fact that a product line of industrial size can easily incorporate thousands of variation points. This scale of variability can become extremely complex to manage resulting in a product configuration process that bears significant costs. This paper introduces a meta-model and research tool that employs visualisation and interaction techniques to improve product configuration in high-variability product lines. The meta-model and techniques utilised are illustrated using an automotive restraint system example.
Empirical results from using custom-made software project control centers in industrial environments
(2008)
One means for institutionalizing project control, systematic quality assurance, and management support on the basis of measurement and explicit models is the establishment of so-called Software Project Control Centers. Nowadays many companies develop their own dashboards for project control or use off-the-shelf tools that provide a predefined functionality. It is not clear how to tailor an existing tool to the specific needs and goals. An engineering-like approach providing the methodological foundation is needed for systematically defining and applying project control mechanisms. "Soft-Pit" is a research project focusing on an improvement-oriented approach for setting up and applying project control mechanisms in a goal-oriented way and evaluating the practical benefits of such a control center. This article describes the results of industrial case studies conducted in the context of the project. Moreover, lessons learned are discussed, related work is described, and future work is presented.
Abstract. The architecture of a software system is both a success and a failure factor. Taking the wrong architectural decisions may break a project, since such errors are often systematic and affect cross-cutting aspects of the system to be built. Moreover, software projects get more and more challenging due to the rising complexity and dynamics of business processes, large team size and distributed development. As the software architecture is the common platform for many project activities, it constitutes a critical success factor. Thus, a comprehensive methodfor evaluating a software architecture and propagating important properties of it downstream to code is needed. At sd&m, we designed a comprehensive architecture evaluation and management framework in order to satisfy these needs. In this paper, we derive a list of requirements, such a framework should fulfill. We then present the components of our architecture evaluation method and demonstrate, how it fulfills these requirements.
Abstract. Software Product Line engineering allows companies to realise significant improvements in time-to-market, cost, productivity, and system quality. One major difficulty with software product lines is that within industry there may exist thousands of variation points in a single product line. This scale of variability can become extremely complex to manage resulting in a product configuration process that bears significant costs. This paper presents a feature configuration meta-model and introduces a prototype tool that employs visualisation and interaction techniques to provide feature configuration functionality.
Software Controlling
(2008)
Abstract. Die Entwicklung von großen Softwaresystemen erfordert ein effektives und effizientes Projektmanagement. Insbesondere muss im Hinblick auf die Softwarequalität in die Entwicklungsprozesse ein zielgerichtetes Risikomanagement integriert werden. Der bisher meist verfolgte "klassische" Ansatz des Projektcontrollings fokussiert vielfach nur auf die Erreichung von externen Qualitätseigenschaften des Endprodukts (wie der Erfüllung funktionaler Anforderungen, die vom Anwender wahrgenommen werden) und die Einhaltung von Zeit- und Budgetvorgaben. Die Erfahrung aus vielen lang laufenden Projekten zeigt, dass im Hinblick auf nachhaltige Entwicklung eine feinkörnigere und ganzheitlichere Betrachtung der Qualität von Softwaredokumenten und Entwicklungszwischenprodukten notwendig ist, um qualitätsbezogene Projektrisiken frühzeitig zu erkennen und geeignete Steuerungsmaßnahmen im Entwicklungsprozess ergreifen zu können.Bei Capgemini sd&m (München) wird deshalb gerade unter dem Begriff Software Controlling ein Bündel von technischen und organisatorischen Maßnahmen zum ganzheitlichen qualitätsbezogenen Risikomanagement in Softwareprojekten eingeführt. Wesentliche Komponenten sind ein Qualitätsmodell auf der Grundlage eines aus bisherigen Projekterfahrungen gewonnenen Kennzahlensystems, das interne Produkteigenschaften mit Aufwands-, Test- und Fehlerdaten verknüpft, ein in die Entwicklungsumgebung integrierter Projektleitstand und spezifische Prozesselemente zur Qualitäts- und Risikobewertung auf der Grundlage der Kennzahlen.