[정보처리기사]1-4.인터페이스 설계

6 분 소요

1-4. 인터페이스 설계

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

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


시스템 인터페이스 : 독립적으로 떨어져 있는 시스템들끼리 서로 연동하여 상호 작용하기 위한 접속 방법이나 규칙

  • 개발을 목표로 하는 시스템과 외부 시스템을 연동(독립적인 시스템)하는데 필요한 시스템 인터페이스에 대한 (상호 작용하기 위한)요구사항을 기술한 것
  • 요구사항 명세서에는 인터페이스 이름, 연계 대상 시스템, 연계 범위 및 내용, 연계 방식, 송신 데이터,인터페이스 주기,기타 고려사항 등이 포함되어야 한다.

요구사항 명세서


프로젝트 개발 시 기업이나 업체가 요구하는 사항들을 구체화하여 명세화한 문서로 시스템 기능, 데이터, 인터페이스, 품질 등의 요구사항 단위별로 작성


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


요구사항 명세서에서 요구사항을 기능적 요구사항과 비기능적 요구사항으로 분류하고 조직화하여 요구사항 명세를 구체화하고 이를 이해관계자에게 전달하는 일련의 과정

  1. 요구사항 명세서의 요구사항을 기능적 요구사항과 비기능적 요구사항으로 분류,조직화 => 요구사항 명세 구체화(시스템 인터페이스 요구사항 명세서와 목록을 추가,수정하는 작업)
  2. 이를 이해관계자에게 전달
  • 요구사항 분석은 s/w 요구사항 분석 기법을 적절히 이용한다.
    • 요구사항 분석 기법 : 요구사항 분류, 개념 모델링, 요구사항 할당, 요구사항 협상, 정형 분석 등이 존재
  • 요구사항 분해가 필요한 경우 적절한 수준으로 세분화 ★ 분석 단계에서 진행
  • 요구사항 분석 시 누락된 요구사항이나 제한조건을 추가한다
  • 요구사항에 대한 상대적 중요도를 평가해 우선순위 부여

cf 기능적 요구사항 : 시스템이 무엇을 하는지, 어떤 기능을 하는지에 관한 것 비기능적 요구사항 : 기능적 요구사항을 제외한 시스템 , 프로젝트 개발 과정에서 지켜야 할 제약사항 —

시스템 인터페이스 요구사항 분석 절차


  1. s/w 요구사항 목록에서 시스템 인터페이스 관련 요구사항을 선별하여 별도로 시스템 인터페이스 요구사항 목록을 만든다.
  2. 시스템 인터페이스와 관련된 요구사항 및 아키텍처 정의서, 현행 시스템의 대외 내외 연계 시스템 현황 자료 등 시스템 인터페이스 요구사항과 관련된 자료를 준비한다.
  3. 시스템 인터페이스에 대한 요구사항 명세서를 확인하여 기능적 요구사항과 비기능적 요구사항을 분류한다.
  4. 시스템 요구사항 명세서와 시스템 인터페이스 요구사항 목록 및 기타 관련 자료를 비교해 요구사항을 분석하고 내용을 추가하거나 수정한다.
  5. 추가, 수정한 시스템 인터페이스 요구사항 명세서와 시스템 인터페이스 요구사항 목록을 관련 이해관계자한테 전달한다.

예상 문제

다음 중 시스템 인터페이스 요구사항 분석 절차를 올바르게 나열한 것은? ㄱ. 요구사항 분석 및 명세서 구체화 ㄴ. 요구사항 분류 ㄷ. 요구사항 관련 자료 준비 ㄹ. 요구사항 선별 ㅁ. 요구사항 명세서 공유

요구사항을 먼저 선별한 후 각 요구사항들에 관련된 자료를 준비한 뒤, 분류 ( 비기능적 요구사항 , 기능적 요구사항 ) 그 후, 요구사항을 분석하고 명세서를 구체화 한 뒤 명세서를 이해관계자에게 공유함 ㄹ -> ㄷ -> ㄴ -> ㄱ-> ㅁ


section. 28 인터페이스 요구사항 검증

요구사항 검증(Requirements Verificaton)


!! 인터페이스의 설계 및 구현 전에 !! 사용자들의 요구사항이 요구사항 명세서에 정확하고 완전하게 기술되었는지 검토하고 개발 범위의 기준인 베이스라인을 설정

  • 인터페이스설계 및 구현 중 요구사항 명세서의 오류가 발견되면 많은 비용이 들기 때문에 요구사항 검증은 매우 중요

  • 요구사항 검증 단계

    • 요구사항 검토 계획 수립 -> 검토 및 오류 수정 -> 베이스라인 설정

인터페이스 요구사항 검토 계획 수립


프로젝트 이해관계자(품질 관리자,프로젝트 관리자,기술 아키텍처 전문가,인터페이스 전문가 등)들이 프로젝트 품질 관리 계획을 참조하여 다음과 같이 검토 계획을 수립한다.

  • 검토 기준 및 방법 : 프로젝트 규모와 참여 인력, 검토 기간 등을 고려하여 검토 기준 및 방법을 정한다.
  • 참여자 : 프로젝트 규모에 따라 이해관계자들을 파악하여 프로젝트 관리자 (PM), 품질 관리자, 인터페이스 분석가, S/W 아키텍트, 시스템 사용자 , 테스트 관리자 등 요구사항 검토 참여자를 선정
  • 체크리스트 : 일관성, 완전성, 명확성 등의 항목을 점검할 수 있는 요구사항 검토 체크리스트를 작성

  • 관련 자료 : 인터페이스 요구사항 목록, 인터페이스 요구사항 명세서 ( 분석절차에서 이해관계자한테 전달했던 두 개 ), 현행 및 표준 시스템 구성도 등 인터페이스 요구사항 검토에 필요한 자료들을 준비
  • 일정 : 인터페이스 요구사항 검토 일정을 정한다.

검토 계획이 수립되면 인터페이스 요구사항 검토 참여자들에게 검토 관련 자료와 일정 등을 전달한다.

인터페이스 요구사항 검토 및 오류 수정


인터페이스 요구사항 검토는 검토 체크리스트의 항목 ( 검토 계획시 만든 )에 따라 인터페이스 요구사항 명세서를 검토하는 것

  • 요구사항 검토 시 오류가 발견되면 오류룰 수정할 수 있도록 오류 목록과 시정 조치서를 작성
  • 오류 사항과 요구사항 승인 절차를 진행할 수 있도록 오류사항 검토 결과를 검토 관련자들에게 전달
  • 시정 조치서를 작성한 경우 1. 시정 조치가 완료되었는지 확인하여 2. 시정 조치가 완료되면 인터페이스 요구사항 검토 작업을 완료함

인터페이스 요구사항 베이스라인 설정


인터페이스 요구사항 검토를 통해 검증된 인터페이스 요구사항은 프로젝트 관리자와 주요 의사 결정자에게 공식적으로 승인 받는다.

  • 소프트웨어 설계 및 구현을 위해 요구사항 명세서의 베이스라인을 설정한다.

요구사항 검증 방법


아래의 검증방법 사용

  • 요구사항 검토(Requirements Review) : 요구사항 명세서의 오류 확인 및 표준 준수 여부 등의 결함 여부를 검토 담당자들이 “수작업”으로 분석하는 방법으로 동료검토, 워크스루, 인스펙션 등이 있다.

    • 동료검토(peer review): 요구사항 명세서 작성자가 명세서 내용을 직접 설명하고 동료들이 이를 들으며 결함을 발견하는 형태의 검토 방법
    • 워크스루(walk through) : 검토 회의 전에 요구사항 명세서를 미리 배포하여 사전 검토한 후에 짧은 검토 회의를 통해 결함을 발견하는 형태의 검토 방법
    • 인스펙션(inspection) : 요구사항 명세서 작성자를 “제외”다른 검토 전문가들이 요구사항 명세서를 확인하면서 결함을 발견하는 형태의 검토 방법
  • 프로토타이핑(prototyping): 사용자의 요구사항을 정확히 파악하기 위해 실제 개발될 소프트웨어의 견본품(프로토타입)을 만들어 최종 결과물 예측
  • 테스트 설계 : 요구사항은 테스트할 수 있도록 작성되어야 하며, 이를 위해 테스트 케이스를 생성하여 이후에 요구사항이 현실적으로 테스트 가능한지를 검토
  • CASE(computer aided software engineering) 도구 활용 : 일관성 분석을 통해 요구사항 변경사항의 추적 및 분석, 관리하고, 표준 준수 여부를 확인한다.

인터페이스 요구사항 검증의 주요 항목


  • 완전성(completeness) : 사용자의 모든 요구사항이 누락되지 않고 완전하게 반영되었는가?
  • 일관성(consistency) : 요구사항이 모순되거나 충돌되는 점 없이 일관성을 유지하고 있는가?
  • 명확성(unambiguity) : 모든 참여자가 요구사항을 명확히 이해할 수 있는가?

  • 체크리스트에서 사용되는 항목들 -

  • 기능성(functionality) ; 요구사항이 어떻게 (how to) 보다 무엇을(what) 에 중점을 두고 있는가?
  • 검증 가능성(verifiability) : 요구사항이 사용자의 요구를 모두 만족하고, 개발된 s/w 가 사용자의 요구 내용과 일치하는지를 검증할 수 있는가?
  • 추적 가능성(traceability): 요구사항 명세서와 설계서를 추적할 수 있는가?
  • 변경 용이성(easily changeable) : 요구사항 명세서의 변경이 쉽도록 작성되었는가?

section. 29 인터페이스 시스템 식별

개별할 시스템과 연계할 시스템 사이의 인터페이스를 식별한 다음 , 각 인터페이스 별로 사용되는 송,수신 시스템을 구분하는 것을 말함

개별 시스템 식별


인터페이스 관련 자료들을 기반으로 개발하고자 하는 시스템의 상세 식별 정보를 정의하고 목록을 작성하는 것

  • 인터페이스 관련 자료 : 개발할 시스템에 대한 업무 정의서, 시스템 아키텍처 정의서, 유스케이스 정의서, 현행 시스템에 대한 인터페이스 요구사항 명세서 및 목록, 대내외 연계 시스템 목록 등

내,외부 시스템 식별 ( 개발 시스템과 연계할 )


인터페이스 관련 자료를 기반으로 개발할 시스템과 연계할 내,외부 시스템들의 상세 정보를 정의하고 목록을 작성하는 것

  • 내,외부 시스템의 연계를 위한 네트워크 연결 정보를 확인한다.
  • 실제 운용 환경과 h/w 관리 주체 확인

내,외부 시스템 환경 및 관리 주체 식별


  • 내,외부 시스템 환경은 연계할 시스템 접속에 필요한 IP 또는 URL,Port 정보 등 시스템의 실제 운용 환경을 의미

  • 관리 주체는 H/W 설계적으로 관리하는 담당자를 의미

  • 인터페이스 관련 자료들을 기반으로 내,외부 시스템의 실제 운용 환경과 H/W 관리 주체(담당자)를 확인

결과물 : 내,외부 시스템의 목록에 시스템ID,IP,URL,Port 등을 추가

내,외부 시스템 네트워크 연결 정보 식별


내,외부 시스템 네트워크 연결 정보는 시스템 로그인 및 DB 정보를 의미

  • 인터페이스 관련 자료들을 기반으로 내,외부 시스템을 연계하는데 필요한 네트워크 정보를 확인한다.

결과물 : 구분(내부·외부),시스템ID,Hostname,IP,PORT,LOGIN ID,DB TYPE,DB USER ID/PW 등을


인터페이스 식별


인터페이스 요구사항 명세서와 인터페이스 요구사항 목록을 기반으로 개발할 시스템과 이와 연계할 내,외부 시스템 사이의 인터페이스를 식별하인터페이스 목록을 작성

결과물 : 인터페이스 목록

인터페이스 시스템 식별


인터페이스 별로 인터페이스에 참여하는 시스템들을 송신 시스템과 수신 시스템으로 구분하여 작성하는 것

결과물 : 인터페이스id, 인터페이스 명, 인터페이스 구분, 송신 시스템 ,수신 시스템을 구분하여 작성한 결과물


예상 문제

다음 중 인터페이스 시스템 식별에 대한 설명으로 틀린 것은?

  1. 인터페이스 요구사항 명세서와 인터페이스 요구사항 목록을 기반으로 인터페이스 시스템을 식별한다.
  2. 식별된 내,외부 시스템 간 인터페이스에 참여하는 시스템들을 송신 측과 수신 측으로 구분한다.
  3. 인터페이스가 내부 시스템 간 또는 내,외부 시스템 간에 발생하는지를 파악하여 대,내외 여부를 기재한다.
  4. 개발하고자 하는 시스템과 타 시스템 사이의 인터페이스를 유일하게 식별할 수 있도록 인터페이스명을 부여한다.

답: 1 인터페이스 식별 ( 개발할 시스템과 내,외부 시스템 사이의 인터페이스 )

section. 30 송·수신 데이터 식별

식별 대상 데이터


송,수신 시스템 사이에서 교환되는 데이터로, 규격화된 표준 형식에 따라 전송

  • 교환되는 데이터 종류에는 인터페이스 표준 항목 , 송·수신데이터 항목, 공통 코드가있다

    • 인터페이스 표준 항목
      • 인터페이스 표준 항목은 송·수신 시스템을 연계하는데 표준적으로 필요한 데이터를 의미
      • 인터페이스 표준 항목은 시스텐 공통부와 거래 공통부로 나뉜다. 시스템공통부 : 시스템 간 연동시 필요한 공통 정보 / 인터페이스 ID, 전송 시스템 정보, 서비스 코드 정보, 응답 결과 정보, 장애 정보 등이 있다. 거래 공통부 : 시스템들이 연동된 후 송·수신 되는 데이터를 처리할 때 필요한 정보 / 직원 정보, 승인자 정보,기기 정보, 매체 정보 등
    • 송수신 데이터 항목
      • 송·수신 데이터 항목은 송·수신 시스템이 업무를 수행하는데 사용하는 데이터 (연동 후 업무 수행 시)
      • 전송되는 데이터 항목과 순서는 인터페이스 별로 다름
    • 공통 코드 ex 오류 코드
      • 시스템들에서 공통적으로 사용하는 코드
      • 연계 시스템이나 연계 소프트웨어에서 사용하는 상태 및 오류 코드 등과 같은 항목에 대해 코드값과 코드명, 코드 설명 등을 공통 코드로 관리

업데이트: