컴퓨터과학: 6개의 글
![](http://i1.daumcdn.net/thumb/C200x150/?fname=https://blog.kakaocdn.net/dn/ULk4U/btq27YrwDfT/JIxaET3RNOapZnX8tQ3Cy0/img.png)
소프트웨어 개발 방법론 - 애자일(Agile) 방법론 애자일(Agile) 방법론은 구체적인 개발 프로세스가 아닌 개발 지침, 철학에 가깝다. 변화를 수용하고 협업과 제품의 빠른 인도를 강조하는 반복적 개발 방법 문서화보다 코드, 프로그램, 소프트웨어 자체를 중요시 함 요구사항의 변화는 불가피하며 이에 대응하는 것이 현실적이다. 기존의 개발 프로세스는 설계 기간이 길며 재작업 시 오버헤드가 크다. 환경의 빠른 변화에 대응하는 것이 중요하다. 애자일 선언문(Agile Manifesto) 🔗 공정과 도구보다 개인과 상호작용을 포괄적인 문서보다 작동하는 소프트웨어를 계약 협상보다 고객과의 협력을 계획을 따르기보다 변화에 대응하기를 요구사항이 바뀌기 쉬운 중소형의 비즈니스 시스템이나 전자 상거래 응용에 적합하다...
![](http://i1.daumcdn.net/thumb/C200x150/?fname=https://blog.kakaocdn.net/dn/ZOU2x/btq2513QACV/MfiIQzj60z4qHokTlkVfkk/img.png)
소프트웨어 개발 프로세스 - 나선형 모델과 V 모델 소프트웨어 개발 프로세스 모델 중 나선형 모델과 V 모델은 각각 반복 진화형 모델과 폭포수 모델의 확장된 형태이다. 1. 나선형 모델(Spiral Model) 나선형 모델의 도식화는 획일적이지 않다. 반복 진화형 모델🔗의 확장 형태 위험 최소화 - 전체 생명주기에 위험 분석과 프로토타이핑을 사용 각 단계 별로 ①목표와 대안의 결정, ②대안의 평가(위험 요소 분석), ③개발과 확인, ④다음 단계 계획의 4가지 단계를 수행함 나선형 모델은 위험 관리를 지원하는 프로세스의 프레임워크라고 할 수 있다. 가장 큰 특징 - 위험 관리에 비용을 투자 실험적이고 복잡한 대형 프로젝트에 적합 장점 대형 프로젝트에서 위험 관리를 통해 성공 가능성을 향상 프로젝트 특성, ..
![](http://i1.daumcdn.net/thumb/C200x150/?fname=https://blog.kakaocdn.net/dn/coZJN8/btq24HLo8Hm/7UKWVaDKJ1HtRHngP6ocv1/img.png)
소프트웨어 개발 프로세스 - 반복적 모델의 종류와 차이점 소프트웨어 개발 프로세스 모델 중 반복적 모델은 증분형(Incremental) 모델과 진화형(Evolutional) 모델 두 가지로 구분할 수 있다. 1. 반복적 모델 - 진화형 모델(Iterative Evolutional Model) 불안정한(미완성된) 요구사항으로부터 명세(설계) ➡️ 개발 ➡️ 검증 과정을 거쳐 초기버전 개발 명세(설계) ➡️ 개발 ➡️ 검증 과정을 반복하여 중간 버전, 최종 버전 개발 프로토타이핑을 통해 요구사항을 보완하며 점차적으로 명확한 요구사항 도출 반복 진화형 모델의 확장 형태로 나선형 모델(spiral model)🔗이 있다. 장점 요구사항이 완성되지 못한 경우에도 초기 버전 개발 가능 단점 개발 비용 예상 어려움 반..
![](http://i1.daumcdn.net/thumb/C200x150/?fname=https://blog.kakaocdn.net/dn/cJcI8L/btq256qBoAz/qMkzhXR8JtrLiuRVARTY91/img.png)
소프트웨어 개발 프로세스 모델 - 폭포수 모델(Waterfall Model) 폭포수 모델은 대략 7단계로 구성된다. 선형 순차 모델(linear, sequential model), 고전적 소프트웨어 생명 주기 각 단계는 병행 수행되지 않고 순차 수행됨 기본적으로는 아래 방향으로 진행되나 실제로는 수정 및 재작업을 위해 이전 단계로의 피드백이 불가피함 폭포수 모델의 확장 형태로 V 모델🔗이 있다. 장점 단순한 선형 모델 - 이해 쉬움 단계별로 정형화된 접근 방법 - 체계적 문서화 가능 프로젝트 진행 상황 명확히 파악 가능 단점 요구사항을 완벽하게 작성해야 함 변경 수용 어려움 시스템의 동작을 후반에 확인 가능 대형 프로젝트에 적용 부적합 지나친 문서화 위험 분석 결여 일정 지연 가능성 큼 1. 폭포수 모델..
![](http://i1.daumcdn.net/thumb/C200x150/?fname=https://blog.kakaocdn.net/dn/yvyUL/btq21MUeqEZ/OvUWk9UtyhRXVivn8Nff11/img.png)
[컴퓨터보안] 암호의 개념과 대칭키 암호, 공개키 암호 1. 암호의 정의 및 용어 📝 암호의 정의 두 사람이 안전하지 않은 채널(인터넷 등)을 통하여 정보를 주고받더라도 제 3자는 이 정보의 내용을 알 수 없도록 하는 것 📝 관련 중요 개념 및 용어 * 평문(plaintext): 원본 메시지 * 암호문(ciphertext): 코드화(암호화)된 메시지 * 암호화(encryption): 평문을 암호문으로 변환 * 복호화(decryption): 암호문을 평문으로 변환 * 키(key): 암호화, 복호화 시 사용하는 가장 중요한 열쇠 📝 일반적인 암호의 요건 암호 알고리즘 + 키(key) 제 3자가 암호 알고리즘을 알더라도 키(key)를 모르면 암호를 풀 수 없음 2. 고대 암호화 방법 전치법(Permutatio..
![](http://i1.daumcdn.net/thumb/C200x150/?fname=https://blog.kakaocdn.net/dn/bZoin9/btq27YZmYw0/JWfPD4RYB24sXq3t4bfqLk/img.png)
[컴퓨터보안] 정보보호의 목표 - 기밀성, 무결성, 가용성 💡 정보보호의 핵심 목표 - 기밀성(Confidentiality) - 무결성(Integrity) - 가용성(Availability) 💡 정보보호의 기타 목표 - 부인방지(Non-Repudiation) - 인증(Authentication) - 접근제어(Access Control) 1. 정보보호의 핵심 목표 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)의 CIA Triad 기밀성(Confidentiality) 허락되지 않은 자가 정보의 내용을 알 수 없도록 하는 것 예) 고객 정보 보호 접근 제어와 암호화 무결성(Integrity) 허락되지 않은 자가 정보를 수정하거나 위변조할 수 없도록 하는 것..