[정보처리기사] 통합 구현

sky·2021년 2월 9일
0

정보처리기사

목록 보기
7/11
post-thumbnail

단위모듈 구현

  • 소프트웨어 구현에 필요한 여러 동작 중 한 가지 동작을 수행하는 기능을 모듈로 구현한 것
  • 사용자나 다른 모듈로부터 값을 전달받아 시작되는 작은 프로그램

단위 모듈 구현 순서

단위 기능 명세서 작성입·출력 기능 구현알고리즘 구현

단위 기능 명세서 작성

단위 기능을 명세화한 문서
복잡한 시스템을 단순히 구현하기 위한 추상화 작업 필요
대형 시스템 분해하여 단위 기능별로 구분, 각 기능들로 계층적 구성하는 구조화 과정 필요

입출력 기능 구현

  • 단위 기능 명세서에서 정의한 데이터 형식에 따라 입출력 기능을 위한 알고리즘 및 데이터 구현
  • 모듈 간 연동 또는 통신을 위한 데이터 구현
  • IPC(Inter Process Communication) : 모듈 간 통신 구현을 위해 사용되는 프로그래밍 인터페이스 집합
    • 공유 메모리 : 다수의 프로세스가 공유 가능한 메모리를 구성하여 통신 수행
    • 소켓 : 네트워크 소켓을 이용하여 네트워크 경유
    • 세마포어 : 공유 자원에 대한 접근 제어
    • 파이프 : 선입선출 형태로 구성된 메모리를 여러 프로세스가 공유
    • 메세지 큐잉 : 메세지가 발생하면 이를 전달하여 통신 수행

알고리즘 구현

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

단위 모듈 테스트

모듈이 정해진 기능을 정확히 수행하는지 검증하는 과정
단위 테스트라고도 하며, 화이트박스 테스트와 블랙박스 테스트 기법을 사용
시스템 수준의 오류는 발견할 수 없음

테스트 케이스

  • 구현된 소프트웨어가 요구사항을 정확히 준수했는지 확인하기 위한 테스트 항목에 대한 명세서로, 명세 기반 테스트의 설계 산출물이다.
  • 입력 데이터, 테스트 조건, 예상 결과 등을 모아 테스트 케이스 작성
  • 테스트 케이스 구성 요소 : 식별자, 테스트 항목, 입·출력 명세, 환경 설정, 특수 절차 요구, 의존성 기술

테스트 프로세스

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

개발 지원 도구

통합 개발 환경(IDE)

  • 개발에 필요한 편집기, 컴파일러, 디버거 등 다양한 툴을 한 인터페이스로 통합하여 제공
    (ex. Eclipse, Visual Studio, Xcode, Android Studio, IDEA 등

빌드 도구

  • 개발에 참여한 사람들이 서로 다른 작헙 환경에서 프로젝트를 수행할 수 있도록 도와주는 도구
  • 협업 소프트웨어 또는 그룹웨어라 칭함
  • 협업도구의 종류
    • 프로젝트 및 일정 관리 : 구글 캘린더, 분더리스트, 트렐, 지라 플로우
    • 정보 공유 및 커뮤니티 : 슬랙, 잔디, 태스크 월드
    • 디자인 : 스케치, 제플린
    • 아이디어 공유 : 에버노트
    • API 문서화 : 스웨거
    • Git 웹 호스팅 서비스 : 깃허브
profile
keep going

0개의 댓글