자격증/정보처리기사 필기

[정보처리기사 필기] SW 개발 : 통합 구현 관리(IDE, 협업, 형상관리)

Yuco 2023. 1. 27. 22:20

 

정보처리기사 필기 2과목 - 소프트웨어 개발 : 통합 구현 관리

 

[1] IDE 도구

 

1. 통합 개발 환경 (IDE, Integrated Development Environment)

- 통합 개발 환경은 개발자가 소프트웨어를 개발하는 과정에서 필요한든 작업(코드 편집기, 디버거, 컴파일러, 인터프리터 등)을 하나의 인터페이스로 통합하여 제공하는 것을 의미

 

1) 디버거(Debugger)

- 에러를 포함하고 있는 프로그램에서 그 에러를 알아내기 위하여 이용되는 프로그램

 

2) 컴파일러(Compiler)

- 고급 언어로 쓰인 프로그램이 컴퓨터에서 수행되기 위해 컴퓨터가 직접 이해할 수 있는 언어로 바꾸어 주는 프로그램

 

3) 인터프리터(Interpreter)

- 프로그램을 해석하는 방법의 하나로, 사람이 이해할 수 있는 고급언어로 작성된 코드를 한 단계씩 해석하여 실행시키는 방법을 의미

 

2. 통합 개발 환경 지원 도구

1) 이클립스(Eclipse) : IBM

2) 비주얼 스튜디오(Visual Studio) : 마이크로 소프트

3) 안드로이드 스튜디오(Android Studio) : 구글

4) 엑스 코드(Xcode) : 애플

5) IDEA : JetBrains

 

[2] 협업 도구

 

- 협업 도구는 하나의 소프트웨어 개발 프로젝트에 참여하는 수십 명에서 수천 명의 개발자가 서로 다른 작업 환경에서도 원활하게 프로젝트를 수행할 수 있도록 도와주는 협업을 위한 도구 = 협업 소프트웨어, 그룹웨어 등으로 불림

 

1. 협업 도구의 기능 및 필요성

  • 개발자 간 커뮤니케이션 : 소프트웨어 구현 기간 동안 개발자들과의 실시간 커뮤니케이션이 필요함
  • 일정 및 이슈 공유 : 개발 및 작업 일정, 소스, 아키텍처가 수시로 변경되기 때문에 이에 대한 개발자 간의 공유가 필요
  • 개발자 간 집단 지성 활용 : 개발자들의 구현 아이디어 혹은 새로운 아이디어가 공유되어야 소프트웨어 품질이 높아짐

 

2. 협업 도구의 종류 

- 프로젝트 및 일정 관리, 마인드 맵핑, 디자인 공유, 아이디어 공유, 소스 공유, 문서 공유 등으로 분류 가능

 

[3] 형상 관리(Version Control Revision Control) 도구 ⭐⭐

 

1. 형상 관리 개념

- 소프트웨어 구성 관리 또는 형상 관리라는 소프트웨어의 변경 사항을 체계적으로 추적하고 통제하는 것으로, 형상 관리는 일반적인 단순 버전관리 기반의 소프트웨어 운용을 좀 더 포괄적인 학술 분야의 형태로 넓히는 근간을 의미

- 일반적으로 형상 항목이라는 형태로 작업 산출물을 선정하고, 형상 항목간의 변경 사항 추적과 통제 정책을 수립하고 관리함

- 소프트웨어 개발의 전 단계에 적용되는 활동이며, 유지보수 단계에서도 수행

 

2. 형상 관리 기능

1) 형상 식별

- 형상 관리 대상에 이름과 관리 번호를 부여하고, 계층(Tree) 구조로 구분하여 수정 및 추적이 용이하도록 하는 작업

 

2) 형상 통제

- 식별된 형상 항목에 대한 변경 요구를 검토하여 현재의 기준선(Base line)이 잘 반영될 수 있도록 조정하는 작업

 

3) 형상 검사

- 기준선의 무결성을 평가하기 위해 확인, 검증, 검열 과정을 통해 공식적으로 승인하는 작업

 

4) 형상 기록(상태 보고)

- 형상의 식별, 통제, 감사 작업의 결과를 기록, 관리하고 보고서를 작성하는 작업

 

5) 버전 제어

- 소프트웨어 업그레이드나 유지 보수 과정에서 생성된 다른 버전의 형상 항목을 관리하고, 이를 위해 특정 절차와 도구(Tool)를 결합시키는 작업

 

3. 형상 관리 도구

- 소프트웨어 버전 관리 툴

- 형상 관리는 소스의 변화를 끊임없이 관리하는 것을 의미

 

5. 형상 관리 도구 기능

1) check-out (체크아웃)

- 형상 관리 저장소(Repository)로부터 최신 소프트웨어 형상을 개발자 PC로 가져오는 기능

- 저장소를 체크아웃하면 로컬 컴퓨터에 원하는 프로젝트의 사본을생성하며 이 사본은 지정된 저장소의 최신 개정판을 포함함

* 저장소(Repository) : 최신 버전의 파일들과 변경 내역에 대한 정보들이 저장되어 있는 곳

 

2) check-in (체크인)

- 개발자가 수정한 소스를 형상 관리 도구 저장소로 업로드하는 기능

- 체크아웃 한 파일의 수정을 완료한 후, 저장소의 파일을 새로운 버전으로 갱신하는 것

 

3) commit (커밋)

- 개발자가 소스를 형상 관리 도구 저장소에 업로드한 후 최종적으로 업데이트가 되었을 때 형상 관리 서버에 반영되도록 하는 기능

- 체크인을 수행할 때 이전에 갱신된 내용이 있는 경우에는 충돌(Conflict)을 알리고 diff도구를 이용해 수정한 후, 갱신을 완료함

 

4) update (동기화)

- 변경 사항이 있는 경우 서버 형상을 로컬 형상으로 가져오는 기능 (저장소에 있는 최신 버전으로 자신의 작업 공간(로컬/지역 저장소)을 동기화 하는 것)

- 파일을 변경하기 전에 언제나 update를 수행하는 게 최우선 원칙

 

5) import (가져오기)

- 아무것도 들어있지 않은 저장소에 맨 처음 소스를 넣는 기능 (버전 관리가 되고 있지 않은 아무것도 없는 저장소)

 

6) export

- check-out과 달리 버전 관리 파일을 뺀 순수한 소스 파일을 받아올 수 있음

 

 

6. 형상 관리 도구 종류 P.256

1) CVS(Concurrent Version System)

2) SVN(Subversion)

3) Git : 리누스 토발즈가 2005년 리눅스 커널의 개발을 위해 만든 형상관리 시스템

4) Perforce(P4D) : 2014년 출시, 코드와 바이너리 파일의 변환을 추적하기 위해 제작됨

 

 

형상관리 추가 정보 ▼

2023.01.27 - [정보처리기사 필기] SW 개발 : 제품 소프트웨어 버전 관리

 

[정보처리기사 필기] SW 개발 : 제품 소프트웨어 버전 관리

정보처리기사 필기 2과목 - 소프트웨어 개발 : 버전 관리 도구 P.289 [1] 소프트웨어 버전 관리 도구 1. 제품 소프트웨어 버전 등록 - 제품 소프트웨어 버전 관리는 소프트웨어 개발과 관련하여 코드

yuna-story.tistory.com