카테고리 없음

정보처리기사 실기 이론 키워드 정리 -2

도준영 2024. 10. 17. 15:51

모듈 구현 (직전 , 전전 회차에 나옴)



모듈 : 특정 기능을 수행하는 단위, 다른 모듈과 결함해 전체 구성

독립성 : 응집도는 높이고 결합도를 낮춘다.

FAN IN / FAN OUT - 틀리면 접자..



결합도 (낮을수록 좋다) - 자스제외공내 => 뒤로 갈수록 낮아짐

자료 : 값을 그대로 전달          f(10)

스탬프 : 배열, 스트럭쳐 전달   f(&a)

제어 : 제어 요소 전달              f(int a, int b)

외부 : 다른 모듈 선언 변수 참조

공통 : 전역 변수 

내용 : 다른 모듈 내부 기능 사용



응집도 (높을수록 좋다) - 우논시절통순기

기능 : 단일 목적 수행

순차 : 순차적으로 실행되는데 출력값이 다음것의 입력값이 됨

통신 : 동일한 입출력을 가짐

절차 : 순차적으로 수행

시간 : 같은 시간에 실행되는 것

논리 : 유사한 성격을 가짐

우연 : 연관 X



EAI - 기업 내 애플리케이션 간의 데이터를 통합하고 상호 운용하는 것

ex): CJ ONE - CJ계열사를 묶은 어플 (로지스 , 제일제당 , 대한통운 등 ...)

SSO (하나 로그인하면 다 로그인됨) / 포인트 통합 등등 여러 기능 제공



EAI종류 

- Point To Point - 어플간 1:1 연결

- Hub & Spoke - 중앙 허브를 통해 관리

- Message Bus - 메세지 버스를 통해 통신

- Hybrid - 다 사용



SOAP

XML기반의 표준화된 웹 프로토콜

보안성과 트랜잭션 관리가 중요한 복잡한 웹 서비스 통신에 사용

HTTP, HTTPS , SMTP 등을 통한 XML 메세지 교환 프로토콜

SOAP 구성 요소

- SOAP

- UDDI : 모음집

- WSDL : XML형식의 언어(설명서)



REST

HTTP 기반의 경량화된 아키텍쳐 스타일

URL을 통해 자원을 표현,교환

구성 요소

- 자원 : URI

- 행위 : GET, POST, PUT, DELETE

- 표현 : 데이터



HTTP

HTTP : 클라이언트와 서버간의 HyperText 전송 프로토콜

HyperText 문서내의 링크를 통해 다른 문서나 리소스로 접근 가능

HTML : 웹 페이지용 마크업 언어 HYPERTEXT 작성(구조 정의)

AJAX : 비동기 처리



인터페이스 전송 데이터

JSON : 경량 데이터 교환 언어 , 가독성,구조화 높음

XML : 계층적 표현하는 마크업 언어

YML : 직렬화

CSU : 쉼표로 구별



객체지향 구성 요소

클래스 - 붕어빵 틀

   ㄴ 속성 : 객체가 가지는 데이터나 상태
   ㄴ  메서드 : 객체가 수행할 수 있는 동작 , 기능을 정의한  함수

객체 - 붕어빵 틀에서 만들어져 나온 붕어빵 , 인스턴스

메세지 - 객체간의 메서드를 호출하여 상호 작용하는 방식



객체지향 특징

캡슐화 : 외부에서의 접근 제한

정보은닉 : 내부를 숨기고 필요한정보만 제공

상속 :  생략

다형성 : 메서드 오버로딩,라이딩  / 하나의 객체지만 여러타입을 가질 수 있음

추상화 : 간결하게 표현



객체지향 설계 원칙

SOLID

- 단일 책임 원칙 (Single Responsibility principle) - 한 클래스는 하나의 책임

- 개방 폐쇄 원칙 (Open Closed Principle) - 개방에는 열려 있고 변경에는 닫혀 있어야 한다.

- 리스코프 치환 원칙 (Liscov Substitution Principle) - 자식은 부모를 대체 가능해야 한다.

- 인터페이스 분리 원칙 (Interface Sergregation Principle) - 안쓰는 인터페이스는 구현하지 마라.

- 의존성 역전 원칙 (Dependency Inversion Principle) - 구현클래스에 의존하지 말고 인터페이스에 의존해라.



테스트 기본원칙

결함 집중 (파레토) - 결함은 특정 기능에 몰아서 나타난다 20%의 기능이 80%의결함

살충제 패러독스듈 구현 (직전 , 전전 회차에 나옴)







모듈 : 특정 기능을 수행하는 단위, 다른 모듈과 결함해 전체 구성



독립성 : 응집도는 높이고 결합도를 낮춘다.



FAN IN / FAN OUT - 틀리면 접자..







결합도 (낮을수록 좋다) - 자스제외공내 => 뒤로 갈수록 낮아짐



자료 : 값을 그대로 전달 f(10)



스탬프 : 배열, 스트럭쳐 전달 f(&a)



제어 : 제어 요소 전달 f(int a, int b)



외부 : 다른 모듈 선언 변수 참조



공통 : 전역 변수 



내용 : 다른 모듈 내부 기능 사용







응집도 (높을수록 좋다) - 우논시절통순기



기능 : 단일 목적 수행



순차 : 순차적으로 실행되는데 출력값이 다음것의 입력값이 됨



통신 : 동일한 입출력을 가짐



절차 : 순차적으로 수행



시간 : 같은 시간에 실행되는 것



논리 : 유사한 성격을 가짐



우연 : 연관 X







EAI - 기업 내 애플리케이션 간의 데이터를 통합하고 상호 운용하는 것



ex): CJ ONE - CJ계열사를 묶은 어플 (로지스 , 제일제당 , 대한통운 등 ...)



SSO (하나 로그인하면 다 로그인됨) / 포인트 통합 등등 여러 기능 제공







EAI종류 



- Point To Point - 어플간 1:1 연결



- Hub & Spoke - 중앙 허브를 통해 관리



- Message Bus - 메세지 버스를 통해 통신



- Hybrid - 다 사용







SOAP



XML기반의 표준화된 웹 프로토콜



보안성과 트랜잭션 관리가 중요한 복잡한 웹 서비스 통신에 사용



HTTP, HTTPS , SMTP 등을 통한 XML 메세지 교환 프로토콜



SOAP 구성 요소



- SOAP



- UDDI : 모음집



- WSDL : XML형식의 언어(설명서)







REST



HTTP 기반의 경량화된 아키텍쳐 스타일



URL을 통해 자원을 표현,교환



구성 요소



- 자원 : URI



- 행위 : GET, POST, PUT, DELETE



- 표현 : 데이터







HTTP



HTTP : 클라이언트와 서버간의 HyperText 전송 프로토콜



HyperText 문서내의 링크를 통해 다른 문서나 리소스로 접근 가능



HTML : 웹 페이지용 마크업 언어 HYPERTEXT 작성(구조 정의)



AJAX : 비동기 처리







인터페이스 전송 데이터



JSON : 경량 데이터 교환 언어 , 가독성,구조화 높음



XML : 계층적 표현하는 마크업 언어



YML : 직렬화



CSU : 쉼표로 구별







객체지향 구성 요소



클래스 - 붕어빵 틀



   ㄴ 속성 : 객체가 가지는 데이터나 상태

   ㄴ 메서드 : 객체가 수행할 수 있는 동작 , 기능을 정의한 함수



객체 - 붕어빵 틀에서 만들어져 나온 붕어빵 , 인스턴스



메세지 - 객체간의 메서드를 호출하여 상호 작용하는 방식







객체지향 특징



캡슐화 : 외부에서의 접근 제한



정보은닉 : 내부를 숨기고 필요한정보만 제공



상속 : 생략



다형성 : 메서드 오버로딩,라이딩 / 하나의 객체지만 여러타입을 가질 수 있음



추상화 : 간결하게 표현







객체지향 설계 원칙



SOLID



- 단일 책임 원칙 (Single Responsibility principle) - 한 클래스는 하나의 책임



- 개방 폐쇄 원칙 (Open Closed Principle) - 개방에는 열려 있고 변경에는 닫혀 있어야 한다.



- 리스코프 치환 원칙 (Liscov Substitution Principle) - 자식은 부모를 대체 가능해야 한다.



- 인터페이스 분리 원칙 (Interface Sergregation Principle) - 안쓰는 인터페이스는 구현하지 마라.



- 의존성 역전 원칙 (Dependency Inversion Principle) - 구현클래스에 의존하지 말고 인터페이스에 의존해라.







테스트 기본원칙



결함 집중 (파레토) - 결함은 특정 기능에 몰아서 나타난다 20%의 기능이 80%의결함

살충제 패러독스 -동일한 테스트 케이스로 반복 실행하면 더 이상 새로운 결함을 발견 할 수 없다. 정기적으로 테스트를 리뷰하고 새로운 테스트 케이스를 추가해야 한다.

오류 부재의 궤변 - 개발된 시스템이 사용자의 요구사항을 만족하지 못하거나 사용성이 낮다면 오류를 발견하고 제거해도 품질이 높다고 말할 수 없다.



테스트 산출물



TEST 계획서 : 범위, 전략 , 자원 등을 정의

TEST 케이스 : 조건 , 입력값, 기대결과 로 구성되어 있는 테스트 항목의 명세서

TEST 시나리오 : 케이스를 묶은 것

TEST 결과서 : 기록 문서



테스트 오라클  -> 정답 넣고 비교 ★

- 테스트 결과가 참인지 거짓인지 판단하기 위해 미리 정의된 참값을 대입하여 실제 결과와 비교하는 것



유형

- 참 오라클 : 올 퍼펙

- 샘플링 오라클 : 일부만 비교 , 설렁설렁

- 휴리스틱 오라클 : 경험, 직관적으로 비교

- 일관성 검사 오라클 : 변경 전후 , 여러 버전에서 비교 등



테스트 레벨 

단위 테스트 - 개별 모듈 ,컴포넌트 독립적으로 테스트

통합 테스트 - 모듈간 흐름 테스트 (상향식 : 드라이버 , 하향식 : 스텁 , 빅뱅:한꺼번에 쾅 테스트)



테스트 기법

-화이트박스 테스트 : 소스코드를 보면서 문장 검증, 분기 검증, 경로검증 , 조건검증



*맥케이브 공식 : 면 +1 *



-블랙박스 테스트 

동등분할

경계값 테스트(Boundery Value Test) : 경계값에서 오류가 가장 많이 발생한다는 이론에 따라 테스트 - 90~95가 통과값일때 89 90 91 /  94 95 96 으로 테스트 하는것

원인 -효과 그래프

오류 예측 검사

비교 검사

상태전이 검사



테스트 목적

-회복 테스트 : 고의 실패

-안전 : 보안

-강도 : 과부하 테스트

-성능 : 응답시간 , 처리량 , 속도

-구조 : 복잡도 평가

-회귀 : 변경된것의 결함 여부 확인

-병행 : 변경된값에 동일한 입력값 넣어 확인

-A/B : 약간의 변화로 기존대비 변화 확인

-스모크 : 테스트를 테스트



테스트 커버리지

테스트가 얼마나 커버했는지 측정 기준

종류

- 구문 커버리지 : 구문(문장) 1번 이상

- 조건 커버리지 : 모든 조건식의 참 / 거짓 평가  f(x>y || x>z)  일때  x>y 와 x>z를 의미

- 결정 커버리지 : 모든 결정문의 참 / 거짓 평가  f(x>y || x>z) 전체를 의미

- 조건/결정 커버리지 : 조건 + 결정

- 변경 조건/결정 : TF / TT / FF 모든 경우

- 다중조건 : 모든것 전부



테스트 장치

- 테스트 드라이버 : 상향식

- 테스트 스텁 : 하향식

- 테스트 슈트 : 케이스 집합

- 테스트 케이스 : 입력값, 조건 결과 집합

- 테스트 스크립트 : 설명서

- 목 오브젝트 : 조건부 상황 유도 - 결함 추적



성능 분석 지표

- 처리량 -

- 응답시간 - 전송 시점부터 응답!까지

- 경과 시간 - 전송 시점부터 끝날때!까지

- 자원 사용률 - cpu memory network 자원 사용량



소스코드 품질 분석

- 동료 검토 - 주변사람이

- 워크 쓰루 - 팀회의              동료검토 /워크쓰루 는 개발자 포함

- 인스펙션 - 공식 검토회의         - 개발자 제외

리팩토링 

- 내부구조 개선

튜닝

- sql 쿼리 최적화



유지보수

-수정보수 : 오류수정

-적응보수 : 환경변화

-향상보수 : 기능추가

-예방보수 : 잠재적 오류 대비



DRM  ★

디지털 콘텐츠 보호 기술

저작권 보호

- 암호화 : ID PW 처럼 특정 키를 가진 사용자만 접근할수 있도록 하는 방식

- 위변조 방지 : 변조 감지 

- 워터마킹 : 워터마크 찍는것

- 핑거 프린팅 : 구매자 정보를 저장해서 최초 유포자 검거