필기 문제에 자주 출제되는! 그런데 잘 안외워지고 헷갈리는...개념을 정리해보았습니다.
✅ XP(eXtreme Programming)
수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위하여 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법
📍목적
짧고 반복적인 개발주기, 단순한 설계, 고객의 적극적인 참여를 통한 빠른 SW 개발
📍핵심 가치
1. 의사소통(Communication)
2. 단순성(Simplicity)
3. 용기(Couage)
4. 존중(Respect)
5. 피드백(Feedback)
❌ 정형화 ❌
✅ 화이트박스 테스트 vs 블랙박스 테스트
📍화이트박스 테스트
- 모듈의 원시 코드를 오픈시킨 상태에서 원시 코드의 논리적 모든 경로를 테스트하고 작동을 직접 관찰하며 테스트 케이스를 설계하는 방법
- 종류: 기초경로 검사, 제어구조 검사
- 기초경로 검사: 대표적인 화이트박스 테스트 기법으로, 테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주는 테스트 기법
- 제어구조 검사: 조건 검사, 루프 검사, 데이터 흐름 검사
- 검증 기준
- 문장 검증 기준: 소스코드의 모든 구문이 한 번 이상 수행되도록 설계
- 분기 검증 기준(결정 검증 기준): 소스코드의 모든 조건문에 대해 조건이 True인 경우와 False인 경우가 한 번 이상 수행되도록 설계
- 조건 검증 기준: 소스코드의 조건문에 포함된 개별 조건식의 결과가 True인 경우와 False인 경우가 한 번 이상 수행되도록 설계
- 분기/조건 기준
📍블랙박스 테스트
- 테스트 후반부에 적용되는 기능 테스트로, 프로그램의 구조를 고려하지 않기 떄문에 테스트 케이스는 프로그램 모듈 요구나 명세를 기초로 결정하며 소프트웨어 인터페이스에서 실시되는 테스트
- 종류: 동치분할검사, 경계값 분석, 원인-효과 그래프 검사, 오류 예측 검사, 비교 검사
⭐️ 예시 문제) 화이트박스 테스트 기법에 해당하는 것은? ⭐️
1. 기초 경로 검사 2. 동치 분할 검사 3. 경계값 분석 4. 원인 효과 그래프 검사
✅ DDL / DML / DCL
📍DDL(데이터 정의어)
데이터베이스 관리자나 설계자가 사용하며, CREATE/ALTER/DROP 유형이 있다. 또한 SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경 또는 삭제할 때 사용한다.
⭐️ 한 번 사용한 뷰는 정의를 변경할 수 없으므로, ALTER 문을 사용할 수 없으므로 뷰를 변경하려면 제거하고 만들어야 함⭐️
📍DML(데이터 조작성)
데이터베이스 사용자와 관리시스템 간의 인터페이스를 제공하며, SELECT/INSERT/DELETE/UPDATE 유형이 있다.
📍DCL(데이터 제어어)
데이터의 보안, 무결성, 회복, 병행 수행 제어 등을 정의하는데 사용되며, COMMIT/ROLLBACK/GRANT/REVOKE 종류가 있다.
✅ 키(Key)의 개념 및 종류
- 슈퍼키: 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로, 릴레이션을 구성하는 모든 튜플에 대해 유일성을 만족하지만, 최소성은 만족하지 못함
- 후보키: 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합으로, 유일성과 최소성을 모두 만족합
- 기본키: 후보키 중에서 특별히 선정된 키로, 중복된 값과 NULL 값을 가질 수 없음
- 대체키: 후보키 중에서 선정된 기본키를 제외한 나머지 후보키들
- 외래키: 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합으로, 릴레이션 간의 관계를 표현할 때 사용함
✅ E-R 다이어그램

✅ OSI 7계층
📍7계층
하위계층(물리 -> 데이터 링크 -> 네트워크), 상위계층(전송 -> 세션 -> 표현 -> 응용)
📍계층 설명
- 물리 계층: 전송에 필요한 두 장치 간의 실제 접촉과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙 정의
- 데이터링크 계층: 두 개의 인접한 개방 시스템 간에 신뢰성 있고 효율적인 정보 전송. 흐름제어, 프레임 동기화, 오류제어, 순서 제어 기능을 함
- 네트워크 계층: 개방 시스템 간의 네트워크 연결을 관리하는 기능과 데이터 교환 및 중계 기능을 함. 경로 설정(라우팅), 트레픽 제어, 패킷 정보 전송 수행
- 전송 계층: End-to-End 간의 전송 연결 설정, 데이터 전송, 연결 해제 기능을 함. 주소 설정, 다중화, 오류제어, 흐름 데어 수행
- 세션 계층: 송수신 측 간의 관련성을 유지하고 대화 제어를 담당함. 대화 구성 및 동기 제어, 데이터 교환 관리 기능 수행
- 표현 계층: 응용 계층으로 받은 데이터를 세션 계층에 맞게, 세션 계층에서 받은 데이터는 응용계층에 맞게 변환하는 기능 수행. 코드변환, 데이터 암호화, 데이터 압축, 구문 검색, 포맷 변환 등 수행
- 응용 계층: 사용자 및 응용 프로그램이 OSI 환경에 접근할 수 있도록 응용 프로세스 간의 정보교환, 전자사서함, 파일 전송, 가상 터미널 등의 서비스 제공
✅ 입력데이터 검증 및 표현의 보안 약점
- SQL 삽입: 웹 응용 프로그램에 SQL의 삽입해 내부 DB 서버의 데이터를 유출 및 변조하고, 관리자 인증을 우회하는 보안 약점
- 경로 조작 및 자원 삽입: 데이터 입출력 경로를 조작하여 서버 자원을 수정 및 삭제할 수 있는 보안약점
- 크로스사이트 스크립팅(XSS): 웹페이지에 악의적인 스크립트를 삽입해 방문자 정보를 탈취하거나 비정상적인 기능 수행을 유발하는 보안약점
- 운영체제 명령어 삽입: 외부 입력값을 통해 시스템 명령어의 실행을 유도함으로써 권한을 탈취하거나 시스템 장애를 유발하는 보안 약점
- 위험한 형식 파일 업로드: 악의적인 명령어가 포함된 스크립트 파일을 업로드함으로써 시스템에 손상을 주거나 시스템을 제어할 수 있는 보안 약점
- 신뢰되지 않은 URL 주소로 자동접속 연결: 입력 값으로 사이트 주소를 받는 경우 이를 조작해 방문자를 피싱 사이트로 유도하는 보안 약점
- 메모리 버퍼 오버플로: 연속된 메모리 공간을 사용하는 프로그램에서 할당된 메모리 범위를 넘어선 위치에서 자료를 읽거나 쓰려고할 때 발생하는 보안 약점
✅ 공격관련 용어
- Land: 공격자가 패킷의 출발지 주소를 변경하여 출발지와 목적지 주소 및 포트를 동일하게 하는 공격 유형
- TearDrop: Fragment Offset 값을 변경시켜 수신 측에서 패킷을 재조립할 때 오류로 인한 과부하를 발생시킴으로써 시스템이 다운되도록 하는 공격 방법
- SYN Flooding: 공격자가 가상의 클라이언트로 위장해 3-way-handshake 과정을 의도적으로 중단시킴으로써 공격 대상자인 서버가 대기상태에 놓여 정상적인 서비스를 수행하지 못하게 하는 공격 방법
- 피기백 공격(Piggyback Attack): 시스템의 올바른 인증절차나 보안 프로그램에 편승하는 공격 방법으로 권한있는 사람이 열고 지나간 문틈을 파고들어 가는 것에 빗 댐



✅ UML 다이어 그램의 종류
- 구조적 다이어그램(정적 다이어그램): 클래스, 객체, 컴포넌트, 배치, 복합체구조, 패키지 다이어그램
- 행위 다이어그램(동적 다이어그램): 유스케이스, 순차, 커뮤니케이션, 상태, 활동 다이어그램
✅ 정렬(Sort)
- 삽입 정렬: 가장 간단한 정렬방식으로, 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬함
- 쉘 정렬: 삽입 정렬을 확장한 개념으로, 입력파일을 어떤 매개변수 값으로 서브파일을 구성하고, 각 서브파일을 삽입 정렬 방식으로 순서 배열하는 과정은 반복
- 선택 정렬: n개의 레코드 중 최소값을 찾아 첫 번째 레코드 위치에 놓고 이를 반복하여 정렬하는 방식
- 버블 정렬: 주어진 파일에서 인접한 두 개의 레코드 키 값을 비교해 크기에 따라 레코드 위치를 서로 교환하는 방식
- 퀵 정렬: 레코드의 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어가며 정렬하는 방법으로, 작은 값은 왼쪽에 큰 값은 오른쪽 서브파일로 분해시키는 방식으로 정렬 --> 분할정복!
- 힙 정렬: 전이진 트리를 이용한 정렬 방식
- 2-Way 합병 정렬: 이미 정렬된 두 개의 파일을 한 개의 파일로 합병하는 방식
- 기수 정렬: 큐를 이용해 자릿수 별로 정렬하는 방식
✅ 트랜잭션의 특성
- 원자성: 트랜잭션 연산은 DB에 모두 반영되도록 Commit되든지 전혀 반영되지 않도록 Rollback(복구) 되어야 함. 트랜잭션 내 모든 명령은 반드시 완벽히 수행되어야 하며, 하나라도 오류가 발생되면 전부가 취소되어야 함.
- 일관성: 시스템 고정 요소는 트랜잭션 수행 전 후의 상태가 같아야 함
- 독립성/격리성/순차성: 둘 이상의 트랜잭션이 동시 병행 실행되면 하나의 트랜잭션 실행 중 다른 트랜잭션 연산이 끼어들 수 없음
- 영속성/지속성: 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함
✅ 정규화 과정

- 1NF(제1정규형): 릴레이션이 속한 모든 도메인이 원자값으로만 되어있는 정규형
- 2NF(제2정규형): 릴레이션 R이 1NF고, 기본키가 아닌 모든 속성이 기본키에 대해 완전 함수적 종속을 만족하는 정규형
- 3NF(제3정규형): 릴레이션 R이 2NF고, 기본키가 아닌 모든 속성이 기본키에 대해 이행적 종속을 만족하지 않는 정규형
- BCNF: 릴레이션 R에서 결정자가 모두 후보키인 정규형
- 4NF(제4정규형): 릴레이션 R에 다치 종속 A->B가 성립하는 경우 R의 모든 속성이 A에 함수적 종속 관계를 만족하는 정규형
- 5NF(제5정규형): 릴레이션 R의 모든 조인 종속이 R의 후보키를 통해서만 성립되는 정규형
✅ 접근통제
- 3요소: 접근통제 정책, 접근통제 매커니즘, 접근통제 보안모델
- 종류: 임의 접근통제(DAC), 강제 접근통제(MAC), 역할기반 접근통제(RBAC)
✅ UNIX/LINUX 기본 명령어

✅ IP 주소
숫자로 8비트씩 4부분, 총 32비트로 구성되어 있음

✅ 암호화 알고리즘


+) STA(Spanning Tree Algorithm): 루프(폐회로)를 형성하지 않으면서 연결을 설정하는 알고리즘
✅ 객체지향 설계 원칙
- 단일 책임 원칙(SRP): 응집도는 높고, 결합도는 낮게 설계
- 개방-폐쇄 원칙(OCP): 공통 인터페이스를 하나의 인터페이스로 묶어 캡슐화. 기존 코드를 변경하지 않고 기능을 추가할 수 있도록 설계해야 함
- 리스코프 치환 원칙(LSP): 자식클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 함
- 인터페이스 분리 원칙(ISP): 자신이 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 함
- 의존 역전 원칙(DIP): 각 객체 간 의존 관계가 성립될 때, 추상성이 낮은 클래스보다 추상성이 높은 클래스와 의존 관계를 맺어야 함
✅ 스크랩 프로그램의 종류
- 정형 데이터: ETL, FTP, API, DBtoDB, Sqoop
- 비정형 데이터: 크롤링, RSS, Open API, Chukwa, Kafka
- 반정형 데이터: Flume, Scribe, 스트리밍
✅ 해시(Hash)
임의의 길이의 입력 데이터나 메세지를 고정된 길이의 값이나 키로 변환하는 것으로, 종류에는 SHA 시리즈, MD4, MD5, N-NASH, SNEFRU 등이 있다.

✅ 정리 잘 되어 있는 블로그
https://codingdodo.tistory.com/78
2024 정보처리기사 필기 핵심 요약 1과목 - 소프트웨어 설계
필기 1과목 소프트웨어 설계 핵심 요약입니다. 부담없이 볼 수 있게 과목별로 핵심들만 뽑아서 요약했습니다. 정보처리기사 필기 요약 글 모음 총 정리 및 합격 후기 1과목 - 소프트웨어 설계 요
codingdodo.tistory.com
[정보처리기사] 2024 정보처리기사 필기 1과목 총정리
💡 정보처리기사 필기 기출(2020-2022) 1과목 총정리! 소프트웨어 설계 하향식 설계 계층 구조상에서 시스템의 주요 컴포넌트들을 찾고 그것을 낮은 수준의 컴포넌트들로 분해하는 것으로 메인 모
velog.io
정보처리기사 필기 정리
☻ 검토회의 워크 스루 : 요구사항 명세서를 미리 배포하여 사전 검토 오류 초기 검출 동료 검토 : 2-3명의 리뷰형태, 작성자가 설명하고 이해관계자들이 설명을 들음 인스펙션 : 명세서 작성자를
velog.io
필기 문제에 자주 출제되는! 그런데 잘 안외워지고 헷갈리는...개념을 정리해보았습니다.
✅ XP(eXtreme Programming)
수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위하여 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법
📍목적
짧고 반복적인 개발주기, 단순한 설계, 고객의 적극적인 참여를 통한 빠른 SW 개발
📍핵심 가치
1. 의사소통(Communication)
2. 단순성(Simplicity)
3. 용기(Couage)
4. 존중(Respect)
5. 피드백(Feedback)
❌ 정형화 ❌
✅ 화이트박스 테스트 vs 블랙박스 테스트
📍화이트박스 테스트
- 모듈의 원시 코드를 오픈시킨 상태에서 원시 코드의 논리적 모든 경로를 테스트하고 작동을 직접 관찰하며 테스트 케이스를 설계하는 방법
- 종류: 기초경로 검사, 제어구조 검사
- 기초경로 검사: 대표적인 화이트박스 테스트 기법으로, 테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주는 테스트 기법
- 제어구조 검사: 조건 검사, 루프 검사, 데이터 흐름 검사
- 검증 기준
- 문장 검증 기준: 소스코드의 모든 구문이 한 번 이상 수행되도록 설계
- 분기 검증 기준(결정 검증 기준): 소스코드의 모든 조건문에 대해 조건이 True인 경우와 False인 경우가 한 번 이상 수행되도록 설계
- 조건 검증 기준: 소스코드의 조건문에 포함된 개별 조건식의 결과가 True인 경우와 False인 경우가 한 번 이상 수행되도록 설계
- 분기/조건 기준
📍블랙박스 테스트
- 테스트 후반부에 적용되는 기능 테스트로, 프로그램의 구조를 고려하지 않기 떄문에 테스트 케이스는 프로그램 모듈 요구나 명세를 기초로 결정하며 소프트웨어 인터페이스에서 실시되는 테스트
- 종류: 동치분할검사, 경계값 분석, 원인-효과 그래프 검사, 오류 예측 검사, 비교 검사
⭐️ 예시 문제) 화이트박스 테스트 기법에 해당하는 것은? ⭐️
1. 기초 경로 검사 2. 동치 분할 검사 3. 경계값 분석 4. 원인 효과 그래프 검사
✅ DDL / DML / DCL
📍DDL(데이터 정의어)
데이터베이스 관리자나 설계자가 사용하며, CREATE/ALTER/DROP 유형이 있다. 또한 SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경 또는 삭제할 때 사용한다.
⭐️ 한 번 사용한 뷰는 정의를 변경할 수 없으므로, ALTER 문을 사용할 수 없으므로 뷰를 변경하려면 제거하고 만들어야 함⭐️
📍DML(데이터 조작성)
데이터베이스 사용자와 관리시스템 간의 인터페이스를 제공하며, SELECT/INSERT/DELETE/UPDATE 유형이 있다.
📍DCL(데이터 제어어)
데이터의 보안, 무결성, 회복, 병행 수행 제어 등을 정의하는데 사용되며, COMMIT/ROLLBACK/GRANT/REVOKE 종류가 있다.
✅ 키(Key)의 개념 및 종류
- 슈퍼키: 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로, 릴레이션을 구성하는 모든 튜플에 대해 유일성을 만족하지만, 최소성은 만족하지 못함
- 후보키: 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합으로, 유일성과 최소성을 모두 만족합
- 기본키: 후보키 중에서 특별히 선정된 키로, 중복된 값과 NULL 값을 가질 수 없음
- 대체키: 후보키 중에서 선정된 기본키를 제외한 나머지 후보키들
- 외래키: 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합으로, 릴레이션 간의 관계를 표현할 때 사용함
✅ E-R 다이어그램

✅ OSI 7계층
📍7계층
하위계층(물리 -> 데이터 링크 -> 네트워크), 상위계층(전송 -> 세션 -> 표현 -> 응용)
📍계층 설명
- 물리 계층: 전송에 필요한 두 장치 간의 실제 접촉과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙 정의
- 데이터링크 계층: 두 개의 인접한 개방 시스템 간에 신뢰성 있고 효율적인 정보 전송. 흐름제어, 프레임 동기화, 오류제어, 순서 제어 기능을 함
- 네트워크 계층: 개방 시스템 간의 네트워크 연결을 관리하는 기능과 데이터 교환 및 중계 기능을 함. 경로 설정(라우팅), 트레픽 제어, 패킷 정보 전송 수행
- 전송 계층: End-to-End 간의 전송 연결 설정, 데이터 전송, 연결 해제 기능을 함. 주소 설정, 다중화, 오류제어, 흐름 데어 수행
- 세션 계층: 송수신 측 간의 관련성을 유지하고 대화 제어를 담당함. 대화 구성 및 동기 제어, 데이터 교환 관리 기능 수행
- 표현 계층: 응용 계층으로 받은 데이터를 세션 계층에 맞게, 세션 계층에서 받은 데이터는 응용계층에 맞게 변환하는 기능 수행. 코드변환, 데이터 암호화, 데이터 압축, 구문 검색, 포맷 변환 등 수행
- 응용 계층: 사용자 및 응용 프로그램이 OSI 환경에 접근할 수 있도록 응용 프로세스 간의 정보교환, 전자사서함, 파일 전송, 가상 터미널 등의 서비스 제공
✅ 입력데이터 검증 및 표현의 보안 약점
- SQL 삽입: 웹 응용 프로그램에 SQL의 삽입해 내부 DB 서버의 데이터를 유출 및 변조하고, 관리자 인증을 우회하는 보안 약점
- 경로 조작 및 자원 삽입: 데이터 입출력 경로를 조작하여 서버 자원을 수정 및 삭제할 수 있는 보안약점
- 크로스사이트 스크립팅(XSS): 웹페이지에 악의적인 스크립트를 삽입해 방문자 정보를 탈취하거나 비정상적인 기능 수행을 유발하는 보안약점
- 운영체제 명령어 삽입: 외부 입력값을 통해 시스템 명령어의 실행을 유도함으로써 권한을 탈취하거나 시스템 장애를 유발하는 보안 약점
- 위험한 형식 파일 업로드: 악의적인 명령어가 포함된 스크립트 파일을 업로드함으로써 시스템에 손상을 주거나 시스템을 제어할 수 있는 보안 약점
- 신뢰되지 않은 URL 주소로 자동접속 연결: 입력 값으로 사이트 주소를 받는 경우 이를 조작해 방문자를 피싱 사이트로 유도하는 보안 약점
- 메모리 버퍼 오버플로: 연속된 메모리 공간을 사용하는 프로그램에서 할당된 메모리 범위를 넘어선 위치에서 자료를 읽거나 쓰려고할 때 발생하는 보안 약점
✅ 공격관련 용어
- Land: 공격자가 패킷의 출발지 주소를 변경하여 출발지와 목적지 주소 및 포트를 동일하게 하는 공격 유형
- TearDrop: Fragment Offset 값을 변경시켜 수신 측에서 패킷을 재조립할 때 오류로 인한 과부하를 발생시킴으로써 시스템이 다운되도록 하는 공격 방법
- SYN Flooding: 공격자가 가상의 클라이언트로 위장해 3-way-handshake 과정을 의도적으로 중단시킴으로써 공격 대상자인 서버가 대기상태에 놓여 정상적인 서비스를 수행하지 못하게 하는 공격 방법
- 피기백 공격(Piggyback Attack): 시스템의 올바른 인증절차나 보안 프로그램에 편승하는 공격 방법으로 권한있는 사람이 열고 지나간 문틈을 파고들어 가는 것에 빗 댐



✅ UML 다이어 그램의 종류
- 구조적 다이어그램(정적 다이어그램): 클래스, 객체, 컴포넌트, 배치, 복합체구조, 패키지 다이어그램
- 행위 다이어그램(동적 다이어그램): 유스케이스, 순차, 커뮤니케이션, 상태, 활동 다이어그램
✅ 정렬(Sort)
- 삽입 정렬: 가장 간단한 정렬방식으로, 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬함
- 쉘 정렬: 삽입 정렬을 확장한 개념으로, 입력파일을 어떤 매개변수 값으로 서브파일을 구성하고, 각 서브파일을 삽입 정렬 방식으로 순서 배열하는 과정은 반복
- 선택 정렬: n개의 레코드 중 최소값을 찾아 첫 번째 레코드 위치에 놓고 이를 반복하여 정렬하는 방식
- 버블 정렬: 주어진 파일에서 인접한 두 개의 레코드 키 값을 비교해 크기에 따라 레코드 위치를 서로 교환하는 방식
- 퀵 정렬: 레코드의 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어가며 정렬하는 방법으로, 작은 값은 왼쪽에 큰 값은 오른쪽 서브파일로 분해시키는 방식으로 정렬 --> 분할정복!
- 힙 정렬: 전이진 트리를 이용한 정렬 방식
- 2-Way 합병 정렬: 이미 정렬된 두 개의 파일을 한 개의 파일로 합병하는 방식
- 기수 정렬: 큐를 이용해 자릿수 별로 정렬하는 방식
✅ 트랜잭션의 특성
- 원자성: 트랜잭션 연산은 DB에 모두 반영되도록 Commit되든지 전혀 반영되지 않도록 Rollback(복구) 되어야 함. 트랜잭션 내 모든 명령은 반드시 완벽히 수행되어야 하며, 하나라도 오류가 발생되면 전부가 취소되어야 함.
- 일관성: 시스템 고정 요소는 트랜잭션 수행 전 후의 상태가 같아야 함
- 독립성/격리성/순차성: 둘 이상의 트랜잭션이 동시 병행 실행되면 하나의 트랜잭션 실행 중 다른 트랜잭션 연산이 끼어들 수 없음
- 영속성/지속성: 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함
✅ 정규화 과정

- 1NF(제1정규형): 릴레이션이 속한 모든 도메인이 원자값으로만 되어있는 정규형
- 2NF(제2정규형): 릴레이션 R이 1NF고, 기본키가 아닌 모든 속성이 기본키에 대해 완전 함수적 종속을 만족하는 정규형
- 3NF(제3정규형): 릴레이션 R이 2NF고, 기본키가 아닌 모든 속성이 기본키에 대해 이행적 종속을 만족하지 않는 정규형
- BCNF: 릴레이션 R에서 결정자가 모두 후보키인 정규형
- 4NF(제4정규형): 릴레이션 R에 다치 종속 A->B가 성립하는 경우 R의 모든 속성이 A에 함수적 종속 관계를 만족하는 정규형
- 5NF(제5정규형): 릴레이션 R의 모든 조인 종속이 R의 후보키를 통해서만 성립되는 정규형
✅ 접근통제
- 3요소: 접근통제 정책, 접근통제 매커니즘, 접근통제 보안모델
- 종류: 임의 접근통제(DAC), 강제 접근통제(MAC), 역할기반 접근통제(RBAC)
✅ UNIX/LINUX 기본 명령어

✅ IP 주소
숫자로 8비트씩 4부분, 총 32비트로 구성되어 있음

✅ 암호화 알고리즘


+) STA(Spanning Tree Algorithm): 루프(폐회로)를 형성하지 않으면서 연결을 설정하는 알고리즘
✅ 객체지향 설계 원칙
- 단일 책임 원칙(SRP): 응집도는 높고, 결합도는 낮게 설계
- 개방-폐쇄 원칙(OCP): 공통 인터페이스를 하나의 인터페이스로 묶어 캡슐화. 기존 코드를 변경하지 않고 기능을 추가할 수 있도록 설계해야 함
- 리스코프 치환 원칙(LSP): 자식클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 함
- 인터페이스 분리 원칙(ISP): 자신이 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 함
- 의존 역전 원칙(DIP): 각 객체 간 의존 관계가 성립될 때, 추상성이 낮은 클래스보다 추상성이 높은 클래스와 의존 관계를 맺어야 함
✅ 스크랩 프로그램의 종류
- 정형 데이터: ETL, FTP, API, DBtoDB, Sqoop
- 비정형 데이터: 크롤링, RSS, Open API, Chukwa, Kafka
- 반정형 데이터: Flume, Scribe, 스트리밍
✅ 해시(Hash)
임의의 길이의 입력 데이터나 메세지를 고정된 길이의 값이나 키로 변환하는 것으로, 종류에는 SHA 시리즈, MD4, MD5, N-NASH, SNEFRU 등이 있다.

✅ 정리 잘 되어 있는 블로그
https://codingdodo.tistory.com/78
2024 정보처리기사 필기 핵심 요약 1과목 - 소프트웨어 설계
필기 1과목 소프트웨어 설계 핵심 요약입니다. 부담없이 볼 수 있게 과목별로 핵심들만 뽑아서 요약했습니다. 정보처리기사 필기 요약 글 모음 총 정리 및 합격 후기 1과목 - 소프트웨어 설계 요
codingdodo.tistory.com
[정보처리기사] 2024 정보처리기사 필기 1과목 총정리
💡 정보처리기사 필기 기출(2020-2022) 1과목 총정리! 소프트웨어 설계 하향식 설계 계층 구조상에서 시스템의 주요 컴포넌트들을 찾고 그것을 낮은 수준의 컴포넌트들로 분해하는 것으로 메인 모
velog.io
정보처리기사 필기 정리
☻ 검토회의 워크 스루 : 요구사항 명세서를 미리 배포하여 사전 검토 오류 초기 검출 동료 검토 : 2-3명의 리뷰형태, 작성자가 설명하고 이해관계자들이 설명을 들음 인스펙션 : 명세서 작성자를
velog.io