본문 바로가기

정보처리기사

(53)
소프트웨어 모듈화 소프트웨어 모듈화 - 소프트웨어의 성능을 향상시키거나 시스템의 수정 및 재사용, 유지 관리 등이 용이하도록 시스템의 기능들을 모듈 단위로 나누는 것을 의미합니다. 장점 - 프로그램의 효율적인 관리가 가능하고 성능을 향상합니다. - 전체적인 소프트웨어 이해의 용이성이 증대하고 복잡성이 감소합니다. - 소프트웨어 시험, 통합, 수정 시 용이합니다. - 기능이 분리 가능하여 인터페이스가 단순합니다. - 오류의 범위를 최소화합니다. - 모듈의 재사용 가능으로 개발과 유지보수에 용이합니다. 정보처리기사 2022년 1회 24번 출제
스택(Stack) 스택(Stack) - 리스트의 한쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조입니다. - 가장 나중에 삽입된 자료가 가장 먼저 삭제되는 후입선출(LIFO) 방식으로 자료를 처리합니다. - TOP : 스택으로 할당된 기억 공간에 가장 마지막으로 삽입된 자료가 기억된 위치를 가리키는 요소입니다. - Bottom : 스택의 가장 밑바닥입니다. - 인터럽트 처리, 서브루틴 호출 작업 등에 응용됩니다. 큐(Queue) - 가장 먼저 삽입된 자료가 가장 먼저 삭제되는 선입선출(FIFO) 방식으로 자료를 처리합니다. - 순서 리스트의 뒤에서 노드가 삽입되며 앞에서 노드가 제거됩니다. 데크(Deque) - 선형 리스트의 양쪽 끝에서 삽입과 삭제가 모두 가능한 자료 구조입니다. 정보처리기사 2022년 1회..
테스트 자동화 테스트 자동화 - 사람이 반복적으로 수행하던 테스트 절차를 스크립트 형태로 구현하는 자동화 도구를 적용함으로써 쉽고 효율적으로 테스트를 수행할 수 있도록 한 것 입니다. 테스트 자동화 도구의 유형 정적 분석 도구 테스트 실행 도구 성능 데스트 도구 테스트 통제 도구 테스트 하네스 도구 - 테스트 드라이버 : 테스트 대상의 하위 모듈을 호출하고, 파라미터를 전달하고 모듈 테스트를 수행 후의 결과를 도출하는 도구로 상향식 테스트에 필요합니다. - 테스트 스텁 : 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구로, 일시적으로 필요한 조건만을 가지고 있는 테스트용 모듈로 하향식 테스트에 필요합니다. - 테스트 슈트 : 테스트 대상 컴포넌트나 모듈, 시스템에 사용되는 테스트 케이스의 집합입니다. - ..
소스 코드 최적화 소드 코드 최적화 - 나쁜 코드를 배제하고 클린코드로 작성하는 것이 목표입니다. 클린 코드 - 누구나 쉽게 이해하고 수정 및 추가할 수 있는 단순, 명료한 코드로 잘 작성된 코드를 의미합니다. 작성 원칙 - 가독성 : 누구든지 코드를 쉽게 읽을 수 있도록 작성해야 합니다. - 단순성 : 코드를 간단하게 작성해야 합니다. - 의존성 배제 : 코드가 다른 모듈에 미치는 영향을 최소화하도록 작성해야 합니다. - 중복성 최소화 : 코드의 중복을 최소화 합니다. - 추상화 : 상위 클래스에는 프로그램 특성만 간략하게, 하위 클래스에는 세부적 내용을 작성해야 합니다. 나쁜 코드 - 프로그램의 로직이 복잡하고 이해하기 어려운 코드를 의미합니다. 스파게티 코드 - 코드의 로직이 서로 복잡하게 얽혀있는 코드입니다. 외계..
클래스(Class) 클래스 - 클래스는 공통된 속성과 연산을 갖는 객체의 집합으로 객체의 일반적이 타입을 의미합니다. - 데이터를 추상화하는 단위입니다. - 클래스에 속한 각각의 객체를 인스턴스라고 하고, 클래스로부터 새로운 객체를 생성하는 것을 인스턴스화라고 합니다. 정보처리기사 2022년 1회 20번 출제
소프트웨어 용어 EAI - 기업용 응용 프로그램의 구조적 통합 방안으로 각종 애플리케이션, 플랫폼 간의 정보 전달, 연계, 통합 등 상호 연동이 가능하게 해주는 솔루션입니다. FEP(전처리기) - 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 차지하는 시간을 줄여주는 프로그램이나 하드웨어입니다. GPL - 자유 소프트웨어 재단에서 만든 자유 소프트웨어 라이선스입니다. Duplexing - 서비스 중단에 대비하여 동일한 기능을 수행하는 예비 시스템을 동시에 운용하는 것입니다. 정보처리기사 2022년 1회 19번 출제
객체지향 분석의 방법론 객체지향 분석의 방법론 - 객체지향 분석을 위한 여러 방법론이 제시되었습니다. Rumbaugh(럼바우) 방법론 - 가장 일반적으로 사용되는 방법으로 분석 활동을 객체 모델, 동적 모델, 기능 모델로 나누어 수행하는 방법입니다. Booch(부치) 방법론 - 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 분석 방법으로, 클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의합니다. Jacobson 방법론 - Use Case를 강조하여 사용하는 분석 방법입니다. Coad와 Yourdon 방법론 - E-R다이어그램을 사용하여 객체의 행위를 모델링하며, 객체 식별, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의, 연산과 메시지 연결 정의 등의 과정으로 구성하는 기법입니다. Wirfs-..
소프트웨어 아키텍처의 설계 소프트웨어 아키텍처 - 소프트웨어의 골격이 되는 기본 구조이자, 소프트웨어를 구성하는 요소들 간의 관계를 표현하는 시스템의 구조 또는 구조체입니다. 소프트웨어 아키텍처의 설계 과정 - 설계 목표 설정 -> 시스템 타입 결정 -> 스타일(아키텍처 패턴) 적용 및 커스터마이즈 -> 서브시스템의 기능, 인터페이스 동작 작성 -> 아키텍처 설계 검토 정보처리기사 2022년 1회 15번 출제