본문 바로가기

자격증/정보처리기사 - 필기

소프트웨어 개발 - 통합 구현

728x90

단위 모듈 : 기능을 모듈로 구현

● 구성 요소 : 처리문, 명령문, 데이터 구조  ● 독립적인 컴파일 가능

< 구현 단계 >

1. 단위 기능 명세서 작성 : 단위 기능을 명세화한 문서

● 추상화 작업 필요  ● 대형 시스템을 분해하여 단위 기능별로 구분

2. 입/출력 기능 구현 : 명세서에 정의한 데이터 형식에 따라 입/출력 기능을 위한 알고리즘 및 데이터 구현

● CLI, GUI의 연동 고려

● Open Source API를 이용하여 간편하게 구현

-> CLI : 키보드를 통해 명령어를 입력받는 UI

-> GUI : 키보드 뿐만 아니라 마우스 등의 도구를 통해 그래픽적 요소로 명령을 입력받는 UI

-> IPC : 모듈 간 통신 방식 구현하기 위해 사용, 복수의 프로세스 수행

( ● 공유 메모리  소켓  세마포 파이프 메시지 )

3. 알고리즘 구현 단계 : 단위 기능별 요구 사항들을 구현 가능한 언어를 이용하여 모듈로 구현

● 단위 기능들이 사용자의 요구와 일치하는지 확인하는 과정 필요

 

단위 모듈 테스트 : 모듈이 정해진 기능을 정확히 수행하는지 검증

● 환경과 데이터 준비  ● 시스템 수준의 오류는 잡아낼 수 없음

 

테스트 케이스 : 구현된 SW가 사용자의 요구사항을 정확하게 준수했는지 확인

식별자 출력 명세 : 예상되는 출력 결과  ● 입력 명세 : 입력 데이터, 조건 ● 환경 설정

 

테스트 프로세스 : 작업들이 테스트의 목적과 조건을 달성할 수 있도록 도와주는 과정

< 단계 >

1. 계획 및 제어 단계 : 계획 수립, 계획대로 진행되도록 제어

2. 분석 및 설계 단계 : 목표 구체화, 테스트 시나리오와 테스트 케이스 작성

3. 구현 및 실현 단계 : 테스트 프로시저에 명세

4. 평가 단계  5. 완료 단계

 

통합 개발 환경( IDE ) : 개발에 필요한 여러 툴 통합

● 통합 개발 환경 도구 : 통합 개발 환경을 제공하는 SW

● 테스트할 때 오류가 발생한 부분을 시각화 하므로 수정 용이

● 외부의 다양한 서비스와 연동, 개발에 편의를 제공

 

빌드 : 소스 코드 파일들을 컴퓨터에서 실행할 수 있는 제품 SW 변환하는 과정

-> Ant

● 아파치 SW 재단에서 개발한 SW  ● XML 기반의 빌드 스크립트

● 자유도와 유연성이 높아 복잡한 빌드 환경에도 대처 가능  ● 재사용이 어려움

-> Maven

● 규칙이나 표준이 존재, 예외 사항만 기록  ● 컴파일과 빌드 동시 수행

● 의존성을 설정하여 라이브러리 관리

( 의존성 : 빌드 스크립트 안에 사용하고자 하는 라이브러리를 등록하면, 빌드 수행 시 인터넷상의 라이브러리 저장소에서 해당 라이브러리를 찾아 코드에 추가 )

-> Gradle

● 안드로이드 스튜디오의 공식 빌드 도구

● 의존성을 활용, 그루비 기반의 빌드 스크립트를 사용

( 그루비 : 자바를 기반, 여러 프로그래밍 언어들의 장점을 모아 만들어진 동적 객체지향 프로그래밍 언어 )