☻ 검토회의
워크 스루 : 요구사항 명세서를 미리 배포하여 사전 검토 오류 초기 검출
동료 검토 : 2-3명의 리뷰형태, 작성자가 설명하고 이해관계자들이 설명을 들음
인스펙션 : 명세서 작성자를 제외한 다른 검토 전문가들이 확인하며 결함 발견
☻ 코드설계
일정한 일련번호를 부여 -> 순차 코드
명칭이나 약호와 관계있는 숫자나 문자, 기호이용 -> 연상 코드
공통성 있는 것끼리 블록으로 구분 -> 블록 코드 / 구분 코드
길이, 넓이, 부피 등의 성질의 물리적 수치 -> 표의 숫자 코드 / 유효 숫자 코드
☻ 데이터 흐름도(Data Flow Diagram) 구성
Process, Flow, Data Store, Terminator(단말)
버블(bubble) 차트라고도 한다.
구조적 분석 기법에 이용된다.
요소는 화살표, 원, 사각형, 직선(단선/이중선)으로 표시된다.
☻ UML 확장 모델 기호
"≪≫" : 스테레오 타입 객체
☻ GoF(Gang of Four) 디자인 패턴
행위 패턴 : Visitor, State, Observer
생성 패턴 : Builder, Prototype, Abstract Factory, Singletone, Factory Method
구조 패턴 : Bridge, Adapter, Composite
☻ 자료사전 기호
= : 정의
+ : 구성, 연결
{ } : 반복
** : 주석
[ ] : 선택
( ) : 생략
☻ UI 설계 원칙
직관성 : 누구나 쉽게 이해하고 사용
유효성 : 정확하고 완벽하게 사용자의 목표 달성될 수 있도록
학습성 : 초보와 숙련자 모두가 쉽게 배우고 사용할 수 있도록
유연성 : 사용자의 인터랙션을 최대한 포용, 실수를 방지할 수 있도록
☻ XP(eXtreme Programmingd)의 5가지 가치
용기(Courage), 단순성(Simplicity), 커뮤니케이션, 피드백, 존중
☻ UML의 기본 요소
Things, Relationship, Diagram
사물, 관계, 다이어그램
☻ UML 모델
Structural Diagram (Class D, Object D, Component D, Deployment D)
Behavioral Diagram (Activity D, Use Case D, Sequence D, Communication D, State D, Interaction Overview D, Timing D)
☻ 요구사항 분석
비용과 일정에 대한 제약설정
타당성 조사
요구사항 정의 문서화
☻ 럼바우(Rumbaugh)의 객체지향 분석 절차
객체 모형 -> 동적 모형 -> 기능 모형
객체 모델링 : 가장 선행, 객체 다이어그램(객체 관계)으로 표시
동적 모델링 : 시간의 흐름에 따른 제어흐름, 상호작용, 동작순서 표현. 상태 다이어그램
기능 모델링 : 다수의 프로세스들 간의 자료 흐름 중심, 자료 흐름도(DFD) 이용
☻ 자료흐름도(Data Flow Diagram)의 구성요소
Process, Data Flow, Data Store, Terminator(단말)
☻ 객체지향 기법
Is-part-of / part-whole : 집단화
Is-a : 일반화 (포함 관계 – 부모자식)
공통 성질을 추출하여 수퍼클래스 구성 : 추상화
☻ CASE
소프트웨어 개발의 자동화
1980년대 소개, 1990년대 자주 사용
☻ HIPO(Hierarchy Input Process Output)
하향식 소프트웨어 개발
☻ 객체지향 분석 방법론
Coad와 Yourdon 방법 : E-R 다이어그램 사용, 객체 행위 모델링 및 객체 구조 식별
Booch 방법 : 클래스와 객체 식별 및 의미 관계 식별 / 미시적 거시적 모두 사용
Rumbaugh 기법 : 소프트웨어 구성요소를 그래픽 표기법을 이용하여 모델링, 객체/동적/기능 모델링
Wirfs Brock 방법 : 분석과 설계간의 구분이 없다. 연속적인 수행 기법
☻ 시퀀스 다이어그램의 구성 항목
액터, 활성 객체(object), 라이프라인(생명선), 메시지, 제어 삼각형
☻ 객체지향 설계 원칙
SRP, Single Responsibility Principle : 단일 책임 원칙 -> 객체는 단 하나의 책임만 가져야 한다.
OCP, Open Closed Principle : 개방-폐쇄의 원칙 -> 기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계 되어야 한다.
LSP, Liskov Substitution Principle : 리스코프 치환 원칙 -> 일반화 관계, 자식 클래스는 부모 클래스에서 가능한 행위는 수행할 수 있어야 한다.
ISP, Interface Segregation Principle : 인터페이스 분리 원칙 -> 인터페이스를 클라이언트에 특화되도록 분리시키라는 설계 원칙이다.
DIP, Dependency Inversion Principle : 의존 역전 원칙 -> 의존 관계를 맺을 때 변화하기 쉬운 것 또는 자주 변화하는 것보다 변화하기 어려운 것, 거의 변화가 없는 것에 의존해야 한다는 설계 원칙.
☻ 소프트웨어 설계
상위 설계 : 아키텍처, 데이터, 시스템 분할, 인터페이스(UI) 정의/설계
하위 설계 : 모듈 설계, 인터페이스 작성
모듈 간의 결합도가 약할수록 좋다 -> 반대로 응집도는 강할수록 좋다
☻ 소프트웨어 국제 표준
ISO/IEC 12119 – 패키지 소프트웨어의 평가
ISO/IEC 9126 – 소프트웨어 품질 특성 및 척도에 대한 표준화
ISO/IEC 14598 – 소프트웨어 제품 평가. ISO/IEC 9126 사용을 위한 절차와 기본 상황 및 소프트웨어 평가 프로세스에 대한 표준 규정
ISO/IEC 15504 – 소프트웨어 품질 및 생산성 향상을 위한 프로세스를 평가 및 개선하는 국제 표준 ( SPICE )
☻ 소프트웨어 아키텍쳐 : 소프트웨어의 구조
레이어 패턴(Layers Pattern) : 시스템을 계층으로 구분하여 구성. Ex) OSI 참조 모델
클라이언트-서번 패턴(Client-Server Pattern) : 하나의 서버 컴포넌트와 다수의 클라이언트 컴포턴트로 구성되는 패턴
파이프-필터 패턴(Pipe-Filter Pattern) : 데이터 스트림 절차의 각 단계를 필터 컴포넌트로 캡슐화하여 파이프를 통해 데이터를 전송하는 패턴 Ex) UNIX의 SHELL
모델-뷰-컨트롤러 패턴(Model-View_controller Pattern) : 서브시스템을 3개의 부분으로 구조화 하는 패턴
☻ 애자일 방법론
익스트림 프로그래밍, 스크럼, 크리스털 패밀리, 기능중심 개발
☻ 정렬 알고리즘 시간 (정렬된 N개의 데이터 처리에 대한)
O(n^2) : 선택, 삽입, 버블
O(Nlog2N) : 합병
☻ 선택(Selection) 정렬 오름차순
1회전 : 가장 작은 값과 첫 번째 값 교환
2회전 : 정렬된 첫 번째 값을 제외한 가장 작은 값과 두 번째 값 교환
…
Ex) 37, 14, 17, 40, 35 -> (1회전) 14, 37, 17, 40, 35 -> (2회전) 14, 17, 37, 40, 35 -> (3회전) 14, 17, 35, 40, 37 -> (4회전) 14, 17, 35, 37, 40
☻ 삽입(Insertion) 정렬 오름차순
1회전 : 첫 번째 값과 두번째 값 비교후 자리 변경
2회전 : 두 번째 값과 세번째 값 비교후 자리 변경
…
☻ White Box Testing / Black Box Testing
White : Condition, Loop, Data Flow (단순하게 보임)
Black : Equivalence Partitioning, Boundary Value, Cause-Effect Graphing ..(복잡하게 보임)
☻ 제어흐름 그래프에서McCabe의 cyclomatic수
V = Edge(화살표) – Node(동그라미) + 2
☻ 알고리즘 설계 기법
Divide and Conquer(분할 정복 알고리즘) : 그대로 해결할 수 없는 문제를 작은 문제로 분할하여 문제를 해결하는 알고리즘
Greedy(탐욕 알고리즘) : 현재 시점에서 가장 최적의 방법을 선택하는 알고리즘
Backtracking : 모든 조합을 시도하여 문제의 답을 찾는 알고리즘
☻ 스키마
외부 스키마 – 개념 스키마 – 내부스키마
외부 : 개인 또는 응용 개발자 입장에서 보는 데이터 베이스
개념 : 모든 응용 프로그램 또는 사용자들이 필요로 하는 조직 전체 데이터베이스로 단 하나만 존재
내부 : 물리적 저장 장치의 입장에서 본 데이터베이스 구조로서 실제로 데이터베이스에 저장될 레코드의 형식을 정의하고 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.
☻ 물리데이터 저장소의 파티션 설계
범위 분할(Range Partitioning) : 지정한 열의 값을 기준으로 분할
해시 분할(Hash Partitioning) : 해시 함수를 적용한 결과값에 따라 데이터 분할
조합 분할(Composite Partitioning) : 범위 분할 후 해시 함수를 적용하여 다시 분할
☻ 테스트 용어
☻ 인터페이스 구현 검증 도구
xUnit, STAF, FitNesse, NTAF, Selerium, Watir
☻ n개의 노드로 구성된 무방향 그래프의 최대 간선수
n(n-1) / 2
그냥 그래프의 최대 간선수는 n(n-1)
☻ 소프트웨어 품질 측정
개발자 관점 : 정확성, 신뢰성, 효율성, 무결성, 유연성, 이식성, 재사용성, 상호운용성
사용자 관점 : 간결성
☻ EAI(Enterprise Application Integration)의 구축 유형
Point-to-Point, Hub & Spke, Message Bus, Tree
☻ 트리 순회
Preorder(전위) : ROOT -> LEFT -> RIGHT / 루트를 먼저 방문 ( 만약에 LEFT에서 하위트리에 해당 LEFT의 LEFT가 존재하면 계속 따라 내려감 )
Inorder(중위) : LEFT -> ROOT -> RIGHT ( 왼쪽 하위트리를 방문한 뒤 루트를 방문 )
Postorder(후위) : LEFT -> RIGHT -> ROOT ( 하위트리를 방문한 뒤 루트를 방문 )
☻ 반정규화(Denormalization) 중복 테이블 추가 방법
진행 테이블 추가 / 집계 테이블 추가 / 특정 부분만을 포함하는 테이블 추가
☻ 트리의 차수(degree), 단말 노드(terminal node)
차수 : 자식 노드의 숫자
단말 노드 : 자식이 없는 노드
☻ 디지털 저작권 관리(DRM)
암호화 / 키 관리 / 암호화 파일 생성 / 식별 기술 / 저작권 표현 / 정책 관리/ 클랙 방지/ 인증
!!!!!방화벽 기술은 아님!!!!!
☻ 알고리즘 시간 복잡도
O(1) : 입력 데이터 수와 상관없이 일정
O(log2^n) : 로그에 비례
O(n) : 정비례(선형)
O(nlog2^n) : 로그 * 변수에 비례(선형 로그)
O(n^2) : 제곱 비례
O(n^2) : 세제곱 비례
O(2^n) : 지수 비례
O(n!) : 팩토리얼 비례
☻ 검증 검사 기법
알파 테스트 : 개발자 장소에서 개발자 앞에서 사용자가 테스트(인수 테스트)
베타 테스트 : 선정된 최종 사용자가 여러명의 사용자 앞에서 테스트(인수 테스트)
동치 분할 검사 : 입력 자료에 초점을 맞춰 케이스를 만들고 테스트
형상 검사 : 구성요소, 목록, 유지보수를 위한 모든 사항이 표현되어있는가 확인
☻ 시험용 모듈
Test Stub : 하향식
Test Driver : 상향식
☻ 외계인 코드(Ailen Code)
아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 어려운 프로그램
☻ 소스코드 품질분석 도구
정적 분석 도구 : pmd, cppcheck, SonarQube, ccm
동적 분석 도구 : valance
☻ Postfix 연산식
후위표기식은 연산 바로 앞의 두자리를 계산하고, 연산자를 빼준다.
3456+ = 34+56 = 42
☻ 전위식(prefix)를 후위식(postfix)으로 표현
[ - / * A + B C D E ][ ( - ( / ( * A ( + B C ) ) D ) E ) ] 연산자에 따라 묶는다
[ ( ( ( A ( B C ) + ) * D ) / E ) - ] 연산자를 각 괄호 뒤로 뺀다 (후위식)
[ A B C + * D / E - ] 괄호를 제거한다.
☻ 선형, 비선형
선형 구조 : 배열, 선형리스트, 스택, 큐, 데크
비선형 구조 : 트리, 그래프
스택 -> LIFO (한 쪽만 뚫림)
큐 -> FIFO (두 쪽 뚫림, 한 쪽 입구 한 쪽 출구)
데크 -> 양방향에서 입출력 가능
☻ SQL 분류
DDL : CREATE, ALTER, DROP
DML : SELECT, INSERT, UPDATE, DELETE
DCL : GRANT, REVOKE
☻ 테이블!!
고객ID 고객이름 거주도시
S1 홍길동 서울
S2 임꺽정 인천
S3 강감찬 수원
S4 이순신 경기
Relation (테이블) -> 1
Attribute (열) -> 3
Tuple (행) -> 4
☻ 데이터 무결성 제약조건
개체 무결성 제약 : 기본키에 속해 있는 애트리뷰트는 널값이나 중복값 X
도메인 무결성 제약 : 주어진 속성 값이 정의된 도메인에 속합 값이어야 한다.
참조 무결성 제약 : 외래키의 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일
☻ 뷰(View)
데이터의 논리적 독립성, 물리적으로 존재 X
뷰는 자체적으로 인덱스를 가지지 않아 삽입, 삭제, 수정이 제한적이다.
뷰 위에 또 다른 뷰를 정의할 수 있다.
뷰가 정의된 기본테이블이 제거되면 뷰도 자동적으로 제거된다.
☻ 논리적 설계(logical design) 단계
논리적 데이터베이스 구조로 매핑(mapping)
트랜잭션 인터페이스 설계
스키마의 평가 및 정제
☻ 이행적 함수 종속 관계
A -> B이고 B -> C 일 때, A -> C를 만족
3차 정규화(3NF)의 조건
☻ 함수 종속 추론 규칙 나머지
분해 규칙 : X -> YZ이면 X -> Y와 X -> Z이다.
결합 규칙 : X -> Y이고 X -> Z이면 X -> YZ이다.
반사 규칙 : X ⊇ Y 이면 X -> Y와 X -> X이다.
☻ 관계 데이터 모델
도메인 : 하나의 애트리뷰트가 가질 수 있는 원자값들의 집합
튜플 : 릴레이션을 구성하는 각각의 ‘행’ ( 튜플의 수 : 카디널리티 / 기수 / 대응수 )
스키마 : 속성(attribute)의 집합 = 열
인스턴스 : 튜플의 집합 = 행, 레코드
속성(attribute)의 개수 = 차수
튜플의 개수 = 카디널리티
☻ 관계대수 연산
σ : select
π : project -> 릴레이션에서 주어진 속성들의 값으로만 구성된 튜플 반환
⋈ : join -> 공통으로 가지고 있는 속성을 이용하여 두 개의 릴레이션을 하나로 합쳐 새로운 릴레이션을 만드는 연산
÷ : division -> (R÷S) 릴레이션 S의 모든 튜플과 관련있는 릴레이션 R의 튜플 반환
카테시안곱은 순수관계대수 연산이아님!!!!!!!!!!!!!!!!!!!
☻ 트랜잭션의 특성
Durablility 영속성 : 성공적으로 완료된 트랜잭션의 결과는 영구적으로 반영
Consistency 일관성 : 언제나 일관성 있는 데이터 베이스 상태로 변환
Atomicity 원자성 : 모두 반영되는, 모두 반영되지 않든
Isolation 격리성 : 트랜잭션 실행 중 생성하는 연산 중간에 다른 트랜잭션 접근 X
☻ 분산 데이터 베이스
위치투명성(Location) : DB의 실제 위치를 알 필요 없이 단지 DB의 논리적 명칭만으로 액세스 할 수 있다.
중복투명성(Replication) : 데이터가 여러 곳에 중복되어 있더라도 사용자는 마치 하나의 데이터만 존재하는 것처럼 사용 가능
병행투명성(Concurrency) : 다수의 트랜잭션이 동시에 실현되더라도 결과에 영향을 받지 않음
장애투명성(Failure) : 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 트랜잭션을 정확히 처리한다.
☻ 참고 무결성
CASCADE : 참조 테이블 튜플 삭제 시 관련 튜플 모두 삭제 및 속성 변경 시 속성값 모두 변경
RESTRICTED : 타 개체가 제거할 요소를 참조중이면 제거를 취소, 제거 못함
SET NULL : 참조 테이블 변화 시 기본 테이블 관련 속성값 NULL로 변경
SET DEFAULT : 참조 테이블 변화시 기본테이블의 관련 튜플 속성값을 기본값으로 변경
☻ 로킹(Locking)
로킹 단위가 작아지면 병행성 올라간다(단위가 작으니 병행이 많이 일어나니까)
로킹 단위가 작아지면 오버헤드 올라간다(단위가 작으니 접근이 많아서 오버헤드 많아짐)
로킹 단위가 작아지면 공유도 증가한다(계속 접근하면 공유해야하니까)
☻ E-R 모델의 표현
개체 타입 -> 사각형
관계 타입 -> 마름모
속성 타입 -> 타원
연결 -> 선
☻ 키
후보키 : 유일성 O, 최소성 O
슈퍼키 : 유일성 O, 최소성 X
후보키(Candidate Key) : 릴레이션을 구성하는 속성 중 튜플을 유일하게 식별하기 위한 기본키로 사용할 수 있는 속성들을 뜻한다.
기본키(Primary Key) : 후보키 중에서 선택된 주키(Main Key)이다.
수퍼키(Super Key) : 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키이다. 슈퍼키는 릴레이션에 있는 튜플에 대해 유일성을 만족시키지만, 최소성은 만족 시키지 못한다.
외래키(Foreign Key) : 관계를 맺고 있는 릴레이션 R1, R2에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본키와 같은 R1릴레이션의 속성을 말한다.
☻ 정규화 과정
1NF 조건 : 원자값으로 구성 (도메인)
2NF 조건 : 부분 함수 종속 제거 (완전 함수적 종속 관계)
3NF 조건 : 이행 함수 종속 제거
BCNF 조건 : 결정자 함수 종속
4NF 조건 : 다중값(다치) 종속성 제거
5NF 조건 : 조인 종속성 제거
도 -> 부 -> 이 -> 결 -> 다 -> 조
☻ C언어 비트 논리 연산자
&, ^, |, ~, <<, >>
? -> 조건 연산자
☻ 교착상태 해결 방법
Prevention(예방) : 상호배제(Mutual exclusion), 점유와 대기(Hold and wait), 비선점(Non-preemption), 환형대기(Circular wait)
Avoidance(회피) : 은행가 알고리즘(Banker’s Algorithm)
Detection(탐지) : 자원 할당 그래프
Recovery(복구) : 자원 선점, 프로세스 종료
☻ UNIX Shell, Kernel
Shell -> 명령어 해석기, 시스템과 사용자간의 인터페이스, 쉘의 종류 여러 개
Kernel -> 프로세스, 기억장치, 입출력 관리
☻ OSI-7 계층
응용 : 사용자가 OSI환경에 접근할 수 있도록 서비스 제공
표현 : 통신에 적당한 형태로 변환(데이터 변환/ 데이터 암호화 / 정보형식변환)
세션 : 송수신 측 간의 관련성을 유지하고 대화 제어
전송 : 논리적 안정 및 균일한 데이터 전송 서비스 제공, 종단 시스템간 투명한 데이터 제공
네트워크 : 개방 시스템들 간의 네트워크 연결을 관리, 데이터 교환 및 중계
데이터링크 : 두 개의 인접한 개방 시스템들 간 신뢰성 있고 효율적인 정보 전송(동기화 / 오류제어 / 순서제어)
물리 : 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계, 전기, 기능적 절차
☻ IPv6
128비트
애니 유니 멀티
패킷 크기는 임의로 큰 크기의 패킷을 주고 받을 수 있다.
☻ HRN(Highest Response-ratio Next)
비선점 스케줄링 : 실행시간이 긴 프로세스에 불리한 SJF을 보완하기 위해 대기시간 및 서비스 시간을 이용, 우선순위를 계산 숫자가 높은 것 부터 낮은 순으로 순위 부여
(대기시간 + 서비스시간) / 서비스시간 = 우선순위값
☻ C언어 변수명
영어, 숫자, ‘ ‘사용가능
첫 글자 영어 or ‘’
예약어 X
대소문자 구분
☻ 응집도
기능 > 순차 > 교환 > 절차 > 시간 > 논리 > 우연
Functional > Sequential > Communication > Procedural > Temporal > Logical > Coincidental
기순교절시논우 : 기차타고싶은 순서를 교환하고싶으면 절차와 시간에따라 논리적으로 우를범하지마
☻ TCP
신뢰성 있는 연결 지향형 전달 서비스
스크림 전송 기능 제공
순서제어, 오류제어, 흐름제어 기능 제공
기본 헤더 크기는 최소 20byte 최대 60byte, 헤더에 Option값 포함 시 최대 40byte 추가 가능
☻ 결합도
내용 > 공통 > 외부 > 제어 > 스탬프 > 자료
Content > Common > External > Control > Stamp > Data
내공외제스자 – 내가 공부하는데 외 제꾸 스타하자고 자꾸그래
☻ 파이썬 문자 출력
[:] – 처음부터 끝까지
[start:] – start오프셋부터 끝까지
[:end] – 처음부터 end – 1 오프셋까지
[start : end] – start오프셋부터 end – 1오프셋까지
[start : end : step] – step만큼 문자를 건너 뛰면서 위와 동일하게 추출
☻ 파이썬 변수명
첫 자리에 숫자 X
변수 이름 중간에 공백 X
예약어 X
영문 대문자/소문자, 숫자, 밑줄(_) 사용
☻ UNIX 명령어
fork : 새로운 프로세스를 생성
cat : 파일 내용 출력
chmod : 파일이나 디렉토리에 대한 접근권한 변경
환경 변수 출력 명령어 – printenv, env, setenv
☻ IEEE 802
.3 : CSMA/CD
.4 : Token Bus
.5 : Token Ring
.11 : CSMA/CA (무선 랜)
☻ 정보보안의 3대 요소
기밀성 : 허락된 사용자에 의해서만 접근 가능
무결성 : 허락된 사용자에 의해서만 변경, 수정 가능
가용성 : 허락된 사용자가 필요로 하는 시점에 접근 가능
☻ Rayleigh-Norden 곡선의 노력 분포도
Putnam 모형 -> Putnam 모형을 기초로 해서 만든 자동화 추정 도구 -> SLIM
☻ COCOMO
Organic(5만라인), Semi-detached(30만라인 이하), Embedded(30만라인 이상)
☻ 스택가드
복귀주소와 변수사이에 특정값을 저장, 그 값이 변경되었을 경우 오버플로우 상태로 가정하여 프로그램 실행을 중단
☻ 백도어 탐지 방법
무결성 검사, ‘열린’ 포트 확인, 로그 분석, SetUID 파일 검사
☻ 서비스 공격 유형
DOS : 서버의 자원 고갈 목적, 대량의 데이터를 한 곳에 집중 전송
Ping of Death : Ping 명령 전송시 패킷의 크기를 프로토콜 허용범위 이상으로 전송 네트워크 마비
Smurfing : IP나 ICMP의 특성을 악용, 데이터를 한 사이트에 집중, 네트워크 불능
DDOS : 여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대해 분산 서비스 공격을 수행 –> Tribe Flood Network(TFN), TFN2K, Trin00, Stacheldraht
Trojan Horse : 정상적인 기능인 척하는 악성 프로그램
Ransomware : 인터넷 사용자의 컴퓨터에 침입해 내부 문서 파일등을 암호화해 사용자가 열지 못하게 하는 공격
XSS : 웹페이지에 악의적인 스크립트를 포함시켜 사용자 측에서 실행되게 유도함으로써, 정보유출 등의 공격으 ㄹ유발할 수 있는 취약점
☻ PICONET
여러 개의 독립된 통신장치가 UWB(Ultra Wideband) 기술 또는 블루투스 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술
☻ 소프트웨어 생명주기 모형
폭포수 : 선형 순차적 / 메뉴얼 작성 / 각 단계가 끝난 뒤 다음 단계로 넘어감
프로토 : 원형 모형으로 실제 개발될 제품의 견본을 만들어 결과물을 예측
나선형 : 프로토타입을 지속적으로 발전시켜 최종 소프트웨어 개발까지 이르는 개발방법으로 위험관리가 중심
☻ 폭포수 모형 순서
타당성 검토 -> 계획 -> 요구사항분석 -> 구현 -> 테스트 -> 유지보수
☻ 나선형 모델 순서
계획수립 -> 위험분석 -> 개발 및 검증 -> 고객평가
☻ 하둡(Hadoop)
오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼
일반 PC급 컴퓨터를 가상화된 대형 스토리지를 형성한다.
다양한 소스를 통해 생성된 빅데이터를 효율적으로 저장하고 처리한다.
☻ 블록 암호화 방식
DES, RC5, AES, SEED, IDEA
☻ RSA
소인수 분해 공개키 암호화 기법 암호 알고리즘
☻ 암호 알고리즘
해시 암호화 알고리즘 : MD4, MD5, SHA-1
대칭키 암호화 알고리즘 : AES
비대칭키(공개키) 암호화 알고리즘 : 디피-헬만, RSA
☻ 공개키 암호화 방식
비대칭 암호기법이라고도 한다.
키 분배가 용이하고, 관리해야 할 키 개수가 적다.
공개키 암호화 방식은 암호화와 복호화에 사용하는 키가 서로 다른 암호화 방식이다.
대표적인 기법은 RSA 기법
☻ 테일러링(Tailoring) 개발 방법론 내부 기준
프로젝트 상황 특성에 맞게 정의된 소프트웨어 개발 방법론 절차, 사용기법 등을 수정 및 보완하는 작업
내부 기준 : 납기, 비용 / 목표환경 / 요구사항 / 프로젝트규모 / 보유기술 / 구성원 능력
외부 기준 : 법적 제약사항 / 표준 품질 기준
☻ NS(Nassi-Schneiderman) chart
논리의 기술에 중점을 둔 도형식 표현 방법
연속, 선택 및 다중 선택, 반복 등의 제어논리 구조로 표현
직사각형을 포개어가는 것으로 나타낸다.
조건이 복합되어 있는 곳의 처리를 시각적으로 명확히 식별하는데 적합
☻ 맵리듀스(MapReduce)
대용량 데이터를 분산 처리하기 위한 목적
Google에 의해 고안된 기술, 데이터 처리를 위한 병렬 처리 기법 제공
임의의 순서로 정렬된 데이터를 분산 처리하고 이를 다시 합치는 과정
☻ MQTT
IBM이 주도하여 개발
사물통신, 사물인터넷과 같이 대역폭이 제환된 통신환경에 최적화하여 개발된 푸시기술 기반의 경량 메시지 전송 프로토콜
메시지 매개자(Broker)를 통해 송신자가 특정 메시지를 발행하고 수신자가 메시지를 구독하는 방식
☻ 정보보안 접근통제 정책 종류
임의적, 강제적, 역할 기반
☻ Baas
블록체인 개발환경을 클라우드로 서비스하는 개념
블록체인 네트워크에 노드의 추가 및 제거가 용이
블록체인의 기본 인프라를 추상화하여 블록체인 응용프로그램을 만들 수 있는 클라우드 컴퓨팅 플랫폼
☻ Wi-sun
스마트 그리드와 같은 장거리 무선 통신을 필요로 하는 사물 인터넷(IoT) 서비스를 위한 저전력 장거리(LPWA: Low-Power Wide Area) 통신 기술
글 잘 보고 갑니다.
감사합니다