1. 요구사항 검증
1) 검증방법(★)
- 동료검토(Peer Review) : 명세서 작성자가 직접 설명, 동료들이 검토
- 워크스루(Work Through) : 명세서 미리 배포, 사전 검토 후 회의를 통해 검토
- 인스펙션(Inspection) : 검토 전문가들이 명세서 확인 및 검토
2) 프로토타이핑(Prototyping) : 개발될 소프트웨어에 대한 견본품(Prototype), 최종 결과물 예측
3) 테스트 설계 : 요구사항이 현실적으로 가능한지 검토
4) CASE 도구 활용 : 일관성 분석을 통해 요구사항의 추적, 분석, 관리, 표준 준수 여부 확인
2. 인터페이스 방법 명세화
1) 시스템 연계 기술
- DB Link : DB에서 제공하는 DB Link 객체를 이용
- API / Open API(★) : 송신 시스템의 DB에서 읽어와 제공하는 인터페이스 프로그램
- 연계 솔루션 : EAI(★) 서버와 송/수신 시스템에 설치되는 클라이언트를 이용하는 방식
** EAI(Enterprise Application Integration) : 송/수신 처리 및 진행 현황 모니터링, 통제하는 시스템 **
- Socket : 포트를 할당, 클라이언트의 통신 요청 시 클라이언트와 연결해 통신하는 네트워크 기술
- Web Service : 웹 서비스에서 WSDL(★), UDDI(★), SOAP(★) 프로토콜을 이용하여 연계하는 서비스
** WSDL : 웹 서비스에 대한 상세 정보를 XML 형식으로 구현(웹 서비스명, 서비스 제공 위치, 프로토콜 등) **
** UDDI : WSDL을 등록해 서비스와 서비스 제공자 검색하고 접근하는데 사용 **
** SOAP : HTTP, HTTPS, SMTP 들을 활용, XML 기반의 메세지를 네트워크 상에서 교환하는 프로토콜 **
2) 인터페이스 통신유형
- 단방향 : 요청만 하고 응답 없는 방식
- 동기 : 요청하고 응답이 올 때까지 대기하는 방식
- 비동기 : 요청하고 다른 작업 수행하다 응답이오면 처리하는 방식
(Send-Receive, Send-Receive-Acknowledge, Publish-Subscribe)
3) 인터페이스 처리 유형
- 실시간 방식 : 사용자 요청한 내용 바로 처리 할 때
- 지연 처리방식 : 데이터를 매건 단위 처리, 비용 많이 발생할 때 사용
- 배치 방식 : 대용량 데이터 처리
3. 미들웨어 솔루션
1) 미들웨어 : 서버와 클라이언트 사이에서 다양한 서비스 제공하는 소프트웨어
2) 미들웨어 종류(★)
- DB(Data Base)
: 클라이언트에서 데이터베이스와 연결하는 미들웨어
- RPC(Remote Procedure Call)
: 원격 프로시저를 마치 로컬 프로시저 처럼 호출하는 미들웨어
- MOM(Message Oriented Middleware)
: 비동기형 메세지 전달하는 미들웨어(이기종 분산 데이터 시스템의 데이터 동기에 많이 사용)
- TP-Monitor(Transaction Processing Monitor)
: 트랜잭션을 감시 및 처리하는 미들웨어(사용자수가 증가해도 빠른 응답속도)
- ORB(Object Request Broker)
: 객체지향 미들웨어
- WAS(Web Application Server)
: 동적 콘텐츠를 처리하기 위한 미들웨어(웹 환경 구현하기 위한)
4. 모듈 연계
1) 모듈 연계 방법
- EAI(Enterprise Application Integration) : 기업에서 운영되는 이기종 간의 시스템 연계 솔루션
** Point-to-Point : 1:1로 연결(변경, 재사용 어려움)
** Hub & Spoke : 중앙 집중형 방식(허브 시스템)
** Message Bus(ESB방식) : 애플리케이션 사이에 미들웨어를 두고 연계
** Hybrid : Hub & Spoke와 Message Bus의 혼합
- ESB(Enterprise Service Bus) : 애플리케이션 간 표준 인터페이스를 제공하는 솔루션
5. 인터페이스 구현 : 송/수신 시스템 간의 데이터 교환 및 처리를 실현해주는 작업
1) 데이터를 통신을 이용한 구현
- JSON(JavaScript Object Notation) : { "속성" : "값" }의 쌍 형태로 표현, 개방형 표준 포맷
- AJAX(Asynchronous JavaScript and XML) : 클라이언트와 서버간 XML데이터 주고 받는 비동기 통신 기술
6. 인터페이스 보안
1) 보안 기능 적용
- 네트워크 영역
: 스니핑(Sniffing)을 이용한 데이터 탈취 방지, 암호화 설정
** 스니핑 : 직접 공격 안하고 몰래 들여다보는 공격기법
<네트워크 보안 기술>(★)
** IPsec(IP Security) : 네트워크 계층에서 IP단위 데이터 변조 방지, 은닉(비밀) 기능 제공
** SSL(Secure Sockets Layer) : TCP/IP 계층과 어플리케이션 사이 인증, 암호화, 무결성 보장 프로토콜
** S-HTTP(Secure Hypertext Transfer Protocol) : 클라이언트, 서버 간 전송되는 모든 메세지 암호화 프로토콜
7. 인터페이스 구현 검증
1) 구현 검증 도구(★)
xUNIT | JAVA, C++, .Net 등 다양한 언어를 지원하는 단위테스트 프레임워크 |
STAF | 재사용 등 다양한 환경을 지원. 확장성 좋음. 분산 소프트웨어, 데몬 |
FitNesse | 웹기반 테스트케이스 설계, 협업 기능 좋음 |
NTAF | STAF와 FitNesse의 장점을 통함. NHN의 테스트 자동화 프레임웤 |
Selenium | 다양한 브라우저 및 개발 언어를 지원하는 웹 앱 테스트 프레임웤 |
watir | Ruby 앱 테스트 |
8. 인터페이스 감시 도구 : APM을 통해 로그 및 시스템 부하 등 종합적인 정보 조회, 분석 가능
** APM(Application Performance Management?Monitoring)
1) 어플리케이션 성능관리를 위해 모니터링 기능 제공하는 도구
- 스카우터(Scouter) : APP, OS 자원 모니터링 기능 제공
- 제니퍼(Jennifer) : 전 단계에 걸쳐 성능 모니터링, 분석 소프트웨어
2) APM 방식
- 리소스 방식 : Nagios, Zabbix, Cati 등
- 엔드투엔드 방식(End-to-End) : VisualVM, 제니퍼, 스카우터 등
'자격증 준비 > 정보처리기사' 카테고리의 다른 글
11장 응용SW기초기술활용 (0) | 2022.04.27 |
---|---|
9장 소프트웨어 개발 보안 구축 (0) | 2022.04.20 |
7장 어플리케이션 테스트 관리 (0) | 2022.04.17 |
6장 화면설계 (0) | 2022.04.08 |
4장 서버프로그램 구현 (0) | 2022.04.04 |