본문 바로가기

정보처리기사 실기

(109)
디자인 패턴 1. 디자인 패턴(Design Pattern) 모듈 간의 관계 및 인터페이스 설계 시 참조할 수 있는 전형적인 해결 방식 또는 예제 2. 생성 패턴(Creational Pattern) 클래스나 객체의 생성과 참조 과정을 정의하는 패턴 추상 팩토리(Abstract Factory) 구체적 클래스에 의존하지 않고, 인터페이스를 통해 서로 연관 의존하는 객체들의 그룹으로 생성하여 추상적으로 표현 연관된 서브 클래스를 묶어 한번에 교체 가능 빌더(Builder) 작게 분리된 인스턴스를 건축 하듯 조합하여 객체를 생성 객체 생성 과정과 표현 방법 분리하고 있어, 동일한 객체 생성에서도 다른 결과를 만들어 낼 수 있음 팩토리 메소드(Factory Method) 서브 클래스에서 객체 생성 처리하도록 분리하여 캡슐화한 ..
코드 1. 코드(Code) 자료의 분류, 조합, 집계, 추출을 용이하게 하기 위해 사용하는 기호 2. 코드의 주요 기능 식별 기능, 분류 기능, 배열 기능, 표준화 기능, 간소화 기능 3. 코드의 종류 (1) 순차 코드(Sequence Code, 순서 코드, 일련번호 코드) 자료의 발생 순서, 크기 순서 등 일정 기준에 따라서 최초의 자료부터 차례로 일련번호를 부여하는 방법 (2) 블록 코드(Block Code, 구분 코드) 코드화 대상 항목 중 공통성 있는 것끼리 블록으로 구분하고, 각 블록 내에서 일련번호를 부여하는 방법 (3) 10진 코드(Decimal Code, 도서 분류식 코드) 코드화 대상 항목을 0~9까지 10진분할하고, 다시 그 각각에 대하여 10진 분할하는 방법을 필요한 만큼 반복하는 방법 (..
공통 모듈 1. 공통 모듈 여러 프로그램에서 공통으로 사용할 수 있는 모듈 2. 공통 모듈 명세 기법 (1) 정확성 : 시스템 구현 시 해당 기능이 필요하다는 것을 알 수 있도록 정확히 작성 (2) 명확성 : 기능을 이해할 때 중의적 해석되지 않도록 명확하게 작성 (3) 완전성 : 시스템 구현을 위한 모든 것을 기술 (4) 일관성 : 공통 기능들이 상호 충돌하지 않게 작성 (5) 추적성 : 기능 요구사항의 출처, 관련 시스템 등의 관계를 파악할 수 있도록 작성 3. 재사용(Reuse) 이미 개발된 기능들을 새로운 시스템이나 기능 개발에 사용하기 적합하도록 최적화하는 작업 * 함수와 객체, 컴포넌트, 애플리케이션 단위로 재사용 4. 효과적 모듈 설계 방안 (1) 결합도는 줄이고 응집도는 높여서 모듈의 독립성과 재사용..
단위 모듈 1. 단위 모듈(Unit Module) 한 가지 동작을 수행하는 기능을 모듈로 구현한 것 * 단위 모듈 구현 과정 단위 기능 명세서 작성 -> 입출력 기능 구현 -> 알고리즘 구현 2. IPC(Inter-Process Communication) 모듈 간 통신 방식을 구현하기 위해 사용되는 대표적인 프로그래밍 인터페이스 집합 * IPC 대표적 메소드 5가지 (1) Shared Memory : 공유 가능한 메모리를 구성하여 다수의 프로세스가 통신하는 방식 (2) Socket : 네트워크 소켓을 이용하여 네트워크를 경유하는 프로세스 간에 통신하는 방식 (3) Semaphores : 공유 자원에 대한 접근 제어를 통해 통신하는 방식 (4) Pipes & named Pipes : Pipe라는 선입선출 형태로 구성..
모듈 1. 모듈(Module) 모듈화를 통해 분리된 시스템의 각 기능 2. 결합도(Coupling) 모듈 간에 상호 의존하는 정도 * 결합도의 종류와 강도 내용 결합도 공통 결합도 외부 결합도 제어 결합도 스탬프 결합도 자료 결합도 결합도 강함 결합도 약함 3. 결합도 종류 (1) 내용 결합도(Content Coupling) - 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 직접 참조하거나 수정할 때의 결합도 (2) 공통(공유) 결합도(Common Coupling) - 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도 - 파라미터가 아닌 모듈 밖에 선언된 전역 변수를 사용하여 전역 변수를 갱신하는 방식으로 상호작용하는 때의 결합도 (3) 외부 결합도(External Coupling) - 어떤..
객체지향 분석 및 설계 1. 객체지향 분석(Object Oriented Analysis) 사용자의 요구사항과 관련된 객체, 속성, 연산, 관계 등을 정의하여 모델링하는 작업 2. 객체지향 분석 방법론 (1) 럼바우 방법(Rumbaugh) : 분석 활동을 객체 모델, 동적 모델, 기능 모델로 나누어 수행 (2) 부치 방법(Booch) : 미시적, 거시적 개발 프로세스를 모두 사용하고 클래스와 객체들을 분석 및 식별하고 클래스 속성과 연산을 정의 (3) Jacobson 방법 : 유스케이스를 강조하여 사용 (4) Coad와 Yourdon 방법 - E-R Diagram을 이용해 객체의 행위를 모델링함 - 객체 식별, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의, 연산과 메시지 연결 정의 등 과정으로 구성 (5) Wirfs-Br..
객체 지향 1. 객체 지향(Object-Oriented) 각 요소들을 객체로 만든 후, 객체들을 조립해서 소프트웨어를 개발하는 방법 2. 객체(Object) 데이터와 이를 처리하기 위한 함수를 묶어 놓은 소프트웨어 모듈 3. 클래스(Class) 공통된 속성과 연산을 갖는 객체의 집합 클래스에 속한 객체를 인스턴스라 함 4. 메시지(Message) 객체들 간의 상호작용을 하는데 사용되는 수단 5. 캡슐화(Encapsulation) 외부에서의 접근을 제한하기 위해 인터페이스를 제외한 세부 내용을 은닉하는 것 6. 상속(Inheritance) 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것 7. 다형성(Polymorphism) 하나의 메시지에 대해 각각의 객체가 고유한 방법으로 응답할 수 있는 능력 8. 연..
아키텍처 패턴 1. 아키텍처 패턴(Patterns) 아키텍처를 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제 2. 레이어 패턴(Layers Pattern) (1) 시스템을 계층으로 구분하여 구성하는 패턴 (2) 하위 계층은 서비스 제공자, 상위 계층은 클라이언트 (3) 마주보는 계층 사이에서만 상호작용이 이루어짐 (4) OSI 참조 모델이 여기에 해당 3. 클라이언트-서버 패턴(Client-Server Pattern) 하나의 서버 컴포넌트와 다수의 클라이언트 컴포넌트로 구성되는 패턴 4. 파이프-필터 패턴(Pipe-Filter Pattern) (1) 데이터 스트림 절차를 필터로 캡슐화하여 파이프를 통해 전송하는 패턴 (2) 데이터 변환 ,버퍼링, 동기화 등에 사용 (3) UNIX 의 쉘이 해당 5. 모델-뷰..
소프트웨어 아키텍처 1. 소프트웨어 아키텍처 (1) 소프트웨어를 구성하는 요소들 간의 관계를 표현하는 시스템의 구조 (2) 애플리케이션 분할 방법과 분할된 모듈에 할당될 기능, 모듈 간의 인터페이스 등을 결정 2. 모듈화(Modularity) (1) 시스템의 기능들을 모듈 단위로 나누는 것 (2) 모듈의 크기를 작게 나누면 통합 비용이 많이 듬 (3) 모듈의 크기를 크게 나누면 통합 비용은 적게 들지만 모듈 한 개의 개발 비용이 많이 듬 3. 추상화(Abstraction) (1) 전체적이고 포괄적인 개념을 설계 한 후 구체화시켜 나가는 것 * 추상화 유형 - 과정 추상화 : 자세한 수행 과정을 정의 하지 않고, 전반적인 흐름만 파악할 수 있게 설계하는 방법 - 데이터 추상화 : 데이터의 세부적 속성이나 용도를 정의하지 않고..
개발 환경 구축 1. 개발 환경 구축 개발 프로젝트를 이해하고 소프트웨어 및 하드웨어 장비를 구축하는 것 2. 하드웨어 환경 클라이언트와 서버로 구성 * 클라이언트 : 개인용 컴퓨터, 스마트폰 등 * 서버 종류 특징 웹 서버 클라이언트로부터 직접 요청을 받아 처리 저용량의 정적 파일을 제공 웹 애플리케이션 서버 동적 서비스를 제공하거나, 서버 사이의 인터페이스 역할을 수행 데이터베이스 서버 데이터베이스와 이를 관리하는 DBMS를 운영 파일 서버 데이터베이스에 저장하기 비효율적이거나 서비스 제공을 목적으로 유지하는 파일들을 저장 3. 소프트웨어 환경 시스템 소프트웨어와 개발 소프트웨어로 구성 * 시스템 소프트웨어 : 운영체제(OS), 웹 서버 및 WAS 운용을 위한 서버 프로그램, DBMS 등 * 개발 소프트웨어 종류 특..