소프트웨어 시각화

Software visualization

소프트웨어 visualization[1][2]나 소프트웨어 조직이 정보를 시각화로 그리고 systems—either 그들의 런타임의 그것의 소스 코드 또는 지표의 구조 그들의 개발 과정 그들의 structure,[4]지금 설치를 클릭의, 상호 작용 혹은 만화 정적 2D또는 3-D[3]시각적 표현 방법의 방법으로 behavior—and 소프트웨어와 관련된 말한다.cution,[5]beha그리고 진화.[6]

소프트웨어 시스템 정보

소프트웨어 시각화는 소프트웨어 시스템에 대해 사용 가능한 다양한 정보를 사용합니다.주요 정보 카테고리는 다음과 같습니다.

목적

소프트웨어 시각화의 목적은 소프트웨어 시스템(즉 구조)과 알고리즘(예: 정렬 알고리즘의 동작을 애니메이션화함)의 이해뿐만 아니라 소프트웨어 시스템 및 그 이상 징후(: 높은 결합성을 가진 클래스 표시)의 분석과 탐색 및 개발 및 진화를 지원하는 것이다.소프트웨어 시각화의 장점 중 하나는 코드 변경을 소프트웨어 실행 [7]트레이스에 투영함으로써 본질적으로 연결되지 않은 소프트웨어 시스템의 정보를 결합하고 관련짓는 것입니다.

소프트웨어 시각화는 소프트웨어 시스템 정보(예: 비주얼 데이터 마이닝 [8]프로세스와 유사한 이상 징후 발견)를 탐색 및 분석하기 위한 도구 및 기술로 사용할 수 있습니다.예를 들어 소프트웨어 시각화는 코드 품질이나 팀 활동 [9]등의 모니터링 활동에 사용됩니다.시각화는 본질적으로 소프트웨어 품질[citation needed]보증하는 방법은 아닙니다.소프트웨어 시각화는 소프트웨어 인텔리전스에 참여하여 소프트웨어 시스템의 내부 컴포넌트를 검출하고 이를 활용할 수 있도록 합니다.

종류들

소프트웨어 시각화 도구를 사용하여 소프트웨어 개발 및 유지보수 활동 중 소스 코드 및 품질 결함을 시각화할 수 있습니다.소스 코드를 시각적[10] 표현에 매핑하는 방법에는 여러 가지가 있습니다.예를 들어 객체 지향 소프트웨어 시스템 및 서비스의 품질 결함을 자동으로 검출하고 시각화하는 방법이 있습니다.일반적으로 이들은 소프트웨어 시스템의 다른 클래스와의 직접적 관계와 방법을 시각화하고 잠재적인 품질 결함을 표시합니다.또 다른 이점은 소프트웨어 시스템을 통한 시각적 내비게이션 지원입니다.

소프트웨어 시각화를 위해 다소 특수한 그래프 그리기 소프트웨어를 사용한다.2003년 리버스 엔지니어링소프트웨어 유지보수 분야에서 활동하는 연구자를 대상으로 한 소규모 조사에서는 GraphViz 및 GraphEd와 같은 범용 그래프 그리기 패키지, Rational Rose 및 Borland Together와 같은 UML 도구, Visualization of Compil과 같은 보다 전문적인 도구 등 다양한 시각화 도구가 사용되었습니다.er 그래프(VCG) 및 Rigi.[11]: 99–100 리버스 엔지니어링 소스에 의한 비주얼라이저로서 기능할 수 있는 UML 툴의 범위는 결코 부족하지 않다.2007년의 책에서는, 전술한 2개의 툴 외에 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. pp. 41–48. doi:10.1145/1138912.1138922. ISBN 1595934006. S2CID 17556465.
  2. ^ Diehl 2002, Diehl 2007, Knight 2002
  3. ^ (Marcus, Feng & Maletic 2003; Wettel & Lanza 2007)
  4. ^ 스테이플스 & 바이맨 1999
  5. ^ Trümper, J.; Döllner, J.; Telea, A. (2013). "Multiscale Visual Comparison of Execution Traces". Proceedings of the International Conference on Program Comprehension (PDF). IEEE Computer Society. pp. 53–62. doi:10.1109/ICPC.2013.6613833. ISBN 978-1-4673-3092-3. S2CID 206839054.
  6. ^ (Kuhn & Greevy 2006, Stasko1998)
  7. ^ Bohnet, J.; Voigt, S.; Döllner, J. (2009). "Projecting code changes onto execution traces to support localization of recently introduced bugs". Proceedings of the 2009 ACM symposium on Applied Computing. pp. 438–442. doi:10.1145/1529282.1529378. ISBN 9781605581668. S2CID 8349297.
  8. ^ (Keim 2002; Soukup & Davidson 2002; Burch, Diehl & Weigergerber 2005)
  9. ^ Bohnet, J.; Döllner, J. (2011). "Monitoring Code Quality and Development Activity by Software Maps". Proceedings of the IEEE ACM ICSE Workshop on Managing Technical Debt. Association for Computing Machinery. pp. 9–16. doi:10.1145/1985362.1985365. ISBN 9781450305860. S2CID 17258620.
  10. ^ Limberger, D.; Wasty, B.; Trümper, J.; Döllner, J. (2013). "Interactive software maps for web-based source code analysis". Proceedings of the 18th International Conference on 3D Web Technology. pp. 91–98. doi:10.1145/2466533.2466550. ISBN 9781450321334. S2CID 3040005.
  11. ^ Koschke, Rainer (2003). "Software visualization in software maintenance, reverse engineering, and re-engineering: a research survey". Journal of Software Maintenance and Evolution: Research and Practice. 15 (2): 87–109. doi:10.1002/smr.270.
  12. ^ Diehl 2007, 페이지 63

추가 정보

외부 링크

  • 소프트웨어 시각화에 관한 ACM 심포지엄 SoftVis
  • VISSOFT 소프트웨어 시각화에 관한 제2회 IEEE 워킹 컨퍼런스
  • EPDV Eclipse 프로젝트 종속성 뷰어