일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 부스트코스 서포터즈
- 정처기 정리
- 큐버
- 코틀린
- 정처기 필기
- 코틀린 기초
- 코틀린배우기
- Kotlin
- 코틀린기초
- edwith
- boostcourse
- 정보처리기사 요약정리
- 정보처리기사
- 정처기 요약
- 한이아지
- IT
- 코틀린 강의
- 개발자
- 정보처리기사 요약
- 안드로이드
- kkuber
- 정보처리기사 필기
- 백엔드
- 정처기
- naver
- 부스트코스
- 코틀린강의
- 정보처리기사 내용정리
- 정보처리기사 정리
- 코틀린 배우기
- Today
- Total
초보 개발자의 성장기
한이아지와 함께하는 정보처리기사 2과목 2번째) 통합 모듈 구현 본문
PART2. 소프트웨어 개발
- Chap01) 데이터 입 · 출력 구현
- 논리 데이터 저장소 확인
- 물리 데이터 저장소 설계
- 데이터 조작 프로시저 작성
- 데이터 조작 프로시저 최적화
- Chap02) 통합 구현
- 모듈 구현
- 통합구현 관리
- Chap03) 제품 소프트웨어 패키징
- 제품 소프트웨어 패키징
- 제품 소프트웨어 매뉴얼 작성
- 제품 소프트웨어 버전 관리
- Chap04) 애플리케이션 테스트 관리
- 애플리케이션 테스트케이스 설계
- 애플리케이션 통합 테스트
- 애플리케이션 성능 개선
- Chap05) 인터페이스 구현
- 인터페이스 설계 확인
- 인터페이스 기능 구현
- 인터페이스 구현 검증
Chap02) 통합 구현
1. 모듈 구현
1.1. 단위 모듈 구현 (★★☆)
[1] 단위 모듈 구현이란?
소프트웨어 개발에 있어 기능을 단위 모듈 별로 분할하고 추상화하여 성능을 향상시키고, 유지보수를 효과적으로 하기 위한 기법
[2] 단위 모듈 구현 원리 - <정분춘모 = 봄과 정분이 난 모모>
원리 | 설명 |
정보 은닉 | 어렵거나 변경 가능성이 있는 모듈을 타 모듈로부터 은폐 |
분할과 정복 | 복잡한 문제를 분해, 모듈 단위로 문제 해결 |
데이터 추상화 | 각 모듈 자료 구조를 액세스하고 수정하는 함수 내에 자료 구조의 표현 내역을 은폐 |
모듈 독립성 | 낮은 결합도와 높은 응집도를 가짐 |
[3] 재사용 기법
재사용은 성능 및 품질을 인정 받았던 소프트웨어의 전체 또는 일부분을 다시 사용하는 기법임
재사용 종류
구분 | 설명 |
재공학 | 기존 소프트웨어를 버리지 않고 개선시키거나 기능을 새로운 소프트웨어에 재활용하는 기법 |
역공학 | 디버깅, 디컴파일 등의 분석을 통해 기존 제품에 구현된 구조, 원리, 기술, 알고리즘 등을 역으로 분석하는 기법 |
재개발 | 기존 시스템을 참조하여 완전히 새로운 시스템을 개발하거나 기존 시스템에 새로운 기능을 추가, 변경하는 기법 |
1.2. 단위 모듈 테스트 (★☆)
[1] 단위 모듈 테스트란?
모듈의 개별적인 코드 단위가 예상대로 작동하는 지 확인하는 기법
단위 모듈 테스트를 위해 IDE 도구를 활용하여 개별 단위 모듈에 대한 디버깅을 수행
[2] 단위 모듈 테스트 종류
종류 | 설명 |
블랙박스 테스트 | 외부 사용자의 요구사항 명세를 토대로 수행하는 테스트, sw 특징 · 요구사항 · 설계 명세서에 초점 |
화이트박스 테스트 | 모듈 내부의 소스를 보면서 수행하는 테스트, 테이트 케이스르 다양하게 만들어 테스트 |
메서드 기반 테스트 | 단위 모듈의 외부에 공개된 메서드 기반 테스트, 서로 다른 파라미터 값을 호출하면서 테스트 |
화면 기반 테스트 | 사용자용 화면이 있는 경우 화면 단위로 단위 모듈을 개발 후에 화면에 직접 데이터 입력 후 테스트 |
2. 통합 구현 관리
1.1. IDE 도구 (★)
[1] IDE 도구란?
코딩, 디버그, 컴파일, 배포 등 프로그램 개발과 관련있는 모든 작언을 하나의 프로그램에서 처리할 수 있도록 환경을
제공해주는 소프트웨어
[2] IDE 도구의 기능
- 개발환경 지원
- 컴파일
- 디버깅
- 외부 연계
- DB 연동
[3] IDE 대표 도구
Eclipse, VisualStudio, Xcode
1.2. 협업 도구 (★)
[1] 협업 도구란?
다른 개발자와 지속적으로 커뮤니케이션을 할 수 있도록 지원하는 소프트웨어
[2] 협업 도구의 기능
개발자 간 커뮤니케이션 / 일정 및 이슈 공유 / 개발자 간 집단 지성 활용
1.3. 형상 관리 도구 (★★☆)
[1] 형상 관리란?
소프트웨어 생명주기 동안 발생하는 변경사항을 체계적으로 관리하여 소프트웨어의 품질 보증을 향상시키는 활동
→ 소프트웨어 변경 사항을 관리하기 위한 도구를 형상 관리 도구라고 함
[2] 형상 관리 도구 기능
기능 | 설명 |
Check-In | 개발자가 수정한 소스를 형상 관리 저장소에 업로드 하는 기능 |
Check-Out | 형상 관리 저장소로부터 최신 버전을 개발자 PC로 다운받는 기능 |
Commit | 개발자가 형상 관리 저장소에 업로드 후 업데이트 되었을 때 형상 관리 서버에서 반영하도록 하는 기능 |
[3] 형상 관리 도구 사례
① CVS (Concurrent Versions System)
중앙 집중형 서버 저장소를 두고 클라이언트가 접속해 버전 관리를 실행하는 형상 관리 도구
장점 : 직관적이고 단순한 명령 세트
단점 : 텍스트 기반 소스 코드 위주로 지원, COMMIT 실패 등에 대한 ROLLBACK 지원 안함
② SVN (Sub Version)
중앙 집중형 Client - Server 방식으로 CVS 단점 보완, 가장 널리 사용되고 있음, 바이너리 문서 관리 가능
장점 : COMMIT 실패 시 ROLLBACK 지원, 디렉토리 파일 자유롭게 이동 가능, Gzip으로 압축하여 공간절약 가능
③ Git
리눅스 커널의 개발을 위해 만든 형상 관리 시스템
장점 : 분산형 방식과 중앙 집중형 방식 모두 가능, 저장소의 완전한 복사본을 로컬에 저장 가능
단점 : 대용량 코드 관리 어려움, 한 번에 diff 명령어를 통해 변경사항을 파악하기 어려움
'IT 자격증 공부 > 정보처리기사' 카테고리의 다른 글
한이아지와 함께하는 정보처리기사 3과목 1번째) 제품 소프트웨어 패키징 (0) | 2021.01.30 |
---|---|
한이아지와 함께하는 정보처리기사 2과목 1번째) 데이터 입 · 출력 구현 (0) | 2021.01.25 |
한이아지와 함께하는 정보처리기사 1과목 4번째) 인터페이스 설계 (0) | 2021.01.08 |
한이아지와 함께하는 정보처리기사 1과목 3번째) 애플리케이션 설계 (0) | 2021.01.04 |
한이아지와 함께하는 정보처리기사 1과목 2번째) 화면 설계 (0) | 2020.12.30 |