자격증/정보처리기사

필기 - 2. 소프트웨어 개발_ch2. 통합 구현

권동동 2024. 7. 3. 15:03

1. 모듈 구현

(1) 단위 모듈 구현

 

1️⃣ 단위 모듈 구현의 개념

  • 단위 모듈별로 분할하고 추상화 하여 성능을 향상시키고, 유지보수를 효과적으로 하기 위한 구현 기법

2️⃣ 단위 모듈 구현의 원리

원리 설명
정보 은닉 어렵거나 변경 가능성이 있는 모듈을 타 모듈로부터 은폐
분할과 정복 복잡한 문제를 분해, 모듈 단위로 문제 해결
데이터 추상화 각 모듈 자료 구조를 액세스하고 수정하는 함수내에 자료 구조의 표현 내역을 은폐
모듈 독립성 낮은 결합도와 높은 응집도를 가짐

 

3️⃣ 구현 단계에서 작업 절차

순서 절차 설명
1 코딩 계획 기능을 실제 수행할 수 있도록 수행 방법을 논리적으로 결정하는 단계
2 코딩 논리적으로 결정한 문제해결 방법을 특정 프로그래밍 언어를 사용하여 구현하는 단계
3 컴파일 작성한 코드를 다른 언어의 코드(주로 기계어)로 변환하는 단계
4 테스트 기능이 요구사항을 만족하는지, 예상과 실제 결과가 어떤 차이를 보이는지 검사하고 평가하는 단계

 

4️⃣ 재사용 기법

재사용 종류 설명
재공학 기존 소프트웨어를 버리지 않고 기능을 개선시키거나 기능을 새로운 소프트웨어로 재활용하는 소프트웨어 재사용 기법
분석 기존 소프트웨어 명세서를 확인하여 소프트웨어 동작을 이해하고, 재공학 대상을 선정하는 작업
재구조 상대적으로 같은 추상적 수준에서 하나의 표현을 다른 형태로 바꾸는 작업
역공학 기존 소프트웨어를 분석하여 설계도를 추출하거나 다시 만들어내는 작업
이식 소프트웨어 재공학의 주요 활동 중 기존 소프트웨어 시스템을 새로운 기술 또는 하드웨어 환경에서 사용할 수 있도록 변환하는 작업
재개발 기존 시스템 내용을 참조하여 완전히 새로운 시스템을 개발, 기존 시스템에 새로운 기능을 추가, 기존 시스템의 기능을 변경하는 기법

 

재사용 규모에 따른 분류 설명
함수와 객체 클래스나 메서드 단위의 소스 코드를 재사용
컴포넌트 컴포넌트 자체에 대한 수정 없이 인터페이스를 통해 통신하는 방식으로 재사용
애플리케이션 공통된 기능들을 제공하는 애플리케이션을 공유하는 방식으로 재사용

 

(2) 단위 모듈 테스트

1️⃣ 단위 모듈 테스트의 개념

  • 단위 모듈 테스트는 모듈의 개별적인 코드 단위가 예상대로 작동하는지 확인하는 기법

2️⃣ 단위 모듈 테스트의 종류

블랙박스 테스트
(= 명세 기반 테스트)
프로그램 외부 사용자의 요구사항 명세를 보면서 수행하는 테스트
화이트박스 테스트
(= 구조 기반 테스트)
단위 모듈 테스트의 가장 기본적 방법은 모듈 내부의 소스를 보면서 수행하는 테스트

 

2. 통합구현 관리

(1) IDE 도구

 

1️⃣ IDE 도구의 개념

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

2️⃣ IDE 도구의 기능

기능 설명
개발환경 지원 개발언어를 통해 어플리케이션 개발환경 제공
컴파일 문법에 어긋나는지 확인하고 기계어로 변환하는 기능 제공
디버깅 프로그래밍 과정에 발생하는 오류 및 비정상적인 연산 제거
외부 연계 외부 형상, 배포관리 기능과 연계되어 자동 배포등이 가능
DB연동 JDDB, ODBC 등을 통한 데이터베이스 연동

 

(2) 협업 도구

1️⃣ 협업 도구의 개념

  • 다른 개발자와 개발 관련 소통을 위해서 지속적으로 커뮤니케이션을 수행하기 위한 도구

2️⃣ 협업 도구의 분류

  • 문서 공유 - 구글드라이브
  • 소스 공유 - 깃허브
  • 아이디어 공유 - 에버노트
  • 디자인 공유 - 레드 펜
  • 마인드 맵 - 마인드 마이스터

(3) 형상 관리 도구

1️⃣ 형상 관리 도구의 개념

  • 형상 관리는 소프트웨어 생명주기 동안 발생하는 변경사항을 체계적으로 관리하여 소프트웨어의 품질 보증을 향상시키는 관리적 활동
  • 형상 관리는 개발 과정의 변경 사항을 관리
  • 형상 관리에서 관리 항목으로는 프로젝트 요구 분석서, 소스 코드, 운영 및 설치 지침서가 있다
  • 유지보수 단계뿐만 아니라 개발 단계에도 사용 가능

2️⃣ 형상 관리 절차 

순서 절차 설명
1 형상 식별 형상 관리 계획을 근거로 형상 과닐의 대상이 무엇인지 식별하는 활동
2 형상 통제 형상 항목의 변경사항에 대하여, 형상통제위원회가 승인/기각/보루를 결정하고, 승인된 변경사항의 이행을 체계적으로 통제하는 활동
3 형상 감사 형상 관리 계획대로 형상 관리가 진행되고 있는지, 형상 항목의 변경이 요구사항에 맞도록 제대로 이뤄졌는지 등을 살펴보는 활동
4 형상 기록 소프트웨어 형상 및 변경 관리에 대한 각종 수행결과를 기록하는 활동

 

3️⃣ 형상 관리 도구의 개념

  • 소프트웨어 변경 사항을 관리하기 위해서 형상 식별, 통제, 감사, 기록을 수행하는 도구
  • Git

4️⃣ 형상 관리 도구의 기능

체크인 개발자가 수정한 소스를 형상 관리 저장소로 업로드 하는 기능
체크아웃 형상 관리 저장소로부터 최신 버전을 개발자 PC로 다운로드 받는 기능
커밋 소스를 형상 관리 저장소에 업로드 후 최종적으로 업데이트가 되었을 때 형상 괸리 서버에서 반영하도록 하는 기능

 

5️⃣ 형상 관리 도구 사례

csg - ssg 쓱을 쌔게 말하면

  • CVS
    • 중앙 집중형 서버 저장소를 두고 클라이언트가 접속해서 버전 관리를 실행
  • SVN
    • 중앙 집중형 클라이언트-서버 방식
  • Git
    • 리눅스 커널의 개발을 위해 만듦