자격증/정보처리기사

[정처기] 1과목 : 소프트웨어 설계 내용정리 - 4

leonie. 2025. 5. 21. 12:04

16. 디자인 패턴


(1) 디자인 패턴 ⭐️ 


1️⃣ 디자인 패턴 장점과 단점 ⭐️

구분 설명
장점 ❶ 개발자 간 원활한 의사 소통 지원
❷ 소프트웨어 구조 파악 용이
❸ 재사용 > 개발 시간 단축
❹ 설계 변경 요청에 대해 유연한 대처
❺ 객체지향 설계 및 구현의 생산성 증가
단점 ❶ 객체지향 설계 / 구현 위주로 사용
❷ 초기 투자 비용 부담

 


 

2️⃣ 디자인 패턴의 구성 요소 ⭐️

4가지 필수 요소와 추가 요소가 있다

구분 요소 설명
필수 요소 패턴의 이름 패턴을 부를 때 사용하는 이름과 패턴의 유형
문제 및 배경 패턴이 사용되는 분야 또는 배경
해법 패턴을 이루는 요소들, 관계 협동 과정
결과 패턴을 사용하면 얻게되는 이점이나 영향
추가요소 알려진 사례 간단한 적용사례
샘플코드 패턴이 적용된 원시 코드
원리 정당성, 근거  

 


 

3️⃣ GoF(Gangs of Four) 디자인 패턴 ⭐️

❶ 객체지향 설계 단계 중 재사용에 관한 유용한 설계를 디자인 패턴화 했다

❷ 생성 패턴, 구조 패턴, 행위 패턴으로 분류 한다.

 

 

생성 패턴 ⭐️

: 객체를 생성하는 것과 관련된 패턴

생성 패턴 설명
Factory Method ❶ 상위 클래스에서 객체를 생성하는 인터페이스 정의, 하위 클래스에서 인스턴스 생성
❷ Virtual-Constructor 패턴이라고 함
Singleton ❶ 전역 변수를 사용하지 않고 객체를 하나만 생성하도록
❷ 생성된 객체는 어디에서든지 참조할 수 있도록
Prototype ❶ prototype을 먼저 생성 후 인스턴스를 복제하여 사용
❷ 일반적인 방법으로 객체 생성
Builder ❶ 작게 분리된 인스턴스를 조립하든 조합하여 객체 생성
Abstraction Factory ❶ 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스를 제공
❷ 관련된 서브 클래스를 그룹지어 한 번에 교체

 

 

구조 패턴 

: 어떻게 구성할 것인지와 관련된 패턴

구조 패턴 설명
Adapter 기존에 구현되어 있는 클래스에 기능 발생 시
기존 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할
Bridge 기능 클래스 계층과 구현 클래스 계층을 연결
Composite
Decorator
Facade(퍼사드)
Flyweight
Proxy

 

 

행위 패턴

: 메시지 교환과 관련된 것으로, 객체간의 행위나 알고리즘 등과 관련된 패턴

행위 패턴 설명
Meditator 객체 간의 통제와 지시 역할
Chain of Responsibility (책임 연쇄)
Iterator (반복자)
Command (명령)
Interpreter (해석자)
Memento (기록)
Observer (감시자)
State (상태)
Stratege (전략)
Visitor (방문자)
Template Method

 

 

[관련 기출 문제]

Factory Method / 4 / 4 / 3 / 1

 

 

 

17. 인터페이스 요구사항 확인


(1) 인터페이스 요구사항


1️⃣ 인터페이스 요구사항 검증방법 ⭐️

방법 설명
프로토타이핑 기본적인 기능만 시제품으로 제공, 사용자의 피드백을 받음
테스트 설계 Test Case 생성, 요구사항이 현실적으로 테스트 가능한지 검토
CASE ❶ Computer Aid Software Engineering
❷ 일관성 분석을 통해 요구사항 변경의 추적과 분석을 통해 관리

요구사항 검토 동료 검토 동료에게 설명 후 동료들이 결함 찾기
워크스루 검토회의 전, 명세서 배포 - 짧은 검토 회의 - 결함 발견 (걸으며 나눠줌)
인스펙션 다른 팀이 검사하여 오류를 찾는 공식적 검토 방법

 

 

[관련 기출 문제]

비기능 요구사항 / 2 / 3 / 2 / 3

 

 

 

18. 인터페이스 대상 식별


(1) 대상 식별


 1️⃣ 인터페이스 시스템의 구성 ⭐️

: 서로 다른 시스템 간의 연결을 의미하며, 송신, 수신, 중계 서버로 구성된다

구분 설명
송신 시스템 연계할 데이터를 파일 형태로 생성하고 전송 
수신 시트템 데이터를 변환하여 DB에 저장하거나 활용
중계 시스템 송, 수신 상태 모니터링 

 

 

 

(2) 인터페이스 상세 설계


1️⃣ 내/외부 송, 수신 방식

구분 설명
직접 연계 방식 중계 서버 또는 솔루션 없이 직접 인터페이스
간접 연계 방식 연계 솔루션을 통해 송수신 엔진과 어댑터를 이용하여 인터페이스

 


 

2️⃣ 인터페이스 연계 기술

구분 설명
DB Link DB에서 제공하는 DB Link 객체를 이용
DB Connection WAS에서 송신 시스템으로 연결되는 DB Connection Pool을 생성하고 사용
API/ Open API 송신시스템의 DB에서 데이터를 읽어 API 제공
JDBC 수신 시스템의 프로그램에서 JDBC 드라이버를 이용하여 송신 시스템과 DB 연결
Hyper Link 웹 어플리케이션에서 Hyper Link 사용
Socket ⭐️ 서버에서 통신을 위한 소켓을 생성 후 포트 할당
이후 클라이언트의 통신 요청 시 연결
Web Service 웹 서비스에서 WSDL, UDDI, SOAP 프로토콜을 이용
연계솔루션 EAI 서버, 송수신 시스템에 설치되는 어댑터를 이용하는 방식

 

 

[관련 기출 문제]

수신 시스템 / DB Connection / 3 / 4 / 3

 

 

 

(3) 연계 기술


1️⃣ 시스템 연계 기술

구분
설명
API Application Programming Interface 상호작용을 하기 위한 인터페이스 사양
WSDL Web Service Description Language 프로토콜 등을 웹서비스를 통해 표준적인 방식으로 기술한 언어
UDDI Universal Description, Discovery and Integration 비즈니스 목록에 자신을 등재하기 위한 확장성 생성 언어 (XML)
기반의 규격화된 레지스트리
SOAP Simple Object Access Protocol 웹 서비스를 이용하기 위한 객체 간 통신 규약

 

 

[관련 기출 문제]

목록 - 정의서 / 인터페이스 정의서 / 1 / 1 / 1

 

 

 

19. 미들웨어 솔루션


(1) 미들웨어


1️⃣ 미들웨어 솔루션 정의 ⭐️

❶ 클라이언트와 서버 간 통신을 담당하는 시스템 소 프트웨어

❷ 표준화된 인터페이스를 통해 시스템간 데이터 교환에 일관성을 제공

❸ 분산된 업무를 동시에 처리 가능하여 자료의 일관성이 유지되어 부하의 분산이 가능

 


 

2️⃣ 미들웨어 솔루션의 유형 ⭐️


구분 설명
데이터베이스 ❶ DB제작사에서 제공하는 클라이언트와 데이터베이스를 연결하기 위한 미들웨어
❷ 종류 : Oracle의 Glue, Boland의 IDAPI, MS의 ODBC 등
TP-Monitor ❶ 트랜잭션을 감시하는 미들웨어
❷ 종류 : Oracle의 tuxedo, Tmax의 Tmax
ORB
(Object Request Broker)
❶ 객체지향 미들웨어로 CORBA 표준 스펙을 구현한 미들웨어
❷ 객체들 사이의 통신을 담당하는 핵심 기술
❸ 하나의 객체와 다른 객체 사이의 인터페이스를 정의
❹ 종류 :  Micro Focus의 Orbix, OMG의 CORBA
RPC
(Remote Procedure Call)
❶ 원격 프로시저를 로컬 프로시저처럼 호출하는 방식
❷ 종류 : OSF의 ONC/RPC, 이큐브 시스템의 Entera
MOM
(Messege Oriented Middleware)
❶ 메시지를 기반으로 하는 비동기식 메시지 전달 보장 방식 미들웨어
❷ 종류 : Oracle의 Message Q, JCP의 JMS, MS의 MSMQ
WAS
(Web Application Server)
❶ DB 서버와 같이 동적 서버 컨텐츠를 수행하는데 사용
❷ 동적인 웹 사이트, 어플리케이션, 서비스 개발을 지원하기 위해 설계된 미들웨어
❸ HTTP를 통한 장치에 Application을 수행해주는 미들웨어
종류 : RedHat의 JBoss, Tmax의 JEUS
객체 트랜잭션 모니터
OTM
❶ TP-MONITOR의 기능과 ORBs에 의해 재공되는 객체 기반 프로그램 인터페이스 제공
❷ 유연성 있는 통합적인 시스템 환경을 제공

 

 

미들웨어 솔루션 분류

 


 

3️⃣ Web 서버와 WAS의 구성 형태

 

 

[관련 기출 문제]

ORB / 3 / 2 / 3

 

 

[참고 영상]
[정보처리기사 필기 절대족보] 핵심이론 1과목-2(소프트웨어 설계)

 

 

 

728x90