정보처리기사 문제풀이


개념 ☐ 트리(Tree)의 개념 ● 정점(Node, 노드)과 선분(Branch, 가지)을 이용하여 사이클을 이루지 않도록 구성한 그래프(Graph)의 특수한 형태 ● 비선형 구조(Non-Linear Structure)에 해당 ☐ 트리(Tree)의 구성 ● 노드(Node) : 트리의 기본 요소, 자료 항목과 다른 항목에 대한 가지를 합친 것● 근 노드(Root Node) : 트리의 맨 위에 있는 노드● 디그리(Degree) : 차수, 각 노드에서 뻗어 나온 가지의 수● 단말 노드(Terminal Node) : 잎 노드(Leaf Node), 자식이 하나도 없는 노드, 디그리가 0인 노드● 자식 노드(Son Node) : 어떤 노드에 연결된 다음 레벨의 노드들● 부모 노드(Parent N..

개념 ☐ 미들웨어(Middleware)의 개념 ● 미들(Middle)과 소프트웨어(Softeware)의 합성어● 운영체제와 응용 프로그램, 서버와 클라이언트 사이에서 다양한 서비스를 제공하는 소프트웨어 ☐ MOM(Message Oriented Middleware) ● 메시지 지향 미들웨어● 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어● 온라인 업무보다는 이기종 분산 데이터 시스템의 데이터 동기를 위해 많이 사용됨 ● 즉각적인 응답이 필요한 경우보다는 안정적이고 신뢰성 있는 메시지 전달이 중요한 상황에 더 적합● 독립적인 애플리케이션을 하나의 통합된 시스템으로 묶기 위한 역할을 함● 송신 측과 수신 측의 연결 시 메시지 큐를 활용하는 방법이 있음● 상이한 애플리케이션 간 통..

개념 ☐ CASE의 개념 ● 소프트웨어 개발 과정에서 사용되는 요구 분석, 설계, 구현, 검사 및 디버깅 과정 전체 또는 입루를 컴퓨터와 전용 소프트웨어 도구를 사용하여 자동화하는 것 ☐ CASE의 특징 ● 객체지향 시스템, 구조적 시스템 등 다양한 시스템에서 활용되는 자동화 도구(CASE Tool)● 소프트웨어. 하드웨어, 데이터베이스, 테스트 등을 통합하여 소프트웨어를 개발하는 환경을 조성● 소프트웨어 생명 주기의 전체 단계를 연결해 주고 자동화해 주는 통합된 도구를 제공해주는 기술● 소프트웨어 개발 도구와 방법론이 결합된 것 : 정형화된 구조 및 방법(메커니즘)을 소프트웨어 개발에 적용하여 생산성 향상을 구현하는 공학 기법● 소프트웨어 개발의 모든 단계에 걸쳐 일관된 방법론을 제공하는..

개념 ☐ 객체(Object) ● 객체의 정의 : 데이터와 데이터를 처리하는 함수를 묶어 놓은(캡슐화한) 하나의 소프트웨어 모듈 ● 객체의 특성- 상태, 동작, 고유 식별자를 가진 모든 것- 객체는 필요한 자료 구조와 이에 수행되는 함수들을 가진 하나의 독립된 존재- 객체의 상태는 속성값에 의해 결정됨- 객체는 독립적으로 식별 가능한 이름을 가지고 있음- 객체가 가질 수 있는 조건 = 상태(State) : 일반적으로 상태는 시간에 따라 변함- 객체와 객체는 상호 연관성에 의한 관계가 형성됨- 객체가 반응할 수 있는 메시지(Message)의 집합을 행위라고 함- 객체는 행위의 특징을 나타낼 수 있음- 객체는 일정한 기억장소를 가지고 있음- 객체의 메소드는 다른 객체로부터 메시지를 받았을 때 정해진 기능을 수..

개념 ☐ 럼바우(Rumbaugh)의 분석 기법 ● 럼바우(Rumbaugh)의 분석 기법의 개념- 모든 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하는 기법● 럼바우(Rumbaugh)의 분석 기법의 특성- 가장 일반적으로 사용되는 방법- 객체 모델링(OMT, Object-Modeling Technique)● 럼바우(Rumbaugh)의 분석 기법의 분석 활동 : 객체 모델링 → 동적 모델링 → 기능 모델링- 객체 모델링(Object Modeling) : 정보 모델링, 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정하여 객체 다이어그램으로 표시하는 것 - 동적 모델링(Dynamic Modeling) : 상태 다이어그램(상태도)을 이용하여 시간의 흐름에 따른 객체들 ..

개념 ☐ UML(Unified Modeling Language) ● UML의 개념 : 시스템 분석, 설계, 구현 등 시스템 개발 과정에서 시스템 개발자와 고객 또는 개발자 상호 간의 의사소통이 원활하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어● UML의 특징 - Rumbaugh(OMT), Booch, Jacobson 등의 객체지향 방법론의 장점을 통합- 객체 기술에 관한 국제표준화기구인 OMG(Object Management Group)에서 표준으로 지정함- UML을 이용하여 시스템의 구조를 표현하는 6개의 구조 다이어그램과 시스템의 동작을 표현하는 7개의 행위 다이어그램을 작성할 수 있음- 각각의 다이어그램은 사물과 사물 간의 관계를 용도에 맞게 표현함 ● UML의 구성 요소 : 사물(T..

개념 ☐ 디자인 패턴 사용의 장단점 ● 장점- 범용적인 코딩 스타일로 인해 구조 파악이 용이- 객체지향 설계 및 구현의 생산성을 높이는데 적합, 객체지향 언어와 함께 이용시 효율 극대화- 검증된 구조의 재사용을 통해 개발 시간과 비용 절약- 개발자 간의 원활한 의사소통이 가능- 설계 변경 요청에 대한 유연한 대처 가능● 단점- 초기 투자 비용 부담- 객체지향을 기반으로 한 설계와 구현을 다루므로 다른 기반의 애플리케이션 개발에는 비적합 ☐ 행위 패턴(Behavioral Pattern) ● 행위 패턴의 개념 : 클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의하는 패턴● 행위 패턴의 역할 : 하나의 객체로 수행할 수 없는 작업을 여러 객체로 분배하면서 결합도를 최소화할 수 있도록..