통합 구현

김덕근·2023년 1월 6일
0

정보처리기사

목록 보기
14/17

단위 모듈 구현의 개념

소프트웨어를 기능 단위로 분해하여 구현하는 기법

효과적인 모듈화

결합도를 줄이고 응집도를 높여 모듈의 독립성을 높임
FAN-OUT 최소화, FAN-IN 증가

단위 모듈 설계의 원리

  1. 단계적 분해
  2. 추상화
  3. 독립성
  4. 정보은닉(캡슐화)
  5. 분할과 정복

단위 모듈 테스트 방법

  1. 화이트박스 테스트
    모듈 내부의 소스 코드를 보면서 테스트를 진행

  2. 메소드(함수) 기반 테스트
    메소드에 파라미터 값을 다양하게 입력하여 원하는 출력값이 나오는지 확인

파라미터 == 동작을 수행하기 위해 값을 전달한다

  1. 화면 기반 테스트
    사용자 화면이 있는 경우, 화면 단위로 데이터를 입력하면서 테스트를 진행

단위 테스트 자동화 도구

JUnit - Java 기반의 단위 모듈 테스트 도구
CppUnit - C++용 testing Framework
unittest - Python에 포함된 다양한 테스트를 자동화할 수 있는 기능이 포함되어 있는 표준 라이브러리
HttpUnit - Http서버와 프로그램을 통해 상호작용을 할 수 있는오픈 소스 자바 라이브러리


통합 구현 관리

IDE 도구의 개념(CASE도구)
소프트웨어 개발에 필요한 많은 도구의 기능을 하나의 패키지로 묶은 것
코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어

이클립스, vscode, 인텔리제이, 엑스코드

협업 도구

협업 도구의 개념
여러 사용자가 각기 별개의 작업 환경에서 통합된 하나의 프로젝트를 도잇에 수행할 수 있도록 도와주는 소프트웨어

협업 도구의 기능

  • 전사관리 : 전자결제, 조직도 등
  • 프로젝트 관리 : 캘린더, 타임라인, 간트차트(가로 막대그래프), 대시보드, WBS등
  • 자체 드라이브 공간
  • 문서 공유 지원
  • 커뮤니케이션
  • 다국어지원
  • 타 협업툴 간 연동 지원

협업 도구의 분류

  1. SNS형
  • 슬랙, 야머, 아지트, 잔디, 워크플레이스 등
  1. 프로젝트 관리형
  • 트렐로, 구글 스프레드시트, 노션, 아사나 등
  1. 통합형
  • 콜라비, 플로우, 큅, 드롭박스 비즈니스 등

형상 관리 도구

소프트웨어 생명주기 동안 발생하는 변경사항을 통제하기 위한 관리 방법
소프트웨어 변경사항을 체계적으로 추적하고 통제 하는 것

  1. 변경관리
    소스의 변경 상황을 관리
    문서의 변경 이력과 복원 등의 기능이 제공

  2. 버전관리
    변경을 관리하기 위한 효과적인 방법
    체크인, 체크아웃, 릴리즈, 퍼블리싱의 과정을 버전으로 관리할 수 있다.

  3. 형상관리
    변경관리와 버전관리가 포함되고, 프로젝트 진행상황, 빌드와 릴리즈까지 모두 관리할 수 있는 통합 시스템 (기획, 디자인, 개발)

형상 관리 절차

형상 식별 -> 형상 통제 -> 형상 감사 -> 형상 기록

CCB(Configuration Control Board)
형상관리 통제 위원회

  1. 형상 식별
    형상 항목은 단순히 소스파일 뿐만 아니라 산출물, 개발이력, 개발과정에서 작성되는 문서까지 모두 포함

  2. 형상 통제
    소프트웨어 형상 변경 요청을 검토하고 승인하여 현재의 베이스라인에 반영될 수 있도록 통제

  3. 형상 감사
    형상 항목의 변경이 계획에 따라 제대로 이뤄졌는지를 검토하고 승인

  4. 형상 기록
    베이스라인 산출물에 대한 변경과 처리 과정에서의 변경을 모두 기록

형상통제

  1. 변경 요청
    변경이 발생할 경우, 미리 정의된 양식을 이용하여 담당자에게 제출

  2. 변경 심사
    형상 담당자가 CCB의 등급을 결정하고 소집
    변경에 대한 승인/기각을 결정

  3. 변경 실시
    변경 대상을 식별하고 Repository에서 산출물 체크아웃

  4. 변경 확인
    변경된 내용을 확인한다.

profile
안녕하세요!

0개의 댓글