728x90

단위 모듈 구현

단위 모듈의 개요

- 소프트웨어 구현에 필요한 여러 동작 중 한 가지 동작을 수행하는 기능을 모듈로 구현한 것

- 사용자 또는 다른 모듈로부터 값을 전달받아 시작되는 작은 프로그램

단위 모듈 구현 순서

단위 기능 명세서 작성

- 단위 기능을 명세화한 문서

- 복잡한 시스템을 단순하게 구현하기 위한 추상화 작업이 필요

- 대형 시스템을 분해하여 단위 기능별로 구분하고 각 기능들로 계층적으로 구성하는 구조화 과정을 거침

 

입출력 기능 구현

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

- 모듈 간 연동 또는 통신을 위한 데이터 구현

- IPC(Inter Process Communication) : 모듈 간 통신을 구현하기 위해 사용되는 프로그래밍 인터페이스 집합

    -> 공유 메모리 : 다수의 프로세스가 공유 가능한 메모리를 구성하여 통신 수행

    -> 소켓 : 네트워크 소켓을 이용하여 네트워크를 경유하는 통신 수행

    -> 세마포어 : 공유 자원에 대한 접근 제어를 통해 통신 수행

    -> 파이프 : 선입선출의 형태로 구성된 메모리를 여러 프로세스가 공유하여 통신 수행

    -> 메시지 큐잉 : 메시지가 발생하면 이를 전달하는 형태로 통신 수행

 

알고리즘 구현

- 입출력 데이터를 바당으로 단위 기능별 요구 사항들을 구현 가능 언어를 이용하여 모듈로 구현

 

단위 모듈 테스트

단위 모듈 테스트의 개요

- 모듈이 정해진 기능을 정확히 수행하는지 검증

- 단위 테스트라고도 하며 화이트박스 테스트와 블랙박스 테스트 기법 사용

- 시스템 수준의 오류는 발견할 수 없음

 

테스트 케이스

- 구현된 소프트웨어가 요구사항을 정확히 준수했는지 확인하기 위한 테스트 항목에 대한 명세서로 명세 기반 테스트의 설계 산출물에 해당

- 입력 데이터, 테스트 조건, 예상 결과 등을 모아 테스트 케이스를 만듦

- 테스트 케이스의 구성 요소 : 식별자, 테스트 항목, 입력 / 출력 명세, 환경 설정, 특수 절차 요구, 의존성 기술

 

테스트 프로세스

- 테스트를 위해 수행하는 작업이 테스트의 목적과 조건을 달성할 수 있도록 도와주는 과정

 

개발 지원 도구

통합 개발 환경(IDE)

- 개발에 필요한 편집기, 컴파일러 디버거 등의 다양한 툴을 하나의 인터페이스로 통합하여 제공

- Eclipse, Visual Studio, Xcode, Android Studio, IDEA 등

 

빌드 도구

- 소스 코드 파일들을 컴퓨터에서 실행할 수 있는 제품 소프트웨어로 변환하는 과정 또는 결과물

- 소스 코드를 소프트웨어로 변환하는 과정에 필요한 전처리, 컴파일 등의 작업을 수행

- Ant : 자바 프로젝트의 공식적인 빌드 도구

- Maven : Ant의 대안으로 의존성을 설정하여 라이브러리 관리

- Gradle : 안드로이드 스튜디오의 공식 빌드 도구

 

협업 도구

- 개발에 참여하는 사람들이 서로 다른 작업 환경에서 프로젝트를 수행할 수 있도록 도와주는 도구

- 협업 소프트웨어, 그룹웨어라고도 함

- 협업 도구의 종류 

    -> 프로젝트 및 일정 관리 : 구글 캘린더, 분더리스트, 트렐, 지라, 플로우 등

    -> 정보 공유 및 커뮤니케이션 : 슬랙, 잔디, 태스크 월드 등

    -> 디자인 : 스케치, 제플린 등

    -> 아이디어 공유 : 에버노트 등

    -> API 문서화 : 스웨거 등

    -> Git 웹 호스팅 서비스 : 깃허브 등

필기 정리

 

2020 정보처리기사 필기 정리

본 정리 글은 시나공 정보처리기사 필기책과 학교 특강을 참고하여 작성하였습니다. -> 책 정보 확인하기 시나공 정보처리기사 필기 2020년 정보처리기사 NCS기반 전면 개편!정보처리기사 시험은 NCS 학습 모듈 중..

1d1cblog.tistory.com

 

728x90

+ Recent posts