소프트웨어 가시화 (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
2 Comments

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^