우당탕탕 개발일지

4. 인터페이스 설계 본문

정보처리기사/part01.소프트웨어 설계

4. 인터페이스 설계

kyunge_ev 2023. 12. 12. 23:06

✅ 인터페이스 요구사항 확인

1. 내외부 인터페이스 요구사항

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

  • 인터페이스 요구사항이란 목표 시스템과 외부 환경이 상호작용할 수 있도록 연결하기 위한 조건이나 특성 및 규약 등에 대한 요건을 기술한 것
    • 상호 운영을 통해 작용하기 위한 접속 방법이나 규칙

(2) 인터페이스 요구사항 검토 방법

  • ‘리뷰’ 회의를 통해 오류 발견을 목적
동료 검토
(Peer Review)
요구사항 명세서 작성자가 요구사항 명세서를 설명하고 이해 관계자들이 설명을 들으면서 결함을 발견한다.
워크 스루 (=검토회의)
(Walk-througj)
회의 전에 검토 자료를 배포해서 사전 검토한 후 짧은 시간 동안 검토 회의를 진행하면서 결함을 발견한다.
인스펙션
(=검열, 보다 강한 검토회의)
(Inspection)
작성자 이외의 전문 검토 그룹이 요구사항 명세서를 상세히 조사하여 결함, 표준 위배, 문제점 등을 파악한다.

(3) 외부 인터페이스 요구사항

사용자 인터페이스(User Interface)

  • 시스템이 요구하는 각각의 사용자 인터페이스의 논리적인 특징을 설명한다.
  • 폰트, 아이콘, 버튼 레이블, 이미지, 색상 체계, 필드탭 순서, 공통으로 사용되는 컨트롤 등에 대한 표준
  • 화면 레이아웃 또는 해상도 제약 조건
  • 도움말 버튼과 같이 모든 화면에 나타나는 표준 버튼, 기능 또는 탐색 링크

하드웨어 인터페이스(Hardware Interface)

  • 시스템의 소프트웨어와 하드웨어 컴포넌트 간의 모든 인터페이스의 특징을 설명

소프트웨어 인터페이스(SorftWare Interface)

  • 제품과 다른 소프트웨어 컴포넌트(데이터베이스, 운영체제, 툴, 라이브러리, 통합 상업용 컴포넌트) 간의 연결을 설명
  • 소프트웨어 컴포넌트 간에 교환되는 메시지, 데이터와 컨트롤 항목을 설명

통신 인터페이스(Communications Interface)

  • 이메일, 웹 브라우저, 네트워크 통신 프로토콜, 전자 문서와 같이 제품이 사용할 모든 통신 기능에 대한 요구사항을 설명
  • 관련된 모든 메시지 형태를 정의하고 통신 보안 또는 암호화 문제, 데이터 전송률과 동기화 메커니즘을 명시

(4) 내부 인터페이스 요구사항

  • 시스템 초기화 함수를 제공해야 한다.
  • 시스템 시작 시 관련 변수 초기화 함수를 요구한다.
  • 새로운 타입의 폰트 추가가 용이해야 한다.
  • 추가 용이성을 위하여 아키텍쳐 패턴 사용이 구현되어야 한다.

2. 요구공학

(1) 요구공학 개요

  • 요구사항을 정의하고 문서화하는 데 필요한 요구사항의 추출, 분석, 명세, 검증, 유지보수 및 관리의 제반공정에 대한 체계적 접근 방법 (IEEE Standard)

(2) 요구공학의 특징

  • 개발 범위, 각종 테스트 기준(단위, 통합, 인수), 감리, 검수 등이 프로젝트 수행의 중요한 기준으로 활용된다.
  • 사용자의 요구사항은 추상적인고 불분명하므로 분석이 필요하며, 지속적으로 변화하는 특성을 가진다.
  • 사용자의 요구사항은 개발자와 사용자 간의 표현의 차이가 커서 상호 이해가 쉽지 않다.

(3) 요구사항 문제점 및 해결 방안

문제점  해결방안
이해 부족 경험 있는 인력 투입, 유스케이스 모델링
의사소통 부족 Walk-through, Inspection, 워크숍, 의사소통 채널 단일화
표현의 어려움 모델링 기법(구조적 분석 기법, 객체지향 분석 기법)으로 가시화
요구사항 변경 변경 관리 계획, 유형별 관리

(4) 요구공학 프로세스🔥

절차  내용  방법
요구사항 추출
(Elicitation)
기능적/비기능적 요구 수집 과정 인터뷰, 워크샵(JRP, JAD), 설문조사, 브레인스토밍
요구사항 분석
(Analysis)
분석 기법을 이용해 가능한 문제 도출 및 요구 사항을 이해/정제하는 과정 객체지향 분석(UML, 모델링), 구조적 분석(DFD, Data Dictionary)
요구사항 명세
(Specification)
분석된 요구사항의 문서화 과정 ER 모델링, FSM, 구조적 분석과 설계 기술(SADT)
요구사항 검증
(Validation)
명세화된 요구사항 검증과정 Review, Inspection, Walk-through

✅ 인터페이스 대상 식별

1. 시스템 아키텍처

(1) 시스템 아키텍처의 정의

  • 경영 전략의 달성을 위해 필요한 업무 프로세스의 원할한 지원과 효율적 처리를 위해 필요한 하드웨어, 시스템 소프트웨어, DBMS, 네트워크 및 보안으로 구성된 전산 시스템의 기반이 되는 환경

(2) 시스템 아키텍처의 특징

  • 물리적 구성을 기반으로 정의되는 시스템의 상세 설계도이다.
  • 이해 당사자들과의 상호 이해, 협상, 동의 및 의사 교환을 위한 도구이다.
  • 프로젝트 초기의 설계 결정으로 시스템 개발 및 유지보수 전반에 걸쳐 지속적인 영향력을 갖는다.

(3) 시스템 아키텍처의 구성 기술

 

구분  내용
시스템 플랫폼 UNIX 서버, Windows NT 서버
OS 및 기타 소프트웨어 Web 서버 S/W, 미들웨어, 메일 S/W, 시스템 관리 S/W 등
Storage 기술 RAID, DAS, NAS, SAN
이중화/부하 분산 기술 HA, RAC, WAS, Cluster, L4 Switch

(4) 시스템 아키텍처의 구성 요소

1. 집중/분산 구조

구분  내용
중앙 집중형 구조 통합 센터에 시스템과 데이터 저장 및 관리, 대용량 서버에 통합 DB를 구축한다.
지역별 분산 구조 지역별 시스템 및 응용 시스템 분산 운영, 지역별 데이터 관리, 중소형 서버로 구성된다.

2. 응용 구조

구분 내용
호스트 중심 시스템 구조 - 애플리케이션 기능 모두 호스트에 집중
- 클라이언트는 더미 단말기나 PC에 에뮬레이터를 통하여 호스트에 접속
클라이언트/서버 시스템 구조 - 애플리케이션의 각 기능들을 서버와 클리언트에 조합 위치 시킴
- 업무 규모와 환경에 따라 조합을 선택
웹 시스템 구조 - 서버에 애플리케이션 기능을 두고, 클라이언트는 웹 브라우저를 통해 서버에 접속
에뮬레이터(Emulator)
- 다른 프로그램이나 장치를 모방하는 컴퓨터 프로그램 또는 전자기기의 능력을 말한다.

2. 인터페이스 시스템

(1) 인터페이스(Interface) 시스템의 특징

  • 인터페이스는 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면이라 할 수 있다. 즉, 사용자가 기기를 쉽게 동작시키는 데 도움을 주는 시스템을 의미한다.
  • 송신 시스템과 수신 시스템 그리고 연계 응용 시스템 등이 있다.

(2) 인터페이스 시스템의 구성

송신 시스템 - 운영 데이터베이스에서 연계 데이터를 식별 및 추출하여 인터페이스 테이블(파일)로 생성하여 송신하는 시스템
- 개인 정보와 같은 보안이 필요한 정보는 암호화하여 저장
수신 시스템 - 송신 시스템으로부터 수신한 테이블을 수신 시스템의 운영 데이터베이스나 환경에 맞게 변환하여 처리에 활요할 수 있도록 하는 시스템
- 송신 시스템에서 암호화되어 생성된 연계 데이터는 수신 시스템에서 운영 데이터베이스에 반영할 때 복호화 처리한다.
- 연계 데이터의 암/복호화를 위해 사전에 암호 알고리즘과 키를 협의하여 배포하여야 한다.
연계 응용 시스템 - 송신 시스템과 수신 시스템을 연계해 주는 서버나 시스템에 해당한다.
- 역할 : 데이터 송수신, 데이터 암/복호화, 응답 처리, 데이터 변화 등

✅ 인터페이스 상세 설계

1. 내외부 송수신

(1) 직접 연계 방식

  • 중간 매개체 없이 송신 시스템과 수신 시스템이 직접 연계되는 방식
  • 연계 및 구현이 단순하고, 개발 소요 비용과 기간이 적게 소요된다.
  • 중간 매개체가 없기 때문에 데이터 연계 처리 성능이 대체적으로 좋다.
  • 시스템 간의 결합도가 높고, 시스템 변경에 민감하게 반응한다.
  • 보안을 위해 암/복호화 처리와 비즈니스 로직 적용 등이 불가하다.

(2) 간적 연계 방식

  • 간접 연계 방식은 연계 솔루션과 같이 중간 매개체를 이용하여 연계하는 방식이다.
  • 운영 데이터베이스에서 연계 데이터를 생성 및 변환과 송신 로그를 모니터링하는 구현 대상 소루션에서 제공하는 송수신 엔진과 어댑터로 구성된다.
  • 중간 매개체가 존재하므로 서로 상이한 네트워크, 프로토콜 등 다양한 환경을 연계 및 통합할 수 있다.
  • 시스템 간 인터페이스 변경 시에도 장애나 오류 없이 서비스가 간으하며, 암/복호화나 비즈니스 로직 적용이 용이하다.
  • 중간 매개체로 인해 성능이 저하도리 수 있으며, 매커니즘이 복잡하다.

(3) 연계 기술

직접 연계 방식 : DB Link / DB Connection / JDBC

DB Link - 데이터베이스에서 제공하는 객체(Object)를 이용한다
- 수신 시스템 DB에 송신 시스템에서 접근 가능한 Database Link 객체를 생성한 후 송신 시스템에서 DBLINK명으로 직접 참조하여 연계
DB Connection Pool(WAS) - 수신 시스템 WAS에서 송신 시스템 DB로 연결되는 Connection Pool을 생성한다.
- 프로그램 소스에서 WAS에 설정된 Connection Pool명을 참고하여 구현한다.
JDBC 수신 시스템의 배치(Batch) 또는 온라인(On-line) 프로그램에서 JDBC 드라이버를 이용하여 송신 시스템의 DB와 연결을 생성한다.

간접 연계 방식 : Web Service / Socket

Web Service - 웹 서비스가 설명된 WSDL과 SOAP 프로토콜을 이용한 시스템 간 연계
- 미들웨어인 ESB에서 서비스(컴포넌트) 간 연동을 위한 변환 처리로 다중 플랫폼(Platfform)을 지원한다.
Socket - 소켓(Socket)을 생성하여 포트를 할당하고, 클라이언트의 요청을 연결하여 통신한다.
- 네트워크 프로그램의 기반 기술이다.

2. 데이터 명세화

인터페이스 정의서 - 연계 항목, 연계 데이터 삽입, 길이 등을 구성하고 형식을 정의하는 과정의 결과물로 인터페이스 정의서를 작성
- 송신 시스템과 수신 시스템 간의 인터페이스 현황을 작성하며, 인터페이스별로 송수신하는 데이터 타입, 길이 등 인터페이스 항목을 상세하게 작성한다.
개체 정의서 - 개체에 포함되어 있는 속성과 타입 등을 명세한 정의서
테이블 정의서 - 테이블을 구성하는 컬럼과 도메인, 키 등을 명세한 정의서
코드 정의서 - 코드에 대한 명명 규칙에 따라 어떤 코드를 사용할지를 명세한 정의서

3. 오류 처리방안 명세화

구분  오류  해결 방안
송신 시스템 접근 권한 오류, 데이터 변화 처리 오류 등 송신 시스템에 기록된 로그 파일의 내용을 확인하여 오류의 원인을 분석하고 해결 방안을 모색한다.
수신 시스템 데이터베이스 반영 오류, 데이터를 변환할 때 발생하는 오류 등 수신 시스템에 기록된 로그 파일의 내용을 확인하여 오류의 원인을 분석하고 해결 방안을 모색한다.
연계 응용 시스템 접속 오류, 연계 서버 다운 등 시스템의 상태 확인을 통해 오류의 원인 분석과 해결 방안을 모색한다.

4. 미들웨어 솔루션

(1) 미들웨어(Middle Ware)의 정의

  • 클라이언트와 서버를 연결하여 데이터를 주고받을 수 있도록 중간에서 매개 역할을 함
  • 네트워크를 통해서 연결된 여러 개의 컴퓨터에 있는 많은 프로세스들이 어떤 서비스를 사용할 수 있도록 연결해주는 시스템 소프트웨어를 말한다.

(2) 미들웨어의 특성🔥

1. 기존 플랫폼의 통합

  • 기존의 다양한 벤더의 플랫폼을 네트워크 차이를 의식하지 않고, 상호 접속하여 이용한다.

2. 시스템 통합에 따를 DATA의 공유 활용

  • 현재 사내 각 부문에서 각각 관리되고 있는 정보를 통합 관리함으로써 분배 작업을 통해 이중으로 작접을 하지 않으므로 업무 효율화를 기할 수 있다.

3. 조작의 우수성, 사용의 편리성

  • 호스트 단말과 비교, 사용자가 사용하기 쉬운 GUI, 일상적으로 사용하고 있는 표계산 SW 등으로 사내의 각 데이터베이스에 접근 및 이용이 가능하다.

4. 상호 운용성

  • 데이터베이스에 자유로운 접근이 가능하므로, 각 개인이 실시간 데이터를 분석 및 활용하여 업무의 질을 향상할 수 있다.

(3) 미들웨어의 분류

DB 미들웨어🔥 - DB 미들웨어는 애플리케이션과 데이터베이스 간 통신을 원할하게 하는 것을 목적으로하는 미들웨어
- 다양한 형태로 구축된 데이터베이스 간의 통신이 가능하도록 해주는 제품을 말함
- DB 미들웨어를 도입함으로써 하드웨어, 데이터베이스, 네트워크 프로토콜로 이루어진 복합 시스템 환경에서 생성된
다양한 데이터베이스를 클라이언트에서 보다 쉽게 조작 및 운여할 수 있다.
원격 프로시저 호출
(RPC : Remote Procedure Call)
- RPC는 네트워크 상에서 애플리케이션과 애플리케이션 간의 연동을 하기 위한 미들웨어
- 다른 컴퓨터에 있는 원격 애플리케이션을 연동시키는 경우 많이 이용한다.
- 근래에는 일반적으로 RPC 기능이 OS에 포함되어 제공되는 경우가 많아서 RPC 기반 미들웨어 제품군은 OS에서 제공되는
RPC 기능을 보다 편하게 사용할 수 있도록 도와주는 역할을 하는 경우도 많다.
메시지 지향 미들웨어
(MOM : Message-Oriented Middleware)
- MOM은 애플리케이션과 미들웨어 간의 상호 연동을 위한 미들웨어이다.
- 애플리케이션에서 미들웨어로의 작업 요청이 바로 이루어질 수 있도록 한다.
트랜잭션 처리🔥
(TP : Transaction Processing)
- TP 모니터는 통신량이 많은 클라이언트와 서버 사이에 위치하여 서버 애플리케이션 및 자원을 효율적으로 관리한다.
- 통신 부하를 효과적으로 분배함으로써 클라이언트와 서버 사이의 통신이 원할하게 이루어질 수 있도록 해주는 역할을 하며,
분산 환경의 핵심 기술인 분산 트랜잭션을 처리하기 위해서 필요한 미들웨어이다.
WAS
(Web Application Server)
- 클라이언트(웹 브라우저)로 부터 웹 서버가 요청을 받으면 애플리케이션에 대한 로직을 수행하여 웹 서버로 다시 반환해주는 서버
ORB
(Object Request Broker)
- 객체 지향 미들웨어로 분산 컴퓨팅 환경에서 프로그래머에게 다른 컴퓨터의 프로그램을 네트워크롤 통해 호출 할 수 있다.

 

'정보처리기사 > part01.소프트웨어 설계' 카테고리의 다른 글

3. 애플리케이션 설계  (0) 2023.11.27
2. 화면설계  (0) 2023.10.29
1. 요구사항 확인  (0) 2023.09.26