CH02 연계 메커니즘 구성
📢 주요연계기술
# 직접연계
📌 DB링크 : 데이터베이스에서 제공하는 DB링크 객체를 이용
📌 API
> 송신 시스템의 DB에서 데이터를 읽어서 제공하는 애플리케이션 프로그래밍 인터페이스 프로그램
> 응용 프로그램에서 사용할 수 있도록, 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수있게 만든 인터페이스이고, 응용프로그램에서 데이터를 주고받기 위한 방법을 의미한다.
📌 JDBC (Java Database Connectivity)
> 수신 시스템의 프로그램에서 JDBC 드라이버를 이용하여 송신 시스템 DB와 연결
> 데이터베이스에서 자료를 조회하거나 업데이트하기 위해서 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API
#간접연계
📌EAI (연계솔루션)
> 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간의 정보 전달, 연계, 통합을 가능하게 해주는 솔루션
📌 소켓
> 소켓을 생성하여 포트를 할당하고, 클라이언트의 요청을 연결하여 통신
> 네트워크를 경유하는 프로세스 간 통신의 접속점으로 클라이언트와 서버 프로그램 사이에 데이터를 송수신할 수 있는 기술
> IP/address와 Port넘버가 합쳐진 , 네트워크상에서 서버 프로그램과 클라이언트 프로그램이 통신 할 수 있도록 해주는 교환 기술
📢웹 서비스 유형
📌 SOAP(Simple Object Access Protocol) : HTTPS , SMTP등을 사용하여 XML기반의 메시지를 네트워크 상태에서 교환하는 프로토콜
📌 WSDL(Web Service Description Language) : 웹 서비스명, 제공위치, 메시지 포맷 등 웹 서비스에 대한 상세 정보가 기술된 XML 형식으로 구현 되어 있는 언어
📌 UDDI (Universal Description , Discovery and Intergration) : 웹 서비스에 대한 정보인 WSDL을 등록하고 검색하기 위한 저장소로 공개적으로 접근,검색이 가능한 레지스트
#디자인패턴
📢 생성패턴
📌 빌더(builder) : 복잡한 인스턴스를 조립해 만드는 구조, 건축가가 블록을 조립하는 모습
📌 프로토타입(prototype) : 원복 객체를 복사한 후 필요한 부분만 수정, 복제품 만들기
📌 팩토리매소드 (Factory Method) : 상위 클래스에서 인터페이스 정의, 하위 클래스에서 인스턴스 생성, 부품부터 완성품까지 통째로 찍어내는 캡슐화공장
📌 추상팩토리(Abstract factory) : 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스 제공, 서로 다른 부품을 조립만 하는 조립 공장
📌 싱글톤 (Singleton) : 전역 변수 사용하지 않고 객체 하나만 생성, 그 객체는 어디서든 참조가능, 하나뿐인
📢 구조패턴
📌 브릿지(Bridge) : 기능 계층과 구현 계층을 연결, 두 섬을 연결하는 다리
📌 데코레이터(Decorator) : 기존에 구현되어 있는 클래스에 필요한 기능 추가해 나감, 덧붙이는 방식
📌 퍼싸드(Facade) : 복잡한 시스템에 단순한 인터페이스 제공, 간편하게 사용가능 외부(Facade)리모컨
📌 플라이웨이트(Flyweight) : 메모리 절약, 클래스의 경량화, 부담을 가볍게(Flyweight)하다,
📌 프록시(Proxy) : 실제 객체에 대한 대리 객체, 대리해서 처리해줌
📌 컴포지트(composite) : 객체들의 관계를 트리 구조로 여러 객체로 구성, 폴더와 파일을 합성(Composite)
📌 어댑터(Adapter) : 중간에서 맞춰주는 역활, 변압기
📢 행위패턴
📌 미디에이터 (중재자)(Mediator) : 객체들 간의 복잡한 상호작용을 캡슐화하여 객체로 정의하는 패턴, 중간에 통제
📌 인터프리터(Interpreter) : 언어의 다양한 해석, 번역가
📌 이터레이터 (Iterator) 반복자 : 자료 구조와 같이 접근이 잦은 객체에 대해 동일한 인터페이스를 사용하도록하는 패턴, 같은 명령의 반복
📌 템플릿 메서드 (Template Method) : 큰 틀을 묶는것, 상위 클래스-추상 , 하위클래스-구체
📌 옵저버 (Observer) : 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에 연락, 상태를 전달
📌 스테이트(State) : 상태에 따라 다르게 처리할 수 있도록 행위 내용 변경,
📌 비지터(Visitor) : 클래스의 메서드가 각 클래스를 돌아다니며 특정 작업 수행, 여기저기 방문, 객체 구조 변경 없으면서 기능만 따로 추가
📌 커맨드(Command) : 명령이 들어오면 그에 맞는 서브 클래스 선택되어 실행, 각 종 명령어 모음
📌 스트레티지 (전략)(Strategy) : 알고리즘 군 정의, 행위를 클래스로 캡슐화해 동적으로 행위 자유롭게 변환
📌 메맨토(Memento) : Undo(작업취소) 기능 개발, 그때로 돌아가는것
📌 체인 오브 Chain of Responsibility : 정적으로 어떤 기능에 대한 처리의 연결이 하드 코딩 되어 있을 때, 이를 동적으로 연결되어 있는 경우에 따라 다르게 처리될 수 있도록 연결한 디자인
📢 객체지향 분석
> 사용자의 요구사항과 관련된 객체, 속성, 연산,관계 등을 정의하여 모델링하는 작업
📢 객체지향 분석의 방법론
📌 럼바우 방법
> 분석 활동을 객체 모델, 동적모델,기능 모델로 나누어 수행함
📌 부치(Booch) 방법
> 미시적 갭라 프로세스와 거시적 개발 프로세를 모두 사용함
📌 Coad와 Yourdon 방법
> E-R다이어그램을 사용하여 객체의 행위를 모델링함
📌 Wirfs-Brock 방법
> 분석과 설계 간의 구분이 없고, 고객 명세서를 평가해서 설계 작업까지 연속적을 수행함
📢 객체지향 설계 원칙 SOLID
📌 단일 책임 원칙(SRP)
> 객체는 단 하나의 책임만 가져야 한다는 원칙
📌 개방 폐쇄 원칙 (OCP)
> 기존의 코드를 변경하지 않고 기능을 추가할 수 있도록 설계
📌 리스코프 치환 원칙 (LSP)
> 지식 클래스는 최소한 부모 클래스의 기능은 수행할 수 있어야 한다는 원칙
📌 인터페이스 분리 원칙 (ISP)
> 자신이 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 한다는 원칙
📌 의존 역전 원칙 (DIP)
> 의존 관계 성립시 추상성이 높은 클래스와 의존 관계를 맺어야 한다는 원칙
📢 응집도
📌 우연적(Coincidental)
> 모듈 내부의 각 구성 요소들이 서로 관련 없는 요소로만 구성된 경우의 응집도
📌 논리적 (Logical)
> 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들로 하나의 모듈이 형성되는 경우의 응집도
📌 시간적 (Temporal)
> 특정 시간에 처리되는 몇개의 기능을 모아 하나의 모듈로 작성할 경우의 응집도
📌 절차적 (Procedural)
> 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행할 경우의 응집도
📌 통신적(교환적)(Communication)
> 동일한 입력과 출력을 사용하여 서로 다른 기능을 수행하는 구성 요소들이 모였을 경우의 응집도
📌 순차적 (Sequential)
> 모듈 내 하나의 활동으로부터 나온 출력 데이터를 그 다음 활동의 입력 데이터로 사용할 경우의 응집도
📌 기능적 (Functional)
> 모듈 내부의 모든 기능 요소들이 단일 문제와 연관되어 수행될 경우의 응집도
📢 결합도
📌 내용 (Content)
> 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 작접 참조하거나 수정할 때의 결합도
> 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우의 결합도
📌 공통(Common)
> 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도
> 파라미터가 아닌 모듈 밖에 선언되어있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호작용하는 경우의 결합도
📌 외부(External)
> 어떤 모듈에서 선언한 데이터를 외부의 다른 모듈에서 참조할 때의 결합도
> 두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜 또는 디바이스 인터페이스를 공유할 경우의 결합도
📌 제어 (Control)
> 어떤 모듈이 다른 모듈 내부의 논리적인 흐름을 제어하기 위해 제어 신호나 제어 요소를 전달하는 결합도
> 단순 처리할 대상인 값만 전달되는게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달되는 경우의 결합도
📌 스탬프 (Stamp)
> 모듈 간의 인터페이스로 배열이나 레코드 등의 자료 구조가 전달될 때의 결합도
📌 자료 (Data)
> 모듈간의 인터페이스가 자료 요소로만구성될 때의 결합도
> 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈간의 상호작용이 일어나는 경우의 결합도
'정보처리기사' 카테고리의 다른 글
정보처리기사 실기 [09. 소프트웨어 보안 구축] (0) | 2024.01.22 |
---|---|
정보처리기사 실기 [2. 화면 설계] (0) | 2024.01.22 |
정보처리기사 실기 [11.응용 SW기초기술활용] (0) | 2024.01.17 |
정보처리기사 실기 [1. 요구사항 확인] (0) | 2024.01.17 |
정보처리기사 실기 [3. 데이터 입출력 구현] (0) | 2023.07.11 |