관리 메뉴

나구리의 개발공부기록

2강 / CHAPTER 01 - UI 요구사항 확인, CHAPTER 02 - UI 설계 (일부만 작성), 4강 / CHAPTER 02 - 내외부 연계 모듈 구현 (일부만 작성) 본문

2024정보처리기사 준비 정리(필기 - 시나공, 실기 - 수제비)/실기 1강 - 요구사항 확인(일부분), 2강 - 화면설계(일부분)

2강 / CHAPTER 01 - UI 요구사항 확인, CHAPTER 02 - UI 설계 (일부만 작성), 4강 / CHAPTER 02 - 내외부 연계 모듈 구현 (일부만 작성)

소소한나구리 2024. 7. 26. 14:29

2024년도 수제비 실기책(6판) 내용 정리


CHAPTER 01 - UI 요구사항 확인 / 1. UI 요구사항 확인

1) UI 설계 원칙

  • 직관성 - 누구나 쉽게 이해하고 쉽게 사용할 수 있어야 함
  • 유효성 - 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작
  • 학습성 - 초보와 숙련자 모두가 쉽게 배우고 사용할 수 있게 제작
  • 유연성 - 사용자의 요구사항을 최대한 수용하고 실수를 방지할 수 있도록 제작

2) UI 품질 요구사항(ISO/IEC 9126기반)

  • 기능성 : 실제 수행 결과와 품질 요구사항과의 차이를 분석 -> 실제 사용 시 정확하지 않은 결과가 발생할 확률과 관련하여 시스템의 동작을 관찰하기 위한 품질 기준
  • 신뢰성 : 일정한 시간 또는 작동되는 시간 동안 의도하는 기능을 수행함을 보증하는 품질 기준
  • 사용성 : 사용자와 컴퓨터 사이에 발생하는 어떠한 행위를 정확하고 쉽게 인지할 수 있는 품질 기준
  • 효율성 : 할당된 시간에 한정된 자원으로 얼마나 빨리 처리할 수 있는가에 대한 품질 기준
  • 유지보수성 : 요구사항을 개선하고 확장하는데 있어서 얼마나 용이한가에 대한 품질기준
  • 이식성 : 다른 플랫폼(운영체제)에서도 많은 추가 작업이 없어도 얼마나 쉽게 적용이 가능한가에 대한 품질 기준

CHAPTER 01 - UI 설계 / 1. UML

1) UML 구성요소

  • 사물(Things) : 추상적인 개념, 주제를 나타내는 요소 / 단어 관점에서 명사 또는 동사를 의미
  • 관계(Relationships) : 사물의 의미를 확장하고 명확하게 하고, 사물과 사물을 연결하여 관계를 표현하는 요소 / 단어 관점에서 형용사 또는 부사를 의미
  • 다이어그램(Diagrams) : 사물과 관계를 모아 그림으로 표현 / 형식과 목적에 따라 9가지로 정의

2) 구조적 다이어그램(Structural Diagram) / 정적 다이어그램(Static Diagram)

다이어그램 설명
클래스(Class) 클래스의 속성 및 연산과 클래스 간 정적인 관계를 표현
객체(Object) - 클래스에 속한 사물(객체)들, 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현
- 연관된 모든 인스턴스를 표현
컴포넌트
(Component)
시스템을 구성하는 컴포넌트와 그들 사이의 의존관계를 나타냄
배치(Deployment) 컴포넌트 사이의 종속성을 표현하고 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현
복합체 구조 (Composite 
Structure)
클래스나 컴포넌트가 복합 구조를 갖는 경우 내부 구조를 표현
패키지(Package) 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현

3) 행위적 다이어그램(Behavioral diagram) / 동적 다이어그램(Dynamic Diagram)

다이어그램 설명
유스케이스
(Usecase)
시스템이 제공하고 있는 기능 및 그와 관련된 외부 요소를 사용자의 관점에서 표현
시퀀스
(Sequence)
객체 간 동적 상호 작용을 시간적 개념을 중심으로 메세지 흐름을 표현
커뮤니케이션
(Communication)
동작에 참여하는 객체들이 주고받는 메세지를 표현, 메세지뿐 아니라 객체 간의 연관까지 표현
상태(State) 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지 표현
활동(Activity) 시스템이 어떤 기능을 수행하는지를 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서대로 표현
타이밍(Timing) 객체 상태 변화와 시간 제약을 명시적으로 표현

CHAPTER 02 - 내외부 연계 모듈 구현

1) EAI(Enterprise Application Integration)

  • 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간의 정보를 전달, 연계 통합이 가능하도록 해주는 솔루션
구축 유형 설명
포인트 투 포인트
(Point-to-point)
- 가장 기초적인 애플리케이션 통합방법으로 1:1 단순 통합방법
- 솔루션을 구매하지 않고 개발자 간의 커뮤니케이션을 통해서도 통합가능함
허브 앤 스포크
(Hub & Spoke)
- 단일한 접점의 허브 시스템을 통해 데이터를 전송하는 중앙 집중식 방식
- 허브 장애 시 전체 장애 발생
메세지 버스
(Message Bus)
- 애플리케이션 사이 미들웨어(버스)를 두어 연계하는 미들웨어 통합 방식
- 확장성이 뛰어나고 대용량 데이터 처리가 가능
하이브리드
(Hybrid)
- 그룹 내는 허브 앤 스포크, 그룹 간에는 메세지 버스 방식을 사용
- 그룹 내 환경에 맞는 작업 가능

2) ESB(Enterprise Service Bus)

  • 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간을 하나의 시스템으로 관리 운영할 수 있도록 서비스 중심의 통합을 지향하는 아키텍처
  • 미들웨어(Bus)를 중심으로 각각 프로토콜이 호환할 수 있도록 애플리케이션의 통합을 느슨한 결합 방식으로 지원함

3) 웹 서비스 유형(Enterprise Service Bus)

  • SOAP, UDDI, WSDL

(1) SOAP(Simple Object access Protocol)

 

  • HTTP, HTTPS, SMTP 등을 사용하여 XML 기반의 메세지를 네트워크 상태에서 교환하는 프로토콜
  • HTTP 프로토콜 상에 SOAP Envelop, 헤더, 바디 등이 추가된 XML 문서로 기본적인 송수신은 HTTP로 수행
  • 보통 RPC(원격 프로시저 호출)을 하는 메세지 패턴을 사용
  • 네트워크 노드에서 다른 쪽 노드로 메세지를 요청하고 서버는 메세지를 즉시 응답

(2) WSDL(Web Service Description Language)

 

  • 웹 서비스명, 제공 위치, 메세지 포맷, 프로토콜 정보 등 웹 서비스에 대한 상세 정보가 기술된 XML 형식으로 구현되어 있는 언어
  • SOAP와 XML 스키마와 결합하여 인터넷 상에 웹 서비스를 제공하기 위해 사용되기도 함

(3) UDDI (Universal Description, Discovery and Integration)

 

  • 웹 서비스에 대한 정보인 WSDL을 등록하고 검색하기 위한 저장소 공개적으로 접근, 검색이 가능한 레지스트리이자 표준
  • 서비스 제공자는 UDDI라는 서비스 소비자에게 이미 알려진 온라인 저장소에 그들이 제공하는 서비스 목록들을 저장하게 되고, 서비스 요청자들은 그 저장소에 접근함으로써 원하는 서비스들의 목록을 찾을 수 있게 됨
  • 알려진 송수신 시스템의 통합 구현에서는 서비스의 공개 및 검색과정이 필요없으므로 UDDI를 구축하지 않음

3) IPC (Inter-Process Communication)

  • 프로세스 간 서로 데이터를 주고받기위한 통신 기술
주요 기법 설명
메세지 큐(Message Queue) 프로세스 도는 프로그램 간에 데이터를 교환하는 통신 방법
공유 메모리(Share Memory) 컴퓨터 환경에서 여러 프로그램이 동시에 접근할 수 있는 메모리
소켓(Socket) IP주소와 Port번호가 합쳐진 네트워크상에서 서버프로그램과 클라이언트 프로그램이 통신할 수 있도록 해주는 교환 기술
세마포어(Semaphore) 각 프로세스에 제어신호를 전달하여 순서대로 작업을 수행하게 하는 기법

4) LOD(Linked Open Data)

  • 웹상에 존재하는 데이터를 개별URI로 식별하고 각 URI에 링크 정보를 부여함으로써 상호 연결된웹을 지향하는 아키텍처
  • HTTP, RDF, URI 등 웹 표준을 활용해서 데이터를 누구나 자유롭게 활용하고 재생산할 수 있도록 개방한 데이터
  • Open Data를 Link