stringtranslate.com

Визуализация программного обеспечения

Визуализация программного обеспечения [1] [2] или визуализация программного обеспечения относится к визуализации информации, относящейся к программным системам (будь то архитектура исходного кода или метрики их поведения во время выполнения ), а также к процессу их разработки посредством статических, интерактивных или анимированных 2-D или 3-D [3] визуальных представлений их структуры, [4] выполнения, [5] поведения [6] и эволюции.

Информация о программном обеспечении системы

Визуализация программного обеспечения использует разнообразную информацию, доступную о системах программного обеспечения. Ключевые категории информации включают:

Цели

Цели визуализации программного обеспечения — поддержка понимания систем программного обеспечения (т. е. его структуры) и алгоритмов (например, путем анимации поведения алгоритмов сортировки), а также анализ и исследование систем программного обеспечения и их аномалий (например, путем демонстрации классов с высокой степенью связи ), а также их развития и эволюции. Одной из сильных сторон визуализации программного обеспечения является объединение и связывание информации о системах программного обеспечения, которые не связаны по своей сути, например, путем проецирования изменений кода на трассировки выполнения программного обеспечения. [7]

Визуализация программного обеспечения может использоваться как инструмент и метод для исследования и анализа информации о программной системе, например, для обнаружения аномалий, аналогичных процессу визуального интеллектуального анализа данных . [8] Например, визуализация программного обеспечения используется для мониторинга таких видов деятельности, как качество кода или деятельность команды. [9] Визуализация по своей сути не является методом обеспечения качества программного обеспечения . [ необходима ссылка ] Визуализация программного обеспечения участвует в программном интеллекте , позволяя обнаруживать и использовать преимущества освоения внутренних компонентов программных систем.

Типы

Инструменты для визуализации программного обеспечения могут использоваться для визуализации исходного кода и дефектов качества во время разработки и обслуживания программного обеспечения. Существуют различные подходы к отображению исходного кода в визуальное представление, например, с помощью карт программного обеспечения [10]. Их цель включает, например, автоматическое обнаружение и визуализацию дефектов качества в объектно-ориентированных системах программного обеспечения и службах. Обычно они визуализируют прямую связь класса и его методов с другими классами в системе программного обеспечения и отмечают потенциальные дефекты качества. Еще одним преимуществом является поддержка визуальной навигации по системе программного обеспечения.

Для визуализации программного обеспечения используется более или менее специализированное программное обеспечение для рисования графов . Небольшой опрос исследователей, работающих в областях обратного проектирования и сопровождения программного обеспечения, проведенный в 2003 году , показал, что использовались самые разные инструменты визуализации, включая пакеты для рисования графов общего назначения, такие как GraphViz и GraphEd, инструменты UML, такие как Rational Rose и Borland Together , и более специализированные инструменты, такие как Visualization of Compiler Graphs (VCG) и Rigi . [11] : 99–100  Диапазон инструментов UML, которые могут выступать в качестве визуализатора с помощью обратного проектирования, отнюдь не узок; в книге 2007 года отмечалось, что помимо двух вышеупомянутых инструментов, ESS-Model, BlueJ и Fujaba также обладают этой возможностью, и что Fujaba также может определять шаблоны проектирования . [12]

Смотрите также

Ссылки

  1. ^ Bohnet, Johannes; Döllner, Jürgen (2006). "Analyzing Feature Implementation by Visual Exploration of Architecturally-Embedded Call-Graphs". 4th International Workshop on Dynamic Analysis . ACM Press. стр. 41–48. doi :10.1145/1138912.1138922. ISBN 1595934006. S2CID  17556465.
  2. ^ Диль 2002; Диль 2007; Найт 2002
  3. ^ (Маркус, Фэн и Малетик 2003; Веттель и Ланца 2007)
  4. ^ Стэйплс и Биман 1999
  5. ^ Trümper, J.; Döllner, J.; Telea, A. (2013). «Многомасштабное визуальное сравнение трасс выполнения». Труды Международной конференции по пониманию программ (PDF) . IEEE Computer Society. стр. 53–62. doi :10.1109/ICPC.2013.6613833. ISBN 978-1-4673-3092-3. S2CID  206839054.
  6. ^ (Кун и Гриви 2006, Стаско и др. 1998)
  7. ^ Bohnet, J.; Voigt, S.; Döllner, J. (2009). «Проецирование изменений кода на трассировки выполнения для поддержки локализации недавно появившихся ошибок». Труды симпозиума ACM 2009 года по прикладным вычислениям . С. 438–442. doi :10.1145/1529282.1529378. ISBN 9781605581668. S2CID  8349297.
  8. ^ (Кейм 2002; Соукуп и Дэвидсон 2002; Берч, Диль и Вайсгербер 2005)
  9. ^ Bohnet, J.; Döllner, J. (2011). "Monitoring Code Quality and Development Activity by Software Maps". Труды семинара IEEE ACM ICSE по управлению техническим долгом . Ассоциация вычислительной техники. стр. 9–16. doi :10.1145/1985362.1985365. ISBN 9781450305860. S2CID  17258620.
  10. ^ Limberger, D.; Wasty, B.; Trümper, J.; Döllner, J. (2013). «Интерактивные программные карты для анализа исходного кода на основе веб-технологий». Труды 18-й Международной конференции по 3D-веб-технологиям . С. 91–98. doi :10.1145/2466533.2466550. ISBN 9781450321334. S2CID  3040005.
  11. ^ Кошке, Райнер (2003). «Визуализация программного обеспечения в обслуживании программного обеспечения, обратном проектировании и реинжиниринге: исследовательский обзор». Журнал обслуживания программного обеспечения и эволюции: исследования и практика . 15 (2): 87–109. doi : 10.1002/smr.270 .
  12. ^ Диль 2007, стр. 63

Дальнейшее чтение

Внешние ссылки