자격증 + 어학/1. 소프트웨어 설계

4. 인터페이스 설계

cat_no2 2024. 5. 8. 17:39

인터페이스 요구사항 검증

요구사항 검증(Requirement Verification) 

인터페이스의 설계 및 구현전에 사용자들의 요구사항이 요구사항 명세서에 정확하고 완전하게 기술되었는지 검토하고 개발 범위의 기본인 베이스라인을 설정하는 것. 인터페이스의 설계 및 구현 중에 요구사항 명세서의 오류가 발견되어 이를 수정할 경우 많은 비용시 소요되므로 프로젝트에서 요구사항 검증은 매우 중요하다. 인터페이스 요구사항 검증은 요구사항 검토 계획 수립 -> 검토 및 오류 수정 -> 베이스라인 설정 순으로 수행한다.

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

프로젝트 이해관계자들이 프로젝트 품질 관리 계획을 참조하여 다음과 같이 인터페이스 요구사항 검토 계획을 수립. 검토 계획이 수립되면 요구사항 검토 참여자들에게 검토 관련 자료와 일정 등을 전달한다. 

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

체크리스트의 항목에 따라 인터페이스 요구사항 명세서를 검토. 요구사항 검토시 오류가 발견되면 오류를 수정할 수 있도록 오류 목록과 시정 조치서를 작성한다. 오류 수정과 요구사항 승인 절차를 진행할 숭 있도록 요구사항 검토 결과를 검토 관련자들에게 전달한다. 

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

검토를 통해 검증된 인터페이스 요구사항은 프로젝트 관리자와 주요 의사 결정자에게 공식적으로 승인 받는다. 소프트웨어 설계 및 구현을 위해 요구사항 명세서의 베이스라인을 설정한다.

요구사항 검증 방법

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

요구사항 검증 종류:

동료검토(Peer Review) - 동료 개발자들과 코드 검토 

워크스루(Walk Through) - 동료 개발자들에게 개발한 코드를 설명하면서 검토 

인스펙션(Inspeaction) - 개발자가 제외된 상태에서 전문가가 검토 

프로토타이핑 - 견본품을 만들어 최종 결과물 예측

테스트 설계 - 요구사항이 현실적으로 테스트 가능한지를 컴토 

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

 

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

완전성(Completeness) - 누락되지 않고 완전하게 반영 되었나

일관성(Consistency) - 모순되거나 충돌되는 점 없이 일관성을 유지하고 있는가

명확성(Unambiguity) - 모든 참여자가 요구사항을 명확히 이해할 수 있는가

기능성(Functionality) - 요구사항이 어떻게 보다 무엇을 에 중점을 두고 있는가 

검증 가능성(Verifability)- 명세서와 설계서를 추적할 수 있는가

변경 용이성(Easily Changeable) - 명세서의 변경이 쉽도록 작성 되었는가


인터페이스 방법 명세화 

인터페이스 방법 명세화

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

 

시스템 연계 기술

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

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

API - 송신 시스템의 데이터베이스에서 데이터를 읽어 와 제공하는 프로그램 

연계 솔루션 - EAI(Enterprise Application Integration) 서버와 송수신 시스템에 설치되는 클라이언트를 이용 

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

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

 

API* -  API는 운영체제나 프로그래밍 언어 등에 있는 라이브러리를 응용 프로그램 개발 시 이용할 수 있도록 규칙 등에 대해 정의해 놓은 인터페이스. Open API는 이러한 기능을 누구나 무료로 사용하도록 공개된 API. 

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

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

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

 

인터페이스 통신 유형  

인터페이스 통신 유형은 개발할 시스템과 내/외부 시스템 간 데이터를 송수신하는 형태 

단방향 - 거래 요청만 하고 응답 없는 방식 

동기 - 거래 요청하고 응답이 올 때까지 대기(Request-Reply) 

비동기 - 거래 요청하고 다른 작업을 수행하다 응답이 오면 처리하는 방식 (Send-Receive, Send-Receive-Acknowledge, Publish-Subscribe)

 

인터페이스 처리 유형 

송수신 데이터를 어떤 형태로 처리할 것인지에 대한 방식. 업무의 성격과 송/수신 데이터 전송량을 고려하여 실시간, 지연처리, 배치방식 등으로 구분. 

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

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

배치 - 대량의 데이터를 처리 할 때 

 

인터페이스 발생 주기 

개발할 시스템과 내/외부 시스템 간의 송/수신 데이터가 전송되어 인터페이스가 사용되는 주기. 인터페이스 발생 주기는 업무의 성격과 송/수신 데이터 전송량을 고려하여 매일, 수시, 주 1회 등으로 구분. 

 

송 수신 방법 명세화 

내/외부 인터페이스 목록에 있는 각각의 인터페이스에 대해 연계 방식, 통신 및 처리 유형, 발생 주기 등의 송/수신 방법을 정의하고 명세를 작성하는것. 연계 방식, 통신 유형, 연계 처리 형태는 시스템 인터페이스 설계 시 작성한 아키텍처 정의서를 기반으로 하여 업무 및 데이터의 성격, 연계 데이터 발생 건수, 연계 시스템의 기술구조, 시스템 간의 성능 등을 고려하여 작성. 

 

송 수신 데이터 명세화 

송/수신 데이터 명세화는 내/외부 인터페이스 목록에 있는 각각의 인터페이스에 대해 인터페이스 시 필요한 송/수신 데이터에 대한 명세를 작성하는 것. 인터페이스별로 테이블 정의서와 파일 레이아웃에서 연계하고자 하는 테이블 또는 파일 단위로 송/수신 데이터에 대한 명세를 작성한다. 인터페이스 아이디, 송/수신, 시스템명, 업무, 서비스명 등.

테이블 정의서: 테이블에서 관리되는 컬럼들의 특징, 인덱스, 업부 규칙 등을 정의한 문서 

 

오류 식별 및 처리 방안 명세화 

오류 식별 및 처리 방안 명세화는 내/외부 인터페이스 목록에 있는 각각의 인터페이스에 대해 인터페이스 발생할 수 있는 오류를 식별하고 오류 처리 방안에 대한 명세를 작성하는 것. 시스템 및 전송 오류, 연계 프로그램 등에서 정의한 예외 상황 등 대/내외 시스템 연계시 발생할 수 있는 다양한 오류 상황을 식별하고 분류한다. 오류 상황에 대해 오류 코드, 오류 메시지, 오류 설명, 해결 방법 등을 명세화 한다. 

송신 시스템: 연계 프로그램으로부터 생성된 데이터를 전송 형식에 맞게 인터페이스 테이블이나 파일(xml, csv, text 등)로 변환한 후 송신하는 시스템 

수신 시스템: 수신한 인터페이스 테이블이나 파일을 연계 프로그램에서 처리할 수 있는 형식으로 변환한 후 연계 프로그램에 반영하는 시스템 

연계 서버: 송/수신 시스템 사이에 위치하여 데이터의 송/수신 현황을 모니터링하는 역할을 수행 


미들웨어 솔루션 명세 

클라이언트가 서버측에 어떠한 처리를 요구하고, 서버가 그 처리한 결과를 클라이언트에게 돌려주는 과정을 효율적으로 수행하도록 도와주는 소프트웨어. 웹 서버와 데이터베이스 서버 사이에서 웹 서버가 요구하는 다양한 요청사항들을 DB 서버에 적합한 인터페이스로 변환하여 요청하고 그 결과를 다시 웹 서버에 반환함으로써 원활하게 데이터가 오갈 수 있도록 도와주는 중계자 역할을 수행 

위치 투명성(Location Transparency): 액세스 하려는 시스템의 실제 위치를 알 필요 없이 단지 시스템의 논리적인 명칭만으로 액세스 가능 

 

DB

데이터베이스 벤더에서 제공하는 클라이언트에서 원격의 데이터베이스와 연결하기 위한 미들웨어. DB를 사용하여 시스템을 구축하는 경우 보통 2-Tier 아키텍처라고 함 

 

RPC(Remote Procedure Call)

원격 프로시저 호출은 응용 프로그램의 프로시저를 이용하여 원격 프로시저를 마치 로콜 프로시저처럼 호출하는 방식의 미들웨어. 

 

MOM(Message Oriented Middleware)

메시지 지향 미들웨어는 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어 이다. 온라인 업무보다는 이기종 분산 데이터 시스템의 데이터 동기를 위해 많이 사용되고 서로 다른 플랫폼에서 독립적으로 실행되는 소프트웨어 간의 상호작용을 통해 하나의 통합된 시스템처럼 동작되도록 한다. MOM의 종류에는 IBM의 MQ, 오라클의 Message Q, JCP 의 JMS 가 있다. 

 

TP_Monitor(Transaction Processing Monitor)

항공기나 철도 예약 업무 등과 같은 온라인 트랜잭션 업무에서 트랜잭션을 처리 및 감시하는 미들웨어. 사용자 수가 증가해도 빠른 응답 속도를 유지해야 하는 업무에 주로 사용된다. 대표적인 TP_Monitor 의 종류에는 오라클의 tuxedo, 티맥스소프트의 tmax가 있다. 

트랜잭션 처리: 온라인 업무 처리 형태의 하나로 네트워크 상의 여러 이용자가 실시간으로 데이터베이스의 데이터를 갱신하거나 검색하는 등의 단위 작업을 처리하는 방식. OLTP(Online Transaction Processing) 이라고도 부름. 

 

ORB(Object Request Broker)

객체 요청 브로커는 객체 지향 미들웨어로 코바(CORBA) 표준 스펙을 구현한 미들웨어. Micro Focus's Orbix, OMG's CORBA 등 이 있다. 

CORBA(Common Object Request Broker Architecture) - 네트웨크에서 분산 프로그램 객체를 생성, 배포, 관리하기 위한 규격

 

WAS(Web Application Server)

정적인 콘텐츠를 처리하는 웹 서버와 달리 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어. 클라이언트/서버 환경보다는 웹 환경을 구현하기 위한 미들웨어. HTTP 세션 처리를 위한 웹 서버 기능뿐만 아니라 미션 크리티컬한 기업 업무 까지 JAVA, EJB(Enterprise Java Bean) 컴포넌트 기반으로 구현 가능. Oracle's WebLocgic, IBM's WebSphere 등이 있다. 

 

미들웨어 솔루션 식별

개발 및 운영 환경에 사용될 미들웨어 솔루션을 확인하고 목록을 작성하는 것. 소프트웨어 아키텍처에서 정의한 아키텍처 구성 정보와 프로젝트에서 구매가 진행 중인거나 예정인 소프트웨어 내역을 확인하여 개발 및 운영 환경에서 사용될 미들웨어 솔루션을 식별한다. 식별한 미들웨어 솔루션들에 대해 솔루션의 시스템, 구분, 솔루션명, 버전, 제조사 등의 정보를 정리한 미들웨어 솔루션 목록을 작성한다. 작성된 미들웨어 솔루션 목록은 이해관계자 등엥게 전달하여 오류 및 누락을 확인하고 수정한다. 

 

미들웨어 솔루션 명세서 작성

미들웨어 솔루션 목록의 미들웨어 솔루션별로 관련 정보들을 상세하게 기술 하는 것. 

미들웨어 솔루션 제품 명칭 및 버전, 제품 사용 목적 등을 솔루션에 대한 제품안내서 및 설명 자료 등을 통해 검토한다.

제품에 대한 사용 환경과 특징 등을 솔루션 설명자료나 관련 담당자를 통해 검토한다.

솔루션이 지원하는 시스템 범위와 정상적인 서비스 제공을 위한 환경 구성, 제공 기능 등에 대한 제약사항이 존재하는지 제품안내서 및 기술 지원 담당자를 통해 검토한다. 

솔루션에 대한 상세 정보 및 제공 기능, 특징, 시스템 구성 환경 등에 대한 제약 사항을 정리하여 솔루션에 대한 명세서를 작성한다.


 

'자격증 + 어학 > 1. 소프트웨어 설계' 카테고리의 다른 글

2. 화면설계  (0) 2024.05.10
1. 요구사항 확인  (0) 2024.05.09
3. 애플리케이션 설계  (0) 2024.05.07