상세 컨텐츠

본문 제목

[SE]ALM(Application Lifecycle Management)

Software Engineering

by mobile 2016. 8. 30. 22:10

본문

반응형

■ ALM 이란?

 ALM이란 Application Lifecycle Management의 약자로 개발, 유지보수, 거버넌스를 포함한 소프트웨어 어플리케이션 제품의 전체 수명 주기를 관리하는 것을 뜻합니다. ALM은 제품의 수명 주기를 체계적으로 관리하기 위해 다음과 같은 공정을 포함하고 있습니다.


  • 요구사항 관리(Requirements Management)
  • 소프트웨어 아키텍처(Software Architecture)
  • 소프트웨어 개발(Software Development)
  • 소프트웨어 테스팅(Software Testing)
  • 소프트웨어 유지보수(Software Maintenance)
  • 변경 관리(Change Management)
  • 프로젝트 관리(Project Management)
  • 릴리즈 관리(Release Management)



■ Open Source ALM 이란?

 소프트웨어 어플리케이션이 라이프사이클을 체계적으로 관리하기 위해서는 상위의 각 공정을 지원하는 소프트웨어 도구들이 필요합니다. 오픈 소스 ALM(Open Source ALM)이란 ALM의 각 공정을 체계적으로 지원할 수 있는 검증된 오픈 소스 도구들을 통합한 솔루션으로 개발 조직이라면, 누구나 무료로 사용할 수 있는 ALM 솔루션입니다. 


■ Open Source ALM Architecture


다음 그림은 Open Source ALM을 구축 후 사용을 위한 간단한 시나리오를 보여주고 있습니다.



1. Redmine에 작성되어 있는 요구사항, 업무, 이슈들은 개발자의 이클립스의 작업 리스트에 보여집니다.

2. 개발자는 자신의 업무와 관련 있는 소스 코드를 Git + Gerrit으로부터 Fetch 받습니다. 

3. 작업을 마친 개발은 자신의 소스 코드에 대해서 리뷰 요청을 하기 위해 Gerrit으로 Push합니다.

4. Jenkins는 Gerrit에 Push된 소스 코드의 빌드, 정적분석, 단위테스트 등이 이상이 없는지 확인하기 위해 Fetch를 수행합니다.

5. Jenkins는 확인 결과를 Gerrit에 등록합니다.

6. 팀장과 같은 소스 코드 리뷰어들은 개발자가 개발한 소스 코드의 리뷰를 수행합니다.

7. 리뷰어는 검증 결과를 Gerrit에 등록합니다.

8. Gerrit은 코드 리뷰 결과와 빌드 검증 결과를 합산하여 설정한 점수가되면 Git으로 Submit을 수행합니다.


■ OSS 도구 기반 개발 체계 구성



※ 참고 자료 출처 

http://pseg.or.kr/pseg/osalm

반응형

관련글 더보기

댓글 영역