자격증(IT)/정보처리기사

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

orubt 2020. 8. 18. 00:35
반응형

1 모듈 구현

1 단위 모듈 구현

1 개념

기능을 분할하고 추상화하여 성능 향상, 효과적인 유지보수

2 원리

  • 정보 은닉
  • 분학 정복
  • 데이터 추상화
  • 모듈 독립성

3 대상

화면 모듈, 서비스 컴포넌트, 트랜잭션 컴포넌트

2 단위 모듈 테스트

1 개념

IDE 도구를 활용하여 개별 단위 모듈에 대한 디버깅 수행

화이트 박스 기법 사용

2 종류

  • 화이트박스 테스트: 모듈 내부의 소스를 보면서 수행, 다양한 테스트 케이스 생성
  • 메소드 기반 테스트: 외부에 공개된 메소드 기반 테스트
  • 화면 기반 테스트: 화면에 직접 데이터를 입력하여 테스트
  • 테스트 드라이버 / 테스트 스텁: 화면이 구현되지 않은 경우
    • 테스트 드라이버: 상향식, 상위 모듈 인터페이스 역할
    • 테스트 스텁: 하향식, 기능의 임시 수행

3 커버리지

1 개념

테스트 수행 정도

2 유형

  • 구분 커버리지: 모든 문장 적어도 한 번 이상 실행
  • 결정 커버리지: 결정 조건 내 전체 조건식
  • 조건 커버리지: 각 개별 조건식이 참/거짓 한 번 모두 갖도록
  • 조건/결정 커버리지: 전체 조건식이 참/거짓 한번 씩 가지면서, 개별 조건식이 참/거짓 모두 한 번씩
  • 변경 조건/결정 커버리지: 각 개별 조건식이 전체 조건식의 결과에 독립적으로 영향
  • 다중 조건 커버리지: 결정 조건 내 모든 개발 조건식의 모든 가능한 조합 보장

2 통합 구현 관리

1 IDE 도구

1 개념

프로그램 개발과 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어

2 기능

  • 개발환경 지원
  • 컴파일
  • 디버깅
  • 외부 연계
  • DB 연동

3 IDE 도구 간 비교

비교 이클립스 비주얼 스튜디오 엑스 코드
개발사 IBM 마이크로소프트 애플
플랫폼 크로스 플랫폼 크로스 플랫폼 애플 플랫폼
운영 체제 대부분 윈도우즈 맥 OS
언어 Java, PHP, JSP Visual Basic, C++ Object C, Swift
라이선스 이클립스 상용 GCC
특징 Java 개발 최적화 C 계열 언어 중심 iOS 기반 앱 개발

2 협업 도구

1 개념

개발자 간 커뮤니케이션을 수행하기 위한 도구

2 분류

  • 문서 공유: 구글 드라이브
  • 소스 공유: 깃허브
  • 아이디어 공유: 에버노트
  • 디자인 공유: 레드 펜
  • 마인드 맵: 마인드 마이스터
  • 프로젝트 관리: 트렐로, 레드마인, 지라
  • 일정 관리: 구글 캘린더

3 기능

  • 개발자 간 커뮤니케이션
  • 일정 및 이슈 공유
  • 개발자 간 집단 지성 활용

3 형상 관리 도구

1 개념

소프트웨어 변경 사항을 관리하기 위한 도구

2 기능

  • 체크인: 개발자가 수정한 소스를 형상 관리 저장소로 업로드
  • 체크아웃: 최신 버전을 개발자 PC로 다운로드
  • 커밋: 개발자가 형상 관리 저장소로 업로드 후 반영

3 사례

  • CVS
  • SVN
  • Git
반응형