[2과목 : 소프트위어 개발] - 통합구현- 단위 모듈 구현/ 단위 모듈 테스트/ 개발 지원 도구
◎ 단위 모듈의 개요
단위 모듈 : 소프트웨어 구현에 필요한 여러 동작 중 한 가지 동작을 수행하는 기능을 모듈로 구현한 것
- 단위 모듈로 구현되는 하나의 기능 = 단위 기능
- 두 개의 단위 모듈이 합쳐질 경우 두 개의 기능 구현
- 단위 모듈의 구성 요소에는 처리문, 명령문, 데이터 구조 등이 있음
-단위 모듈은 독립적인 컴파일이 가능, 다른 모듈에 호출되거나 삽입 가능
- 단위 명세서 작성 후 입&출력 기능과 알고리즘을 구현해야 함
단위 기능 명세서 | 입&출력 기능 구현 | 알고리즘 구현 |
1) 단위 기능 명세서
설계 과정에서 작성하는 기능 및 코드 명세서나 설계 지침과 같이 단위 기능을 명세화한 문서
- 추상화 작업 필요 ( 복잡한 시스템을 단순하게 구현)
- 구조화 과정 필요 (대형 시스템을 분해하여 단위 기능별로 구분, 각 기능들을 계층적으로 구성)
- 은닉의 원리 고려 (모듈의 독립적이 운용과 한 모듈 내의 정보가 다른 모듈에 영향을 주지 않기 위해)
2) 입& 출력 기능 구현
단위 기능 명세서에서 정의한 데이터 형식에 따라 입&출력 기능을 위한 알고리즘 및 데이터를 구현
- 사용자 인터페이스인 CLI, GUI와의 연동 고려
-네트워크나 외부 장치와의 입&출력은 무료로 제공 > Open Sourse API를 이용하면 간편하게 구현
IPC
모듈 간 통신 방식을 구현하기 위해 사용되는 대표적인 프로그래밍 인터페이스 집합
복수의 프로세스를 수행하며 이뤄지는 프로세스 간 통신까지 구현 가능
Shared Memory | 다수의 프로세스가 공유 가능한 메모리를 구성하여 프로세스 간 통신 수행 |
Socket | 네트워크 소켓을 이용하여 네트워크를 경유하는 프로세스들 간 통신을 수행 |
Pipese & named pipes |
pipe 라고 불리는 선입선출 형태로 구성된 메모리를 여러 프로세스가 공유하여 통신 수행 하나의 프로세스가 pipe를 이용 중이라면 다른 프로세스는 접근 불가 |
semaphores | 공유 자원에 대한 접근 제어를 통해 프로세스 간 통신을 수행 |
Message Queueing | 메시지가 발생하면 이를 전달하는 형태로 프로세스 간 통신을 수행 |
3) 알고리즘 구현
입&출력 데이터를 바탕으로 단위 기능별 요구 사항들을 구현 가능한 언어를 이용하여 모듈로 구현
- 알고리즘 구현 단계에서는 구현된 단위 기능들이 사용자의 요구와 일치하는지 확인하는 과정 필요
디바이스 드라이버 모듈 | 하드웨어 주변 장치의 동작을 구현한 모듈 |
네트워크 모듈 | 네트워크 장비 및 데이터 통신을 위한 기능을 구현한 모듈 |
파일 모듈 | 컴퓨터 내부의 데이터 구조 영역에 접근하는 방법을 구현한 모듈 |
메모리 모듈 | 파일을 프로세스의 가상 메모리에 매핑/ 해제하는 방법, 프로세스 사이의 통신 기능을 구현한 모듈 |
프로세스 모듈 | 하나의 프로세스 안에서 다른 프로세스를 생성하는 방법을 구현한 모듈 |
★파일 모듈과 메모리 모듈의 특징 분류 중요
◎ 단위 모듈 테스트
단위 모듈 테스트
프로그램의 단위 기능을 구현하는 모듈이 정해진 기능을 정확히 수행하는지 검증하는 것
- 단위 모듈 테스트는 단위 테스트라고 하기도 하며, 화이트박스 테스트와 블랙박스 테스트 기법을 사용
- 단위 모듈 테스트의 기준은 단위 모듈에 대한 코드이므로 시스템 수준의 오류는 잡아낼 수 없음
◎테스트 케이스 (Test Case)
구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지를 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목에 대한 명세서
명세 기반 테스트의 설계 산출물
식별자(Identifier) | 항목 식별자, 일련번호 |
테스트 항목(Test Item) | 테스트 대상 |
입력 명세(Input Specification) | 입력 데이터 또는테스트 조건 |
출력 명세(Output Specification) | 테스트 케이스 수행 시 예상되는 출력 결과 |
환경 설정(Environmental Needs) | 필요한 하드웨어나 소프트웨어의 환경 |
특수 절차 요구 | 테스트 케이스 수행 시 특별히 요구되는 절차 |
의존성 기술 |
테스트 케이스 간의 의존성 |
◎ 테스트 프로세스
1) 계획 및 제어 단계
2) 분석 및 설계 단계 : 테스트 시나리오와 테스트 케이스 작성
3) 구현 및 실현 단계 : 단위 테스트 도구 이용
4) 평가 단계
5) 완료 단계 : 수행과정과 산출물을 기록 및 저장
◎ 통합 개발 환경 (IDE)
통합 개발 환경은 개발에 필요한 환경, 즉 편집기, 컴파일러, 디버거 등의 다양한 툴을 하나의 인터페이스로 통합하여 제공하는 것
- 통합 개발 환경 도구 = 소프트웨어
- 오류 발생 부분을 시각화하므로 수정이 용이
- 다양한 서비스와 연동 : 정보 공유
-플랫폼, 운영체제, 언어별로 다양한 도구 지원
◎ 빌드도구
빌드는 소스코드 파일들을 컴퓨터에서 실행할 수 있는 제품 소프트웨어로 변환하는 과정
'[정보처리기사] - 2020new필기' 카테고리의 다른 글
[정보처리기사 필기 핵심] - 관계형 데이터베이스의 구조 ( 튜플/ 속성/ 도메인/ 릴레이션) & 문제 (0) | 2020.03.01 |
---|---|
[정보처리기사 필기 핵심] - 데이터베이스 설계 (개념적/ 논리적/ 물리적) & 문제 (0) | 2020.02.29 |
[정보처리기사 필기 핵심] - 모듈 연계를 위한 인터페이스 기능 식별 ( EAI / ESB) (0) | 2020.02.28 |
[정보처리기사 필기 핵심]- 테스트 기법에 따른 애플리케이션 테스트 ( 화이트 박스 테스트/ 블랙 박스 테스트) (0) | 2020.02.27 |
[2과목 : 소프트위어 개발] - 소프트웨어 버전 관리 도구 ( 공유 폴더 / 클라이언트&서버 방식/ 분산 저장소 방식/ 서브 버전/ Git) (0) | 2020.02.26 |