Rei’s Tech diary

Chapter 2. 통합 구현 본문

정보처리기사/[2] 소프트웨어 개발

Chapter 2. 통합 구현

Reiger 2022. 3. 8. 17:47

[1] 모듈 구현

#. 단위 모듈 구현의 원리 (정분추모)

- 정보 은닉 (Information Hiding)

- 분할과 정복 (Divide & Conquer)

- 데이터 추상화 (Data Abstraction)

- 모듈 독립성 (Module Independency)

 

#. 재사용 종류

구분 설명
재공학
(Re-Engineering)
- 기존 소프트웨어를 버리지 않고 기능을 개선 또는 기능을 새로운 소프트웨어로 재활용하는 소프트웨어 재사용 기법
- 장점 : 위험부담 감소, 비용 절감, 개발 기간 단축, 시스템 명세의 오류억제
역공학
(Reverse Engineering)
- SW에 대한 디버깅, 디컴파일 등의 분석을 통해 기존 제품레 구현된 구조, 원리, 기술, 알고리즘 등을 역으로 분석하여 재구성하는 기법
재개발
(Re-Development)
- 기존 시스템 내용을 참조하여 완전히 새로운 시스템을 개발, 기존 시스템에 새로운 기능을 추가, 기존 시스템의 기능을 변경하는 기법

 

#. 단위 모듈 테스트의 종류

종류 설명
블랙박스 테스트
(= 명세 기반 테스트)
- 프로그램 외부 사용자의 요구사항 명세를 보면서 수행하는 기능 테스트
- 소프트웨어의 특징, 요구사항, 설계 명세서 등에 초점을 맞추어 테스트 진행
화이트박스 테스트
(= 구조 기반 테스트)
- 모듈 내부의 소스를 보면서 수행하는 테스트
- 소스 코드를 보면서 "테스트 케이스"를 다양하게 만들어 테스트를 수행
메서드 기반 테스트 - 단위 모듈의 외부에 공개된 메서드 기반의 테스트
- 메서드에 서로 다른 파라미터 값을 호출하면서 다양한 테스트를 수행
화면 기반 테스트 - 사용자용 화면이 있는 경우, 각각의 화면 단위로 단위 모듈을 개발 후에 화면에 직접 데이터를 입력하여 테스트를 수행
- 사용자 시나리오에 기반한 단위 모듈 테스트를 할 수 있다.

 

[2] 통합구현 관리

#. IDE 도구

- IDE 도구는 코딩, 디버그, 컴파일, 배포 등 프로그램 개발과 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어이다.

 

#. IDE 도구의 기능

- 개발환경 지원

- 컴파일

- 디버깅

- 외부 연계

- DB 연동

 

#. 협업 도구의 기능

- 개발자 간 커뮤니케이션

- 일정 및 이슈 공유

- 개발자 간 집단 지성 활용

 

#. 형상 관리 도구 ★

 

1) 형상 관리의 개념

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

- 형상 관리는 개발 과정의 변경 사항을 관리

- 형상 관리에서 관리 항목으로는 프로젝트 요구 분석서, 소스 코드, 운영 및 설치 지침서가 있음

- 유지보수 단계뿐만 아니라 개발 단계에서도 사용가능

 

2) 형상 관리 절차 (식통감기)

현상 식별 → 형상 통제 → 형상 감사 → 형상 기록

 

3) 형상 관리 도구의 개념

- 형상 관리 도구는 소프트웨어 변경 사항을 관리하기 위해 형상 식별, 현상 통제, 감사, 기록을 수행하는 도구임

ex) CVS, SVN, Git

 

4) 형상 관리 도구의 기능

- 체크 인(Check-In) : 개발자가 수정한 소스를 형상 관리 저장소로 업로드 하는 기능

- 체크 아웃(Check-Out) : 형상 관리 저장소로부터 최신 버전을 개발자 PC로 다운로드 받는 기능

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

 

#. 형상 관리 도구의 사례

- CVS

- SVN

- Git