티스토리 뷰

1 과목 : 소프트웨어 설계

객체지향 분석 방법론

  • Booch(부치)
    - 미시적, 거시적 개발 프로세스를 모두 사용하는 분석방법
    - 클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의
  • Jacobson(제이콥슨)
    - Usecase를 사용하여 분석
    - 사용자, 외부시스템, 다른 요소들이 시스템과 상호 작용하는 방법을 기술
  • Coad-Yourdon(코드-요단)
    - E-R 다이어그램을 사용하여 객체의 행위를 모델링
    - 객체 식별, 구조 식별
  • Wirfs-Brock(브록)
    - 분석과 설계 간 구분이 없으며, 고객 명세서를 평가하여 설계 작업까지 연속적으로 수행

럼바우 분석 기법

  • 객체 모델링(Object)
    - 정보 모델링, 시스템에서 요구
  • 동적 모델링(Dynamic)
    - 제어, 흐름, 동작
  • 기능 모델링(Functional)
    - DFD

객체지향 분석

객체지향 분석이란?

- 소프트웨어를 개발하기 위한 비즈니스(업무)를 객체와 속성, 클래스와 멤버, 전체와 부분 등으로 나우어서 분석하는 기법

 

 

소프트웨어 설계 방식

  • 상향식 설계
    - 최하위 수준에서 각각의 모듈들을 설계하고, 모듈이 완성되면 이들은 결합하여 검사
  • 하향식 설계
    - 주어진 문제를 분석하여 모듈의 전체적인 구조와 데이터를 개괄적으로 설계하고 이를 기반으로 하위 레벨에서 점차 세부적인 기능을 중심으로 모듈을 설계

2 과목 : 소프트웨어 개발

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

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

소프트웨어 시스템

  • 신뢰성
    - 소프트웨어가 요구된 기능을 정확하고 일관되게 오류 없이 수행할 수 있는 정도
  • 유지보수성
    - 환경의 변화 또는 새로운 요구사항이 발생했을 때 소프트웨어를 개선하거나 확장할 수 있는 정도
  • 가시성
    - 대상을 확인할 수 있는 정도
  • 재사용성
    - 소프트웨어의 일부분을 다른 시스템에서 사용할 수 있는 정도

자료구조

자료구조란?

- 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미

 

  • 스택
    - 먼저 저장된 것이 꺼내어 쓸 때는 제일 나중에 나온다 (LIFO)

  • - 먼저 저장된 것이 제일 먼저 나온다 (FIFO)
  • 그래프
    - 꼭짓점과 꼭짓점을 잇는 변으로 구성
  • 트리
    - 뿌리와, 뿌리 또는 다른 꼭짓점을 단 하나의 부모로 갖는 꼭짓점들로 이루어진 구조(부모-자식 구조)

 

형태에 따른 구조

  • 선형 구조
    - 리스트, 스택, 큐, 데크
  • 비선형 구조
    - 트리, 그래프

이진 검색 알고리즘

이진 검색 알고리즘이란?

- 오름차순으로 정렬된 리스트에서 특정한 값의 위치를 찾는 알고리즘

 

특징

  • 탐색 효율이 좋고 탐색 시간이 적게 소요된다
  • 검색할 데이터가 정렬되어 있어야 한다
  • 비교 횟수를 거듭할 때마다 검색 대상이 되는 데이터의 수가 절반으로 줄어든다

소프트웨어 품질 목표

  • 정확성(Coreectness)
    - 시스템의 사양과 설계, 구현에 있어서 오류가 없는 정도
  • 유용성(Usability)
    - 사용자가 시스템을 배우고 사용하는 데 있어서의 용이함
  • 효율성(Efficiency)
    - 메모리와 실행 시간 같은 시스템 리소스의 최소 사용
  • 신뢰성(reliability)
    - 정해진 상황에서 언제든지 필요한 기능을 수행할 수 있는 시스템 능력
  • 무결성(integrity)
    - 시스템이 프로그램이나 데이터에 대한 허용되지 않거나 잘못된 접근을 막는 정도
  • 적응성(adaptablility)
    - 시스템을 변경하지 않고 설계된 환경에서 뿐만 아니라 다른 응용 분야나 환경에서도 사용될 수 있는 정도
  • 정밀성(accuracy)
    - 구성된 시스템에 오류가 없는 정도
  • 견고성(robustness)
    - 시스템이 잘못된 입력이나 악조건에서도 기능을 계속해서 수행할 수 있는 정도

알고리즘

  • 퀵 정렬
    - 레코드의 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬하는 방식
  • 삽입정렬
    - 가장 간단한 정렬 방식, 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬
  • 쉘 정렬
    - 삽입정렬 확장 개념, 입력파일을 매개변숫값으로 서브파일 구성하고 각 서브 파일을 삽입 정렬 방식으로 순서 배열하는 과정을 반복
  • 선택 정렬
    - n개의 레코드 중에서 최소값을최솟값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 n-1개 중에서 다시 최솟값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하는 정렬
  • 버블 정렬
    - 주어진 파일에서 인접한 두 개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식

해싱함수

해싱함수란?

- 데이터의 효율적 관리를 목적으로 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수

 

해싱함수 종류

  • 제산법
  • 제곱법
  • 중첩법(폴딩법)
  • 숫자분석법
  • 기수 변환법
  • 무작위 방법

인수 검사 기법

  • 베타 테스트
    - 선정된 최종 사용자가 여려 명의 사용자 앞에서 행하는 테스트 기법 (사용자 개발자 같이)
  • 알파 테스트
    - 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트 기법 (사용자 혼자)

3 과목 : 데이터베이스 구축

스키마

스키마란?

- 데이터베이스의 구조와 제약조건에 관해 전반적인 명세를 기술한 것

  • 개념 스키마
    - 사용자와 DB 관리자 관점의 스키마/DB에 실제로 어떤 데이터가 저장되었으며, 데이터 간의 관계는 어떻게 되는지를 정의하는 스키마
  • 내부 스키마
    - 저장장치와 DB 설계자 및 개발자 관점의 스키마/개념 스키마를 물리적 저장장치에 구현하는 방법을 정의하는 데 사용하고 물리적 구조 및 내부 레코드의 물리적 순서 등을 표현
  • 외부 스키마
    - 사용자 관점의 스키마/사용자 또는 프로그램의 입장에서의 논리적 구조로 여러 개가 존재

 

데이터베이스 설계 단계

  • 개념적 설계
    - 개념스키마 모델링 / 트랜잭션 모델링 / 독립적인 개념스키마 설계 / E-R 다이어 그램
  • 논리적 설계
    - 트랜잭션 인터페이스 설계 / 스키마 평가 및 정제 / 목표 DBMS에 맞는 논리스키마 설계 / 논리적 구조의 데이터로 모델화
  • 물리적 설계
    - 저장구조 및 액세스 경로 설정 / 레코드 집중의 분석, 설계 / 저장 레코드 양식 설계

트랜잭션의 특성

  • 원자성(atomicity)
    - 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느 하나라도 오류가 발생한다면 트랜잭션 전부가 취소된다
  • 일관성(consistency)
    - 트랜잭션의 수행 전, 후의 데이터 간의 불일치가 생겨서는 안 된다
  • 격리성(insolation)
    - 여러 트랜잭션이 동시에 수행되어도, 각각 독립적으로 수행되어야 한다
  • 영속성 = 지속성(durability)
    - 성공적으로 수행된 트랜잭션의 결과는 지속성이 있어야 한다

시스템 카탈로그

시스템 카탈로그 특징

  • 데이터베이스에 포함되는 데이터 객체에 대한 정의나 명세에 대한 정보를 유지관리한다
  • DBMS가 스스로 생성하고 유지하는 데이터베이스 내의 특별한 테이블의 집합체이다
  • 카탈로그에 저장된 정보를 메타 데이터라고 한다
  • 시스템에서 자동갱신을 한다

관계대수 연산

  • SELECT : σ(시그마)
  • PROJECT : π (파이)
  • JOIN : ▷◁ (나비넥타이)
  • DIVISION : ÷ (나누기)

관계 데이터 모델

[릴레이션]

  • 릴레이션(Relation)
    - 행과 열로 구성된 테이블
  • 속성(Attribute)
    - 세로 값으로 열(Column)이라고 한다
  • 튜플(Tuple)
    - 가로 값으로 행(Row)이라고 한다
  • 차수(Degree)
    - 속성의 수
  • 카디날리티(Cardinality)
    - 튜플의 수

 

출처 : https://mangkyu.tistory.com/21

 

정규화 단계

1NF(도) - 2NF(부) - 3NF(이) - BCNF(결) - 4NF(다) - 5NF(조)

※ 두부이걸다줘? 로 외우자..

  • 1NF
    - 원자값이 아닌 도메인 분해
  • 2NF
    - 부분적 함수 종속 제거
  • 3NF
    - 이행적 함수 종속 제거
  • BCNF
    - 결정자이면서 후보키가 아닌 것 제거
  • 4NF
    - 다치 종속 제거
  • 5NF
    - 조인 종속성 이용

인덱스

인덱스 특징

  • 데이터 레코드를 빠르게 접근하기 위해 [키, 값, 포인터] 쌍으로 구성되는 데이터 구조
  • 데이터 베이스의 물리적 구조와 밀접한 관계를 가짐
  • 너무 많이 지정하면 오버헤드가 발생
  • DB에 저장된 자료를 더욱 빠르게 조회하기 위해 사용

4 과목 : 프로그래밍 언어 활용

응집도

※ 기순교절시논우 외우자..

 

기능적-순차적-교환적-절차적-시간적-논리적-우연적
<강함                                                                약함>

 

 

제어 프로그램 와 처리 프로그램

제어 프로그램 종류

  • 감시 프로그램(Supervisior Program)
  • 작업 프로그램(Job Management Program)
  • 데이터 관리 프로그램(Data Management Program)

처리 프로그램 종류

  • 언어 번역 프로그램
  • 서비스 프로그램

TCP/IP 4 Layer

 

  • 1 계층 (네트워크 액세스 계층)
    - OSI 7 계층의 물리계층과 데이터 링크 계층에 해당
    - 물리적인 주소로 MAC 사용
    - LAN, 패킷망 등에 사용
  • 2 계층 (인터넷 계층)
    - OSI 7 계층의 네트워크 계층에 해당된다
    - 통신 노드 간의 IP패킷을 전송하는 기능과 라우팅 기능을 담당
    - 프로토콜 - IP, ARP, RARP
  • 3 계층 (전송 계층)
    - OSI 7 계층의 전송 계층에 해당된다
    - 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터 전송을 담당한다
    - 프로토콜 - TCP, UDP
  • 4 계층 (응용 계층)
    - OSI 7 계층의 세션 계층, 표현 계층, 응용 계층에 해당한다
    - TCP/UDP 기반의 응용 프로그램을 구현할 때 사용한다
    - 프로토콜 - FTP, HTTP, SSH

결합도 순서

※ (내 공 외 제 스 자)로 외우자

내용 - 공통 - 외부 - 제어 - 스탬프 - 자료

<낮음                                             높음>

 

5 과목 : 정보시스템 구축관리

암호 알고리즘

  • 해시 암호화 알고리즘
    - MD5
    - MD4
    - SHA-1
  • 대칭 키 암호화 알고리즘
    - AES
  • 비대칭 키(공개 키) 암호화 알고리즘
    - RSA

MQTT

MQTT란?

- 머신 대 머신 통신에 사용되는 표준 기반 메시징 프로토콜 또는 규칙

 

특징

  • 사물통신과 같은 대역폭이 제한된 통신환경에 최적화하여 개발된 푸시기술 기반의 경량 메시지 전송 프로토콜
  • 메시지 매개자(Broker)를 통해 송신자가 특정 메시지를 발행하고 수신자가 메시지를 구독하는 방식
  • IBM이 주도하여 개발

Baas(Blockchain as a Service)

Baas란?

- SNS, 위치서비스와 같은 백엔드 기능을 클라우드 화하는 모바일 앱 개발에 주로 사용하는 클라우드 서비

 

특징

  • 블록체인 개발환경을 클라우드로 서비스하는 개념
  • 네트워크에 노드의 추가 및 제거가 용이
  • 기본 인프라를 추상화하여 응용프로그램을 만들 수 있는 클라우드 컴퓨팅 플랫폼

스트림 암호화

스트림 암호란?

- 데이터 흐름(스트림)을 순차적으로 처리해 나가는 방식

 

특징

  • 비트 / 바이트 / 단어들을 순차적으로 암호화
  • RC4는 스트림 암호화 방식에 해당
  • 대칭키 암호화 방식

세션 하이재킹 탐지 방법

세션 하이재킹이란?

- 세션 하이재킹은 시스템 간 연결이 활성화된 상태, 즉 로그인(Login) 된 상태를 가로채는 것을 뜻

 

탐지 방법

  • 비동기화 탐지
    - 서버와 시퀀스 넘버를 주기적으로 탐지, 비동기 상태 탐지
  • ACK STORM 탐지
    - 급격한 ACK 비율 증가 시 탐지
  • 패킷 유실 및 재전송 증가 탐지
    - 공격자가 중간에 끼어서 작동하므로 패킷의 유실과 서버와의 응답이 길이지는 것을 탐지

CBD(Component Based Development)

CBD(Component Based Development)란?

- 재사용 가능한 컴포넌트의 개발 또는 상용 컴포넌트를 조합하여 하나의 새로운 응용 프로그램을 만드는 소프트웨어 개발 방법론

 

특징

  • 생산성과 품질을 높이고, 유지보수 비용을 최소화
  • 컴포넌트 제작 기법을 통해 재사용성을 향상
  • 독립적인 컴포넌트 단위의 관리로 복잡성을 최소화

※ 개발준비 > 분석 > 설계 > 구현 > 테스트 > 전개 > 인도 절차로 진행

 

공개키 암호

공개키 암호란?

- 비밀 키 암호 방식과 달리 암호화와 복호화에 이용하는 키가 다른 방식

 

특징

  • 복호화키는 비공개 되어있다
  • 송신자는 수신자의 공개키로 문서를 암호화
  • 공개키 암호로 널리 알려진 알고리즘은 RSA
  • 공개 키(비대칭 키) = 2N개
    - 비밀키(대칭키) = N(N-1)/2
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함