본문 바로가기
자격증/정보처리기사

[정보처리기사 필기] Part 1 소프트웨어 설계 Chapter 3 애플리케이션 설계 공부

by Mr.ticket 2023. 11. 30.
728x90
1. 메모

 

프로시저(Procedure) : 어떠한 업무를 수행하기 위한 절차

Trade-Off : 하나를 얻으면 다른 하나를 잃을 수 있는 관계 즉, 상충관계

 

 

2. Point

 

코드의 종류

 - 순차 코드(Sequential Code) : 가나다순, 크기순 등 순차적으로 부여하는 코드

 - 블록 코드(Block Code) : 공통적인 특징을 띄는 성질끼리 블록으로 묶어 구분하고 순착적으로 부여하는 코드로 부서 코드를 예시로 들 수 있다.

 - 그룹 분류 코드(Group Classification Code) : 대, 중, 소분류와 같이 그룹별로 구분하여 순차적으로 부여하는 코드로 학번 코드를 예시로 들 수 있다.

 - 10진 코드(Decimal Code) :10진법 원리에 맞추어 대, 중, 소분류로 부여하는 코드로 도서 분류 코드를 예로 들 수 있다.

 - 표의 숫자 코드(Significant Digit Code) : 대상 항목의 크기, 중량 등을 사용하여 부여하는 코드

 - 연상기호 코드(Mnemonic Code) : 대상과 관계있는 문자나 숫자를 조합하여 만든 코드

 - 약자식 코드(Letter Type Code) : 제도적으로 널리 사용되는 문자를 그대로 사용하는 코드로 kg, cm 등을 예시로 들 수 있다.

 

팬 인, 팬 아웃

 - 팬 인(Fan-In) : 특정 모듈을 직접 제어하는 모듈의 수

 - 팬 아웃(Fan-Out) : 한 모듈에 의하여 제어되는 모듈의 수

 - 팬 인, 팬 아웃 계산 예시

팬 인, 팬 아웃 계산 예시 / 출처 : https://jtrimind.github.io/information-processing/fan-in-fan-out/

Module Fan-In Fan-Out
A 0 3
B 1 2
C 1 1
D 1 1
E 1 0
F 3 2
G 1 0
H 1 0

 

객체 지향 기본 개념

 - 객체(Object) : 현실세계에 존재할 수 있는 유, 무형의 모든 대상

 - 속성(Attribute) : 객체가 가지는 특성으로 객체의 현재 상태를 의미

 - 클래스(Class) : 공통된 행위와 특성을 가지는 객체의 집합

 - 메시지(Message) : 외부에서 하나의 객체에 보내지는 메소드의 요구로 함수 호출에 해당

 - 메소드(Method) : 객체의 동작을 규정하고 속상의 값을 변경

 - 인스턴스(Instance) : 클래스로부터 만들어진 객체

 - 다형성(Polymorphism) : 2개 이상의 클래스가 똑같은 메시지에 대해 객체가 서로 다르게 반응

 - 상속성(Inheritance) : 새로운 클래스를 정의할 때 기존의 클래스들의 속성을 상속받는 것

 - 캡슐화(Encapsulation) : 객체 정의 시에 서로 관련된 데이터와 함수를 묶어 외부와 경계를 만들어 필요한 인터페이스만을 외부로 드러내는 과정

 - 정보은닉(Information Hiding) : 외부에서 알아야 할 부분만 공개하고, 나머지는 숨기는 것

 

객체지향의 연관성

구분 관계성 종류 내용
연관화
(Association)
is member of 공통의 의미를 서로 연관된 집단으로 표현
분류화
(Classification)
is instance of 동일한 형의 특성을 갖는 객체가 모여 클래스를 구성
집단화
(Aggregation)
is part of 서로 관련 있는 여러 개의 객체를 묶어 한 개의 상위 객체를 생성
일반화
(Generalization)
is a 공통적인 성질들을 상위 객체로 정의

 

디자인 패턴 분류

분류 종류
생성 패턴
(Creational Pattern)
- Abstract Factory
- Builder
- Prototype
- Factory Method
- Singleton
구조 패턴
(Structural Pattern)
- Proxy
- Flyweight
- Bridge
- Adapter
- Composite
- Decorator
- Facade
행위 패턴
(Behavioral Pattern)
- Chain of Responsibility
- Command
- Interpreter
- Mediator
- Iterator
- Memento
- Observer
- State
- Vistor
- Strategy
- Template Method

 

3. 오답 노트

 

설계의 기본 원리 중에서 문제의 영역들을 각각의 기능 모듈 단위로 세분화하여 모듈간의 관계를 구조적으로 설계하는 과정은 ?

1. Modularity

2. Aggregation

3. Structure

4. Abstraction

위 설명은 Structure(구조화)에 대한 설명이다.

 

다음 중 객체지향 기법의 용어에 대한 설명이 올바르지 않은 것은 ?

1. 메시지 : 파일, 메소드, 패키지와 같이 프로그래밍 언어 단위로 정의된 컴포넌트

2. 객체 : 필요로 하는 데이터와 이 데이터를 처리하는 함수들을 가진 작은 소프트웨어 모듈

3. 상속 : 어떤 클래스에 정의된 요소가 다른 클래스에 의하여 소유된 것

4. 메소드 : 오퍼레이션의 구현, 클래스가 있는 프로시저

메시지는 한 컴포넌트에서 다른 컴포넌트로 정보를 보내는 것을 의미한다.

 

GoF(Gang of Four) 디자인 패턴과 관련한 설명으로 틀린 것은 ?

1. 디자인 패턴을 목적으로 분류할 때 생성, 구조, 행위로 분류할 수 있다.

2. Strategy 패턴은 대표적인 구조 패턴으로 인스턴스를 복재하여 사용하는 구조를 말한다.

3. 행위 패턴은 클래스나 객체들이 상호작용하는 방법과 책임을 분산하는 방법을 정의한다.

4. Singleton 패턴은 특정 클래스의 인스턴스가 오직 하나임을 보장하고, 이 인스턴스에 대한 접근 방법을 제공한다.

Strategy 패턴은 교환 가능한 행동을 캡슐화하고 위임을 통해서 어떤 행동을 사용할지 결정한다.

 

개인 공부를 위한 게시물로 틀린 내용을 포함할 수 있는 점 참고 부탁드립니다.
728x90

댓글