Ⅱ. 데이터 입출력 구현 - 알고가기!!
- 개념모델
- 주제영역과 핵심 데이터 집합간의 관계를 정의하는 모델.
- 전체 모델에서 중요한 골격이 되는 엔티티와 관계위주의 모델.
- FK [Foreign Key; 외래키]
- 어느 한 릴레이션 속성의 집합이 다른 릴레이션의 기본키.
- 논리 데이터 모델링 특징 ( Tip. 정 포 완 독 )
- 정규화 / 포용성 / 완전성 / 독립성
- 논리데이터 모델링 속성 ( Tip. 개 속 관 )
- 개체 / 속성 / 관계
- 릴레이션 [Relation]
- 행(Row)와 열(Column)로 구성된 테이블.
- 데이터베이스 이상 현상(Anomaly) ( Tip. 삽 삭 갱 )
- 삽입이상 / 삭제이상 / 갱신이상
- 데이터베이스 정규화 단계 ( Tip. 원 부 이 결 다 조 )
- 원자화(1NF) / 부분함수 종속 제거(2NF) / 이행함수 종속제거(3NF) / 결정자 함수 종속(BCNF) / 다치종속 제거(4NF) / 조인 종속 제거(5NF)
- 현행시스템 파악
- 현행 시스템이 어떤 하위 시스템으로 구성되어 있고, 제공 기능 및 연계 정보는 무엇이며 어떤 기술 요소를 사용하는지 파악한는 활동.
- 현행시스템 파악 절차
- 현행 시스템 구성 현황 파악
- 기능 현황 파악
- 인터페이스 현황 파악
- 소프트웨어 아키텍쳐
- 여러가지 소프트웨어 구성요소와 그 구성요소가 가진 특성 중에서 외부에 드러나는 특성, 그리고 구성요소 간의 관계를 표현하는 시스템의 구조나 구조체.
- 아키텍처 명세서
- 아키텍처를 기록하기 위한 산출물들로 이해관계자들의 시스템에 대한 관심을 관점에 맞추어 작성한 뷰로 표현.
- 이해관계자
- 시스템 개발에 관련된 모든 사람과 조직.
- 관심사
- 시스템에 대해 이해관계자들의 서로 다른 의견과 목표.
- 관점
- 개별 뷰를 개발할때 토대가 되는 패턴이나 양식.
- 뷰
- 서로 관련있는 관심사들의 집합이라는 관점에서 전체 시스템을 표현.
- 운영체제 현행 시스템 분석시 고려사항
- 신뢰도, 성능, 기술 지원, 주변기기, 구축 비용
- OSI 7계층
- 네트워크 통신에서 생긴 여러 충돌문제를 완화하기 위한 국제표준화기구(ISO)에서 제시한 네트워크 기본 모델.
- DBMS 현행시스템 분석시 고려사항
- 가용성, 성능, 상호 호환성, 기술지원, 구축 비용
- WAS(웹 애플리케이션 서버)
- 서버계층에서 애플리케이션이 동작할 수 있는 환경을 제공하고 안정적인 트랜잭션 처리와 관리, 다른 이기종 시스템과의 애플리케이션 연동을 지원하는 서버.
- 온라인 트랜잭션 처리(OLTP) 시스템 기술환경 정의 기초 자료 조사 항목
- 시스템 구축 형태, 사용자수, 트랜잭션 수 등…
- 메모리 용량산정 방식
- [(시스템 영역) + {(사용자당 필요 메모리} * (사용자수)} + (미들웨어 버퍼캐시 메모리)] * (버퍼캐시 보정) * (시스템 여유율)
- 비기능적 요구사항
- 시스템이 수행하는 기능 이외의 사항, 시스템 구축에 대한 제약사항에 관한 요구사항
- ▸ 특성 : 신뢰성, 사용성, 효율성, 유지보수성, 이식성
- 요구사항 도출단계 (요구사항 개발프로세스)
- 소프트웨어가 해결해야 할 문제를 이해하는 첫번째 단계 / 요구사항이 어디에있고, 어떻게 수집할 것인가와 관련된 단계.
- 요구사항 분석단계 (요구사항 개발프로세스)
- 상충되는 요구사항을 해결하고, 소프트웨어의 범위파악, 소프트웨어가 환경과 어떻게 상호작용하는지 이해 필요.
- 요구사항 명세단계 (요구사항 개발프로세스)
- 체계적으로 검토, 평가, 승인될 수 있는 문서를 작성하는 것.
- 요구사항 확인단계 (요구사항 개발프로세스)
- 분석가가 요구사항을 이해했는지 확인이 필요 / 요구사항 문서가 회사의 표준에 적합하고 이해 가능하며, 일관성있고 완전한지 검증하는 것
- 요구사항 도출 기법
- 인터뷰 / 설문조사 / 브레인스토밍 / 워크숍
- 요구사항 검증 기법
- 동료검토 / 워크스루 / 인스펙션
- 요구사항 협상
- 가용한 자원과 수용 가능한 위험수준에서 구현 가능한 기능을 협상하기 위한 기법.
- DDL [Data Definition Language; 데이터 정의어]
- 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어 / 특정 구조를 생성, 변경, 삭제, 이름을 바꾸는 데이터 구조와 관련된 명령어.
- 예약어 [Reserved Word]
- DBMS에서 사전 예약이 되어있어 사용 할 수 없는 단어.
- 튜플 [Tuple]
- 관계형 데이터 베이스에서는 행(Row) 를 의미.
- 애트리뷰트 [Attribute]
- 관계형 데이터베이스에서는 테이블 내의 열을 의미.
- 기본키 [Primary Key]
- 테이블의 각 튜플들을 고유하게 식별하는 키.
- 외래키 [Foreign Key]
- 한 릴레이션의 컬럼이 다른 릴레이션의 기본키로 이용되는 키.
- 반 정규화 [De-Normalization]
- 정규화된 엔티티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등 수행하는 데이터 모델링 기법.
- 인덱스 분포도(Selectivity)
- 특정 컬럼의 데이터가 테이블에 평균적으로 분포되어 있는 정도 / 인덱스로 적정 분포도 = 10~15%
- DML [Data Manipulation Language; 데이터 조작어]
- DB의 자료를 입력, 수정, 삭제, 조회 하는 언어.
- 유형 : SELECT, INSERT, DELETE, UPDATE
- 클러스터 [Cluster]
- 대상이 되는 범위(모집단)의 요소를 몇 개 모은 단위체
- 파티셔닝 유형 (Tip. 레 해 리 컴 )
- 레인지 파티셔닝 / 해시 파티셔닝 / 리스트 파티셔닝 / 컴포지트 파티셔닝
- 요구사항 분석 기법 (Tip. 분 개 할 협 정 )
- 요구사항 분류 / 개념모델 / 요구사항 할당 / 요구사항 협상 / 정형분석
- UML [Unified Modeling Language]
- 객체지향 소프트웨어 개발과정에서 산출물을 명세화, 시각화, 문서화 할 시 사용되는 모델링 기술과 방법론을 통합해 만든 표준화된 범용 모델링 언어.
- 파티션의 장점 ( Tip. 성 가 백 합 )
- 성능 향상 / 가용성 향상 / 백업 가능 / 경합 감소
- 디스크 스트라이핑(Disk Striping)
- 성능 향상을 위해 데이터를 1개 이상의 디스크 드라이브에 저장하여 드라이브를 병렬로 사용 하는 기술.
- 1차 정규화(1NF)
- 원자값으로 구성, 반복 속성/중복 제거 필요.
- 2차 정규화(2NF)
- 부분함수 종속 제거(완전 함수적 종속 관계), 주식별자 아닌 속성을 분리.
- 3차 정규화(3NF)
- 이행함수 종속 제거, 속성에 종속적인 속성을 분리.
- 보이스-코드 정규화(BCNF)
- 결정자함수 종속, 모든 결정자가 후보키이다.
- 4차 정구화(4NF)
- 다치(다중값) 종속성 제거, 특정 속성값에 따라 선택적인 속성을 분리.
- 5차 정규화(5NF)
- 조인 종속성을 제거.
- 저장 프로시저 [Stored Procedure]
- 배치작업, 복잡한 트랜잭션을 수행하는 PL/SQL문을 DB에 저장하는 기능을 제공하는 프로그램.
- 저장 함수 [Stored Function]
- 저장 프로시저와 용도는 비슷하나 실행결과를 되돌려 받을 수 있는 프로그램.
- 저장 패키지 [Stored Package]
- 프로시저나 함수를 효율적으로 관리하기 위해 패키지 단위로 배포할때 사용하는 프로그램.
- 트리거 [Trigger]
- 특정 테이블에 삽입, 수정, 삭제 등의 변경 이벤트 발생시 DBMS에서 자동 실행 되도록 구현된 프로그램.
- Statement - JDBC
- 자바 데이터베이스 응용 프로그램에서 쿼리 실행시 “쿼리분석 ⟶ 컴파일 ⟶ 실행” 과정을 매번 진행하는 구문.
- Prepared Statement - JDBC
- 자바 데이터베이스 응용 프로그램 실행시, “쿼리분석 ⟶ 컴파일 ⟶ 실행” 과정을 최초 한번만 수행 후 캐시에 담아 재사용하는 구문.
- 요구사항 검증 방법
- 요구사항 목록 확인 / 요구사항 정의서 작성여부 확인 / 비기능적 요구사항 확인 / 타 시스템 연계 및 인터페이스 요구사항 확인 등…
- 요구사항 기술적 타당성 검토 4단계
- 성능 및 용량 산정의 적정성
- 시스템 간 상호 운용성
- IT 시장 성숙도 및 트랜드 부합성
- 기술적 위험 분석
- 타당성 검토 중 “시스템 간 상호 운용성”
- 요구사항 중에서 목표 시스템이 조직 내외 타 시스템과의 연동을 요구하는 경우, 상호 운용이 가능한지 여부를 판단하는 것.
- 상호운용성
- 다른 목적을 지는 2개 이상의 시스템들이 상호 간 정보 및 서비스를 교환하면서 효과적으로 윤용될 수 있는 시스템의 능력.
- 카디널리티 [Cardinality] - DB
- 튜플(Row)의 갯수.
- 힌트 [Hint] - DB
- 실행하려는 SQL문에 사전에 정보를 주어 SQL문 실행에 빠른 결과를 가져오는 효과를 만드는 문법.
- 해시조인 [Hash Join] - DB
- 해싱 함수 기법을 활용하여 조인을 수행하는 방식
- 정렬 합병 조인 [Sort-Merge Join] - DB
- 조인의 대상범위가 넓을 경우 발생하는 임의접근을 줄이기 위한 경우나 연결고리에 마땅한 인덱스가 존재하지 않을 경우 해결위한 Join 방법.
- 중첩 반복 조인 [Nested-Loop Join] - DB
- 2개 이상의 테이블에서 하나의 집합을 기준으로 순차적으로 상대방 Row를 결합하여 원하는 결과를 조합하는 방식.
- 정보처리기사 필기 합격 후 실기대비 정리 및 책없이 간단히 보기위해 작성하였습니다.
- 2020년 수제비 정보처리기사 책 기반으로 정리 하였습니다.
- 저작권 관련 문제가 있다면 hojunbbaek@gmail.com 으로 메일 주시면 바로 삭제 조치 하도록 하겠습니다.
[정보처리기사 실기] Ⅱ. 기사실기 요약 / 정리 / 단답 / Tip / 알고가기!! (feat.수제비)