본문 바로가기
정보처리기사/[이전] 실기 기출

정보처리기사 정처기 | 실기 8 서버 프로그램 구현 | 개발환경 구축, 공통 모듈 구현, 배치 프로그램 구현 | 단원별 정리

by YUNI Heo 2023. 3. 8.
반응형

 

핵심 키워드

공통 모듈 구현

  • 소프트웨어 개발에 있어 기능을 분할하고 추상화하여 성능을 향상하고 유지보수를 효과적으로 하기 위한 공통 컴포넌트 구현 기법이다.

 

응집도(Cohesion)

  • 모듈의 독립성을 나타내는 개념으로 모듈 내부 구성요소 간 연관 정도이다.
  • 정보은닉 개념의 확장개념으로 하나의 모듈은 하나의 기능을 수행하는 것을 의미한다.

 

결합도(Coupling)

  • 모듈 내부가 아닌 외부의 모듈과의 연관도 또는 모듈 간의 상호의존성이다.
  • 소프트웨어 구조에서 모듈 간의 관련성을 측정하는 척도이다.

 

공통 모듈 구현 대상

  • 공통 모듈은 화면 모듈, 화면에서 입력받은 데이터 처리를 위한 서비스 컴포넌트 비즈니스 트랜잭션 컴포넌트 등이 있다.

 

서버 프로그램 구현

  • 업무프로세스를 기반으로 개발언어와 도구를 이용해 서비스 제공에 필요한 업무 프로그램을 구현한다.

 

배치 프로그램(Batch Program)

  • 사용자와의 상호 작용 없이 일련의 작업들을 작업 단위로 묶어 정기적으로 반복 수행하거나 정해진 규칙에 따라 일괄 처리하는 방법이다.

 

✅ 21. 개발환경 구축

💡 개발환경 구축

  • 컴퓨터 시스템에 필요한 운영체제, 개발 툴 등을 설치한다.
  • 설치된 툴을 이용하여 개발에 필요한 프로그래밍 언어, 라이브러리 등을 설치하고 구성한다.
  • 개발환경을 유지보수하고 업그레이드하여 개발 생산성과 품질을 향상한다.

 

💡 기출

[약술형] 2020년 3회

형상 통제를 설명하시오.

  • 형상 항목의 버전 관리를 위해서 변경 여부와 변경 활동을 통제하는 활동

 

[해설]

형상 통제

  • 소스 코드와 같은 소프트웨어 개발 자산을 버전 관리 시스템(VCS)에 등록하여 변경 이력을 관리한다.
  • 변경 요청이 있을 경우 변경 요청을 검토하고 승인하며, 변경 사항을 기록하고 반영한다.
  • 변경 이력을 추적하고 변경 내역을 문서화하여 향후 유지보수와 개발에 활용한다.

[단답형] 2020년 2회

Linux 위에서 구동하며 휴대전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어, 사용자 인터페이스 그리고 표준 응용 프로그램(웹 브라우저, 이메일 클라이언트 등)을 포함하고 있는 자바 및 코틀린을 사용하여 개발하는 운영체제는 무엇인가?

  • 안드로이드(Android)

[단답형] 2022년 3회

다음에서 형상 관리에 대한 설명이다. 괄호 안에 들어갈 형상 관리 도구를 보기에서 고르시오.

  • (SVN, Subversion): 중앙 집중형 클라이언트-서버 방식으로 하나의 서버에서 소스를 쉽고, 유용하게 관리할 수 있게 도와주는 도구로 저장소를 만들어 그곳에 소스를 저장해서 소스 중복이나 여러 문제를 해결하기 위한 도구
  • (CVS, Concurrent Versions System): 가장 오래된 형상 관리 도구 중의 하나로서 중앙 집중형 서버 저장소를 두고 클라이언트가 접속해서 버전 관리를 실행하는 형상 관리 도구로 파일 단위로 변경 사항 관리가 가능한 도구
  • (Git): 로컬 저장소와 원격 저장소로 분리되어 분산 저장하는 도구로 빠른 속도에 중점을 둔 분산형 버전 관리 시스템이며, 대형 프로젝트에서 효과적이고 유용한 도구

 

✅ 22. 공통 모듈 구현

💡 공통 모듈 구현

  • 공통 모듈의 기능을 정의하고, 이를 구현하는 코드를 작성한다.
  • 공통 모듈을 호출하여 기능을 수행하는 코드를 작성하고, 이를 다른 소프트웨어 모듈에서 재사용한다.
  • 일관된 인터페이스를 제공하여 다른 모듈과의 결합을 최소화하며, 유지보수성과 확장성을 고려하여 설계한다.

 

💡 공통 모듈 테스트

  • 공통 모듈의 기능과 요구사항을 이해하고, 테스트 케이스를 작성한다.
  • 작성한 테스트 케이스를 실행하여 공통 모듈이 요구사항에 부합하는지 확인한다.
  • 테스트 결과를 분석하고, 발견된 결함을 수정하고 테스트를 재실행한다.

 

💡 기출

[단답형] 2020년 1회

다음은 모듈의 관계를 나타낸 다이어그램이다. fan-in 개수가 2 이상인 모듈 명칭을 쓰시오.

  • F. H

 

[해설]

모듈 다이어그램

  • 소프트웨어 시스템을 구성하는 모듈들과 이들 간의 의존 관계를 나타내는 다이어그램이다.
  • Fan-In: 한 모듈에서 호출되는 다른 모듈의 수를 나타내는 지표이다.
  • Fan-Out: 한 모듈이 호출하는 다른 모듈의 수를 나타내는 지표이다.

[단답형] 2022년 2회

다음 프로세스 구조에서 모듈 F의 Fan-In과 Fan-Out을 구하시오.

  • Fan-in: 3
  • Fan-Out 2 

[단답형] 2020년 1회

다음에 들어갈 단어를 각각 적으시오.

  • 모듈의 기능적 독립성은 소프트웨어를 구성하는 각 모듈의 기능이 서로 독립됨을 의미하는 것으로, 모듈이 하나의 기능만을 수행하고 다른 모듈과의 과도한 상호 작용을 배제함으로써 이루어진다. 모듈의 독립성을 높이기 위해서는 (결합도(Coupling))은/는 약하게, (응집도(Cohesion))은/는 강하게 만들어야 한다.

 

[해설]

  • 결합도(Coupling): 소프트웨어 시스템의 모듈 간 상호 의존 정도를 나타내는 지표
  • 응집도(Cohesion): 소프트웨어 시스템의 모듈 내부의 기능적 연관성 정도를 나타내는 지표

[단답형] 2021년 1회

다음은 결합도에 대한 설명이다. 빈칸에 들어갈 알맞은 용어를 쓰시오.

  • (내용 결합도(Content Coupling))은/는 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우의 결합도
  • (공통 결합도(Common Coupling))은/는 파라미터가 아닌 모듈 밖에 선언된 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호 작용하는 경우의 결합도
  • (스탬프 결합도(Stamp Coupling))은/는 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우의 결합도

 

[단답형] 2021년 3회

결합도(Coupling) 종류 중 단순 처리할 대상인 값만 전달되는 게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달되는 경우의 결합도를 영어로 쓰시오.

  • 제어 결합도(Control Coupling)

 

[해설]

내용 결합도(Content Coupling)

  • 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우의 결합도
  • 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조할 때 두 모듈은 내용적으로 결합되어 있는 경우의 결합도

 

공통 결합도(Common Coupling)

  • 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호 작용하는 경우의 결합도
  • 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도

 

외부 결합도(External Coupling)

  • 두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜, 또는 디바이스 인터페이스를 공유할 경우의 결합도
  • 외부 모듈에서 선언한 데이터(변수)를 외부의 다른 모듈에서 참조할 때의 결합도

 

제어 결합도(Control Coupling)

  • 어떤 모듈이 다른 모듈의 내부 논리 조직을 제어하기 위한 목적으로 제어 신호를 이용하여 통신하는 경우의 결합도
  • 하위 모듈에서 상위 모듈로 제어 신호가 이동하여 상위 모듈에게 처리 명령을 부여하는 권리 전도 현상이 발생하는 결합도

 

스탬프 결합도(Stamp Coupling)

  • 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우의 결합도
  • 두 모듈이 동일한 자료 구조를 조회하는 경우의 결합도이며, 자료 구조의 어떠한 변화는 모든 모듈에 영향을 미치게 됨

 

자료 결합도(Data Coupling)

  • 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호 작용이 일어나는 경우의 결합도
  • 한 모듈의 내용을 변경하더라도 다른 모듈에는 영향을 미치지 않는 상태로 가장 바람직한 결합도

[단답형] 2021년 2회

아래에서 설명하는 응집도의 종류를 쓰시오.

  • 절차적 옹집도(Procedural Cohesion): 입출력 간 연관성은 없으나, 순서에 따라 수행될 필요가 있음
  • 교환적 응집도(Communication Cohesion): 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동
  • 기능적 응집도(Functional Cohesion): 모든 기능들이 연관되어 있는 것, 그룹화

 

[해설]

우연적 응집도(Coincidental Cohesion)

  • 모듈 내부의 각 구성요소가 연관이 없을 경우의 응집도

 

논리적 응집도(Logical Cohesion)

  • 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우의 응집도

 

시간적 응집도(Temporal Cohesion)

  • 연관된 기능이라기보다는 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우의 응집도

 

절차적 응집도(Procedural Cohesion)

  • 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 경우의 응집도

 

통신적 응집도(Communication Cohesion)

  • 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여있을 경우의 응집도

 

순차적 응집도(Sequential Cohesion)

  • 모듈 내에서 한 활동으로부터 나온 출력 값을 다른 활동이 사용할 경우의 응집도

 

기능적 응집도(Functional Cohesion)

  • 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우의 응집도

[단답형] 2022년 1회

다음에서 설명하는 인터페이스 도구를 쓰시오.

  • 자바를 이용한 xUnit 테스트 도구이다. Erich Gamma와 Kent Beck 등이 작성한 오픈소스로 JAVA 단위 테스트 프레임워크이다.
  • jUnit

 

[해설]

jUnit

  • 자바에서 단위 테스트를 수행하는 데 사용되는 인터페이스 도구이다.
  • 개발한 코드의 품질을 테스트하고 검증한다.
  • 테스트 케이스 작성, 실행, 결과 분석 등의 기능을 제공하여 소프트웨어의 품질을 향상한다.

 

✅ 23. 배치 프로그램 구현

💡 배치 프로그램

  • 대용량의 데이터를 일괄 처리하기 위한 프로그램이다.
  • 예약된 시간에 자동으로 실행되어 데이터의 정합성을 유지하며, 반복적으로 수행되는 작업을 자동화한다.
  • 주로 데이터 처리 작업을 수행하며, 데이터베이스에서 데이터를 추출하여 가공, 처리, 저장하는 등의 작업을 수행한다.
반응형

'정보처리기사 > [이전] 실기 기출' 카테고리의 다른 글

정보처리기사 정처기 | 실기 12 제품 소프트웨어 패키징 | 제품 소프트웨어 패키징하기, 제품 소프트웨어 매뉴얼 작성 및 버전 등록 | 단원별 정리  (0) 2023.03.08
정보처리기사 정처기 | 실기 11 응용 SW 기초 기술 활용 | 운영체제의 특징, 네트워크 기초 활용하기, 기본 개발환경 구축하기 | 단원별 정리  (0) 2023.03.08
정보처리기사 정처기 | 실기 10 애플리케이션 테스트 관리 | 애플리케이션 테스트 케이스 설계, 애플리케이션 통합 테스트, 애플리케이션 성능 개선 | 단원별 정리  (0) 2023.03.08
정보처리기사 정처기 | 실기 9 소프트웨어 개발 보안 구축 | 소프트웨어 개발 보안 설계, 소프트웨어 개발 보안 구현 | 단원별 정리  (1) 2023.03.08
정보처리기사 정처기 | 실기 7 SQL 응용 | 데이터베이스 기본, 응용 SQL 작성하기, SQL 활용 및 최적화 | 단원별 정리  (0) 2023.03.08
정보처리기사 정처기 | 실기 6 프로그래밍 언어 활용 | C언어, 자바, 파이썬 | 단원별 정리  (1) 2023.03.08
정보처리기사 정처기 | 실기 5 인터페이스 구현 | 인터페이스 설계 확인, 인터페이스 기능 구현, 인터페이스 구현 검증 | 단원별 정리  (0) 2023.03.08
정보처리기사 정처기 | 실기 4 통합 구현 | 연계 메커니즘 구성, 내외부 연계 모듈 구현 | 단원별 정리  (0) 2023.03.08