본문으로 바로가기

인터페이스 요구사항 검증(Interface Requirements Verification)

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

 - 설계 및 구현 중에 요구사항 명세서의 오류가 발견되어 이를 수정할 경우 많은 비용이 소요되므로 프로젝트에서 요구사항 검증은 매우 중요

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


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

 - 검토 기준 및 방법 : 프로젝트의 규모와 참여 인력, 검토 기간 등을 고려하여 검토 기준 및 방법을 정함

 - 참여자 : 프로젝트 관리자, 인터페이스 분석가, 소프트웨어 아키텍트, 시스템 사용자, 테스트 관리자 등 요구사항 검토 참여자를 선정

 - 체크리스트 : 완전성, 일관성, 명확성 등의 항목을 점검할 수 있는 요구사항 체크리스트를 작성

 - 관련자료 : 인터페이스 요구사항 목록, 인터페이스 요구사항 명세서, 현행 및 표준 시스템 구성도 등 검토에 필요한 자료 준비

 - 일정 : 인터페이스 요구사항 검토 일정을 정함


요구사항 검토(Requirements Review)

 - 요구사항 명세서의 오류 확인 및 표준 준수 여부 등의 결함 여부를 검토 담당자들이 수작업으로 분석하는 방법

동료검토(Peer Review) 요구사항 명세서 작성자가 명세서 내용을 직접 설명하고 동료들이 이를 들으면서 결함을 발견하는 형태의 검토 방법
워크스루(Walk Through) 검토 회의 전에 요구사항 명세서를 미리 배포하여 사전 검토한 후에 짧은 검토 회의를 통해 결함을 발견하는 형태의 검토 방법
인스펙션(Inspection) 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서를 확인하면서 결함을 발견하는 형태의 검토 방법

 - CASE(Computer Aided Software Engineering) 도구 활용 : 일관성 분석(Consistency Analysis)을 통해 요구사항 변경사항의 추적 및 분석, 관리, 표준 준수 여부를 확인


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

 - 완전성(Completeness)

 - 일관성(Consistency)

 - 명확성(Unambiguity)

 - 기능성(Functionality)

 - 검증 가능성(Verifiability)

 - 추적 가능성(Traceability)

 - 변경 용이성(Easily Changeable)


인터페이스 방법 명세화의 개념

 - 내·외부 시스템이 연계하여 작동할 때 인터페이스별 송·수신 방법, 송·수신 데이터, 오류 식별 및 처리 방안에 대한 내용을 문서로 명확하게 정리하는 것


시스템 연계 기술

 - 개발할 시스템과 내·외부 시스템을 연계할 때 사용되는 기술을 의미

   - DB Link : DB에서 제공하는 DB Link 객체를 이용하는 방식

   - API/Open API : 송신 시스템의 데이터베이스에서 데이터를 읽어와 제공하는 애플리케이션 프로그래밍 인터페이스 프로그램

   - 연계 솔루션 : EAI 서버와 송·수신 시스템에 설치되는 클라이언트를 이요하는 방식

   - Socket : 서버는 통신을 위한 소켓을 생성하여 포트를 할당하고 클라이언트 통신 요청 시 클라이언트와 연결하여 통시하는 네트워크 기술

   - Web Service : WSDL, UDDI, SOAP 프로토콜을 이용하여 연계하는 서비스

     ※ WSDL(Web Services Description Language) : 웹 서비스와 관련된 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어

     ※ UDDI(Universal Description Discovery and Integration) : 인터넷에서 전 세계의 비즈니스 업체 목록에 자신의 목록을 등록하기 위한 확장성 생성 언어 기반의 규격

     ※ SOAP(Simple Object Access Protocol) : 웹 서비스를 실제로 이용하기 위한 객체 간의 통신 규약


인터페이스 통신 유형

 - 단방향 : 시스템에서 거래를 요청만 하고 응답이 없는 방식

 - 동기 : 시스템에서 거래를 요청하고 응답이 올 때까지 대기하는 방식

 - 비동기 : 시스템에서 거래를 요청하고 다른 작업을 수행하다 응답이 오면 처리하는 방식


인터페이스 처리 유형

 - 실시간 방식 : 사용자가 요청한 내용을 바로 처리해야 할 때 사용하는 방식

 - 지연 처리 방식 : 데이터를 매건 단위로 처리할 경우 비용이 많이 발생할 때 사용하는 방식

 - 배치 방식 : 대량의 데이터를 처리할 때 사용하는 방식


미들웨어(Middleware)의 개념

 - 미들(Middle)과 소프트웨어(Software)의 합성어로, 운영체제와 해당 운영체제에서 실행되는 응용 프로그램 사이에서 운영체제가 제공하는 서비스 이외의 추가적인 서비스를 제공하는 소프트웨어

 - 표준화된 인터페이스를 제공함으로써 시스템 간의 데이터 교환에 일관성을 보장


DB(DataBase)

 - 데이터베이스 벤더에서 제공하는 클라이언트에서 원격의 데이터베이스와 연결하기 위한 미들웨어

 - 마이크로소프트(ODBC) , 볼랜드(IDAPI) , 오라클(Glue) 등이 있음


RPC(Remote procedure Call)

 - 응용 프로그램의 프로시저를 사용하여 원격 프로시저를 마치 로컬 프로시저처럼 호출 하는 방식의 미들웨어

 - 이큐브시스템스(Entera) , OSF(ONC/RPC) 등이 있음


MOM(Message Oriented Middleware)

 - 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어

 - 온라인 업무보다는 이기종 분산 데이터 시스템의 데이터 동기를 위해 많이 사용

 - IBM(MQ) , 오라클(Message Q) , JCP(JMS) 등이 있음


TP-Monitor(Transaction Processing Monitor)

 - 항공기나 철도 예약 업무 등과 같은 온라인 트랜잭션 업무에서 트랜잭션을 처리 및 감시하는 미들웨어

 - 사용자 수가 증가해도 빠른 응답 속도를 유지해야 하는 업무에 주로 사용

 - 오라클(tuxedo) , 티맥스소프트(tmax) 등이 있음


ORB(Object Request Broker)

 - 객체 지향 미들웨어로 코바(CORBA) 표준 프섹을 구현한 미들웨어

 - Micro Focus(Orbix) , OMG(CORBA) 등이 있음


WAS(Web Application Server)

 - 정적인 콘텐츠를 처리하는 웹 서버와 달리 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어

 - 클라이언트/서버 환경보다는 웹 환경을 구현하기 위한 미들웨어

 - HTTP 세션 처리를 위한 웹 서버 기능뿐만 아니라 미션-크리티컬한 기업 업무까지 JAVA, EJB 컴포넌트 기반으로 구현이 가능

 - 오라클(WebLogic), IBM(WebSphere) 등이 있음


데이터 흐름도(Data Flow Diagram)

 

 - 시스템 구성요소인 프로세스와 프로세스 간 데이터 흐름을 표현하는 주요도구


데이터 흐름도(Data Flow Diagram)의 구성 요소

 - 프로세스(process) : 입력된 데이터를 원하는 형태로 변환하여 출력하기 위한 과정
 - 자료 흐름(data flow) : 데이터 흐름도(DFD)의 구성요소들 간의 데이터 흐름을 나타냄 
 - 자료 저장소(data store) : 데이터가 저장되는 장소
 - 단말(terminator) : 시스템과 통신하는 외부 개체


개발 기술 환경

 

 - 개발하고자 하는 소프트웨어와 관련된 운영체제, 데이터베이스 관리 시스템, 미들웨어 등을 선정할 때 고려해야 할 사항을 기술하고, 오픈 소스 사용 시 주의해야 할 내용을 제시


운영체제(OS, Operating System)

 - 컴퓨터 시스템 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효율적으로 사용할 수 있도록 환경을 제공하는 소프트웨어

 - 운영체제와 관련된 요구사항 : 가용성, 성능, 기술 지원, 주변 기기, 구축 비용


데이터베이스 관리 시스템(DataBase Management System)

 - 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고, 데이터베이스를 관리해 주는 소프트웨어

 - 데이터베이스 관리 시스템과 관련된 요구사항 : 가용성, 성능, 기술 지원, 상호 호환성, 구축 비용


웹 어플리케이션 서버(WAS, Web Application Server)

 - 정적인 콘텐츠 처리를 하는 웹 서버와 달리 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어

 - 웹 어플리케이션 서버와 관련된 요구사항 : 가용성, 성능, 기술 지원, 구축 비용


오픈 소스 사용에 따른 고려사항

 - 누구나 별다른 제한 없이 사용할 수 있도록 소스 코드를 공개한 것으로 오픈 소스 라이선스를 만족하는 소프트웨어

 - 라이선스의 종류, 사용자 수, 기술의 지속 가능성 등을 고려해야 함