X

소프트웨어 가시화 (SW Visualization)

I. SW 품질관리 현실, 품질관리 문제점

품질관리 문제점 품질관리 대응방안
– S/W 비가시성
가시성의 확보를 통해 문제점 추적 및 판단 가능
– S/W 복잡도 증가
체계적, 정량적 접근 필요
– 중소기업 개발환경
전문적 개발 진행 필요
  • 소스코드 진단 자동화 툴들이 개발되고 있으며 진척상황과 품질수준 파악이 용이하도록 추적/통합 시스템 필요

II. 체계적인 S/W품질 관리 위한, 소프트웨어 가시화

가. 소프트웨어 가시화

  • S/W 비가시성에 따른 품질관리 위해 시각화와 문서화기반 S/W 개발 품질 관리 기법

나. 소프트웨어 가시화 핵심 요소

시각화 – 지표 설정에 따른 명확한 목표 수립
– 시스템 기반 효율적 개발 활동
– 시각화를 통한 지속적 모니터링/통제
문서화 – 소스코드 문서화는 인력 업무 공백의 최소화
– 개발과정 문서화는 산출물 생성 위해 지원
  • 개발 프로세스의 시각화, 개발프로세스의 문서화, 소스코드 시각화, 소스코드 문서화

III. 소프트웨어 가시화 개발 프로세스와 세부 활동

가. 소프트웨어 가시화 개발 프로세스

  • 소프트웨어 가시화는 요구사항 관리, 구현, 테스트, 형상 관리의 4가지로 구분하여 개발 프로세스 구성

나. 소프트웨어 가시화 세부 활동

프로세스 세부 활동 설명
요구사항
관리
요구사항 정의 – 요구사항 추출, 분석, 명세
요구사항
변경 관리
– 요구사항 버전/추적 관리
– 요구사항 매트릭스
구현 개발 – 개발자의 SW 구현과정
– 개발자 편의성 고려
빌드 – SW 빌드 자동화 절차
– 스크립트, 자동화 빌드 과정
테스트 정적 분석 – 미리 정의된 코딩 가이드
– Rule Check, 복잡도 테스트
동적 분석 – 화이트박스, 코드 커버리지
– 블랙박스, 테스트케이스
형상 관리 – 개발 과정 전반 수행 단계
– 개발 산출물 관리, 변경통제

IV. 소프트웨어 가시화 시스템 구성도 및 구성요소

가. 소프트웨어 가시화 시스템 구성도

시스템 구성도 오픈소스 구성 사례

나. 소프트웨어 가시화 시스템 구성요소

구성요소 설명 오픈 소스
지속적 통합(CI) – 프로젝트 작업 자주통합
– 자동화 빌드 절차 검증
– Jenkins
테스트 자동화 – 지속적 통합 기반
– 자동 테스트 수행
– Jenkins
– SonarQube
형상 관리 – 개발 과정 산출물 관리
– 변경 통제/관리, 제어
– Subversion
통합 개발 환경 – 개발자 입장 구성
– 개발, 소스코드 형상관리
– Eclipse
– Mylyn
요구사항 관리 – 요구사항 분석/정의
– SW 개발 품질 저하 방지
– Redmine
테스트 케이스 – 테스트 케이스 관리/수행
– S/W 품질 측정
– TeskLink
– Impasse
  • 소프트웨어 가시화는 SW공학 프로세스 기반 시스템 구성, 단계별 개발 방법론/Tool 가이드 제공

 

V. 소프트웨어 가시화의 기대 효과

개념도 기대 효과
– 요구사항 구현상태 파악
– 품질지표 정량/객관적 분석
– 개발 진척사항 투명성보장
– 자동화 기반 관리, 편의성
– 개발관리 문서화 간소화
– 품질 기반 SW 개발 문화

 

[참고]

  • 정보통신산업진흥원(NIPA) SW공학센터, “SW개발 품질관리 매뉴얼”, 2013.6
도리:

View Comments (2)

    • 본문 수정하여 출처 표시했고, 말씀대로 일반 공개된 자료이더라도 출처 표시는 해나가도록 하겠습니다. 감사합니다.