Software card

from Wikipedia, the free encyclopedia

A software card (engl. Software map ) represents static, behavioral, and dynamic evolution related information of a software system and its developing process, center the map related 2-D or 3-D visualization . Software cards form basic concepts and tools in software visualization . Their main applications include risk analysis and monitoring of code quality , activity of development teams and operations in the software development process and in general the granting of insight regarding the relevant implementation artifacts, development processes and stakeholders during the software development process and software maintenance (Software Maintenance).

Motivation and Concepts

Software maps found in the context of Software Engineering (English. Software engineering ) Application: Complex, long-term software development projects look at commonly many difficulties such as the tension between the completion of new features at the same time ensuring a high level of code quality to the maintainability and ensure future. The main idea of ​​software cards is to take on this challenge and optimization problems by providing effective communication tools that close the underlying communication gap within the people involved and the respective information areas.

Software maps use tried and tested cartographic techniques based on the metaphor of a virtual 3-D city model to express the respective complex, abstract information spaces. Such a metaphor is necessary because software system information has no inherent shape ("since software has no physical shape, there is no natural mapping of software to a two-dimensional space").

Applications

In general, software maps make it possible to communicate the course, costs and risks of a software development project to the people involved (including management and development teams) in an understandable and effective manner. They convey "at a glance" the status of applications and systems of project management and project management that are in development or further development. An essential aspect of the corresponding decision-making processes is that "[...] software maps provide the structural context required for correct interpretation of [...] performance indicators". As a communication tool, software cards generate transparency among those involved. B. allows to weigh the code quality and the functional further development against each other and to decide which necessary measures have to be taken in order to optimize the software development process accordingly. Software cards, for example, make it easier to decide where in the code the quality should be increased, on the one hand to accelerate software development and on the other hand to reduce the risks for future software maintenance. Due to their high expressiveness (including information density) and their fast, automatic generation, software cards are also suitable for reflecting the current status of systems and processes and thus bridge an important information gap between management and the development team, improve awareness of the development status and serve as " Early warning system "for detecting software risks.

Web links

Individual evidence

  1. ^ Stephan Diehl: Software Visualization: Visualizing the Structure, Behavior, and Evolution of Software. Springer, 5, 2007, ISBN 978-3-540-46504-1
  2. Monitoring Code Quality and Development Activity by Software Maps Johannes Bohnet and Döllner, Jürgen. In: Proceedings of the IEEE ACM ICSE Workshop on Managing Technical Debt, pp. 9-16, 2011.
  3. Visualizing Software Systems as Cities. Richard Wettel, Michele Lanza. In: 4th IEEE international Workshop on Visualizing Software for Understanding and Analysis, 2007.
  4. Consistent Layout for Thematic Software Maps. Adrian Kuhn, Peter Loretan, Oscar Nierstrasz, 2008.
  5. Interactive Software Maps for Web-Based Source Code Analysis. Limberger, Daniel et al. In: Proceedings of the International Web3D Conference, ACM, pp. 8, 2013.