코드 설계 - 코드
- 연상코드
> 코드화 대상 항목의 명칭이나 약호와 관계있는 숫자나 문자, 기호를 이용하여 코드를 부여하는 방법
- 블록코드
> 코드화 대상 항목 중 에서 공통성이 있는 것 끼리 블록으로 구분하고 각 블록 내에서 일련번호를 부여하는 방법 ( =구분코드 )
- 표의 숫자코드
> 코드화 대상 항목의 성질, 물리적 수치를 그대로 코드에 적용시키는 방법 ( = 유효숫자코드)
- 순차 코드
> 일전 기준에 따라 최초의 자료부터 일련번호를 부여하는 방법
==================================
요구사항분석
- 비용과 일정에 대한 제약설정
- 타당성 조사
- 요구사항 정의 문서화
==================================
공통모듈
- 정확성
> 해당 기능이 실제 시스템 구현시 필요한지 아닌지를 알 수 있도록 정확하게 작성
- 명확성
> 해당 기능에 대해 일관되게 이해하고 한가지로 해석될 수 있도록 작성
- 완전성
> 시스템이 구현될 때 필요하고 요구되는 모든 것을 기술
- 일관성
> 공통 기능 간에 상호 충돌이 없도록 작성
- 추적성
> 공통 기능에 대한 요구사항 출처와 관련 시스템 등의 유기적 관계에 대한 식별이 가능하도록 작성
===================================
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의 튜플 반환
===================================
'자격증 > 정보처리기사' 카테고리의 다른 글
21년 08월 14일 1 정보처리기사 (0) | 2022.02.09 |
---|---|
20년 06월 06일 2 정보처리기사 (0) | 2022.02.08 |
20년 08월 22일 2 정보처리기사 (0) | 2022.02.04 |
20년 08월 22일 1 정보처리기사 (0) | 2022.02.03 |
20년 09월 26일 3 정보처리기사 (0) | 2022.01.27 |
댓글