본문 바로가기
정보처리기사

[소프트웨어 개발] 3. 단위모듈/개발지원도구

by reve5 2022. 3. 9.

35. 빌드 자동화 도구에 대한 설명으로 틀린 것은?
① Gradle은 실행할 처리 명령들을 모아 태스크로 만든 후 태스크 단위로 실행한다.
② 빌드 자동화 도구는 지속적인 통합개발환경 에 서 유용하게 활용된다.
③ 빌드 자동화 도구에는 A nt, Gradle, Jenkins등이 있다.
④ Jenkins는 Groovy기 반으로 한 오픈소스로 안드로이드 앱 개발 환경에서 사용된다.

>> 정답 4번

 

 


https://www.youtube.com/watch?v=czUeBEkPOPE&list=PLKpxllD6C8Cli4UZqnDG4_77OU6XeF6e_&index=3 


1. 단위 모듈

단위 = 기준
단위 모듈 = 어떠한 기준으로 나눠놓은 모듈
> 하나의 기능(단일 기능)
모듈의 개수 = 기능의 개수
독립적 컴파일 가능
처리 명령문, 데이터 구조 포함
추상화 > 구조화 > 캡슐화

2. 입출력 기능 구현
모듈끼리 데이터 연동, 통신

* IPC= inter-process communication = 인터페이스 집합
메모리나 통신 메시지 등의 여러 구성으로 통신을 가능하게 한다.
shared memory 공유 가능한 메모리 구성
socket 소켓을 이용하여 네트워크
semaphores 공유 자원에 대한 접근 제어
pipes & named pipes 선입선출 형태로 구성
message queueing 메세지 전달

3. 알고리즘(처리) 구현
들어온 데이터를 어떻게 처리할 건지 구현
구현된 알고리즘이 사용자 요구와 일치하는지, 구현 가능한 언어를 사용하여 구현하기
구현 가능한 언어 사용
구현 기능 = 사용자 요구
확인과정 필요


4. 단위 모듈 테스트
단위 모듈 조립 후 테스트
모듈 조립 끝난 후 디버깅(오류해결과정)이 오래걸림 
따라서 미리 테스트 하기
단, 모듈 자체 오류만 잡는 것뿐 전체 시스템에 대한 오류는 조립후 찾아야 함

테스트에 필요한 환경, 데이터 준비
통합 이전 데스트가 오류 발견에 용이함
시스템 수준의 오류 발견 불가능

* 화이트 박스 = 소스 코드의 논리적인 경로 테스트
* 블랙박스 =해당 기능의 작동 여부 테스트

정확한 테스트를 위해선 테스트 항목이 필요함 = 테스트 케이스

*테스트 케이스
식별자 identifier : 식별자, 일련번호
테스트 항목 test item : 테스트 대상
입력 명세 input specification 입력 데이터 조건
출력 명세 output specification 예상결과
환경설정 environmental needs 필요한 하드웨어, 소프트웨어
특수 절차 요구 special procedure requirement 요구 절차
의존성 기술 inter case dependencies 케이스간 의존선

* 테스트 케이스 순서
계획 (제어) : 계획 수립
설계 (분석) : 시나리오 및 케이스 작성
구현 (실현) : 테스트 프로시저 작성, 테스트 수행
평가 : 평가 기록
완료 : 산출물 저장


개발 지원 도구 
1. 통합 개발 환경 ide
에디터, 디버거 등 통합 코드 자동 생성
추가 기능 다운로드 코드
오류 시각화
다양한 서비스 연동
컴파일 가능
> 개발에 필요하고 도움을 주는 여러 요소들을 통합
> 안드로이드 스튜디오, 비쥬얼 스튜디오가 이에 해당
> 개발의 편의성이 높아짐

2. 빌드도구
소스 코드를 소프트웨어로 변환
전처리기, 컴파일러 등
ant : 표준없음 xml
maven : 의존성
gradle : 의존성, groovy
> IDE로 개발한 것을 빌드도구를 통해 소프트웨어로 변환

3. 기타 협업 도구
그룹웨어
일정관리, 정보 공유 등 다양한 플랫폼
도구에 익숙치 않으면 오히려 방해가 됨

댓글