자격증/정보처리기사
[정처기] 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 |
[관련 기출 문제]
17. 인터페이스 요구사항 확인
(1) 인터페이스 요구사항
1️⃣ 인터페이스 요구사항 검증방법 ⭐️
방법 | 설명 |
|
프로토타이핑 | 기본적인 기능만 시제품으로 제공, 사용자의 피드백을 받음 | |
테스트 설계 | Test Case 생성, 요구사항이 현실적으로 테스트 가능한지 검토 | |
CASE | ❶ Computer Aid Software Engineering ❷ 일관성 분석을 통해 요구사항 변경의 추적과 분석을 통해 관리 |
|
요구사항 검토 | 동료 검토 | 동료에게 설명 후 동료들이 결함 찾기 |
워크스루 | 검토회의 전, 명세서 배포 - 짧은 검토 회의 - 결함 발견 (걸으며 나눠줌) | |
인스펙션 | 다른 팀이 검사하여 오류를 찾는 공식적 검토 방법 |
[관련 기출 문제]
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 서버, 송수신 시스템에 설치되는 어댑터를 이용하는 방식 |
[관련 기출 문제]
(3) 연계 기술
1️⃣ 시스템 연계 기술
구분 |
설명 | |
API | Application Programming Interface | 상호작용을 하기 위한 인터페이스 사양 |
WSDL | Web Service Description Language | 프로토콜 등을 웹서비스를 통해 표준적인 방식으로 기술한 언어 |
UDDI | Universal Description, Discovery and Integration | 비즈니스 목록에 자신을 등재하기 위한 확장성 생성 언어 (XML) 기반의 규격화된 레지스트리 |
SOAP | Simple Object Access Protocol | 웹 서비스를 이용하기 위한 객체 간 통신 규약 |
[관련 기출 문제]
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의 구성 형태
[관련 기출 문제]
[참고 영상]
[정보처리기사 필기 절대족보] 핵심이론 1과목-2(소프트웨어 설계)
728x90