westcold
2025. 2. 22. 18:45
2025. 2. 22. 18:45
1. 소프트웨어 개발 방법론
소프트웨어 생명주기 모델 (SDLC)
- 프로세스 단계: 요구사항 분석 → 설계 → 구현 → 테스트 → 유지보수
- 모델 종류
- 폭포수 모델: 단계별 진행, 이전 단계로 돌아가기 어려움
- 프로토타이핑 모델: 시제품(Prototype) 제작 후 수정·보완
- 나선형 모델: 위험 분석을 기반으로 반복적 개발
- 반복적 모델: 일정 단위로 나누어 점진적 개발
소프트웨어 개발 방법론
- 구조적 방법론: 절차 중심 개발
- 정보공학 방법론: 데이터 중심 개발
- 객체지향 방법론: 객체 중심 개발
- 컴포넌트 기반 개발 (CBD): 재사용 가능한 컴포넌트 활용
- 애자일 방법론: 변화 대응과 팀 협업 중심
- 제품 계열 개발 방법론: 임베디드·특정 제품 중심
요구공학 (Requirement Engineering)
- 개발 프로세스: 요구사항 도출 → 분석 → 명세 → 검증
- 관리 프로세스: 협상 → 기준선 설정 → 변경 관리 → 검증
2. 프로젝트 관리
비용 산정 모델
- 하향식: 전문가 판단 (델파이 기법)
- 상향식: 코드라인수(LOC), Man-Month, COCOMO, Putnam, FP(Function Point)
일정 관리 모델
- CPM (주공정법): 프로젝트의 중요 경로 관리
- PERT: 확률적 일정 관리
- 간트차트: 작업 일정 시각화
위험 관리 (Risk Management)
- 위험 식별 → 분석 → 계획 → 감시 및 조치
- 위험 대응 전략
- 회피(Avoid)
- 전가(Transfer)
- 완화(Mitigate)
- 수용(Accept)
3. 소프트웨어 개발 표준 및 프레임워크
국제 표준
- ISO/IEC 12207: 소프트웨어 생명주기 프로세스 정의
- CMMI (Capability Maturity Model Integration)
- 성숙도 레벨: 초기(1) → 관리(2) → 정의(3) → 정량적 관리(4) → 최적화(5)
- SPICE (ISO 15504)
- 수준 모델: 불완전 → 수행 → 관리 → 확립 → 예측 → 최적화
개발 프레임워크
- 소프트웨어 재사용
- 합성 중심 (기존 모듈 조합)
- 생성 중심 (템플릿, 자동 코드 생성)
4. 네트워크 및 시스템 구축
네트워크 구성 및 신기술
- 네트워크 구조: 버스형, 트리형, 링형, 메시형, 성형
- 라우팅 프로토콜
- RIP: 홉 수 15 제한
- OSPF: 제한 없음
- BGP: ISP 간 사용
스토리지 및 백업
- 스토리지 유형
- DAS: 개별 서버에 직접 연결
- NAS: 네트워크 기반 공유
- SAN: 전용 네트워크
- 백업 방식
- 전체 백업
- 차분 백업 (마지막 전체 백업 이후 변경된 데이터)
- 증분 백업 (가장 최근 백업 이후 변경된 데이터)
5. DB 구축 및 빅데이터 기술
빅데이터 개념 및 기술
- 3V 요소: 속도(Velocity), 크기(Volume), 다양성(Variety)
- 빅데이터 저장 및 분석 기술
- HDFS, HBASE, MapReduce
- 데이터 가공 (Pig, Hive, Tajo)
- 분석 및 시각화 (R, Python)
NoSQL 데이터베이스
- 특징: 스키마 필요 없음, 조인 사용 안 함, 수평 확장 가능
- 유형
- 키-값 저장소
- 컬럼 기반 저장소 (HBASE)
- 문서 저장소 (MongoDB, JSON 기반)
- 그래프 DB (Neo4j)
6. 소프트웨어 보안 구축
보안 3대 요소
- 기밀성 (Confidentiality)
- 무결성 (Integrity)
- 가용성 (Availability)
Secure SDLC 및 보안 방법론
- BSiMM, OpenSAMM, OWASP CLASP, MS SDL
웹 보안 취약점 및 대응
- XSS (Cross-Site Scripting): 문자 필터링, HTML 태그 제한
- SQL Injection: 바인딩 방식 사용, 필터링
- CSRF (Cross-Site Request Forgery): CSRF 토큰 사용, 재인증
암호화 기법
- 대칭키 암호화: AES, DES
- 비대칭키 암호화: RSA, ECC
- 해시 암호화: SHA, MD5 (취약점 존재)
취약점 대응 기법
7. 시스템 보안 구축
서비스 공격 유형
- DoS/DDoS 공격: SYN Flooding, UDP Flooding, Smurf 공격
- 애플리케이션 공격: HTTP GET Flooding, Slowloris, Rudy 공격
네트워크 보안 위협
- 패스워드 크래킹
- IP/ARP 스푸핑
- 세션 하이재킹
보안 관련 공격 기법
- 버퍼 오버플로우 (스택, 힙)
- 포맷 스트링 공격
- 키로거 공격
인증 및 접근 통제
- 인증 방식: 지식 기반, 소지 기반, 생체 기반
- 접근 통제 유형: DAC(신분 기반), MAC(규칙 기반), RBAC(역할 기반)
보안 아키텍처
- 관리적 보안: 정책 및 규정
- 물리적 보안: 데이터센터 보호
- 기술적 보안: 방화벽, IDS/IPS, VPN
8. 보안 솔루션 및 로그 관리
네트워크 보안 솔루션
- 방화벽 (Firewall)
- 웹 방화벽 (WAF)
- 침입 탐지 시스템 (IDS)
- 침입 방지 시스템 (IPS)
- 가상사설망 (VPN)
시스템 보안 솔루션
- 보안 운영체제 (커널 보안 강화)
- 콘텐츠 유출 방지 (DLP, DRM)