오브의 빛나는 별

[정보처리기사] 5장 인터페이스 구현 본문

정보처리기사

[정보처리기사] 5장 인터페이스 구현

오브의 별 2024. 8. 13. 15:13
반응형

요구사항 검토: 요구사항 명세서의 오류 확인 및 표준 준수 여부 등의 결함 여부를 검토 담당자들이 수작업으로 분석하는 방법
동료 검토(Peer Review): 작성자가 명세서 내용을 직접 설명. 동료들이 시스템의 결함을 발견하는 형태의 검토 방법
워크 스루(Walk Through): 요구사항 명세서를 미리 배포하여 사전 검토한 후에 짧은 검토 회의를 통해 결함을 발견하는 형태의 검토방법
인스펙션(Inspection): 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서를 확인하면서 결함을 발견하는 형태의 검토 방법
프로토타이핑(Prototyping): 사용자의 요구사항을 정확히 파악하기 위해 실제 개발될 소프트웨어에 대한 견본품(Prototype)을 만들어 최종 결과물을 예측한다.
테스트 설계: 요구사항은 테스트할 수 있도록 작성되어야 하며, 이를 위해 테스트케이스를 생성하여 요구사항이 현실적으로 테스트 가능한지를 검토한다.
CASE 도구 활용: 일관성 분석(Consistency Analysis)을 통해 요구사항 변경사항의 추적, 분석, 관리, 표준준수 여부를 확인


인터페이스 요구사항 검증의 주요 항목
완전성(Completeness) : 사용자의 모든 요구사항이 누락되지 않고 완전하게 반영되어 있는가?
일관성(Consistency) : 요구사항이 모순되거나 충돌되는 점 없이 일관성을 유지하고 있는가 ?
명확성(Unambiguity) : 모든 참여자가 요구사항을 명확히 이해할 수 있는가 ? 
기능성(Functionality) : 요구사항이 '어떻게 (How to)' 보다 '무엇을(What)'에 충점을 두고 있는가 ?
검증 가능성(Verifiability) : 요구사항이 사용자의 요구를 모두 만족하고, 개발된 소프트웨어가 사용자의 요구 내용과 일치하는지를 검증할 수 있는가?
추적 가능성(Traceability) : 요구사항 명세서와 설계서를 추적할 수 있는가?
변경 용이성(Easily Changeable) : 요구사항 명세서의 변경이 쉽도록 작성되었는가?

미들웨어(Middleware): 운영체제와 소프트웨어의 중간에서 조정과 중개의 역할을 해주는 소프트웨어
RPC(Remote Procedure Call): 원격 프로시저 호출이라고 하며, 클라이언트가 원격제어를 통하여 원격 위치에 있는 프로시저를 실행할 수 있게 하는 프로세스 간 통신 기술
MOM(Message Oriented Middleware): 메시지 지향 미들웨어라고 하며 메시지 기반의 비동기형 메시지를 전달하는 미들웨어
DB(DataBase): 데이터베이스 벤더에서 제공하는 클라이언트와 데이터베이스를 연결하는 미들웨어. 2-Tier 아키텍처.
-TP-Monitor(Transection Processing Monitor): 항공기나 철도 예약 업무 등과 같이 온라인 트랜잭션 업무에서 트랜잭션을 처리하고 감시하는 미들웨어
-ORB(Object Request Broker): 객체 지향 미들웨어이며, 코바(CORBA) 표준 스펙을 구현한 미들웨어
-WAS(Web Application Server): 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어

EAI(Enterprise Application Integration): 기업 내 각종 애플리케이션 및 플랫폼 간의 정보 전달, 연계, 통합 등 상호 연동이 가능하게 해주는 솔루션
Point-to-Point: 애플리케이션을 1:1로 연결하고, 변경 및 재사용이 어렵다.
Hub & Spoke: 단일 접점인 허브 시스템을 통해 데이터를 전송하는 중앙 집중형 방식이다. 확장 및 유지보수가 용이하다. 허브 장애 발생 시 시스템 전체에 영향을 미친다.
Message Bus(ESB): 애플리케이션 사이에 미들웨어를 두어 처리하는 방식 확장성이 뛰어나며 대용량 처리가 가능하다.
Hybid: 그룹 내에서는 Hub & Spoke 방식을, 그룹 간에는Message Bus(ESB) 방식을 이용한다. 데이터 병목 현상을 최소화


JSON(JavaScript Object Notation): 웹과 컴퓨터 프로그램에서 용량이 적은 데이터를 교환하기 위해 데이터 객체를 속성 - 값의 쌍 형태로 표현하는 개방형 표준 포맷
AJAX(Asynchronous JavaScript and XML): javascript를 사용하여 클라이언트와 서버 간에 XML데이터를 주고 받는 비동기 통신 기술


인터페이스 구현 검증 도구: 인터페이스 구현을 검증하기 위한 통합 테스트를 수행하기 위해 사용하는 테스트 자동화 도구
xUnit: 테스트마다 입력과 예상 결과를 두어 자동화된 해법을 제공하는 단위테스트 프레임워크 java → JUnit, C++ → CppUnit, .Net → NUnit
STAF: 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크. 크로스 플랫폼이나 분산 소프트웨어에서의 테스트환경을 조성할 수 있도록 지원. 분산 소프트웨어의 경우 각 분선 환경에 설치된 데몬이 프로그램 테스트에 대한 응답을 대신하며, 테스트가 완료되면 이를 통합하고 자동화하여 프로그램을 완성
FitNesse: 웹 기반 테스트 케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크
NTAF: FitNesse + STAF Naver의 테스트 자동화 프레임워크
Selenium: 다양한 브라우저 및 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임워크
watir: 인터프리터 방식의 객체 지향 스크립트 언어인 Ruby를 사용하는 애플리케이션 테스트 프레임워크

반응형