반응형
* 디지털 저작권 관리(DRM) 기술 요소
- 암호화(Encryption) : 콘텐츠 및 라이선스를 암호화하고 전자 서명을 할 수 있는 기술
- 키 관리(Key Management) : 콘텐츠를 암호화한 키에 대한 저장 및 분배 기술
- 암호화 파일 생성(Packager) : 콘텐트를 암호화된 콘텐츠로 생성하기 위한 기술
- 식별 기술(Identification) : 콘텐츠에 대한 식별 체계 표현 기술
- 저작권 표현(Right Expression) : 라이선스의 내용 표현 기술
- 정책 관리(Policy Management) : 라이선스 발급 및 사용에 대한 정책 표현 및 관리
- 크랙 방지(Tamper Resistance) : 크랙에 의한 콘텐츠 사용 방지 기술
- 인증(Authentication) : 라이선스 발급 및 사용의 기준이 되는 사용자 인증 기술
* 물리데이터 저장소 파티션 유형 ( 범 조 해 )
- 범위 분할(Range Partitioning) : 지정한 열의 값을 기준으로 분할
- 해시 분할(Hash Partitioning) : 해시 함수를 적용한 결과 값에 따라 데이터 분할
- 조합 분할(Composite Partitioning) : 범위 분할 후 해시 함수를 적용하여 다시 분할
< 하향식 -> Stub >
< 상향식 통합 테스트 >
- 프로그램의 하위 모듈에서 상위 모듈 방향으로 통합하면서 테스트
- 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터 필요
- 상위 모듈 개발이 완료되지 않은 경우 드라이버(Driver)를 사용하기도 함
< 회귀 테스트(Regression Testing) >
- 이미 테스트된 프로그램의 테스팅 반복
- 통합 테스트로 인해 변경된 모듈이나 컴포넌트에 새로운 오류가 있는지 확인
< 빅뱅 테스트 >
- 통합 테스트(Integration Test) 중 비점진적 통합 방식
* 폴딩법 - 해싱함수 중 레코드 키를 여러부분으로 나누고 나눈 부분의 각 숫자를 더하거나 XOR한 값을 홈 주소로 사용
* 클린 코드 작성 원칙
-가독성 : 누구든지 코드를 쉽게 읽을 수 있도록 작성, 코드 작성 시 이해하기 쉬운 용어를 사용하거나 들여쓰기 기능 등을 사용
-단순성 : 코드를 간단하게 작성, 한 번에 한 가지를 처리하도록 코드를 작성하고 클래스/메소드/함수 등을 최소 단위로 분리
-의존성 배제 : 코드가 다른 모듈에 미치는 영향을 최소화, 코드 변경 시 다른 부분에 영향이 없도록 작성
-중복성 최소화 : 코드의 중복을 최소화, 중복된 코드는 삭제하고 공통된 코드를 사용
-추상화 : 상위(부모,슈퍼) 클래스/메소드/함수에서는 간략하게 애플리케이션의 특성을 나타내고, 상세 내용은 하위(자식,서브) 클래스/메소드/함수에서 구현
* 병행제어 기법 – 로킹
-로킹의 대상이 되는 객체의 크기를 로킹 단위라고 한다.
-데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.
-로킹 단위가 크면 나머지가 다 작아짐 / 로킹 단위가 작으면 나머지가 다 커짐
* 관계대수
1. 관계대수는 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언어이다.
2. 관계대수는 릴레이션을 처리하기 위해 연산자와 연산규칙을 제공하는 언어로
피연산자가 릴레이션이고 결과도 릴레이션이다.
3. 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다.
4. 대표적으로 순수 관계 연산자와 일반 집합 연산자가 있다.
* 관계해석
1. 관계 데이터 모델의 제안자인 코드가 수학에 가까운 기반을 두고 관계 데이터베이스를 위해 제안하여 탄생하였다.
2. 관계해석은 관계 데이터의 연산을 표현하는 방법으로, 원하는 정보를 정의할 때는 계산 수식을 사용한다.
3. 관계해석은 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지닌다.
4. 튜플 관계해석과 도메인 관계해석이 있다.
5. 기본적으로 관계해석과 관계대수는 관계 데이터베이스를 처리하는 기능과 능력면에서 동등하며 관계대수로 표현한 식은 관계해석으로 표현할 수 있다.
6. 질의어로 표현한다.
* 관계대수 - 순수 관계 연산자 : select / project / join / division
* DDL 옵션
CASCADE : 참조 테이블 튜플 삭제 시 관련 튜플 모두 삭제 및 속성 변경 시 속성값 모두 변경
RESTRICTED : 타 개체가 제거할 요소를 참조중이면 제거를 취소
SET NULL : 참조 테이블 변화 시 기본 테이플 관련 속성값 Null로 변경
SET DEFAULT : 참조 테이블 변화 시 기본테이블의 관련 튜플 속성값을 기본값으로 변경
CONSTRAINT : 제약 조건 이름 지정 / CHECK 속성값에 대한 제약 조건 정의
* DML의 유형에는 SELECT, INSERT, DELETE, UPDATE
* 집계함수: AVG: 해당 집계행의 평균, SUM: 해당 집계행의 합, COUNT: 집계행의 수
* 스크립트 언어: Javascript, ASP, JSP, PHP, Python, basic
* 정규화
1NF 조건 : 원자값으로 구성
2NF 조건 : 부분 함수 종속 제거 (완전 함수적 종속 관계)
3NF 조건 : 이행 함수 종속 제거
BCNF 조건 : 결정자 함수 종속
4NF 조건 : 다중값(다치) 종속성 제거
5NF 조건 : 조인 종속성 제거
* Java의 출력 함수는 "println, print, printf" 이다.
- println은 printline의 뜻으로 출력 후 다음 줄로 내려가 출력된다.
- printf는 지시자를 통해 변수의 값을 여러 가지 형식으로 출력하고자 할 때 사용한다.
ex.> System.out.printf("출력 서식", 출력할 내용);
- print는 콘솔창에 문자열을 단순 출력하는 동작을 수행한다
* 커널(kernel) : 프로세스(CPU스케줄링)관리, 기억장치 관리, 파일관리, 입출력 관리, 프로세스간 통신, 데이터 전송 및 변환 등 여러가지 가능 수행
* 쉘(shell) : 시스템과 사용자간의 인터페이스 담당, 명령어 해석기
* HRN 방식의 우선순위 산정 공식
(대기시간+서비스시간) / 서비스 시간 (값이 클 수록 우선순위가 높다.)
커널 스레드: 운영체제 커널에 의해 스레드 운영/구현 쉬움/속도 느림
사용자 스레드: 사용자가 만든 라이브러리를 사용해 스레드 운용/속도 빠름/구현 어렵
* 배치 프로그램의 필수 요소
-성능 : 주어진 시간 내에 처리를 완료할 수 있어야 하고,동시에 동작하고 있는 다른 애플리케이션을 방해하지 말아야 한다.
-견고함 : 유효하지 않은 데이터의 경우도 처리해서 동작 중단이 발생하지 않아야 한다
-대용량 데이터 : 대용량의 데이터를 처리할 수 있어야 한다.
-안정성 : 어떤 문제가 생겼는지, 언제 발생했는지 등을 추적할 수 있어야 한다.
-자동화 : 심각한 오류 상황 외에는 사용자의 개입 없이 동작해야 한다.
* JAVA 언어 접근 제한자
- public : 모든 접근 허용
- protected : 같은 패키지에 있는 객체와 상속관계 객체들만 허용
- default : 같은 패키지에 있는 객체들만 허용
- private : 현재 객체 내에서만 허용
* CMM(Capability Maturity Model) 모델의 레벨
- 초기 단계
- 관리 단계
- 정의 단계
- 정량적 관리 단계
- 최적화 단계
* SOA(Service Oriented Architecture,서비스 지향 아키텍처)계층
표현 계층(Presentation Layer), 프로세스 계층(Process Layer)
서비스 계층(Service Layer), 비즈니스 계층(Business Layer)
영속 계층(Persistency Layer)
* JSON : 용량이 적은 데이터를 교환하기 위해 데이터의 객체를 속성,값의 쌍 형태로 표현하는 형식, 즉 데이터 객체를 전달하기 위해 사람이 읽을 수 있는 텍스트를 사용하는 것, 자바스크립트(JavaScript)를 토대로 개발
* 하둡 : 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼
* 디지털 아카이빙 : 디지털 정보 자원을 장기적으로 보존하기 위한 작업
* 타조 : 우리나라가 주도적 개발 중인 하둡 기반의 분산 데이터 웨어하우스 프로젝트
* 폭포수 모형: 타당성 검토 -> 계획 -> 요구사항분석 -> 구현 -> 테스트 - > 유지보수
* SPICE (ISO/IEC 15504) : 소프트웨어 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준
* 컴퓨터 지원 소프트웨어 공학(computer-aided software engineering: CASE)
시스템 개발 방법론들의 자동화를 지원하는 소프트웨어 도구를 제공해 개발자의 반복적인 작업량을 줄이도록 하는 것
- CASE 도구들은 차트와 다이어그램을 자동으로 생성하는 그래픽 기능, 화면과 리포트 생성기, 데이터사전, 분석과 검사 도구, 코드 생성기, 문서 생성기 등을 제공
- 기능:
1. 소프트웨어 생명주기(Software Lifecycle) 전 단계의 연결
2. 그래픽 지원
3. 다양한 소프트웨어 개발 모형
* 디자인 패턴은 객체지향 설계/구현에 많이 사용된다.
객체지향 기법 캡슐화(Encapsulation) = 은닉화
- 서로 관련성이 많은 데이터와 이와 관련도나 함수들을 한 묶음으로 처리하는 기법
- 결합도가 낮아지고 재사용이 용이
- 인터페이스가 단순화 됨
- 정보은닉과 관계가 깊음
- 변경 발생 시 오류의 파급효과가 적음
* DFD(data flow diagram)
자료 흐름 그래프 또는 버블(bubble) 차트라고도 한다.
구조적 분석 기법에 이용된다.
DFD의 요소는 화살표, 원, 사각형, 직선(단선/이중선)으로 표시한다.
* UML의 구성요소
Things 사물,
Relationship 관계,
Diagram 다이어그램
상위 설계 : 아키텍처 설계, 데이터 설계, 시스템 분할, 인터페이스 정의, 사용자 인터페이스 설계(UI 설계)
하위 설계 : 모듈 설계, 인터페이스 작성
정형 명세법
- 수학적 기반/모델링 기반
- Z, VDM, Petri-Net(모형기반)
- CSP, CCS, LOTOS(대수적방법)
- 시스템 요구특성이 정확하고 명세가 간결하다. 명세와 구현이 일치.
- 그러나 이해도가 낮으며 이해관계자의 작성 부담 가중.
비정형명세
- 상태, 기능, 객체 중심 명세법
- FSM(Finite state machine)
- Decision Table, ER모델링
- State chart(SADT)
- UseCase : 사용자기반모델링
- 명세 작성이 간편하고 의사전달 방법이 다양하다.
- 불충분한 명세가능성, 모호성.
애자일 방법론 종류:
익스트림 프로그래밍(Extreme Programing, XP),
스크럼(Scrum),
익스트림 모델링,
크리스털 패밀리 ,
기능 중심 개발(FDD, Feature-Driven Development) 이 있다.
미들웨어 솔루션 유형
- DB 미들웨어
- 원격 프로시저 호출(PRC)
- 메시지 지향 미들웨어(MOM)
- 트랜잭션 처리(TP) 모니터
- 레거시웨어(Legacyware)
- 객체 기반(ORB)미들웨어
- WAS(Web Application Server)
인터페이스 구현 검증 도구에는
xUnit, STAF, FitNesse, NTAF, Selerium, Watir
형상 관리 항목 (프로젝트 요구 분석서, 소스코드, 운영및설치지침서)
테스트 케이스 : 구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지를 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목에 대한 명세서
테스트 시나리오 : 테스트 케이스를 적용하는 순서에 따라 여러 개의 테스트 케이스들을 묶은 집합
반응형
'정보처리기사, 정보처리산업기사' 카테고리의 다른 글
[정보처리기사/ 정보처리산업기사] 개정 후 실기 기출 문제 정리 요약본 4탄 (0) | 2021.07.02 |
---|---|
[정보처리기사/ 정보처리산업기사] 개정 후 실기 기출 문제 정리 요약본 3탄 (0) | 2021.06.30 |
[정보처리기사/ 정보처리산업기사] 개정 후 실기 기출 문제 정리 요약본 1탄 (0) | 2021.06.30 |
[정보처리기사/ 정보처리산업기사] 제2회 실기 문제 복원, 가답안 (0) | 2021.06.27 |
[정보처리기사/ 정보처리산업기사] 제3회 실기 문제 복원, 가답안 (0) | 2021.06.27 |
댓글