LS Praktische Informatik / Software-Systemtechnik
Refine
Year of publication
Document Type
Keywords
- Softwaretechnik (10)
- Konfigurationsmanagement (4)
- Produktlinien (4)
- software evolution (4)
- Clustering (2)
- Softwaremetriken (2)
- Softwarevisualisierung (2)
- Visualisierung (2)
- software cities (2)
- software maintenance (2)
Institute
Software cities are visualizations of software systems in the form of virtual cities. They are used as platforms to integrate a large variety of product- and process-related analysis data. Their usability, however, for real-world software development often suffers from their inability to appropriately deal with software changes. Even small structural changes can disrupt the overall structure of the city, which in turn corrupts the mental maps of its users. In this article we describe a systematic approach to utilize the city metaphor for the visualization of evolving software systems as growing software cities. The main contribution is a new layout approach which explicitly takes the development history of software systems into account. The approach has two important effects: first, it creates a stable gestalt of software cities even when the underlying software systems evolve; thus, by preserving its users’ mental maps these cities are especially suitable for use during ongoing system development. Second, it makes history directly visible in the city layouts, which allows for supporting novel analysis scenarios. We illustrate such scenarios by presenting several thematic cities’ maps, each capturing specific development history aspects.
In order to increase the level of efficiency and automation, we propose a conceptual model and corresponding tool support to plan and manage the systematic evolution of softwareintensive systems, in particular software product lines (SPL). We support planning on a high abstraction level using decision-making concepts like goals, options, criteria, and rationale. We extend earlier work by broadening the scope in two dimensions: 1) in time, supporting continuous planning over long periods of time and many releases, and 2) in space, supporting traces from high-level decisions down to the implementation. We present a metamodel which allows to represent these concepts, corresponding prototypical tool support, and a first example case using data extracted from an open-source project, Eclipse SWT.
Software Product Lines are a strategic long-term investment and must evolve to meet new requirements over many years. In previous work, we have shown a model-driven approach (called EvoPL [21]) for planning and managing long-term evolution of product lines. It allows specifying historic and planned future evolution in terms of changes on feature model level. It provides benefits like abstraction, efficiency through automation, and the capability to perform analysis based on models.
In this paper, we argue that specifying changes alone is beneficial but not sufficient. This is because for strategic evolution planning "decision drivers" like goals, requirements, and rationale are essential information as well.
Hence, we propose a modeling approach that represents such decision drivers and their interrelationships. The approach is based on concepts from literature (e.g., QOC and goal-oriented requirements engineering) and combines and extends them to address the specific needs of model-driven long-term evolution management. Beyond the basic usage for documentation, the suggested models can be used for systematic future planning and tool-supported analysis, e.g., to evaluate the consistency of planned evolutionary changes.
Modularity is a widely used quality measure for graph clusterings. Its exact maximization is prohibitively expensive for large graphs. Popular heuristics progressively merge clusters starting from singletons (coarsening), and optionally improve the resulting clustering by moving vertices between clusters (refinement). This paper experimentally compares existing and new heuristics of this type with respect to their effectiveness (achieved modularity) and runtime. For coarsening, it turns out that the most widely used criterion for merging clusters (modularity increase) is outperformed by other simple criteria, and that a recent multi-step algorithm is no improvement over simple single-step coarsening for these criteria. For refinement, a new multi-level algorithm produces significantly better clusterings than conventional single-level algorithms. A comparison with published benchmark results and algorithm implementations shows that combinations of coarsening and multi-level refinement are competitive with the best algorithms in the literature.
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.
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. 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.
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.
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.
Two natural and widely used representations for the community structure of networks are clusterings,which partition the vertex set into disjoint subsets, and layouts, which assign the vertices to positions in a metric space. This paper unifies prominent characterizations of layout quality and clustering quality, by showing that energy models of pairwise attraction and repulsion subsume Newman and Girvan's modularity measure. Layouts with optimal energy are relaxations of, and are thus consistent with, clusterings with optimal modularity, which isof practical relevance because both representations are complementary and often used together.