Notice
Recent Posts
Recent Comments
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Chimy's Program

정보처리기사 필기 - 소프트웨어 개발 : 통합 구현 본문

BASE

정보처리기사 필기 - 소프트웨어 개발 : 통합 구현

chimy 2020. 5. 27. 11:52

정보처리기사 필기 - 소프트웨어 개발 : 통합 구현

 

단위 모듈 구현

 

  • 사용자나 다른 모듈로부터 값을 전달받아 시작하는 작은 프로그램
  • 단위 기능 : 단위모듈로 구현되는 기능

 

ⓞ 단위 모듈(Unit Module)의 개요

 

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


 단위 기능 명세서 작성

 

  • 설계과정에서 작성하는 기능, 코드 명세서, 설계지침
  • 추상화 작업 필요


 입·출력 기능 구현

 

  • 단위 기능 명세서에서 정의한 데이터형식에 따라 입출력 기능을 위한 알고리즘, 데이터 구현
  • 단위모듈 간 연동, 통신, 입출력 데이터 구현
  • CLI, GUI 연동
  • Open Source API를 이용하면 쉽게 구현 가능


 알고리즘 구현 : 사용자의 요구와 일치하는지 확인

 

  • 디바이스 드라이버 모듈 : HW와 주변장치의 동작을 구현한 모듈
  • 네트워크 모듈 : 네트워크 장비, 통신을 위한 기능을 구현한 모듈
  • 파일 모듈 : 데이터 구조 영역에 접근하는 방법을 구현한 모듈
  • 메모리 모듈 : 가상 메모리에 매핑/해제 방법을 구현한 모듈
  • 프로세스 모듈 : 하나의 프로세스 안에서 또다른 프로세스를 생성하는 방법을 구현한 모듈

 

단위 모듈 테스트

 

① 화이트 박스 테스트

 

  • 논리 위주 검사, 모듈 안의 작동 관찰, 프로그램 안에 소스코드(원시코드) 확인
  • 기초경로검사
  • 제어흐름테스트
  • 분기테스트
  • 제어구조검사

 

② 블랙박스 테스트

 

  • 소프트웨어동작이 잘 일어나는지 확인, 내부 확인x
  • 동치분할검사
  • 경계값분석
  • 원인효과그래프검사
  • 오류예측검사
  • 비교검사


 테스트 케이스(Test Case)

 

  • 사용자의 요구사항 준수 확인
  • 단위모듈을 테스트하기 전에 입력데이터, 조건, 예상 결과 등을 모은 것
  • 식별자, 테스트 항목, 입력 명세, 출력명세, 환경설정, 특수절차요구, 의존성기술


 테스트 프로세스

 

  • 계획 및 제어단계 : 테스트에 대한 목표를 달성하기 위한 계획 수립 및 제어
  • 분석 및 설계단계 : 목표를 구체화하여 설계
  • 구현 및 실현단계 : 테스트케이스 조합, 테스트프로시저 명세, 단위테스트도구 이용
  • 평가단계 : 목표에 맞게 수행됐는지 평가, 기록
  • 완료단계 : 참고자료, 증거자료 기록 및 저잘

 

 

개발 지원 도구

 

 통합 개발 환경(IDE; Integrated Development Environment)

 

  • 개발에 필요한 편집기, 컴파일러, 디버거 등 여러가지 툴을 하나로 합쳐서 제공
  • 이클립스, 비쥬얼스튜디오, 엑스코드


 빌드 도구 : 소스코드를 실행하기 위해 전처리과정, 컴파일을 수행하는 도구

 

  • Ant : 아파치제단 개발
  • Maven : 아파치제단 개발 Ant 대안
  • Gradle : Ant와 Maven 보완, 안드로이드 스튜디오 공식 빌드도구, 의존성, 그루비 기반의 빌드스크림트 사용


 기타 협업 도구(그룹웨어) : 소프트웨어가 서로 다른 작업환경에서 원활하게 진행될 수 있도록 도움

 

  • 프로젝트 및 일정관리 : 전체/개별 프로젝트의 진행상태, 일정 공유 ex. 구글 캘린더
  • 정보 공유 및 커뮤니케이션 : 주제 별로 구성원들끼리 의사소통
  • 디자인 : 디자이너가 만든 이미지를 코드화하여 개발자에게 전달
  • 기타 : 아이디어 공유(에버노트), API문서화(스웨거), GIT(Git hub)

 

Comments