→ 자료 저장소의 입력 화살표는 데이터의 입력 및 수정을 의미하는 것
입력 화살표가 있다고 하여 반드시 출력 화살표가 있어야 하는 것은 아니다
→ Process, Data Flow, Data Store, Terminator
→ Things 사물, Relationship 관계, Diagram 다이어그램
→ 명령어나 호출문 등 모듈의 내부 요소들의 서로 관련되어 있는 정도, 즉 모듈이 독립적인 기능으로 정의되어 있는 정도
→ 자료의 발생 순서, 크기 순서 등 일정 기준에 따라서 최초의 자료부터 차례로 일련번호를 부여하는 방법
→ 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 처리하는 시간을 줄여주는 프로그램이나 하드웨어
→ 데이터 통로인 파이프를 이용하여 컴포넌트인 필터 간에 데이터를 전송하는 구조, 단방향 및 양방향 모두 구현할 수 있으며, 필터 간 이동 시 오버헤드가 발생함
소프트웨어 아키텍처
→ 개발자 관점에서 고려해야 할 항목: 정확성, 사용성, 무결성 등
간결성은 아님! ㅋㅋㅋ
순서가 A, B, C, D로 정해진 입력 자료를 스택에 입력했다가 출력할 때 가능하지 않은 출력 순서의 결과 → D A B C
블랙박스 테스트 → 프로그램의 구조를 고려하지 않기 때문에 테스트 케이스는 프로그램 또는 모듈의 요구나 명세를 기초로 결정
→ 모든 테스트 케이스의 입력 값에 대해 기대하는 결과를 제공하는 오라클
Root → Left → Right
→ 로킹 단위가 작아지면 병행성 수준이 높아짐 + 데이터베이스 공유도가 증가
⇒ 교육과 학생의 ‘이름’을 검색
산술 연산자 종류 → +, -, , /, %
<<
→ 시프트 연산자
→ 패킷 크기는 제한 X
IPv4 → 패킷 크기가 64byte로 고정되어 있는 것
정수 자료형 → short, byte
실수 자료형 → float
→ 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
→ 교착상태 해결 방법 중 회피 기법에 해당함
→ TCP/IP 프로토콜의 TCP
→ TCP/IP 기반 네트워크에서 동작하는 발생-구독 기반의 메시징 프로토콜, IoT 환경에서 최근 자주 사용되고 있음
→ Organic Mode: (조직형) 기관 내부에서 개발된 중소 규모의 소프트웨어, 일괄 자료 처리나 과학기술 계산용, 비즈니스 자료 처리용으로 5만 라인 이하의 소프트웨어를 개발하는 유형
→ Embedded Mode: (내장형) 최대형 규모의 트랜잭션 처리 시스템이나 운영체제 등의 30만 라인 이상의 소프트웨어를 개발하는 유형
→ Semi-Detached Mode: (반분리형) 조직형과 내장형의 중간형, 트랜잭션 처리 시스템이나 운영체제, 데이터베이스 관리 시스템 등의 30만 라인 이하의 소프트웨어를 개발하는 유형
→ 네트워크상에 광채널 스위치의 이점인 고속 전송과 장거리 연결 및 멀티 프로토콜 기능을 활용
MBR → 기억장치를 출입하는ㄷ ㅔ이터가 잠시 기억되는 레지스터
NAC → 네트워크에 접속하는 내부 PC의 MAC 주소를 IP 관리 시스템에 등록한 후 일관된 보안 관리 기능을 제공하는 보안 솔루션
NIC → 컴퓨터와 컴퓨터 또는 컴퓨터와 네트워크를 연결하는 장치로, 정보 전송 시 정보가 케이블을 통해 전송될 수 있도록 정보 형태를 변경함
→ 지식, 소유, 생체, 행위, 위치 등
‘존재’ 라는 사용자 인증 유형은 없음
→ 각 시스템 간에 공유 디스크를 중심으로 클러스터링으로 엮어 다수의 시스템을 동시에 연결할 수 있음
→ 웹페이지에 악의적인 스크립트를 포함시켜 사용자 측에서 실행되게 유도함으로써, 정보 유출 등의 공격을 유발할 수 있는 취약점
피싱 - 낚시, 허위 웹사이트 내세워 사용자의 개인 신용 정보를 빼내는 수법을 의미
파밍 - 합법적으로 소유하고 있던 사용자의 도메인을 탈취하거나 DNS 이름을 속여 사용자들이 진짜 사이트로 오인하도록 유도하여 개인 정보를 훔치는 신종 인터넷 사기 수법
랜섬웨어 - 인터넷 사용자의 컴퓨터에 잠입해 내부 문서나 파일 등을 암호화해 사용자가 열지 못하게 하는 프로그램, 돈 요구하기도 함
→ 상향식 비용 산정 기법
→ 낙관치, 기대치, 비관치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법
→ 전자 칩과 같은 소프트웨어 부품, 즉 블록(모듈)을 만들어서 끼워 맞추는 방법으로 소프트웨어를 완성시키는 재사용 방법
→ 프로젝트 상황 및 특성에 맞추어 기존의 방법론, 프로세스 등을 수정하는 것이니 만큼, 예상되는 변화를 충분히 고려해야 함
자료 결합도 Data Coupling → 자료로 얽힐 수록… 강한거!
스탬프(검인) 결합도 Stamp Coupling → 도장 쾅! 도장은 무거운거임
제어 결합도 Control Coupling
외부 결합도 External Coupling
공통(공유) 결합도 Common Coupling → 조금 공유 해본다~
내용 결합도 Content Coupling → 아 내용만 살짝 겹치는거~
SRP (Single Responsibility Principle) - 단일 책임 원칙 → 객체는 단 하나의 책임만 가져야 함
OCP (Open-Closed Principle) - 개방-폐쇄 원칙 → 기존의 코드를 변경하지 않고 기능 추가할 수 있게 설계해야 함
LSP (Liskov Substitution Principle) - 리스코프 치환 법칙 → 자식 클래스는 부모 클래스의 책임을 무시 ㄴㄴ 확장만 수행해야 함
→ 시스템의 분석 및 설계나 문서화할 때 사용되는 기법, 하향식 소프트웨어 개발을 위한 문서화 도구
작업 계획 → 코딩 → 컴파일 → 테스트
→ 제산법, 제곱법, 폴딩법, 기수 변환법, 대수적 코딩법, 계수 분석법, 무작위법
개방 주소법은 없는거야~ 수학적 내용에 관해서만 기억하면 될 것 같다
프로젝트 개발 비용을 효율적으로 관리하는 것과는 무관함! 소프트웨어의 변경 사항을 관리하기 위해 하는 활동임을 명심하자
→ 하나의 애트리뷰트가 가질 수 있는 원자값들의 집합
→ 릴레이션에 포함된 각 튜플 사이에는 순서 X
→ 범위 분할, 목록 분할, 해시 분할, 조합 분할, 라운드 로빈
예측 분할은 해당 x
INSERT INTO 컴퓨터과테이블(학번, 이름, 학년) # <컴퓨터과테이블>에 '학번', '이름', '학년' 속성의 값으로 튜플을 삽입
SELECT 학번, 이름, 학년 # '학번', '이름', '학년' 속성을 검색
FROM 학생테이블 # <학생테이블>로부터 검색하라
WHERE 학과='컴퓨터'; # '학과'가 "컴퓨터"인 튜플만을 대상으로 하라
⇒ 학생테이블에서 학과가 컴퓨터인 사람의 학번, 이름, 학년을 검색하여 컴퓨터과테이블에 삽입하라
“프로젝트번호(PNO) 1, 2, 3에서 일하는 사원의 주민등록번호(JUNO)를 검색하라. (단, 사원 테이블(WORKS)은 프로젝트번호(PNO), 주민드옥번호(JUNO) 필드로 구성된다.)”
SELECT JUNO
FROM WORKS
WHERE PNO IN (1, 2, 3);
⇒ SELECT JUNO FROM WORKS WHERE PNO IN (1, 2, 3);
→ 192.0.0.0 ~ 233.255.255.255
→ OPT, FIFO, LRU, LFU, NUR, SCR 등
⇒ (대기 시간 + 서비스 시간) / (서비스 시간)
→ 루프, 서브루틴, 스택
공간 구역성 → 배열 순회
→ 초기, 관리, 정의, 정량적 관리, 최적화의 5단계로 구분
→ 프로젝트에 내재된 위험 요소 인식, 그 영향을 분석하여 이를 관리하는 활동
→ IP 또는 ICMP의 특성을 악용하여 특정 사이트에 집중적으로 데이터를 보내 네트워크 또는 시스템의 상태를 불능으로 만드는 공격
TearDrop → Offset 값을 변경시켜 수신 측에서 패킷을 재조립할 때 오류로 인한 과부하를 발생시킴
Qshing → QR코드 + 피싱(Fishing)
→ 소인수 분해 문제를 이용한 공개키 암호화 기법
→ 암호화 키와 복호화 키가 동일
→ 전자 칩과 같은 소프트웨어 부품, 즉 블록(모듈)을 만들어서 끼워 맞추는 방법
→ 객체지향 언어와 함께 이용될 때 효율 극대화
도출 → 분석 → 명세 → 확인
→ 입력 Input, 처리 Process, 출력 Output, 제어 Control, 피드백 Feedback
→ 중복 테이블을 추가하는 방법
Root → Left → Right
→ 자료 흐름도, 기능 테스트, 랜덤 테스트, 입력 도메인 분석
→ 릴레이션을 구성하는 각각의 행
논리적 설계 단계 → 목표 DBMS에 맞는 스키마 설계
→ Roll-up, Drill-down, Drill-through, Drill-across, Pivoting, Slicing, Dicing
→ 프로세스, 기억장치, 입출력 관리 수행
쉘
자료 결합도 → 스탬프 결합도 → 제어 결합도 → 외부 결합도 → 공통 결합도 → 내용 결합도
→ 인터넷 제어 메시지 프로토콜
→ TCP/IP 계층 구조에서 IP의 동작 과정에서의 전송 오류가 발생하는 경우에 대비해 오류 정보를 전송하는 목적으로 사용하는 프로토콜
단항, 산술, 시프트, 관계, 비트, 논리, 조건, 대입, 순서 연산자 순
→ 관계 연산자 중에서 <, <=, >=, >
는 ==, !=
보다 우선 순위가 높다
→ 자료 입력(입력 양식), 정보 출력(출력 보고서), 명령어(사용자 질의수), 데이터 파일, 필요한 외부 루틴과의 인터페이스
→ 서버와 저장장치를 전용 케이블로 직접 연결하는 방식으로, 일반 가정에서 컴퓨터에 외장하드를 연결하는 것이 여기에 해당 됨
NAS → 서버와 저장장치를 네트워크를 통해 연결하는 방식