정보처리기사 필기/1과목

1과목 -4 (필기 개념 정리)

CE : 하랑 2023. 1. 18. 21:12

1. 결합도(Coupling)

(1) 자료 결합도 (Data Coupling) : 모듈 간의 인터페이스가 자료 요소로만 구성 될 때의 결합도

 

(2) 스탬프(검인) 결합도(Stamp Coupling) :  모듈 간의 인터페이스로 배열이나 레코드 등 의 자료 구조가 전달될 때의 결합도

 

(3) 제어 결합도 (Control Coupling) 

 

(4) 외부 결합도 (External Coupling) 

 

(5) 공통(공유) 결합도 (Common Coupling)

 

(6) 내용 결합도 (Content Coupling) 

 

(7) 특징

- 결합도가 강하면 시스템 구현 및 유지보수 작업이 어렵다.

- 다양한 결합으로 모듈을 구성할 수 있으나 결합도가 약 할수록 품질이 높고, 강할수록 품질이 낮다.

- 모듈 간에 상호 의존하는 정도 또는 두 모듈 사 이의 연관 관계를 의미한다.

 

 

 

 

2. 응집도(Cohesion)

(1) 정보 은닉 개념을 확장한 것으로, 명령어나 호 출문 등 모듈의 내부 요소들의 서로 관련되어 있는 정도, 즉 모듈이 독립적인 기능으로 정의되어 있는 정도를 의미 한다.

 

 

(2) 기능적 응집도 (Functional Cohesion)

 

(3) 순차적 응집도 (Sequential Cohesion) 

 

(5) 교환(통신)적 응집도 (Communication Cohesion)  

 

(6) 절차적 응집도 (Procedural Cohesion) 

 

(7) 시간적 응집도 (Temporal Cohesion)  

 

(8) 논리적 응집도 (Logical Cohesion)

 

(9) 우연적 응집도 (Coincidental Cohesion) 

 

 

 

 

3. 팬인(Fan-In) / 팬아웃(Fan-Out)

(1) 팬인은 어떤 모듈을 제어(호출)하는 모듈의 수를 나타 낸다.
(2) 팬아웃은 어떤 모듈에 의해 제어(호출)되는 모듈의 수 를 나타낸다.

 

 


 

1. N-S 차트(Nassi-Schneiderman Chart)

(1) 논리의 기술에 중점을 둔 도형을 이용한 표현 방법으로 박스 다이어그램, Chapin Chart라고도 합니다.

(2) 연속, 선택 및 다중 선택, 반복 등의 제어 논리 구조를 표현합니다.

(3) 총체적인 구조 표현과 인터페이스를 나타내기가 어렵 습니다.

(4) 이해하기 쉽고, 코드 변환이 용이합니다.

 

 

 

 

2. 공통 모듈의 개요

(1) 구성

- 정확성 (Correctness)

- 명확성(Clarity)

- 완전성(Completeness)

- 일관성 (Consistency)

- 추적성 (Traceability)

 


 

 

1. 코드의 종류

(1) 순차 코드 (Sequence Code) : 자료의 발생 순서, 크기 순서 등 일정 기준에 따라서 최초의 자료부터 차례로 일련번호를 부여하는 방법 으로, 순서 코드 또는 일련번호 코드라고도 함

 

(2) 블록 코드 (Block Code) : 코드화 대상 항목 중에서 공통성이 있는 것끼리 블록으로 구분하고, 각 블록 내에서 일련번호를 부여하는 방법으로, 구분 코드라고도 함

 

(3) 10진 코드 (Decimal Code)

(4) 그룹 분류 코드 (Group Classification Code)

(5) 연상 코드 (Mnemonic Code)

(6) 표의 숫자 코드 (Significant Digit Code)

(7) 합성 코드 (Combined Code)

 

 

 

 

2. 디자인 패턴(Design Pattern)의 개요

(1) 각 모듈의 세분화된 역할이나 모듈들 간의 인터페이스와 같은 코드를 작성하는 수준의 세부적인 구 현 방안을 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제를 의미한다.

(2) 디자인 패턴은 문제 및 배경, 실제 적용된 사례, 재사용 이 가능한 샘플 코드 등으로 구성되어 있다.

(3) GoF의 디자인 패턴은 유형에 따라 생성 패턴 5개, 구조 패턴 7개, 행위 패턴 11개 총 23개의 패턴으로 구성된다.

 

 


 

1. 생성 패턴 (Creational Pattern)

(1) 추상 팩토리 (Abstract Factory) : 구체적인 클래스에 의존하지 않고, 인터페이스를 통해 서로 연관·의존하는 객체들의 그룹으로 생성 하여 추상적으로 표현함

 

(2) 빌더 (Builder) : 객체의 생성 과정과 표현 방법을 분리하고 있어, 동 일한 객체 생성에서도 서로 다른 결과를 만들어 낼 수 있음

 

(3) 팩토리 메소드 (Factory Method) : 객체 생성을 서브 클래스에서 처리하도록 분리하여 캡슐화한 패턴

 

(4) 프로토타입 (Prototype) : 원본 객체를 복제하는 방법으로 객체를 생성하는 패턴

 

(5) 싱글톤 (Singleton) : 하나의 객체를 생성하면 생성된 객체를 어디서든 참조할 수 있지만, 여러 프로세스가 동시에 참조할 수는 없음

 

 

 

 

 

2. 구조 패턴 (Structural Pattern)

(1) 어댑터 (Adapter) : 호환성이 없는 클래스들의 인터페이스를 다른 클 래스가 이용할 수 있도록 변환해주는 패턴

 

(2) 브리지 (Bridge) : 구현부에서 추상층을 분리하여, 서로가 독립적으 로 확장할 수 있도록 구성한 패턴

 

(3) 컴포지트 (Composite) : 여러 객체를 가진 복합 객체와 단일 객체를 구분 없이 다루고자 할 때 사용하는 패턴

 

(4) 데코레이터 (Decorator) : 객체 간의 결합을 통해 능동적으로 기능들을 확 장할 수 있는 패턴

 

(5) 퍼싸드 (Facade) : 복잡한 서브 클래스들을 피해 더 상위에 인터페 이스를 구성함으로써 서브 클래스들의 기능을 간 편하게 사용할 수 있도록 하는 패턴

 

(6) 플라이웨이트 (Flyweight) : 인스턴스가 필요할 때마다 매번 생성하는 것이 아니고 가능한 한 공유해서 사용함으로써 메모리 를 절약하는 패턴

 

(7) 프록시 (Proxy) : 접근이 어려운 객체와 여기에 연결하려는 객체 사이에서 인터페이스 역할을 수행하는 패턴

 


 

1. 행위 패턴(Behavioral Pattern)

(1) 책임 연쇄 (Chain of Responsi- bility)

 

(2) 커맨드 (Command) : 요청을 객체의 형태로 캡슐화하여 재이용하거나 취소할 수 있도록 요청에 필요한 정보를 저장하거 나 로그에 남기는 패턴

 

(3) 인터프리터 (Interpreter) : 언어에 문법 표현을 정의하는 패턴

 

(4) 반복자 (Iterator)

 

(5) 중재자 (Mediator)

 

(6) 메멘토 (Memento)

 

(7) 옵서버 (Observer) : 한 객체의 상태가 변화하면 객체에 상속되어 있는 다른 객체들에게 변화된 상태를 전달하는 패턴

 

(8) 상태 (State) : 객체의 상태에 따라 동일한 동작을 다르게 처리해 야 할 때 사용하는 패턴

 

(9) 전략 (Strategy) : 동일한 계열의 알고리즘들을 개별적으로 캡슐화 하여 상호 교환할 수 있게 정의하는 패턴

 

(10) 템플릿 메소드 (Template Method) : 상위 클래스에서 골격을 정의하고, 하위 클래스에 서 세부 처리를 구체화하는 구조의 패턴

 

(11) 방문자 (Visitor)

 

 

 

 

 

2. 요구사항 검증 방법

(1) 요구사항 검토(Requirements Review)

- 동료검토 (Peer Review) : 요구사항 명세서 작성자가 명세서 내용을 직접 설명 하고 동료들이 이를 들으면서 결함을 발견하는 형태 의 검토 방법

 

- 워크스루 (Walk Through) : 검토 회의 전에 요구사항 명세서를 미리 배포하여 사 전 검토한 후에 짧은 검토 회의를 통해 결함을 발견 하는 형태의 검토 방법

 

- 인스펙션 (Inspection) : 요구사항 명세서 작성자를 제외한 다른 검토 전문가 들이 요구사항 명세서를 확인하면서 결함을 발견하 는 형태의 검토 방법

 

 

 

 

 

 

 

'정보처리기사 필기 > 1과목' 카테고리의 다른 글

1과목 -5 (필기 개념 정리)  (0) 2023.01.19
1과목 -3 (필기 개념 정리)  (0) 2023.01.18
1과목 -2 (필기 개념 정리)  (0) 2023.01.17
1과목 -1(필기) 내용 정리  (0) 2023.01.17