본문 바로가기
IT 자격증/정보처리기사

정보처리기사 필기 2주차 Day-2 정리

by 펭귄스토리 2021. 7. 16.

 

Chapter 02. 통합 구현

1. 모듈 구현

(1) 단위 모듈 구현

단위 모듈 구현은 소프트웨어 개발에 있어 기능을 단위 모듈별로 분할하고 추상화하여 성능을 향상하고, 유지보수를 효과적으로 하기 위한 구현 기법이다.

 

단위 모듈 구현의 원리 = 정분추모

원리 설명
보 은닉 변경 가능성이 있는 모듈을 타 모듈로부터 은폐
할과 정복 복잡한 문제를 분해, 모듈 단위로 문제 해결
데이터 상화 각 모듈 자료 구조를 액세스하고 수정하는 함수내에 자료 구조의 표현 내역을 은폐
듈 독립성 낮은 결합도와 높은 응집도를 가짐

 

재사용 기법

① 재사용 기법 개념

재사용은 이미 개발되어 그 기능, 성능 및 품질을 인정받았던 소프트웨어의 전체 또는 일부분을 다시 사용하는 기법이다.

 

② 재사용 종류

구분 설명
재공학 기존 소프트웨어를 버리지 않고 기능을 개선시키거나 기능을 새로운 소프트웨어로 재활용하는 소프트웨어 재사용 기법
역공학 SW에 대한 디버깅, 디컴파일 등의 분석을 통해 기존 제품에 구현된 구조, 원리, 기술, 알고리즘 등을 역으로 분석하여 재구성하는 기법
재개발 기존 시스템 내용을 참조하여 완전히 새로운 시스템을 개발, 기존 시스템에 새로운 기능을 추가, 기존 시스템의 기능을 변경하는 기법

 

(2) 단위 모듈 테스트

단위 모듈 테스트의 개념

단위 모듈 테스트는 모듈의 개별적인 코드 단위가 예상대로 작동하는지 확인하는 기법이다. 

 

단위 모듈 테스트의 종류

종류 설명
블랙박스 테스트 블랙박스 테스트 = 명세 기반 테스트
화이트박스 테스트 화이트박스 테스트 = 구조 기반 테스트
메서드 기반 테스트 단위 모듈의 외부에 공개된 메서드 기반의 테스트
화면 기반 테스트 화면과 연계된 서비스, 비즈니스 컴포넌트 및 공통 컴포넌트를 한꺼번에 단위 모듈 테스트에 참여

 

2. 통합 구현 관리

(1) IDE 도구

IDE 도구의 기능

기능 설명
개발환경 지원 자바, 파이썬 등 개발언어를 통해 어플리케이션 개발환경 제공
컴파일 문법에 어긋나는지 확인하고 기계어로 변환하는 기능 제공
디버깅 프로그래밍 과정에 발생하는 오류 및 비정상적인 연산 제거
외부 연계 외부 형상, 배포관리 기능과 연계되어 자동 배포등이 가능
DB 연동 JDBC, ODBC 등을 통한 데이터베이스 연동

 

IDE 도구 간 비교

대표적인 개발 도구로는 이클립스, 비주얼 스튜디오, 엑스 코드가 있다.

 

(2) 협업 도구

협업 도구의 기능

기능 설명
개발자 간 커뮤니케이션 개발자 간 작업 공유, 오류 현상 공유 등 다양한 의사소통을 제공
일정 및 이슈 공유 소스 코드 구현 도중 발생하는 오류 및 이슈와 프로젝트 일정을 공유
개발자 간 집단 지성 활용 새로운 아이디어를 개발자들 간에 공유함으로써 집단 지성을 활용

 

(3) 형상 관리 도구

형상 관리의 개념

형상 관리는 소프트웨어 생명주기 동안 발생하는 변경사항을 체계적으로 관리하여 소프트웨어의 품질 보증을 향상하는 관리적 활동이다. 

 

형상 관리 도구의 기능 = 인아커

기능 설명
체크 개발자가 수정한 소스를 형상 관리 저장소로 업로드 하는 기능
체크 형상 관리 저장소로부터 최신 버전을 개발자 PC로 다운로드 받는 기능
개발자가 소스를 형상 관리 저장소에 업로드 후 최종적으로 업데이트가 되었을 때 형상 관리 서버에서 반영하도록 하는 기능

 

형상 관리 도구 사례 = CSG

CVS(Concurrent Versions System)

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

CVS 주요 기능

구분 특징
주요기능 체크아웃/체크인 등 클라이언트-서버 간 변경사항 동기화
파일 단위 기반의 변경사항 관리 가능
Diff를 통한 파일 내용의 비교
장점 직관적이고 비교적 단순한 명령세트
단점 텍스트 기반 소스 코드 위주 지원
커밋 실패 등에 대한 롤백 기능 미지원
등록된 파일 및 디렉토리의 변동이 불편

 

SVN(Subversion)

SVN은 중앙 집중형 클라이언트-서버 방식으로 CVS의 단점을 보완해 가장 널리 사용되고 있는 형상 관리 도구이다.

SVN 주요 기능

구분  특징
주요 기능 CVS에서 제공하는 대부분의 명령어 수행 가능
바이너리 문서 형상 고나리 가능
커밋 실패 시 롤백 지원 기능
장점 디렉토리 파일을 자유롭게 이동 가능
빨라진 속도
다양한 플러그인 API 제공
단점 Trunk, Branch, Tag가 모두 물리적 저장 위치 점유
잦은 커밋으로 인해 리버전 번호가 크게 증가할 수 있음
개별 개발자만의 개발 이력을 가질 수 없음

 

Git

Git은 리누스 토발즈가 2005년 리눅스 커널의 개발을 위해 만든 형상 관리 시스템이다. (분산형 방식 하지만 필요에 따라 중앙 집중형 방식으로 운영 가능)

Git 주요 기능

구분 특징
주요 기능  Branch, Check-Out, Commit 등 로컬 환경에서의 형상 관리 기능
Push, Fetch, Pull 등 원격 환경에서의 변경 전송 기능
장점 저장소의 완전한 복사본을 로컬 저장 가능
로컬 저장을 통해 오프라인 작업 가능
일시적인 작업에 대한 이력 관리가 쉬움
단점 대용량 코드 관리에 부적절
한 번에 diff 명령어를 통한 변경사항을 보기 어려움
CVS, SVN과 개념이 상이하여 학습시간이 요구

 

https://book.naver.com/bookdb/book_detail.nhn?bid=15910265

 

수제비 정보처리기사 필기

NCS 모듈제작에 참여한 경험을 기반으로, 다양한 모듈에서 시험 출제 빈도를 분석하여 출제 비중이 높은 내용 위주로 구성했다. 출제 비중이 낮고 이해하기 어려운 개념들은 과감하게 제외함으

book.naver.com

 

Ps. 오늘은 쉽게 Chapter 2도 끝!!