[정보처리기사도전기]#15 통합 구현 관리

Ben·2021년 8월 2일
0

정보처리기사도전기

목록 보기
16/16

제2절 통합 구현 관리

1. IDE 도구

(1) IDE의 개요
[1] 효율적으로 소프트웨어를 개발하기 위한 통합 개발 환경(IDE : Integrated Development Environment)
[2] 기존의 소프트웨어 개발에서 코드 편집기, 디버거, 컴파일러, 인터프리터 등 분리되어 사용되던 것들을 통합하여 개발자에게 제공한다.

(2) IDE의 종류
[1] 이클립스(Eclipse) : 자바, C, C++, PHP, JSP 언어 사용 가능.
[2] 라자루스(Lazarus) : 프리 파스칼, 파스칼 SDK 언어 사용 가능.
[3] 엑스코드(X Code) : C, C++, 오브젝트-C, 오브젝트-C++, 자바, 애플스크립트, 코코아, Carbon, GNU 파스칼, 프리 파스칼, 에이다, C#, 펄, D, Swift 언어 사용 가능.
[4] 비주얼 스튜디오(Visual Studio) : 비주얼 베이직, 비주얼 베이직 닷넷, 비주얼 C++, 비주얼 C 샤프, F 샤프 언어 사용 가능.
[5] 제이빌더(J Builder) : JAVA 언어 사용 가능.
[6] C++빌더(C++ Builder) : C, C++ 언어 사용 가능.

2. 협업도구

[1] 소프트웨어 개발 프로젝트에 많은 개발자들이 참여하기 때문에 협업을 위한 도구가 필요하다.
[2] 프로젝트 임무를 수행하기 위해 각기 다른 장소에 있는 많은 사람들이 모여 IT 기술을 활용해 협력하고, 팀 단위의 활동을 수행하는 것을 가능하게하기 위해 협업도구가 필요하다.

(2) 협업도구의 기능
[1] 업무효울성 향상
[2] 정보 접근성 향상
[3] 전체 이슈 진행 과정을 쉽게 파악
[4] 직원관리(전자결제, 근태관리, 주소록)

(3) 협업도구의 종류
[1] 문서 공유 : 구글 드라이브
[2] 디자인 공유 : 레드 펜
[3] 소스 공유 : 깃허브
[4] 프로젝트 관리 : 트렐로, 레드마인, 지라
[5] 일정 관리 : 구글 캘린더

3. 형상관리 도구

(1) 소프트웨어 형상관리
1) 형상관리의 개요
[1] 형상(Configuration) : 소프트웨어 공학의 프로세스 부분으로부터 생성된 모든 정보항목의 집합체

[2] 소프트웨어 형상관리 항목(SCI, Software Configuration Item)

[ㄱ] 분석서
[ㄴ] 설계서
[ㄷ] 프로그램(원시코드, 목적코드, 명령어 파일, 자료 파일, 테스트 파일)
[ㄹ] 사용자 지침서

[3] 형상관리(SCM, Software Configuration Management)

[ㄱ] 소프트웨어에 대한 변경을 철저히 관리하기 위해 개발된 일련의 활동
[ㄴ] 소프트웨어를 이루는 부품의 Baseline(변경통제 시점)을 정하고 변경을 철저히 통제하는것

15년이상, 문서 X, 개발진 X => 외계인 코드

[4] 베이스라인(Baseline)

[ㄱ] 정식으로 검토되고 합의된 명세서나 제품으로서, 이것으로부터 앞으로의 개발을 위한 바탕 역활을하며, 정식 변경 통제 절차들을 통해서만 변경될 수 있는 것(IEEE)
[ㄴ] 정당화될 수 있는 변경에 심하게 저항하지 않으면서 변경을 통제하기 도와주는 하나의 소프트웨어 형상관리 개념이다.

[5] 전체 소프트웨어 프로세스에 적용되는 "보호활동" 이다.

2) 형상관리를 위한 조직(형상관리 위원회(팀))
[1] 분석가 : 사용자와 상의하여 무엇이 문제이며 어떤 기능향상 및 개작이 필요한가를 결정한다.
[2] 프로그래머 : 분석가와 협동하여 문제의 원인을 찾아내고 변경의 형태와 내용을 알아낸다. 실제프로그램의 수정을 담당한다.
[3] 프로그램 사서 : 문서와 코드에 대한 변경을 계속 보관하고 관리한다.

3) 형상관리의 목적
[1] 가시성의 결여(Lack of Visibility)에 대한 문제 해결
[2] 통제의 어려움(Lack of Control)에 대한 문제 해결
[3] 추적의 결여(Lack of Traceablity)에 대한 문제 해결
[4] 감시의 미비(Lack of Monitoring)에 대한 문제 해결
[5] 무절제한 변경(Incontrolled Change)에 대한 문제 해결

(2) 형상관리의 기능
❋ 형상관리절차 : 식별 -> 통제 -> 감사 -> 보고

1) 형상 식별(Identification)
[1] 형상 식별은 소프트웨어 형상의 모든 항목에 대해 의미있고 항구적인 명명을 보증하는 소프트웨어형솽관리 활동이다.
[2] 형상관리 항목(SCI, Software Configuration Item)에 대해 관리 목록 번호를 부여하고 나무구조를 표현하여 저장한다. 이는 관련문서에 대한 추적을 용이하게 한다.
[3] 통제가 쉽도록 "누가, 언제, 무엇을 왜 정의하였는가?" 하는 정보를 생성하며, 기준선을 설정한다.

2) 형상 통제(Control)
[1] 식별된 SCI의 변경요구를 검토하고 승인하여 현재의 베이스라인에 적절히 반영될 수 있도록 통제하기 위한 형상관리 활동이다.
[2] 형상통제는 소프트웨어 유지보수를 위한 변경관리와 일치한다.

3) 형상 감사(Auditing)

  • 변경이 적절하게 시행되었는지 객관적인 검증과 확인(V&V) 과정을 거쳐 새로운 형상의 무결성을 하ㅗㄱ보하기 위한 활동이다.

[1] 정형 검토 회의(Formal Technical Review)

  • 수정 완료된 형상 객체의 기술적인 정확성에 초점을 둔다.
  • 검토자들은 SCI를 산정하여 다른 SCI와의 일관 혹은 잠재적인 부작용 유무를 검토한다.

[2] 소프트웨어 형상 감사(Software Configuration Audit)

  • 검토시 일반적으로 고려되지 않은 특성들에 대해 형상 객체를 산정함으로써 FTR을 보완한다.

4) 형상 보고(Status Accounting)
[1] 형상 식별, 변경 통제, 형상 감사 기능의 수행 결과를 기록하고 데이터베이스에 의해 관리를 하며 이에 대한 보고서를 작성하는 활동이다.
[2] 형상 상태 보고(CSR, Configuraion status Reporting)라고도 한다.

(3) 형상관리 도구
1) 형상관리 도구의 개요
[1] 프로그램 소스를 특정 저장소에 저장해둔 것을 내려 받아 수정 후 업로드시키고 다른 개발자가 개발한 최신 소스를 내려받아 분석 및 빌드하도록 도와주는 도구이다.
[2] 형상관리는 일반적으로 버전 관리 (version control, revision control), 소스 관리 (source control), 소스 코드 관리(source code management, SCM)와 동일한 의미로 사용한다.
[3] 소스코드 버전 관리 툴의 종류로는 CVS, SVN, Git...등이 있다.

2) 형상관리 도구의 주요 기능
[1] 소프트웨어 프로젝트를 빌드하기 위한 소스코드, 이미지, 스크립트 등의 저장소
[2] 이러한 파일들의 변경을 체계적으로 관리, 제어(변경기록 추적, 특정 시점 파일 상태 조회)
[3] 팀내 다수의 개발자와 협업(작성된 소스코드와 변경사항을 확인 및 수정)을 위한 도구와 매커니즘
[4] 장애 혹은 기능상 필요할 때 이전 버전으로 소프트웨어를 원상복구할 수 있다.
[5] 동일한 소프트웨어를 여러 개의 버전으로 분기해서 개발할 필요가 잇는 경우에 유용

3) 형상관리 도구의 구성 요소

구분설명
Repository- 프로젝트의 프로그램 소스를 포함한 형상항목이 저장되는 저장소
- 소스뿐만 아니라 소스의 변경사항도 모두 저장
- 네트워크를 통해서 여러 사람이 접근 가능함
checkout- 저장소에서 소스 및 버전관리 파일들을 받아 옴
commit- 소스를 수정 및 삭제, 새파일 추가등의 변경사항을 저장소에 갱신
Update- 체크아웃을 통해서 소스를 가져왔다 하더라도 다른사람이 커멧을 하면 로컬 소스코드가 달라지는데 이때, update 명령어를 통해서 저장소에 있는 최신 버전의 소스를 가져올 수 있다.
- 로컬 소스 코드와 저장소에 있는 소스 코드를 비교하여 차이가 발생하는 부분만 바꿈

4) 형상관리 도구의 종류

[1] GitHub
[2] SVN
[3] CVS

profile
프로그램을 만드는것을 업으로 삼은 사람입니다

0개의 댓글