본문 바로가기
자격증/정보처리기사

20년 06월 06일 1 정보처리기사

by bigju 2022. 2. 4.

코드 설계 - 코드

- 연상코드
> 코드화 대상 항목의 명칭이나 약호와 관계있는 숫자나 문자, 기호를 이용하여 코드를 부여하는 방법

- 블록코드
> 코드화 대상 항목 중 에서 공통성이 있는 것 끼리 블록으로 구분하고 각 블록 내에서 일련번호를 부여하는 방법 ( =구분코드 )

- 표의 숫자코드
> 코드화 대상 항목의 성질, 물리적 수치를 그대로 코드에 적용시키는 방법 ( = 유효숫자코드)

- 순차 코드
> 일전 기준에 따라 최초의 자료부터 일련번호를 부여하는 방법

==================================

요구사항분석

- 비용과 일정에 대한 제약설정
- 타당성 조사
- 요구사항 정의 문서화

==================================

공통모듈

- 정확성
> 해당 기능이 실제 시스템 구현시 필요한지 아닌지를 알 수 있도록 정확하게 작성

- 명확성
> 해당 기능에 대해 일관되게 이해하고 한가지로 해석될 수 있도록 작성

- 완전성
> 시스템이 구현될 때 필요하고 요구되는 모든 것을 기술

- 일관성
> 공통 기능 간에 상호 충돌이 없도록 작성

- 추적성
> 공통 기능에 대한 요구사항 출처와 관련 시스템 등의 유기적 관계에 대한 식별이 가능하도록 작성

===================================

DBMS 분석시 고려사항

- 무결성(가용성)
- 일관성 (상호호환성)
- 회복
- 보안
- 효율성(성능)
- 데이터베이스 확장

===================================

알고리즘 로그

- 선택, 삽입, 버블 정렬
> O(n^2)

- 합병정렬
> O(Nlog2N)

- 상수형 복잡도(해시 함수)
> O(1)

- 로그형 복잡도 (이진탐색)
> O(logN)

- 선형복잡도 (순차 탐색)
> O(N)

- 선형 로그형 복잡도 ( 퀵, 병합 정렬)
> O(NlogN)

- 제곱형 ( 거품, 삽입, 선택 정렬)
> O(N^2)

===================================

인터페이스 구현 검증 도구

- xUnit
>  Java, C++ 등 다양한 언어 지원하는 단위 테스트 프레임워크

- STAF
> 서비스 호출 및 컴포넌트 재사용 등 환경 지원하는 테스트 프레임워크

- FitNesse
> 웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크

- NTAF
> FitNesse의 장점인 협업 기능과  STAF의 장점인 재사용 및 확장성을 통합한 네이버의 테스트 자동화 프레임워크이다.

- Selenium
> 다양한 브라우저 및 개발 언어 지원하는 웹 애플리케이션 테스트 프레임워크

- Watir
> Ruby를 사용하는 애플리케이션 테스트 프레임워크

- Ruby
> 인터프리터 방식의 객체지향 스크립트 언어

===================================

반정규화 ( Denormalization)

- 테이블 추가 방법
> 진행 테이블 추가 / 집계 테이블 추가 / 특정 부분만을 포함하는 테이블 추가

===================================

DRM 디지털 저작권 관리 기술 요소

- 암호화 / 키 관리 / 암호화 파일 생성 / 식별 기술 / 저작권 표현 / 정책 관리 / 크랙방지 / 인증

===================================

분산데이터베이스 목표

- 위치 투명성 (Location Trasparency)
> 데이터 베이스의 실제 위치를 알 필요 없이 단지 데이터베이스의논리적인 명칭만으로 엑세스 할 수있음

- 중복 투명서 (Replication Transparency)
> 데이터가 여러 곳에 중복되어 있더라도 사용자는 마치 하나의 데이터만 존재하는 것처럼 사용가능

- 병행 투명성 ( Concurrency Transparency)
> 다수의 트랙잭션이 동시에 실현되더라도 그 결과는 영향을 받지 않음

- 장애 투명성 ( Failure Transparency)
> 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 트랜잭션을 정확히 처리함

===================================


OSI 계층

- 응용계층
> 사용자가 OSI환경에 접근할 수 있도록 서비스 제공

- 표현계층
> 응용계층으로 받은 데이터를 세션계층에 보내기 전에 통신에 적당한 형태로 변환, 세션계층에서 받은 데이터는 응용계층에 맞게 변환하는 기능

- 세션계층
> 송 수신 측 간의 관련성을 유지하고 대화 제어를 담당한다.

- 전송계층
> 논리적 안정 및 균일한 데이터 전송 서비스를 제공함으로서 종단 시스템간 투명한 데이터 전송 가능

- 네트워크
> 개방 시스템들 간의 네트워크 연결을 관리 및 데이터 교환 및 중계

- 데이터링크
> 두 개의 인접한 개방 시스템들 간 신뢰성있고 효율적인 정보 전송

- 물리계층
> 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적 기능적 절차 특성에 대한 규칙


===================================

IPV4 && IPV6

- IPV4
> 유니 캐스트, 멀티캐스트, 애니 캐스트

- IPV6
> 유니 캐스트, 멀티 캐스트, 브로드 캐스트

==================================

프로세스 상태

- 종류
> 보류 (pending)
> 준비 (ready)
> 실행 (running)
> 대기 (blocked)
> 교착 (deadlock)
> 완료 (terminated)

===================================

HRN 스케쥴링

- 비선점 스케줄링
> 실행시간이 긴 프로세스에 불리한 SJF 보완하기 위해 대기시간 및 서비스 시간을 이용
> 우선순위를 계산 숫자가 높은것부터 낮은순으로 순위 부여
> 대기시간 + 서비스시간 / 서비스시간 = 우선순위값

===================================

소프트웨어 개발 방법

- 폭포수
> 선형 순차적 / 매뉴얼 작성 / 각 단계가 끝난 뒤 다음 단계로 넘어감
> 타당성 검토 - 계획 - 요구분석 - 설계 - 구현 - 시험 - 유지보수

- 프로트
> 원형 모형으로 실제 개발될 제품의 겨본을 만들어 결과물을 예측하는 모형
> 개발이 완료된 시점에서 오류가 발견괴는 폭푸수 모형 보완

- 나선형
> 점진적 모형 / 위험을 관리 및 최소화라는 것이 목적 / 유지보수가 필요 없다

- 애자일
> 고객 중심적 모형 / 일정 주기를 반복하면서 개발과정 진행

===================================

테일러링 (Tailoring)

- 프로젝트 상황 특성에 맞게 정의된 소프트웨어 개발 방법론 절차, 사용기법 등을 수정 및 보완하는 작업

- 내부적요건
> 목표환경 / 요구사항 / 프로젝트규모 / 보유기술

- 외부적 요건
> 법적 제약사항 / 표준 품질 기준


===================================

맞춰도 외우기

 

결합도★★★

 

내용(content) > 공통(comom) > 외부(exernal) > 제어(control) > 스탬프(stamp) > 자료(data)

= 내공! 외!! 제스자!!!!!!

===================================

응집도★★★

 

기능적(Functional) 응집도 > 순차적(Sequential) 응집도 > 교환적(Communication) 응집도 > 절차적(Procedural) 응집도 > 시간적 응집도(Temporal) > 논리적(Logical) 응집도 > 우연적(Coincidental)응집도

(기순교 !! 절시논우! )

기순교 라는 애가 절시논우에 들어갔댸 ㅠ


===================================

블랙박스 && 화이트 박스

 

- 블랙박스

> 동치분할검사

> 경계값 분석

> 원인-효과 그래프 검사

> 오류 예측 검사

> 비교 검사

 

- 화이트 박스

> 기초경로 검사

> 조건 검사

> 루프검사

> 데이터 흐름검사

===================================

스키마

- 개념 스키마
> 스키마 / DB 어떤 데이터, 관게 정의
> 전체 관점으로 한 개만 존재 접근 권한
> 보안 및 무결성 정의

- 내부 스키마
> 물리적 저장장치에 구현 방법 정의
> 물리적 구조 및 내부 레코드 물리적 순서 표현

- 외부 스키마
> 프로그램의 입장에서 논리적 구조 여러개 존재
> 개인 또는 응용 개발자 입장에서 보는 데이터베이스

===================================

트랜잭션

- Durability 연속성, 지속성
> 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야한다.

- Isolation 독립성, 격리성
> 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어 들 수 없다.

- Consistency 일관성
> 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다.

- Atomicity
> 트랜잭션의 연산은 모두 실행되거나 모두 실행되지 않아야 한다.

===================================

키 KEY

- 후보키 (Candiadate Key)
> 릴레이션을 구성하는 속성 중 튜플을 유일하게 식별하기 위한 기본키로 사용 할 수 있는 속성을 뜻
> 유일성 O 최소성 O

- 기본키 (Primary Key)
> 후보키 중에서 선택된 주키 (Main Key)

- 슈퍼키 (Super Key)
> 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키이다. 슈퍼키는 릴레이션에 있는 튜플에 대해 유이성을 만족시키지만, 최소성은 만족 시키지 못한다.
> 유일성 O 최소성 X

- 외래키 (Foregin Key)
> 관계를 맺고 있는 릴레이션 R1, R2에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본 키과 같은 R1릴레이션의 속성을 말한다.

===================================

관계 데이터베이스 모델

- 차수
> Degree = Attribute = 속성 ( DB 열 )

- 기수
> Cardinality = Tuple 수 = 대응 수 ( DB )

스키마 : 속성 의집합 = 열
인스턴스 : 튜플의 집합 = 행, 레코드
속성의 개수 = 차수
튜블의 개수 = 카디날리티

===================================

자료사전

=    : 자료의 정의
+    : 자료의 연결
( )   : 자료의 생략
[ | ]  : 자료의 선택
{ }   : 자료의 반복
**   : 자료의 설명(주석)

===================================


 이진 트리 운행

- Preorder 운행
> Root - Left - Right

- Inorder 운행
> Left - Root - Right

- Postorder 운행
> Left - Right - Root 운행

===================================

명령어

DML (데이터 조작어)
- SELECT / INSERT / DELETE / UPDATE


DDL (데이터 정의어)
- CREATE / ALTER / DROP

DCL (데이터 제어어)
- COMMIT / ROLLBACK / GRANT / REVOKE

===================================

지문에 해당 단어 포함되면 답 유출 가능

- 개체 무결성
> 기본기 NULL 값 안됨

- 참조 무경설
> 외래키

- 속성 무결성
> 도메인

===================================

알고리즘 로그

- 선택, 삽입, 버블 정렬
> O(n^2)

- 합병정렬
> O(Nlog2N)

- 상수형 복잡도(해시 함수)
> O(1)

- 로그형 복잡도 (이진탐색)
> O(logN)

- 선형복잡도 (순차 탐색)
> O(N)

- 선형 로그형 복잡도 ( 퀵, 병합 정렬)
> O(NlogN)

- 제곱형 ( 거품, 삽입, 선택 정렬)
> O(N^2)

===================================

OSI
계층

- 응용계층
> 사용자가 OSI환경에 접근할 수 있도록 서비스 제공

- 표현계층
> 응용계층으로 받은 데이터를 세션계층에 보내기 전에 통신에 적당한 형태로 변환, 세션계층에서 받은 데이터는 응용계층에 맞게 변환하는 기능

- 세션계층
> 송 수신 측 간의 관련성을 유지하고 대화 제어를 담당한다.

- 전송계층
> 논리적 안정 및 균일한 데이터 전송 서비스를 제공함으로서 종단 시스템간 투명한 데이터 전송 가능

- 네트워크
> 개방 시스템들 간의 네트워크 연결을 관리 및 데이터 교환 및 중계

- 데이터링크
> 두 개의 인접한 개방 시스템들 간 신뢰성있고 효율적인 정보 전송

- 물리계층
> 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적 기능적 절차 특성에 대한 규칙

===================================

소프트웨어 개발 방법

- 폭포수
> 선형 순차적 / 매뉴얼 작성 / 각 단계가 끝난 뒤 다음 단계로 넘어감
> 타당성 검토 - 계획 - 요구분석 - 설계 - 구현 - 시험 - 유지보수

- 프로트
> 원형 모형으로 실제 개발될 제품의 겨본을 만들어 결과물을 예측하는 모형
> 개발이 완료된 시점에서 오류가 발견괴는 폭푸수 모형 보완

- 나선형
> 점진적 모형 / 위험을 관리 및 최소화라는 것이 목적 / 유지보수가 필요 없다

- 애자일
> 고객 중심적 모형 / 일정 주기를 반복하면서 개발과정 진행

===================================

관계대수

- 셀렉트(Select) σ
> 릴레이션에서 조건을 만족하는 튜플 반환

- 프로젝트(Project) π
> 릴레이션에서 주어진 속성들의 값으로만 구성된 튜플 반환

- 조인(Join)
> 공통 속성을 이용해 두개의 릴레이션 튜플들을 연결해 만들어진 튜플 반환

- 디비전(Division) ÷
> 릴레이션S의 모든 튜플과 관련있는 릴레이션R의 튜플 반환

===================================


댓글

메인으로가기


    

Big Ju

IT Engineer


항상 답을 위해 노력하는

엔지니어입니다.

 

 

    


 UP!