정보처리기사(23)

서창민·2024년 1월 25일
0

자격증

목록 보기
59/70
post-thumbnail

정보처리기사

응용 S/W 구현관리

모듈(Module)

- 모듈은 모듈화를 통해 분리된 시스템의 각 기능들로 서브루틴, 서브시스템,
  소프트 웨어 내의 프로그램, 작업단위등과 같은 의미로 사용

모듈화
: 시스템을 독립적으로 부분하고 분활하고 복잡한 문제를 작고 간결한 부분으로
  나누어 문제를 해결하는 방식
  
특징
- 코딩, 컴파일 독립성으로 실행되며 재사용이 가능
- 모듈의 기능적 독립성은 소프트웨어를 구성하는 각 모듈의 기능이 서로 독립됨을 의미하는 것으로 
  모듈이 하나의 기능만을 수행하고 다흔 모듈과의 과도한 상호작용을 배제함으로써 이루어짐
- 모듈의 독립성을 높이기 위해서는 결합도는 줄이고 응집도는 높임
- 다른 모듈의 영향을 주지 않을 수 있으므로 수정이 용이

모듈의 평가기준 - 응집도와 결합도

응집도(cohesion)
: 한 모듈 내에 있는 구성요소의 기능적 관련성을 평가하는 기준
: 응집도가 높을수록 모듈의 독립성은 높아짐

응집도별 목록(높음 > 낮은 순)
기능적 응집도 : 모듈내의 요소가 갖는 기능의 응집도
순차적 응집도 : 모듈내의 상위 라인의 출력 요소가 하위 라인의 입력 요소로 사용
통신적 응집도 : 여러가지 기능을 수행하며 모듈 내 구성요소들이 같은 
              입력자료 입력 또는 동일 출력 데이터를 만들어 내는 경우
절차적 응집도 : 모듈 내 명령의 기능이 절차에 맞게 처리
              (입출력을 공유하지 않으나 순서에 따라 수행될 필요가 있는 경우)
시간적 응집도 : 특정한 시점에서 작업을 수행하는 경우
              시간의 흐름에 따라 작업순서가 정렬되는 응집관계
논리적 응집도 : 특정한 시점에서 작업을 수행하는 경우, 
              시간의 흐름에 따라 작업순서가 정렬되는 응집관계
우연적 응집도 : 관련없는 요소들로 구성된 모듈
              (단순히 일정한 크기로 분할된 경우)
결합도(coupling) 
: 모듈과 모듈간의 상호 의존도를 측정하는 것
: 좋은 설계는 결합도를 최소화 하여 모듈의 독립성을 높인 것

결합도별 목록(높음 > 낮음 순)
자료 결합도(data Coupling)
: 두 모듈간 꼭 필요한 자료만 전달하는 양성적 결합성
스탬프 결합도(stamp Coupling)
: 두 모듈간 자료구조로 전달하는 결합성으로 불필요한 자료도 전달되는 문제발생
제어 결합도(control Coupling)
: 두 모듈간 제어신호 전달하는 결합성
외부 결합도(external Coupling)
: 두 모듈간 전역변수로 선언된 공유자료 전달
공통 결합도(common Coupling)
: 두 모듈간 공통주소를 사용하여 음성적 전달
내용 결합도(content Coupling)
: 두 모듈간 내용으로 전달하여 그 내용이 변경되면 사용하는 모든 모듈이 영향

Fan-in/Fan-out

Fan-in(공유도)
: 어떤 모듈을 제어(호출)하는 모듈의 수를 의미
Fan-out(제어폭)
: 어떤 모듈에 의해 제어(호출)되는 모듈의 수를 의미
- Fan-in 이 높다는 것은 재사용 측면에서 설계가 잘 되어있다고 볼수 있음
  단일 장애점이 발생할 수 있으므로 중점적인 관리 및 테스트가 필요
- Fan-out이 높은 경우 불필요하게 다른 모듈을 호출하고 있는지 검토
  단순화 시킬수 있는지 여부 확인 필요
- Fan-in은 높게, Fan-out은 낮게 설게해야 시스템 복잡도를 최적화 할 수 있음
  • 연계 모듈 통합

EAI(Enterprise Application Integration)

- 기업 내 비즈니스와 애플리케이션을 유기적으로 통합하여 정보 교환 및 
  연계가 가능한 미들웨어 인프라
- 플랫폼 간의 정보전달, 연계, 통합 등 상호 연동이 가능한 솔루션

EAI 구축유형

ESB(Enterprise Service Bus)

- 애플리케이션들의 상호연동, 데이터 변환, 웹 서비스 지원 등 표준기반의 인터페이스를 제공하는 솔루션
- EAI와 통합한다는 의미에서는 같으나 통합 대상이 애플리케이션이 아닌 서비스
- 특정 서비스에 국한되지 않고 범용적으로 사용하기 위해 애플리케이션과의 결합도를 약하게 유지

웹서비스(Web Service)

네트워크 정보를 표준화된 서비스 형태로 만들어 공유하는 기술
구성
SOAP(Simple Object Access Protocol)
: http, https, smtp 등을 활용하여 SML 기반의 메시지를 네트워크 상에서 교환하는 프로토콜
UDDI(Universal Description Discovery and Integration)
: WSDL을 등록하여 서비스와 서비스 제공자를 검색하고 접근하는데 사용
WSDL(Web Service Description Language)
: 웹 서비스명, 서비스 제공위치, 프로토콜 등 웹 서비스에 대한 상세 정보를 XML 형식으로 구현

XML(eXtensible Markup Language)

웹 브라우저 간 html문법이 호환되지 않는 문제와 SGML의 복잡함을 해결하기 위해 개발된 언어
유니코드를 기반으로 다국어 지원
텍스트 형식의 데이터 포맷으로 다양한 플랫폼과 시스템에서 활용할 수 있음
사용자가 직접 문서의 태그를 정의할 수 있음
다른 사용자가 정의한 태그를 사용할 수 있음

SOAP(Simple Object Access Protocol)

웹 서비스에서 사용되는 메시지의 형식과 처리방법을 지정
HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신이 가능
XML과 동일한 텍스트 형식의 데이터 포맷으로 다양한 플랫폼과 시스템에서 활용 가능
구성요소
Envelope(메시지에 대한 요소와 접근 방법 기술)
Header
Body(soap 메시지 전송)

WSDL(Web Service Description Language)

XML로 작성되며 UDDI의 기초가 됨
SOAP, XML, 스키마와 결합하여 인터넷에서 웹 서비스를 제공하기 위해 사용

Ajax(Asynchronous Javacript And Xml)

- 브라우저가 가지고 잇는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로고치지 않고도
  페이지의 일부만을 위한 데이터를 로드하는 웹 개발 기법
- SOAP나 XML기반의 웹 서비스 프로토콜이 사용되며, 
  웹 서버의 응답을 처리하기 위해 클라이언트에선 자바스크립트를 사용
- 웹 서버에서 전적으로 처리되던 데이터 처리의 일부분이 클라이언트에서 처리되므로 
  웹 브라우저와 웹 서버간에 교환되는 데이터의 처리량이 줄어듦

체크포인트

문제 1

정답 : 
내용결합도
공통결합도
제어결합도
스탬프결합도
데이터결합도

문제 2

정답 :  WSDL
profile
Back-end Developer Preparation Students

0개의 댓글