728x90
4장. 서버 프로그램 구현 | |
추상화 | 전체적이고 포괄적이 개념 설계 후 구체화시켜 나가는 것 |
정보 은닉 | 모듈 내부에 포함된 절차나 자료들의 정보가 감추어저 다른 모듈이 접근, 수정하지 못함 |
레이어 패턴 | 시스템을 계층으로 구분하여 구성하는 패턴 |
파이프-필터 패턴 |
데이터 스트림 절차의 각 단계를 필터로 캡슐화하여 파이프를 통해 전송하는 패턴 |
MVC 패턴 | 서브시스템을 모델, 뷰, 컨트롤러 구조화한 패턴 |
클래스 | 공통된 속성과 연산을 갖논 객체의 집합 |
캡슐화 | 외부에서의 접근을 제한하기 위해 인터페이스를 제외한 세부 내용을 은닉 |
상속 | 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려 받는 것 |
다형성 | 각각의 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력 |
객체지향 분석 | 객체, 속성, 연산, 관계 등을 정의하여 모델링하는 작업 |
럼바우 분석 기법 |
모든 소프트웨어의 구성 요소를 그래픽 표기법을 이용하여 모델링 객체 모델링 > 동적 모델링 > 기능 모델링 |
모듈 | 모듈화를 통해 분리된 시스템의 각 기능 |
결합도 | 모듈 간의 상호 의존하는 정도 내용 > 공통 > 외부 > 제어 > 스탬프 > 자료 |
응집도 | 모듈 내부 요소들이 서로 관련되어 있는 정도 기능 > 순차 > 교환 > 절차 > 시간 > 논리 > 우연 |
팬 인/아웃 | 인 : 제어 받는 모듈 수 / 아웃 : 제어 하는 모듈 수 |
IPC | 모듈 간 통신 방식을 구현하기 위해 사용되는 대표적인 프로그래밍 인터페이스 집합 공유 메모리, 소켓, 세마포어, 파이프, 메시지 큐잉 |
테스트 케이스 | 소프트웨어가 사용자의 요규사항을 정확하게 준수했는지 확인하기 위한 항목에 대한 명세서 |
코드 | 자료의 분류, 추출 등을 용이하게 하기 위해 사용되는 기호 순차, 블록, 10진, 그룹 분류, 연상, 표의 숫자, 합성 코드 |
디자인 패턴 | 모듈 간의 관계 및 인터페이스를 설계할 때 참조할 수 있는 예제. 생성, 구조, 행위 |
생성 패턴 | 클래스나 객체 생성과 참조 과정을 정의 추상 팩토리 : 인터페이스를 통해 객체들의 그룹으로 생성하여 추상적으로 표현 빌더 : 건축하듯이 조합하여 객체 생성 팩토리 메소드 : 객체 생성을 서브 클래스에서 처리하도록 분리 프로토타입 : 원본 객체를 복제 싱글톤 : 하나의 객체를 생성하면 어디서든 참조 가능하지만 여러 프로세스 참조는 안됨 |
구조 패턴 | 클래스나 객체를 조합하여 더 큰 구조로 만드는 패턴 어댑터 : 클래스들의 인터페이스를 다른 클래스가 이용할 수 있도록 변환 브리지 : 독립적 확장 가능 컴포지트 : 복합 객체와 단일 객체를 구분 없이 다룸 데코레이터 : 결합을 통해 능동적으로 기능 확장 퍼싸드 : 상위에 인터페이스 구성하여 서브 클래스들의 기능을 간편하게 사용 플라이웨이트 : 인스턴스 공유하여 메모리 절약 프록시 : 객체 사이에서 인터페이스 역할 수행 |
행위 패턴 | 클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의하는 패턴 책임 연쇄 : 객체가 요청을 처리 못하면 다른 객체에 넘어감 커맨드 : 요청을 객체의 형태로 캡슐화 인터프리터 : 언어에 문법 표현을 정의 반복자 : 객체에 대해 동일한 인터페이스를 사용 중재자 : 수많은 객체들 간의 복잡한 상호작용을 캡슐화하여 객체로 정의 메멘토 : 특정 시점의 객체 내부 상태 객체화 옵서버 : 객체의 상태가 변화하면 상속되어 있는 다른 객체들에게 상태 전달 상태 : 객체의 상태에 따라 동일한 동작을 다르게 처리 전략 : 동일한 계열의 알고리즘들을 별개로 캡슐화하여 상호 교환 템플릿 메소드 : 상위 클래스에서 골격 정의 후 하위에서 구체화 방문자 : 클래스의 데이터 구조에서 처리 기능을 분리하여 따로 구성 |
배치 프로그램 | 여러 작업들을 미리 정해진 일련의 순서에 따라 일괄적으로 처리하도록 만든 프로그램 |
5장. 인터페이스 구현 | |
요구사항 검토 | 요구사항 명세서의 오류 확인 및 결함 여부를 담당자들이 수작업으로 분석 워크스루 : 명세서를 미리 배포하여 사전 검토 후 짧은 회의를 통해 결함 발견 |
미들웨어 | 운영체제와 응용 프로그램 사이에서 다양한 서비스를 제공하는 소프트웨어 RPC : 원격 프로시저 호출 TP-Monitor : 온라인 트랜잭션 업무에서 트랜잭션을 처리 및 감시 |
EAI | 기업 내 각 종 애플리케이션 및 플랫폼 간의 상호 연동이 가능하게 해주는 솔루션 Point-to-Point, Hub & Spoke, Message Bus(ESB 방식), Bus Hybrid |
JSON | 웹과 프로그램 사이에서 데이터를 교환하기 위해 객체를 속성, 값의 쌍 형태로 표현한 포맷 |
AJAX | 자바스크립트를 사용하여 클라이언트와 서버간에 XML 데이터를 주고받는 비동기 통신 기술 |
IPsec | 네트워크 계층에서 IP 패킷 단위의 데이터 변조 방지 및 은닉 기능을 제공하는 프로토콜 |
SSL | TCP/IP 계층과 애플리케이션 계층 사이에서 인증, 암호화, 무결성을 보장하는 프로토콜 |
S-HTTP | 클라이언트와 서버 간에 전송되는 모든 메시지를 암호화 하는 프로토콜 |
xUnit | 같은 테스트 코드를 여러 번 작성하지 않게 도와주며 테스트마다 예상 결과를 기억할 필요가 없게 하는 자동화된 해법을 제공하는 단위 테스트 프레임워크 |
STAF | 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 제공하는 테스트 프레임워크 |
FitNess | 웹 기반 테스트 케이스 설계 등을 지원하는 테스트 프레임워크 |
NTAF | FitNess + STAF, NHN의 테스트 자동화 프레임워크 |
Watir | 인터프리터 방식의 Ruby를 사용하는 테스트 프레임워크 |
APM | 애플리케이션 성능 관리를 위해 다양한 모니터링 기능을 제공하는 도구 |
6장. 화면 설계 | |
UI | 사용자와 시스템 간의 상호작용이 원활하게 이뤄지도록 도와주는 장치나 소프트웨어 |
UX | 사용자가 시스템을 이용하면서 느끼고 생각하게 되는 총제적인 경험 |
CLI | 명령과 출력이 텍스트 형태로 이뤄지는 인터페이스 |
GUI | 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 그래픽 환경의 인터페이스 |
NUI | 별도의 장치 없이 사용자의 자연스러운 움직임으로 기기를 조작하는 인터페이스 |
UI의 기본 원칙 | 직관성, 유효성, 학습성, 유연성 |
ISO/IEC 9126 | 소프트웨어의 품질 특성과 평가를 위한 국제 표준 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성 |
7장. 애플리케이션 테스트 관리 | |
파레토 법칙 | 애플리케이션의 20%에서 전체 결함의 80%가 발견된다는 법칙 |
살충제 패러독스 |
동일한 테스트 케이스를 반복하면 더 이상 결함이 발견 안되는 현상 |
정적 테스트 | 프로그램을 실행하지 않고 명세서나 소스 코드를 대상으로 분석하는 테스트 |
동적 테스트 | 프로그램을 실행하여 오류를 찾는 테스트 |
검증 테스트 | 개발자의 시각에서 생산 과정을 테스트 하는 것 |
확인 테스트 | 사용자의 시각에서 생산된 제품의 결과를 테스트 하는 것 |
화이트 박스 테스트 |
원시 코드를 오픈한 상태에서 원시 코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법 |
검증 기준 | 문장 검증 기준 : 소스코드의 모든 구문이 한번 이상 수행되도록 분기 검증 기준 : 모든 조건문에 대해 결과가 true와 false 한번 이상 수행되도록 조건 검증 기준 : 조건문에 포함된 개별 조건식의 결과가 ture와 false 한번 이상 수행되도록 |
블랙박스 테스트 |
각 기능이 완전히 작동되는 것을 입증하는 테스트 |
동치 분할 검사 | 입력 조건에 타당한 입력 자료와 타당하지 않은 입력 자료의 개수를 균등하게 테스트 케이스를 만들어 입력 자료에 맞는 결과가 출력되는지 확인 |
경계값 분석 | 입력 조건의 경계값에서 오류가 발생될 확률이 높다는 점을 이용해 경계값을 테스트 케이스로 선정하여 검사 |
원인-효과 그래프 검사 |
입력 데이터 간의 결과와 출력에 영향을 미치는 상황을 분석하여 다음 효용성이 높은 테스트 케이스를 선정하여 검사 |
V-모델 | 소프트웨어 개발 단계와 케이션 테스트를 연결하여 표현한 것 |
단위 테스트 | 모듈이나 컴포넌트에 초점을 맞춰 테스트 |
통합 테스트 | 단위 테스트가 완료된 모듈을 합쳐 하나의 시스템으로 완성시키는 테스트 |
인수 테스트 | 요구사항을 충족시키는지에 중점을 두고 테스트, 알파/베타 테스트 |
하향식 통합 테스트 |
상위 모듈에서 하위 모듈 방향으로 통합하여 테스트 스텁 : 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구 |
상향식 통합 테스트 |
하위 모듈에서 상위 모듈 방향으로 통합하여 테스트 테스트 드라이버 : 테스트 대상의 하위 모듈을 호출, 전달, 수행 후 결과를 도출하는 도구 |
애플리케이션 성능 측정 지표 |
처리량, 응답 시간, 경과 시간, 자원 사용률 |
정적 분석 도구 | 작성한 소스코드를 실행하지 않고 코딩 표준이나 결함을 확인하는 코드 분석 도구 |
동적 분석 도구 | 작성한 소스코드를 실행하여 메모리 누수나 결함 등을 분석하는 도구 |
728x90
'2020(개정) 이후 정보처리기사 > ――――실기 정리――――' 카테고리의 다른 글
2022 정보처리기사 실기 시험전에 볼 것(3) (5) | 2022.07.21 |
---|---|
2022 정보처리기사 실기 시험전에 볼 것(1) (0) | 2022.07.21 |
2021 정보처리기사 실기 정리(完) (4) | 2021.10.10 |