2016년 3월 4일 금요일

형상관리도구 비교

형상 관리 도구는 소스 코드나 문서의 버전 관리, 이력 관리, 추적 등 변경 사항을 체계적으로 관리할 수 있는 기능을 제공하는 도구이다. 가장 널리 사용되는 도구는 CVS(Concurrent Versions System), SVN(Subversion), Git 이 대표적이다.




1. CVS(Concurrent Versions System)가장 오래된 형상 관리 도구 중의 하나로서, 중앙 집중형 서버 저장소를 두고 클라이언트가 접속해서 버전 관리를 실행한다.



2. SVN(Subversion)CVS와 같은 중앙 집중형 클라이언트-서버 방식이지만 CVS의 단점을 보완하여 현재 가장 널리 사용되고 있는 형상 관리 도구다. SVN은 CVS를 대체하기 위해 만든 도구로서 그 개념과 사용법이 CVS와 거의 유사해서, CVS 사용자가 어렵지 않게 SVN을 도입하여 사용할 수 있다.



3. Git


Git는 앞서 나왔던 CVS나 SVN과는 개념이 많이 다른 형상 관리 도구로서, 공개SW 커뮤니티를 중심으로 사용 저변이 많이 확대되고 있다. Git는 중앙 집중형 방식이 아닌 분산형 방식으로 각 로컬 PC에 스스로 완전한 저장소가 구성되며, 필요에 따라 중앙 집중형 방식으로도 운영할 수 있다.


프로젝트관리도구 비교

3개 관리 도구의 비교: Redmine, Gantt project, OpenProj


1. Redmine







주요기능
  일감 관리( 등록, 변경, 추적, 통보 등)
  문서관리, 파일관리, 위키 사이트 구축 
  이메일 통보
장점
  간략한 일정관리 가능 
  웹서버를 이용하여 다수의 인원이 협업할 수 있음
  프로젝트, 사용자 권한 등을 관리할 수 있음
  일감의 진행에 따른 이메일 통보 가능
단점  자원의 투입율을 관리할 수 없음
  휴일이나 일단위 작업시간을 설정할 수 없음
  Critical Path 식별을 위한 선후행 작업의 조건설정이 불가함


2. Gantt Project



주요기능 
  작업 관리( 등록, 변경 등)
  휴일, 작업시간 설정 기능
  인적자원 관리 기능
장점

  작업자 투입율과 연동하여 일정관리 가능
  Gantt 차트, 리소스 차트 지원
  휴일 달력 사용 기능
 단점  팀 협업이 어려움
  전체적인 사용성이 좋지못함
  일부 기능에는 한글사용이 원활하지 못함


3. OpenProj



주요기능 
  작업 관리( 등록, 진척확인, 변경이력관리 등)
  휴일, 작업시간 설정 기능
  인적자원 관리 기능
  예산기반 WBS 작업 기능, Earned value 기반 관리기능
장점
  작업자 투입율과 연동하여 일정관리 가능 
  Gantt 차트, 리소스 차트 지원
  프로젝트 관리 상용도구 수준의 기능, UI 지원
  상용프로그램(MSProject)과 호환 가능
단점  팀 협업이 어려움
  간략하게 관리하려는 경우는 사용방법이 복잡할 수 있음

가이드 더 보기 >>>

SW개발도구 연계 사례

SW 개발과정 (Software Development Life Cycle) 전체에 걸쳐서 사용되는 도구 (tool)를 쉽게 사용할 수 있도록 도구 활용가이드, 동영상 및 연계사례를 제공합니다. 아래 사례에 대한 자세한 내용을 보고 싶다면 소프트웨어공학센터 SW개발도구 사례 보기로 오세요.

사례 01.                                                                                     
JAVA 환경에서의 CI(지속적통합) 구축 사례                                                   
아시아 통신 시장을 목표로 통신 분야에 특화된 기능을 Template기반으로 제공하는 서비스 솔루션을 개발

사례 02.
C/C++ 환경에서의 CI(지속적통합) 구축 사례
3차원 광학기술을 이용한 검사 장비 시스템 개발

사례 03.                                                                                      
임베디드 시스템의 개발환경 구축사례
안드로이드 플랫폼 기반 자동차 인포테인먼트 (information+entertainment) 시스템 개발

사례 04.
GIT을 활용한 어플리케이션 개발 상세 사례
GIT을 활용하여 수행하는 도서검색 웹 애플리케이션 개발

사례 05.                                                                                     
정적 분석 및 단위테스트 수행 상세 사례                                                                
보드(체커) 게임 프로그램을 통해 알아보는 정적 분석과 단위테스트                                                                                  
사례 06.
Web 개발 프레임웍 구축 사례
개발환경이 Eclipse 를 중심으로 공개SW 프레임웍크를 사용하여 구현한 사례