안녕하세요. 소복 냥입니다.
서론 없이 바로 갑니다!

* SW 패키징 고려사항
- 패키징시, 사용자에게 배포되는 SW이므로 보안을 고려합니다.
- 사용자 편의성을 위한 복합성 및 비효율성 문제를 고려합니다.
- 제품 SW 종류에 적합한 암호화 알고리즘을 적용합니다.
- 소스 코드는 향후 관리를 고려하여 모듈화 하여 패키징 합니다.
* DRM 디지털 저작권 관리의 기술요소

* 소프트웨어 형상 관리
* 형상관리 (SCM, Software Configuration Management)
- SW의 개발 과정에서 SW의 변경사항을 관리하기 위해 개발된 일련의 활동
- 형상 관리를 통해, 이전 리버 전이나 버전에 대한 정보에 접근 가능하여 배포본 관리 유용합니다.
- 불필요한 사용자의 소스 수정 제한됩니다.
- 동일한 프로젝트에 대해 여러 개발자가 동시 개발 가능합니다.
* 형상관리 도구의 주요 기능
- 저장소 Repository
- 가져오기 Import
- 체크아웃
- 체크인
- 커밋 Commit
- 동기화 Update
* 테스트 기법에 따른 애플리케이션 테스트

* 개발 단계에 따른 애플리케이션 테스트
* 인수 테스트
- 개발한 SW가 사용자의 요구사항을 충족하는지에 중점을 두고 테스트합니다.
- 사용자가 직접 테스트합니다.
- 문제가 없으면 사용자 SW 인수, 프로젝트 종료됩니다.
- 종류

* 통합 테스트

* 소스코드 품질 분석 도구

* EAI (Enterprise Application Integration)

* JSON (JavaScript object Notation)
- 속성-값 쌍으로 이뤄진 데이터 객체를 전달하기 위해 사람이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷입니다.
- 비동기 처리에 사용되는 AJAX에서 XML을 대체하여 사용되고 있습니다.
* AJAX (Asynchronous JavaScript and XML)
- 웹 페이지에서 자바 스크립트를 사용하여 xml로 데이터를 교환 및 제어함으로써 이용자가 웹 페이지와 자유롭게 상호 작용할 수 있도록 하는 기술입니다.
* XML (eXtensible Markup Language)
- 특수한 목적을 갖는 마크업 언어를 만드는 데 사용하는 다목적 마크업 언어
* 인터페이스 보안 기능 적용 / 인터페이스 구현 검증 도구

* 데이터베이스 설계
* 논리적 설계 (데이터 모델링, Logical design) 단계
- 논리적 DB 구조로 매핑 (Mapping)
- 트랜잭션 인터페이스 설계
- 스키마 평가 및 정제
- DBMS에 맞는 논리적 자료 구조로 변환시키는 과정
* 피터첸 표기법 (Peter Chen Notation)
개체 타입 Entity |
사격형 |
관계타입 Relation |
마름모 |
속성타입 Attribute |
타원 |
다중값 속성 (복합속성) |
이중타원 |
기본키 속성 | 밑줄타원 |
복합 속성 | 복수타원 |
1:1, 1:N N:M 등의 개체 간 관계에 대한 대응수를 선위에 기술 | 관계 |
개체타입과 속성 연결 | 선링크 |
* 관계형 데이터베이스의 Relation 구조 / 릴레이션의 특징

* 관계형 DB의 제약조건 - key
- 제약조건 : DB에 저장되는 데이터의 정확성을 보장하기 위해 키를 이용하여 입력되는 데이터에 제한을 주는 것, 개체 무결성 제약, 참조 무결성 제약
* 후보 키 (Candidate Key)
- 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합.
- 기본키로 사용할 수 있는 속성
- 하나의 릴레이션 내에서는 중복된 튜플이 있을 수 없으므로, 모든 릴레이션에는 반드시 하나 이상의 후보 키 존재.
- 후보 키는 릴레이션에 있는 모든 튜플에 대해서 유일성과 최고성을 만족시켜야 합니다.
- 유일성 : 하나의 키값, 하나의 튜플만을 유일하게 식별할 수 있습니다.
- 최소성 : 모든 레코드들을 유일하게 식별하는데 꼭 필요한 속성으로 구성되어 있습니다.
* 기본키 (Primary Key)
* 대체키 (Alternate Key)
* 슈퍼 키 (Super Key)
* 외래 키 (Foreign Key)
* 관계형 DB의 제약조건 - 무결성
* 개체 무결성 (Entity Integrity, 실체 무결성)
- 기본 테이블의 기본키를 구성하는 어떤 속성도 Null 값, 중복 값을 가질 수 없습니다.
* 도메인 무결성 (Domain Integrity, 영역 무결성)
- 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다는 규정이 있습니다.
* 참조 무결성 (Referential Integrity)
- 외래 값은 Null 값이거나 참조 릴레이션의 기본키 값과 동일해야 합니다.
- 릴레이션은 참조할 수 없는 외래 키 값을 가질 수 없습니다.
- 외래 키와 참조하려는 테이블의 기본키는 도메인과 속성 개수와 같아야 합니다.
* 사용자 정의 무결성 (User-Defined Integrity)
- 속성 값들을 사용자가 정의한 제약조건에 만족해야 한다는 규정이 있습니다.
* 관계 대수 및 관계 해석
* 관계 대수
* 순수 관계 연산자 : select, project, join, division
Select : 릴레이션에 존재하는 튜플 중에서 선택 조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을 만드는 연산
Project : 주어진 리 레이션에서 속성 리스트 (Attribute list)에 제시된 속성 값만을 추출하여 새로운 릴레이션을 만드는 연산 중복 발생 시 제거.
join : 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산
division : X⊃Y인 두 개의 릴레이션 R(X), S(Y)가 있을 때, R의 속성이 S의 속성 값을 모두 가진 튜플에서 S가 가진 속성을 제외한 속성만 구하는 연산
* 일반 집합 연산자 : UNION, INTERSECTION, DIFFERENCE, CARTESIAN, PRODUCT
* 이행적 종속 관계 (Transtive Dependency) : A -> B이고 B->C이면, A->C를 만족하는 관계
* 정규화 과정
비정규 릴레이션
- 도메인 원자 값
1NF
- 부분적 함수 종속 제거 / 완전 함수적 종속관계 만족
2NF
- 이행적 함수 종속 제거
3NF
- 결정자이면서 후보 키가 아닌 것 제거
BCNF (보이스/코드)
- 다치 종속 제거
4NF
- 조인 종속성 이용
5NF
* 정규화 목적
- 데이터 구조의 안정성 및 무결성 유지
- 어떤 릴레이션이라도 DB내에서 표현 가능
- 효과적인 검색 알고리즘 생성
- 데이터 중복을 배제하여, 이상 발생 방지 및 자료 저장 공간의 최소화 가능
- 데이터 삽입 시, 릴레이션 재구성할 필요성을 줄인다.
- 데이터 모형의 단순화 가능
- 속성의 배열 상태 검증 가능
- 개체와 속성의 누락 여부 확인 가능
- 자료 검색과 추출의 효율성 추구
* 이상 (Anomaly)
개념 : 릴레이션 조작 시 데이터들이 불필요하게 중복되어 예기치 않게 발생하는 곤란한 현상.
* 반정 규화 중복 테이블
- 집계 테이블의 추가
- 진행 테이블의 추가
- 특정 부분만을 포함하는 테이블의 추가
* 파이셔 닝 테이블 (Partitioning Table)
- 대용량의 테이블을 작은 논리적 단위인 파티션 (Partition)으로 나눈 테이블
- 파티션 키를 잘못 구성할 시, 성능 저하 등의 역효과 가져올 수 있습니다.
- 파티셔닝 방식에 따라
- 범위 분할 Range Partitioning
- 해시 분할 Hash Partitioning
- 조합 분할 Composite Partitioning
끝까지 읽어주셔서 감사합니다!

반응형
'이슈' 카테고리의 다른 글
정보처리기사 필기 문제 유형 분석 (14) (3) | 2022.07.12 |
---|---|
정보처리기사 필기 문제 유형 분석 (13) (3) | 2022.07.10 |
정보처리기사 필기 문제 유형 분석 (11) (0) | 2022.06.20 |
정보처리기사 필기 문제 유형 분석 (10) (4) | 2022.06.12 |
정보처리기사 필기 문제 유형 분석 (9) (1) | 2022.06.10 |