[소프트웨어설계] 6. 시스템 인터페이스 설계

시스템 인터페이스 요구사항

*시스템 인터페이스: 서로 다른 시스템 간의 연결

  • 내/외부의 시스템 연동을 통해 상호 작용을 하기 위한 접속 방법이나 규칙
  • 구성
    • 구성, 내/외부 인터페이스 이름, 연계 대상 시스템, 연계 범위 및 내용,
    • 연계 방식, 송신 데이터, 인터페이스 주기, …

시스템 인터페이스 요구사항 분류 ⭐

  • 기능적 요구사항
    • 시스템의 동작 방식, 입출력 요구사항, …
    • 사용자 인증, 데이터 검색, 주문 처리 등
  • 비기능적 요구사항
    • 기능 요구사항을 만족시키는 바탕에서 정상적으로 작동하기 위한 제약 조건
    • 성능, 보안, 안정성, 사용성, 확장성, 호환성 , …
    • 시스템 응답 시간, 처리량, 보안 요구사항, 사용자 인터페이스의 직관성 등

요구사항 분석

시스템 인터페이스 요구 사항 명세 작성 → 관련 자료 준비 → 기능적, 비기능적 요구사항 구분 → 비교 분석해 내용 추가, 수정

요구 사항 검증 ⭐

검토 계획 수립 → 검토 및 오류 수정 → 베이스 라인 설정

  • 요구 사항 명세가 완전한가를 검토 후 개발 범위 설정
  • 베이스라인 설정 :
    • 검증된 요구사항 승인 받고 베이스 라인 설정
    • 이후 검토 계획 수립으로 돌아감

시스템 인터페이스 요구사항 검증 방법⭐

프로토타이핑, 테스트 설계, CASE 도구 활용, 요구사항 검토

  • 테스트 설계 : Test Case 생성
  • 요구 사항 검토
    • 동료 검토(Peer Review)
    • 워크 스루(Walk Through) : 검토 회의 전 명세서 배포 → 짧은 검토 회의 → 결함 발견
    • Inspection : 다른 전문가 또는 팀이 검사해 오류 찾아냄
항목 동료 검토 워크 스루 인스펙션
검토자 요구사항 작성자, 다른 개발자 요구사항 작성자, 다른 개발자,
테스트 엔지니어, 고객
요구사항 작성자, 다른 개발자, 테스트 엔지니어,
고객, 품질 보증 전문가
검토 방법 요구사항 작성자가 직접 설명 검토자가 요구사항 검토 요구사항을 검토자가 미리 준비하고 검토
검토 시간 짧음 비교적 김 비교적 김
검토 결과 요구사항 작성자가 개선 요구사항 작성자가 개선 요구사항 작성자가 개선
장점 빠르고 간편 여러 각도에서 검토 가능 가장 효과적
단점 검토자의 전문성이 높아야 함 많은 시간, 노력 많은 시간, 노력

 


시스템 인터페이스 대상 식별

시스템 아키텍처 요구사항

  • 목표: 전체 시스템에 대한 논리적 기능 체계, 실현하기 위한 구상 방식의 최적화
  • 요구사항, 시스템의 전체 생명 주기 고려
  • 시스템의 구성, 동작 원리를 정확하게 표현
  • 각 컴포넌트에 대한 설계, 구현을 지원하는 수준으로 자세히 기술
  • 상호 작용, 외부 환경과의 관계를 기술

시스템 인터페이스 구성

  • 송신 시스템
  • 수신 시스템
  • 중계 시스템

시스템 인터페이스 데이터 표준

  • 시스템 사이에 상호 교환되는 데이터는 표준 형식을 정의해 사용
  • 인터페이스 구성:
    • 공통부 : 인터페이스 표준 항목
    • 개별부 : 송수신 시스템에서 필요한 데이터 포함
    • 종료부 : 전송 데이터의 끝을 표시하는 문자 포함

시스템 인터페이스 상세 설계

내/외부 송수신 방식

  • 직접 연계 방식
    • 중계 서버 없이 직접 인터페이스
    • 장점:
      • 처리속도 빠름
      • 구현 단순
    • 단점:
      • 시스템 변경에 유연성 떨어짐
      • 보안처리와 업무 로직 구현을 인터페이스별로 작성해야 하는 불편함
  • 간접 연계 방식
    • 연계 솔루션을 통해 송수신 엔진과 어댑터를 이용해 인터페이스
    • 장점:
      • 현황을 모니터링하고 통제
      • 다른 환경의 시스템과 연계 통합 가능
      • 인터페이스 변경 시 대처 수월
    • 단점:
      • 연계 절차 복잡
      • 연계 서버 사용으로 인해 성능 저하 발생
      • 개발 및 테스트 기간이 많이 소요

시스템 인터페이스 연계 기술

DB Link, DB Connection, API/Open API, JDBC, Hyper Link, Socket, Wdb Service, 연게 솔루션

  • Socket :
    • 서버에서 통신을 위한 소켓을 생성, 포트를 할당한 뒤 클라이언트의 통신 요청 시 클라이언트와 연결
  • 연계 솔루션 :
    • 실제 송수신 처리와 진행 상황을 모니터링 및 통제하는 EAI 서버, 송수신 시스템에 설치되는 어댑터 이용

시스템 인터페이스 오류

오류 식별 및 처리 방안

  • 오류 식별 및 처리 방안 명세화
  • 오류 발생 영역
    • 송신, 중계 사이
    • 중계, 수신 사이
  • 오류 처리 유형 :
    • 연계 서버, 연계 데이터, 송신 시스템 연계 프로그램, 수신 시스템 연계 프로그램
  • 인터페이스 오류 처리 방법
    • 로그 파일에 오류 코드와 발생한 에러의 상세 내용을 기록하도록 연계 프로그램을 작성
    • 로그 내용을 확인해 처리
  • 오류 처리 명세화

시스템 인터페이스 설계

  • 개념
    • 시스템의 구조와 서브 시스템들 사이의 관계
    • 기존의 소프트웨어와 새로운 소프트웨어를 연결하는 소프트웨어
  • 요구 분석 → 인터페이스 디자인 → 인터페이스 구현 → 인터페이스 테스트 → 인터페이스 유지 보수

미들웨어(Middleware)

  • 개념: ⭐
    • 클라이언트와 서버 간의 통신을 담당하는 시스템 소프트웨어(중계자)
    • 시스템 간의 표준화된 연결을 도와줌
  • 종류 :
    • 메시징 미들웨어, 통합 미들웨어, 보안 미들웨어, 웹 미들웨어, 데이터베이스 미들웨어, 네트워크 미들웨어, 모니터링 미들웨어, 로깅 미들웨어

미들웨어 솔루션 분류

DB 미들웨어

  • 애플리케이션-TO-데이터
  • 하나의 애플리케이션을 특정 DB로 연결
  • 클라이언트에게 공통의 SQL 호출 인터페이스를 제공해 여러 종류의 DB에 쉽게 접근할 수 있도록 함
  • JDBC, .NET Data Provider, ODBC, …

통신 미들웨어

  • 애플리케이션-TO-애플리케이션
  • 분산 시스템에서 서로 다른 애플리케이션 간의 통신을 가능하게 하는 소프트웨어
  • 직접적통신→ 중간의 미들웨어를 통해 데이터 주고 받음
  • 클라이언트-서버 모델 기반

🔎 통신 미들웨어 종류 ⭐

종류 설명
RPC(Remote Procedure Call) 분산 처리 스스템을 구현하기 위해 응용 프로그램의 프로시저를 사용해
원격 프로시저를 로컬 프로시저처럼 호출
MOM(Message Oriented Middleware 메시지 기반, 비동기식 메시지 전달 보장(느리더라도 안정적인 응답)
ORB(Object Request Broker) 객체지향 미들웨어, 코바(CORBA) 표준 스펙
TP-Monitor(Transaction Processing Monitor) 비즈니스의 요구사항에서 세션, 시스템, 데이터베이스 사이의 트랜잭션을 감시
WAS(Web Application Server) HTTP를 통한 사용자 컴퓨터나 장치에 Application을 수행(JEUS, Tomcat, WebSphere)
OTM(Object Transaction Monitor) 전통적인 TP-Monitor + ORB 에 의해 제공되는 객체기반 프로그램 인터페이스 제공