SW비주얼라이제이션
태그 :
- 개념
- SW의 비가시성을 극복함으로써 SW개발의 전체 과정을 파악할 수 있도록 하며, 이를 통하여 SW의 품질향상을 실현하기 위한 방안 목표를 수립하는 계획, 시스템 기반으로 실질적인 개발을 진행하는 수행, 시각화를 통한 검증의 세 과정이 유기적으로 반복됨으로써 개발 전반의 단계를 관리
1. 소스코드와 개발 프로세스를 관리하는 SW-visualization의 개요
가. SW-visualization 의 정의
SW의 비가시성을 극복함으로써 SW개발의 전체 과정을 파악할 수 있도록 하며, 이를 통하여 SW의 품질향상을 실현하기 위한 방안
목표를 수립하는 계획, 시스템 기반으로 실질적인 개발을 진행하는 수행, 시각화를 통한 검증의 세 과정이 유기적으로 반복됨으로써 개발 전반의 단계를 관리
나. SW-visualization 의 등장배경
구분 |
설명 |
SW 비가시성 |
- 개발자 관리자,발주자 등 이해관계자들이 SW개발 진행 정도를 각각 다른 관점으로 이해하기 때문 |
SW복잡도 증가 |
- 잠재된 버그,위험요소에 의한 납기지연, 비용초과, 품질저하 - 양적: 대규모의 SW가 요구 / 질적: SW 복잡도 증가 (체계적이고 정량적인 접근 필요) |
중소기업의 개발환경 |
- SW개발과정 전반을 이해관계자 모두 쉽게 공유하기 위해선 일정체계나 TooL이 필요하지만, - 비용 시간등의 여러 여건상 구축하기 어려움 |
이를 위한 해결책으로 체계적인 통합된 가이드를 제공하고자 개발된 모델.
다. SW-visualization 의 제안 방안
- 구분 |
- 설명 |
- 시각화 |
- SW 비가시성 극복, SW개발의 전체과정 파악 - SW개발 품질관리 실현 |
- 문서화 |
- 기업의 개발노하우 관리 및 내부인력간의 업무이해도 향상 - 특정상황에서 외부와의 의사소통 - javaDoc , Doxygen |
SW개발 목표를 지표화 하며, 개발된 것이 목표와 일치하는 지 검증하며
지속적으로 피드백 할 수 있도록 지원함
2. SW-visualization 의 구성도 및 구성요소
가. SW-visualization 의 개념도
이해관계자들이 개발과정 전반의 추진상황을 파악하거나 참여가 용이함
나. SW-visualization 의 구성요소
단계 |
내용 |
개발 |
- 개발의 목표를 명확히 함 - 개발과정, 품질검증, 결함수준 등의 관리지표를 SW-visualization 가이드에서 정해진 지표에 따라 명확히 설정 |
수행 |
- 이해관계자들이 시스템을 통해 개발 전반의 단계를 유기적으로 연결하여 관리 - 발주자가 요구사항을 등록하면 →개발자는 개발툴(이클립스) 를 통해 요구사항을 확인하여 개발하고 ,개발한 내용을 형상관리(서브버젼)에 등록하여 변경이력을 공유 - 서브버젼에 반영된 소스코드들은 정해진 일정에 따라 자동으로 빌드 및 테스트 |
검증 |
- 개발된 내용이 목표에 맞는 지 검증하고, 차이점을 한눈에 확인 하여 피드백 할 수 있는 모니터링 기반을 제공 |
3. SW-visualization 의 기대효과 와 지향 방안
가. SW-visualization 의 기대효과
기대효과 |
세부내용 |
요구사항의 구현상태에 대한 실시간 파악 |
- 개발 일정 및 SW 품질에 대한 문제를 조기에 인지하고 그에 따른 대처가능 |
품질지표에 의한 객관적이고 정량적인 분석 |
- 일정 수준 이상의 SW 시장 품질확보를 가능하게 함으로써 기업의 제품경쟁력 확보에 기여 |
개발진척상황에 대한 투명성보장 |
- SW 개발에서 발생할 수 있는 결함을 미연에 방지하고, 발생한 결함을 기에 조치할 수 있도록 지원 |
자동화를 통한 SW관리의 편이성 증가 |
- SW 지식이 없거나, 비용 및 인력이 부족한 기업에 SW 공학적인 방법에 따라 SW 개발을 진행 할 수 있도록 지원 |
SW개발관리 문서화 작업의 간소화 |
- SW 개발 과정 전체를 시스템화 함으로써 문서작업을 대폭 줄이고 시스템자체가 문서를 대신 |
품질 기반의 미래형 SW 개발 문화를 위한 기반 |
SW 품질 확보에 기여하고, 자동화된 시스템 기반으로 편의성을 제공 |
나. SW-visualization 의 지향 방안
SW개발 전반의 품질을 효율적으로 관리할 수 있는 SW-visualization은 SW공학 지식이나, 기반이 부족한 상태에서도 활용할 수 있도록 개발되어 있음
무상으로 사용할 수 있는 공개SW를 적용하여 설계되어 SW관리도구가 필요한 기업들은 누구나 비용적 부담없이 적용할 수 있음
- 구분 |
- 설명 |
- Jenkins |
- 반복작업의 수행을 모니터 |
- Redmine |
- 웹기반의 프로젝트관리/ 버그추적/ 형상관리 |
- TestLink |
- 요구사항등록/ 테스트케이스 관리 |
- Impasse |
- Redmine 의 플러그인 (TestLink) |
- Subvsersion |
- 오픈소스 버전 관리 시스템 |
- Eclipse |
- 오픈소스, 자바 기반의 확장가능한 개발 플랫폼 - (다른 언어도 지원) |