객체지향 설계 원칙 (SOLID)
- 단일 책임의 원칙 (Single Responsibility) : 하나의 클래스는 하나의 목적을 위해서 수행해야 한다.
- 개방 폐쇄 원칙 (Open Close) : 확장에는 열려있고, 변경에는 닫혀 있어야한다.
- 리스코프 치환의 원칙 (Liskov Substitution) : 자식 클래스는 어디서나 부모 클래스로 교체할 수 있어야 한다.
- 인터페이스 분리의 원칙 (Interface Segregation) : 사용하지 않는 인터페이스는 구현하지 말아야한다.
- 의존성 역전의 원칙 (Dependency Inversion) : 추상을 매개로 메시지를 주고 받음으로써 관계를 느슨하게 만드는 원칙
데이터 흐름도 구성 요소
구성요소 | 설명 |
처리기 | 데이터를 원하는 형태로 변환하여 출력하기 위한 과정으로 DFD에서는 원(O)으로 표시 |
데이터 흐름 | DFD의 요소 간의 주고 받는 데이터의 흐름을 나타내며, 화살표(→)로 표시 |
데이터 저장소 | 데이터가 저장된 저장소이고, 평행선(=)으로 표시 #디스크판 |
단말 | 데이터가 발생하는 시작과 종료를 나타내고, 사격형(ㅁ)으로 표시 #모니터 |
EAI 구축유형
- 포인트 투 포인트Point to Point : 1=1 단순 통합 방법
- 허브 앤 스포크 hub & spoke : hub 시스템을 통하여 데이터를 전송하는 중앙 집중식 방식
- 메시지 버스 Message Bus : 미들웨어(버스)를 두어 연계하는 미들웨어 통합 방식
- 하이브리드 Hybird : 내부는 허브 앤 스포크 방식, 그룹 간에는 메시지 버스 방식을 사용한 통합 방식
재해 복구 시스템
주요 용어 | 설명 |
BIA (Business Impact Analysis) | 비즈니스 영향 분석; 장애나 재해로 인해 손실을 볼 것을 가정하여 시간 흐름에 따른 손실도 평가를 조사하여 BCP를 구축하기 위함 |
RTO (Recovery Time Objective) | 복구 목표 시간; 중단 시점부터 복구되어 다시 가동될 때까지의 시간 |
RPO (Recovery Point Objective | 복구 목표 지점: 중단 시점부터 복구되어 다시 가동될 때 데이터 손실 허용 시점 |
DRP (Disaster Recovery Plan) | 재난 복구 계획; 재난으로 장기간 운영이 불가능한 경우를 대비한 재난 복구 계획 |
DRS (Disaster Recovery System) | 재해 복구 시스템; 재난 복구 계획의 원활한 수행을 지원하기 위해 평상시 확보한 인적, 물적 자원에 대한 지속적 관리 체계 시스템 |
재해 복구 시스템의 복구 수준별 유형 비교
- Mirror Site : 주 센터와 동일한 수준으로 정보 자원을 원격지에 구축, 실시간 동시 서비스 제공
- Hot Site : 주 센터와 동일한 수준으로 정보 자원을 구축하고 Standby 상태로 유지 (동시 x)
- Warm Site : 중요성이 높은 정보 기술 자원만 부분적으로 복구 센터에 보유
- Cold Site : 데이터만 원격지에 보관, 서비스 정보 자원은 확보하지 않거나 최소한으로 확보
자료사전
- = : 자료의 정의를 나타냄
- + : 자료의 연결을 나타냄
- () : 생략 가능함을 나타냄
- {} : 반복을 나타냄(default → 0, 무한)
- [] : 자료의 선택을 나타냄
- ** : 자료의 설명을 나타냄
일정관리 모델
- 주 공정법(CPM) : 여러 작업의 수행 순서가 얽혀 있는 프로젝트의 일정을 계산하는 기법
- PERT : 일의 순서를 계획적으로 정리하기 위한 기법으로 비관치, 중간치, 낙관치의 3점 추정 방식을 통해 일정을 관리하는 방법
- 중요 연쇄 프로젝트 관리(CCPM) : 주 공정 연쇄법으로 자원제약사항을 고려하여 일정을 작성하는 기법
*CPM에서 임계 경로 기간 계산 문제는 기간이 가장 긴 경로
HIPO 차트
- 가시적 도표 : 시스템의 전체적인 기능과 흐름을 보여주는 계층 구조도
- 총체적 도포 : 프로그램을 구성하는 기능을 기술한 것으로 입력, 처리, 출력에 대한 정보를 제공
- 세부적 도포 : 총제적 도표에 기본 요소들을 상세히 기술하는 도표
서버 접근통제 유형
- DAC : 사용자/그룹의 신분 기반으로 제한하는 방법
- MAC : 시스템의 허용 등급을 기준으로 사용자가 갖는 접근 허가 권한에 근거하여 접근을 제어
- RBAC : 역할 기반 접근 통제로 조직 내 맡은 역할에 기초하여 자원에 접근을 제어하는 방법
소프트웨어 아키텍처 4+1 뷰
- 유스케이스 뷰 : 유스케이스 또는 아키텍처를 도출하고 설계하며 다른 뷰를 검증하는데 사옹
- 논리 뷰 : 요구 사항이 어떻게 제공되는지 설명하는 뷰
- 프로세스 뷰 : 시스템의 비기능적인 속성으로서 자원의 효율적인 사용, 병행 실행, 비동기 등 표현
- 구현 뷰 : 정적인 소프트웨어 모듈의 구성을 보여주는 뷰
- 배포 뷰 : 컴포넌트가 물리적인 아키텍처에 배치되는 걸 보여주는 뷰
구조적(정적) 다이어그램
#클객컴배복패
- 클래스 (Class) : 속성 및 연산의 정적인 관계를 표현
- 객체 (Object) : 클래스에 속한 사물(객체)들, 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현
- 컴포넌트 (Component) : 시스템을 구성하는 물리적인 요소(컴포넌트)와 그들 사이의 의존 관계를 표현
- 배치 (Deployment) : 컴포넌트 사이의 종속성을 표현하고, 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현
- 복합체 구조 (Composite Structure) : 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현
- 패키지 (Package) : 유스케이스나 클래스 등의 요소들을 그룹화한 관계를 표현
행위적(동적) 다이어그램
#유시커상활타
- 유스케이스 (Use Case) : 사용자 관점에서 시스템의 행위를 표현
- (순차)시퀀스 (Sequence) : 시간의 흐름에 따른 객체의 상호작용을 표현
- (통신)커뮤니케이션 (Communication) : 객체 사이의 관계를 중심으로 상호작용
- 상태 머신 (State Machine) : 객체의 생명 주기
- 활동 (Activity) : 업무 처리 과정이나 연산이 수행되는 과정
- 타이밍 (Timing) : 객체 상태 변화와 시간 제약을 명시적으로 표현
결합도(Coupling) #내공외제자
#내공외제스자
- 내용 (Content) : 다른 모듈 내부의 변수, 기능을 다른 모듈에서 사용하는 경우
- 공통 (Common) : 전역 변수를 참조하고 전역 변수를 갱신하는 식의 상호 작용 하는 경우
- 외부 (External) : 외부에서 도입된 데이터, 통신 프로토콜을 공유할 경우
- 제어 (Control) : 내부 논리 조직을 제어하기 위한 목적으로 제어 요소가 전달되는 경우
- 스탬프 (Stamp) : 모듈 간 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우
- 자료 (Data) : 파라미터를 통해서만 모듈 간 상호작용이 일어나는 경우
응집도(Cohesion) #우논시절통순기
#우논시절통순기
- 우연적 (Coincidental) : 구성 요소가 연관이 없을 경우
- 논리적 (Logical) : 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우
- 시간적 (Temporal) : 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우
- 절차적 (Procedural) : 모듈이 다수의 관련 기능을 가질 때 구성 요소들이 그 기능을 순차적으로 수행할 경우
- 통신적 (Communocation) : 동일한 입출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있을 경우
- 순차적 (Sequential) : 모듈 내에서 한 활동으로부터 나온 출력 값을 다른 활동이 사용할 경우
- 기능적 (Functional) : 모듈 내부의 모든 기능이 단일 목적을 위해 수행되는 경우
프로세스 스케줄링 유형
비선점형
- FCFS(First Come First Service) : 도착한 순서에 따라 할당 ⇒ FIFO
- SJF (Shortest Job First) : 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 자원을 점유하는 스케줄링 → 기아 현상 발생
- HRN (Highest Response Ratio Next) : SJF의 약점을 보완한 기법, 짧은 작업 간의 지나친 불평등을 해소하기 위해 대기 시간이 길면 우선순위가 높아지는 스케줄링 기법
- 우선순위(Priority) : 대기 중 프로세스들에게 우선 순위 부여 그 우선 순위에 다라 할당
- 기한부(Deadline) : 작업들이 명시된 기한 내에 완료되도록 계획
선점형
- SRT(Shortest Remaining Time First) : 가장 짧은 시간이 소요되는 프로세스를 먼저 수행
- 라운드 로빈(RR; Round Robbin) : 각 프로세스마다 CPU를 사용할 수 있는 최대 시간(time quantum)을 부여하여 시간이 끝나면 우선순위가 밀려나는 스케쥴링
- 다단계 큐(Multi Level Queue) : 여러 개의 큐를 이용하여 상위 단계 작업에 의한 하위 단계 작업이 선점
- 다단계 피드백 큐(Multi Level Feedback Queue) : 큐마다 서로 다른 CPU시간 할당량을 부여, FIFO+라운드 로빈 스케줄링 기법 혼합
Secure SDLC 모델 및 방법론
- BSIMM (Building Security In Maturity Model) : 보안 활동의 성숙도 수준을 영역별로 측점함으로 써 소프트웨어 개발에 필요한 보안 능력 향상을 목표로 한 개발 프레임워크
- Open SAMM (Software Assurance Maturity Model) : 개방을 원칙으로 소, 중,대규모로 점진적인 확대가 가능한 융통성있는 프레임워크, 설계 리뷰와 코드 리뷰 그리고 보안 테스팅을 3개의 중요 검증 활동으로 정의
- Seven TouchPoints : 실무적으로 검증된 개발 보안 방법론 SW보안의 모범 사례를 SDLC에 통합한 소프트웨어 개발 보안 생명주기 방법론
- MS SDL (Security Development Lifecycle) : 마이크로소프트사가 고안한 보안강화 프레임워크로 보안 위협에 얼마나 강인한가를 측정하기 위함.
- OWASP CLASP : 개념, 역할, 활동평가, 취약성 관점 등의 활동 중심, 역할 기반의 프로세스로 구성된 보안 프레임워크로 이미 운영 중인 시스템에 적용하기 쉬운 보안 개발 방법론
소프트웨어 개발 보안의 3대 요소 # 기무가
- 기밀성(Confidentiality) : 인가된 사용자만 시스템에 접근 가능
- 무결성(Integrity) : 정당한 방법을 따라야만 데이터 변경 가능
- 가용성(availability) : 권한을 가진 사용자는 계속해서 접근 가능
3A (AAA; Authentication, Authorization, Accounting)
- 유무선 이동 및 인터넷 환경에서 가입자에 대한 안전하고 신뢰성 있는 인증, 권한 검증, 과금 기능을 체계적으로 제공하는 정보 기술
- 인증(Authentication) ( ⇒ 기밀성 ?)
- 권한 부여(Authorization) ( ⇒ 무결성 ?)
- 계정 관리(Accounting) ( ⇒ 가용성 ?)
# 인권계
UI 품질 요구 사항 품질 특성 #기신사효유이
- 기능성 : 요구사항을 정확하게 만족하는 정도 #기적정상보준
- 적절성, 정확성, 상호운용성, 보안성, 준수성
- 신뢰성 : 일정 시간 내에 의도하는 기능을 수행함을 보증 #신성고회
- 성숙성, 고장 허용성, 회복성
- 사용성 : 사용자가 정확하게 이해하고 사용 #사이학운친
- 이해성, 학습성, 운용성, 친밀성
- 효율성: #효시자
- 시간효율성, 자원효율성
- 유지보수성 : #유분변완시
- 분석성, 변경성, 완전성, 시험성
- 이식성 : #이적설대공
- 적용성, 설치성, 대체성, 공존성
고급 데이터베이스
- 데이터 마트 : 데이터 웨어하우스에 있는 일부 데이터를 가지고 특정(소규모) 사용자를 대상으로 데이터 웨어하우스
- 데이터 웨어하우스 : 급증하는 다량의 데이터를 분석하여 정보화하고 여러 계층의 사람들이 효율적으로 사용할 수 있도록 한 데이터베이스
- 데이터 마이닝 : 대규모의 데이터로부터 통계적인 규칙이나 규칙을 분석하여 가치있는 정보를 찾는 과정
클라우드 컴퓨팅
- IaaS(Infrastructure) : 서비스로 제공하는 인프라스트럭처; 개발사에 제공되는 물리적 자원을 가상화
- PaaS(Platfrom) : 서비스로 제공하는 플랫폼; 개발사에 제공되는 플랫폼을 가상화
- SaaS(Software) : 서비스로 제공하는 소프트웨어; 소프트웨어를 가상화
*Infrastructure(기반 시설) ⇒ 경제 활동의 기반을 형성하는 기초적인 시설과 시스템을 칭함
*_aas ⇒ _ _ _ _ as a Service
클라우드 관련 기술
- 인터클라우드 : 타 클라우드 서비스에서 필요한 자원을 가져다 서비스하는 중첩 클라우드
- 메타클라우드 : 개발자의 요구 조건에 맞게 자유롭게 구성할 수 있도록 제시하는 통합 클라우드
- 멀티클라우드 : 2곳 이상의 클라우드 벤더가 제공하는 Public 클라우드를 조합하여 구성
페이지 교체 기법
기법 | 설명 |
FIFO (First In First Out) |
가장 오래 있던 페이지를 교체하는 기업 (선입선출) |
LRU (Least Recently Used) |
가장 오랫동안 사용되지 않은 페이지를 선택하여 교체하는 방법 |
LFU (Least Frequently Used) |
참조 횟수(사용한 횟수) 가 가장 적은 페이지를 선택하여 교체하는 방법 |
OPT (OPTimal Replacement) |
오랫동안 사용하지 않을 페이지를 교체, 가장 효율적인 알고리즘 |
NUR (Not Used Recently) |
LRU와 비슷, 최근에 사용하지 않은 페이지를 교체 |
SCR (Second Chance Replacement) |
가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지한 기법 (FIFO 기법의 단점을 보완) |
'License > 정보처리기사' 카테고리의 다른 글
[정보처리기사 실기] 보안, 해킹, 공격 관련 용어 정리 (0) | 2023.07.21 |
---|---|
[정보처리기사 실기] SQL 문법 정리, 사용법 모음 (SQL 정리) (0) | 2023.07.19 |
[정보처리기사 실기] 결합도, 응집도 간단한 설명 (두음암기) (0) | 2023.07.19 |
[정보처리기사 실기] 스크럼(Scrum) 정리 및 역할 설명 (0) | 2023.07.19 |
[정보처리기사 실기] 스케줄러 / 크론 표기법 정리 및 보는 (0) | 2023.07.19 |