Konzeption und prototypische Implementierung eines Frameworks zur automatisierten Softwaremessung

Conceptual Design and prototypical Implementation of a Framework for automated Software Measurement

Im Rahmen der betriebswirtschaftlichen Unternehmenssteuerung sind sogenannte Management-Cockpits oder Managementunterstützungssysteme schon länger bekannt. Dabei handelt es sich um EDV-Systeme zur Visualisierung entscheidungsrelevanter Daten, welche insbesondere der Unternehmensleitung auf Knopfdruck wesentliche Kenngrößen (Key Performance Indicators) des Unternehmens darstellen. Analog dazu sollen Projektleitstände den Projektleitern entsprechende Kenngrößen der laufenden IT-Projekte darstellenIm Rahmen der betriebswirtschaftlichen Unternehmenssteuerung sind sogenannte Management-Cockpits oder Managementunterstützungssysteme schon länger bekannt. Dabei handelt es sich um EDV-Systeme zur Visualisierung entscheidungsrelevanter Daten, welche insbesondere der Unternehmensleitung auf Knopfdruck wesentliche Kenngrößen (Key Performance Indicators) des Unternehmens darstellen. Analog dazu sollen Projektleitstände den Projektleitern entsprechende Kenngrößen der laufenden IT-Projekte darstellen. Derartige Kennzahlen sind beispielsweise die Testabdeckung, der Fertigstellungsgrad, die Code-Qualität oder der bereits erbrachte Arbeitsaufwand. Diese Softwaremaße sollten dazu von den Messwerkzeugen automatisiert erfasst werden können. Aktuell verfügbare Anwendungen zur Softwaremessung sind jedoch entweder stark an bestimmte Prozessmodelle oder Entwicklungsumgebungen gebunden, können teilweise selbst keine Messwerte ermitteln und dienen somit als reine Visualisierungswerkzeuge oder können nur eingeschränkt von den Anwendern konfiguriert oder erweitert werden. Im Rahmen dieser Arbeit wird daher ein Framework zur automatisierten Softwaremessung vorgestellt. Zu dessen wesentlichen Anforderungen gehören die weitgehende Automatisierung des Messprozesses und die Möglichkeit, die zu erhebenden Softwaremaße unabhängig von einem konkreten Projekt definieren zu können. Dazu werden Kontextinformationen bestimmt, welche als Anknüpfungspunkte für die zu erhebenden Softwaremaße dienen. Ein Kontext kann dabei eine bestimmte Aktivität des zugrunde liegenden Vorgehensmodells, eine Projektphase oder eine zu implementierende Funktionalität sein. Dadurch ist es beispielsweise möglich, Umfangsmessungen auf bestimmte Projektphasen oder auf Komponenten, durch die bestimmte Funktionalitäten implementiert werden, einzuschränken. Im Gegensatz zu vielen anderen Messwerkzeugen, die entweder nur die Vermessung von bereits erstellten Artefakten erlauben oder Softwaremaße nur auf der Ebene des Gesamtprojekts ermitteln können, ermöglicht es der hier dargestellte Ansatz, Softwaremaße in Bezug auf einen bestimmten Kontext zu definieren. Die konkrete Ausprägung der letztendlich zu messenden Entitäten muss zum Zeitpunkt der Definition des Softwaremaßes noch nicht bekannt sein. Dadurch kann erreicht werden, dass Softwaremaße standardisiert und über Projektgrenzen hinweg konsistent ermittelt werden können. Als prototypische Implementierung dieses Softwaremessungsansatzes wird ein Framework dargestellt, welches auf einer Open-Source-Projektverwaltungssoftware basiert. Dieses Framework, welches entsprechende API-Funktionen zur Ermittlung einfacher Softwaremaße zur Verfügung stellt, erlaubt die flexible Definition komplexer Softwaremaße, welche dann zur Projektlaufzeit automatisiert ermittelt und gegebenenfalls visualisiert werden können. Zur Definition der zu erhebenden Softwaremaße wird auf die Konfigurationsmöglichkeiten der zugrunde liegenden Projektverwaltungssoftware zurückgegriffen. Dadurch können bei der Softwaremessung bereits vorhandene Projektinformationen wiederverwendet werden. Um die Tragfähigkeit des in dieser Arbeit dargestellten Ansatzes unter Beweis zu stellen, wird die Evaluierung dieses Messwerkzeuges anhand zweier studentischer Softwareentwicklungsprojekte dargestellt.show moreshow less
Within corporate management so called Management Cockpits or Management Support Systems are well known. These IT systems are designed for the visualisation of decision-relevant information. They are able to provide company management with key performance indicators about the company’s operations at a click. Analogously, project cockpits are meant to provide project managers with performance indicators about ongoing IT projects. Examples are test coverage, completion rate, code quality or spent eWithin corporate management so called Management Cockpits or Management Support Systems are well known. These IT systems are designed for the visualisation of decision-relevant information. They are able to provide company management with key performance indicators about the company’s operations at a click. Analogously, project cockpits are meant to provide project managers with performance indicators about ongoing IT projects. Examples are test coverage, completion rate, code quality or spent effort. The measurement tools should be able to record these software measures automatically. Available software measurement applications however either strongly depend on certain process models or development environments, can not perform measures automatically but only visualize manually entered information or can only be configured or extended by the user in a limited way. Within this work a framework for automated software measurement is presented. Its main features are the large degree of measurement automation and the possibility, to define the software measures to collect independently of a concrete project. For this purpose context information is used to create anchor points for software measures. A context can be a certain activity of the underlying process model, a project phase or a functionality that has to be implemented. Thus it is possible, for instance, to restrict size measurements on certain project phases or on components that provide a certain functionality. Many measurement tools only allow to measure already completed artefacts or only can collect software measures that concern the whole project. In contrast to these tools the approach presented here makes it possible to define software measures with respect to a certain context. The entities that actually have to be measured need not to be known at the time the software measure is defined. Thus software measures can be collected in a standardized way across project borders. As prototypical implementation of the software measurement approach a framework is presented that is based on an Open-Source project management tool. The framework, which provides API functions to gather simple software measures, allows the flexible definition of complex software measures that are computed automatically at project’s runtime and are visualized where appropriate. The definition of the software measures to collect is done by means of the underlying project management tool. Thus already maintained project information can be reused. In order to proof the potential of this approach the measurement tool is evaluated within the scope of two student software development projects.show moreshow less

Download full text files

Export metadata

  • Export Bibtex
  • Export RIS
  • frontdoor_exportcitavi

Additional Services

    Share in Twitter Search Google Scholar
Metadaten
Institutes:Informatik
Author: Bernhard Daubner
Advisor:Prof. Dr. Andreas Henrich
Granting Institution:Universität Bayreuth,Fakultät für Mathematik, Physik und Informatik
Date of final exam:09.07.2008
Year of Completion:2008
SWD-Keyword:Projektmanagement; Software Engineering; Softwareentwicklung; Softwaremetrie; Vorgehensmodell
Tag:Automatisierte Softwaremessung; Maven; Projektleitstand
Automated Software Measurement; Maven; Software Project Control Center
Dewey Decimal Classification:004 Datenverarbeitung; Informatik
RVK - Regensburg Classification:ST 230
URN:urn:nbn:de:bvb:703-opus-4630
Document Type:Doctoral Thesis
Language:German
Date of Publication (online):06.08.2008