미들웨어 : 운영체제와 응용프로그램, 또는 서버와 클라이언트 사이에서 다양한 서비스를 제공하는 소프트웨어
- DB : 데이터베이스 벤더에서 제공하는 클라이언트에서 원격의데이터베이스를 연결하는 미들웨어
- RPC(원격 프로시저 호출) : 응용프로그램의 프로시저를 사용하여 원격 프로시저를 마치 로컬 프로시저처럼 호춯하는 미들웨어
- MOM(메시지 지향 미들웨어) : 메시지 기반의 비동기형 메시지를 전달하는 미들웨어
- TP-Monitor(트랜잭션 처리 모니터) : 온라인 트랜잭션 업무에서 트랜잭션 처리 및 감시하는 미들웨어
- ORB(객체 요청 브로커) : 코바 표준스펙을 구현한 객체지향 미들웨어
- WAS(웹 애플리케이션 서버) : 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위한 미들웨어, 클라이언트/서버 환경보다는 웹환경을 구현하기 위한 미들웨어
모듈 연게를 위한 인터페이스 기능 식별
EAI : 기업 내 각종 애플리케이션 및 플랫폼 간의 정보전달, 연계, 통합 등 상호 연동이 가능하게 해주는 솔루션
- Point-to-Point : 1대1
- Hub & Spoke : 중앙집중형 방식
- Message Bus(ESB) : 미들웨어를 두어 처리
- Hybrid : Hub & Spoke + Message Bus
ESB : 애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스를 제공하는 솔루션
웹서비스 : 네트워크의 정보를 표준화된 서비스 형태로 만들어 공유하는 기술
- SOAP
- UDDI
- WSDL
인터페이스 구현
- 데이터 통신을 이용한 인터페이스 구현 : 애플리케이션 영역에서 데이터 포맷을 인터페이스 대상으로 전송하면 이를 수신측에서 파싱하여 해석하는 방식
- 인터페이스 엔티티를 이용한 인터페이스 구현 : 인터페이스가 필요한 시스템 사이에 별도의 인터페이스 엔티티를 두어 상호 연계하는 것
- JSON : 웹과 컴퓨터 프로그램에서 용량이 적은 데이터를 교환하기 위해 데이터 객체를 속성-값의 쌍 형태로 표현하는 개방형 표준 포맷
- AJAX : 자바스크립트를 사용하여 클라이언트와 서버간의 XML 데이터를 주고받는 비동기 통신 기술
인터페이스 보안 : 인터페이스의 보안성 향상을 위해 인터페이스의 보안 취약점을 분석한 후 적절한 보안 기능을 적용하는 것
- 네트워크 영역 : 인터페이스 송수신 간 스니핑 등을 이용한 데이터 탈취 및 변조 위협을 방지하기 위해 네트워크 트래픽에 대한 암호화를 설정
- 애플리케이션 영역 : 소프트웨어 개발 보안 가이드를 참조하여 애플리케이션 코드 상의 보안 취약점을 보완하는 방향으로 애플리케이션 보안 기능을 적용
- 데이터베이스영역 : 데이터베이스, 스키마, 엔티티의 접근 권한과 프로시저, 트리거 등 데이터베이스 동작 객체의 보안 취약점에 보안 기능을 적용
IPsec : 네트워크 계층에서 IP 패킷 단위의 데이터 변조 방지 및 은닉 기능을 제공하는 프로토콜
SSL : TCP/IP 계층과 애플리케이션 계층 사이에서 인증, 암호화, 무결성을 보장하는 프로토콜
S-HTTP : 클라이언트와 서버간에 전송는 모든 메시지를 암호화하는 프로토콜
데이터 무결성 검사 도구 : 인터페이스 보안 취약점을 분석하는 사용되는 도구
인터페이스 구현 검증
- xUnit : 같은 테스트 코드를 여러번 작성하지 않게 도와주고 테스트마다 예상 결과를 기억할 필요가 없게 하는 자동화된 해법을 제공하는 단위 테스트 프레임워크
- STAF : 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
- fitnesse : 웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크
- NTAF : fitnesse의 장점인 협업기능과 STAF의 장점인 재사용 및 확장성을 통합한 NHN의 테스트 자동화 프레임워크
- Selenium : 다양한 브라우저 및 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임워크
- watir : ruby를 사용하는 애플리케이션 테스트 프레임워크
화면설계
사용자 인터페이스
- CLI : 명령과 출력이 텍스트 형태로 이뤄지는 인터페이스
- GUI : 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 그래픽 환경의 인터페이스
- NUI : 사용자의 말이나 행동 등 자연스러운 움직임을 통해 기기를 조작하는 인터페이스
사용자 인터페이스의 기본원칙
- 직관성 : 누구나 쉽게 이해하고 사용할 수 있어야 한다.
- 유효성 : 사용자의 목적을 정확하고 완벽하게 달성해야 한다.
- 학습성: 누구나 쉽게 배우고 익힐 수 있어야 한다.
- 유연성 : 사용자의 요구사항을 최대한 수용하고 실수를 최소화 해야 한다.
품질요구사항
소프트웨어 품질 : 소프트웨어에 대한 요구사항이 사용자의 입장에서 얼마나 충족하는가를 나타내는 소프트웨어 특성의 총체
- ISO/IEC 9126 : 소프트웨어 품질 특성과 평가를 위한 국제표준
- ISO/IEC 25010 : ISO/IEC 9126에 호환성과 보안성을 강화하여 개정한 국제 표준
- ISO/IEC 12119 : 패키지 소프트웨어의 일반적인 제품 품질 요구사항 및 테스트를 위한 국제 표준
- ISO/IEC 14598 : 소프트웨어 품질의 측정과 평가에 필요 절차를 규정한 표준
ISO/IEC의 소프트웨어 품질 특성
- 기능성 : 소프트웨어가 사용자의 요구사항을 정확하게 만족하는 기능을 제공하는지 여부
- 신뢰성 : 주어진 시간동안 주어진 기능을 오류없이 수행할 수 있는 정도
- 사용성 : 사용자와 컴퓨터 사이에 발생하는 어떠한 행위에 대하여 사용자가 정확하게 이해하고 사용하며, 향후 다시 사용하고 싶은 정도를 나타냄
- 효율성 : 사용자가 요구하는 기능을 얼마나 빠르게 처리할 수 있는지 정도를 나타냄
- 유지보수성 : 환경의 변화 또는 새로운 요구사항이 발생했을때 소프트웨어를 개선하거나 확장할 수 있는 정도
- 이식성 : 소프트웨어가 다른 환경에서도 얼마나 쉽게 적용할 수 있는지 정도를 나타냄
HCI : 사람이 시스템을 보다 편리하고 안전하게 사용할 수 있도록 연구하고 개발하는 학문
UX : 사용자가 시스템이나 서비스를 이용하면 느끼고 생각하게 되는 총체적인 경험
UX의 특징
- 주관성 : 사람들의 개인적, 신체적, 인지적 특성에 따라 다르므로 주관적이다.
- 정황성 : 경험이 일어나는 상황 또는 주변 환경에 따라 영향을 받음
- 총체성 : 개인이 느끼는 총체적인 심리, 감성적인 결과임
감성공학 : 인체의 특징과 감성을 제품설계에 최대한 반영시키는 기술
'정보처리기사' 카테고리의 다른 글
운영체제 / 프로토콜 / 네트워크 (0) | 2023.09.10 |
---|---|
애플리케이션 테스트 (0) | 2023.09.03 |
모듈 / IPC / 디자인 패턴 (0) | 2023.09.02 |
통합구현 / 웹서비스 활용 / 아키텍처 / 객체지향 (0) | 2023.08.27 |
데이터베이스 개념(2) (0) | 2023.08.27 |