소프트웨어 설계 4. 인터페이스 설계

박유현·2020년 5월 15일
0

1. 요구사항 명세서

  • 개발 시 기업/업체의 요구 사항을 명세화한 문서
    - 구성 요소
    • 인터페이스 이름
    • 연계 대상 시스템
    • 연계 범위 및 내용
    • 송신 데이터
    • 연계 방식
    • 인터페이스 주기
    • 기타 고려사항

2. 시스템 인터페이스 요구사항 분석

  1. 시스템 인터페이스 요구사항 목록: 소프트웨어 요구사항 목록에서 시스템 인터페이스 관련 사항을 선별하여 별도로 작성
  2. 자료 준비: 아키텍처 정의서, 연계 시스템 현황 등
  3. 분류: 명세서의 요구사항을 기능적 요구사항과 비기능적 요구사항(개발 과정 관련)으로 구분
  4. 추가/수정: 목록과 자료를 명세서와 비교
  5. 전달: 명세서와 목록을 이해관계자에게

3. 요구사항 검토

  • Requirement Verification
    - 명세서 사항의 오류를 검토하여 개발 범위의 베이스라인 설정
    - 인터페이스 설계/구현 중 명세서 오류 발견하면 수정에 많은 비용 소요
  1. 요구사항 검토 계획 수립
    • 이해관계자(품질 관리자, 프로젝트 관리자, 기술 아키텍처 전문가, 인터페이스 전문가 등)들이 프로젝트 품질 관리 계획을 참조하여 계획 수립
    • 검토 기준 및 방법, 참여자, 체크리스트, 관련 자료, 일정 결정
    • 참여자에게 자료와 일정 전달
  2. 검토 및 오류 수정
    • 체크리스트 항목에 따름
    • 오류 발견 시 목록과 시정 조치서 작성(조치 완료 시 검토 작업 완료)
    • 수정과 승인 절차 위해 결과를 검토 관련자에게 전달
  3. 베이스라인 설정
    • 프로젝트 관리자와 의사 결정자가 공식 승인
    • 설정 후 인터페이스 요구사항 변경은 공식 통제 절차로만 가능
  • 검증 방법
    - 요구사항 검토(Requirements Review): 수작업
    동료검토(Peer Review), 워크스루(Walk Through), 인스펙션(Inspection)
    - 프로토타이핑(Prototyping): 프로토타입(Prototype) 만들어 최종 결과물 예측
    - 테스트 설계: 테스트 케이스(Test Case) 생성
    - CASE(Computer Aided Software Engineering) 도구 활용: 일관성 분석(Consistency Analysis)으로 변경사항을 추적/분석/관리하고 표준 준수 여부 확인

4. 인터페이스 요구사항 검증 항목

  • 완전성(Completeness): 모든 사항이 누락없이 반영
  • 일관성(Consistency): 모순되거나 충돌하는 사항 없음
  • 명확성(Unambiguity): 참여자가 요구사항을 이해 가능
  • 기능성(Functionality): '어떻게(How to)'보다 '무엇(What)'에 중점
  • 검증 가능성(Verifiability): 사항이 요구를 만족하고 소프트웨어가 요구에 일치
  • 추적 가능성(Traceability): 명세서와 설계서를 추적
  • 변경 용이성(Easily Changeable): 명세서 변경이 쉬움

5. API/Open API

  • Application Programming Interface
    - OS나 프로그래밍 언어 등의 라이브러리를 애플리케이션 개발 시 이용 가능하게 규칙 등을 정의한 인터페이스
    - Open API에는 누구나 무료 사용하고 새로운 API 추가 가능
  • 인터페이스 방법 명세화의 한 내용인 시스템 연계 기술의 하나

6. Socket

  • 시스템 연계 기술의 하나로 네트워크 기술
    - 통신을 위한 소켓(Socket)을 서버가 생성
    - 포트 할당
    - 클라이언트가 통신 요청하면 연결

7. Web Service

  • 시스템 연계 기술의 하나
    • WSDL(Web Services Description Language): 관련 서식/프로토콜 등을 표준적인 방법으로 기술/게시
    • UDDI(Universal Description, Discovery and Integration): 인터넷 비지니스 업체 목록에 자신을 등록하는 확장성 생성 언어(XML) 기반 규격
    • SOAP(Simple Object Access Protocol): 웹 서비스 이용을 위한 객체 간 통신 규약

8. MOM

  • Message Oriented Middleware(메시지 지향 미들웨어)
    - 이기종 분산 데이터 시스템의 동기를 위해 주로 사용
    • 비동기형 메시지 전달
  • IBM의 MQ, 오라클의 Message Q, JCP의 JMS 등

9. TP-Monitor

  • Transaction Processing Monitor(트랜잭션 처리 모니터)
    - 온라인 트랜잭션(실시간 데이터베이스 갱신/검색 등 작업 처리) 업무에서 처리/감시
    - 사용자 수 증가해도 빠르게 응답해야
  • 오라클의 tuxedo, 티맥스소프트의 tmax 등

10. WAS

  • Web Application Server(웹 애플리케이션 서버)
    - 동적 컨텐츠(사용자 요구에 따라 변화) 처리하는 웹 환경 구현
    • HTTP 세션 처리하는 웹 서버 기능
    • 미션-크리티컬한 기업 업무를 JAVA, EJB(Enterprise JavaBeans) 컴포넌트 기반으로 구현
  • 오라클의 WebLogic, IMB의 WebSphere

0개의 댓글