2과목 소프트웨어 개발 통합 구현 043 ~ 045
043. 단위 모듈 구현
- 단위 모듈 : 소프트웨어 구현에 필요한 여러 동작 중 한가지 동작을 수행하는 기능을 모듈로 구현한 것.
> 독립적인 컴파일 가능. 다른 모듈에 호출/삽입되기도 함.
- 단위 기능 : 단위 모듈로 구현되는 하나의 기능.
1) 단위 기능 명세서 작성
: 복잡한 시스템을 단순하게 구현하기 위한 추상화 작업이 필요.
- 정보 은닉의 원리 고려 (모듈의 독립적인 운용)
2) 입출력 기능 구현
: 단위 기능 명세서에서 구현한 데이터 형식에 따라 입출력 기능을 위한 알고리즘/데이터 구현
3) 알고리즘 구현
: 단위 기능별 요구 사항들을 구현 가능한 언어를 이용하여 모듈로 구현.
- 디바이스 드라이버 모듈, 네트워크 모듈, 파일 모듈, 메모리 모듈, 프로세스 모듈
044. 단위 모듈 테스트 (단위 테스트)
: 프로그램의 단위 기능을 구현하는 모듈이 정해진 기능을 정확히 수행하는지 검증.
- 모듈을 단독적으로 실행할 수 있는 환경과 테스트에 필요한 데이터가 모두 준비되어야 함.
- 테스트 케이스 : 구현된 SW가 사용자 요구사항을 정확히 준수했는지 확인하기 위해
>설계된 입력 값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목에 대한 명세서.
구성요소 : 식별자, 테스트 항목, 입력 명세, 출력 명세, 환경설정, 특수 절차 요구, 의존성 기술.
- 테스트 프로세스
1) 계획 및 제어 단계
2) 분석 및 설계 단계 : 테스트 목표 구체화/ 테스트 시나리오, 테스트 케이스 작성
3) 구현 및 실현 단계 : 테스트 프로시저에 명세
4) 평가 단계
5) 완료 단계
045. 개발 지원 도구
- 통합 개발 환경 (IDE; Integrated Development Environment)
: 코딩, 디버그, 컴파일, 배포 등 프로그램 개발과 관련된 모든 작업을 하나의 프로그램에서 처리할 수 있도록 제공하는 소프트웨어적인 개발 환경.
ex) Eclipse, Visual Studio, Xcode, Android Studio, IDEA
- 빌드 도구
빌드 : 소스 코드 파일들을 컴퓨터에서 실행할 수 있는 제품 소프트웨어로 변환하는 과정/결과물
빌드 도구 : 소스코드 > 소프트웨어로 변환과정에 필요한 전처리, 컴파일 등의 작업들을 수행하는 소프트웨어.
- Ant : XML 기반의 빌드 스크립트. 자유도, 유연성 높음. 규칙/표준 존재X
- Maven : 규칙/표준이 존재하여 예외 사항만 기록하면 됨. 컴파일과 빌드 동시에 수행. 의존성 설정하여 라이브러리 관리.
- Gradle : 의존성 활용, 그루비 기반의 빌드 스크립트 사용.
- 기타 협업 도구 : 프로젝트 및 일정 관리, 정보 공유 및 커뮤니케이션, 디자인, 기타