# 127-S/W 공학의 발전적 추세
- 소프트웨어 재사용의 이점
- 개발 시간과 비용 단축분석
- 소프트웨어 품질 향상
- 소프트웨어 개발의 생산성 향상
- 프로젝트 실패의 위험 감소
- 시스템 구축 방법에 대한 지식 공유
- 시스템 명세, 설계, 코드 등 문서 공유
- 소프트웨어 재사용 방법
- 합성 중심: 블록(모듈)을 만들어 끼워 맞추기(블록 구성 방법)
- 생성중심: 추상화 형태로 쓰여진 명세 구체화(패턴 구성 방법)
- 소프트웨어 재공학
- 기존 시스템을 이용해 나은 시스템 구축, 새로운 기능 추가하여 소프트웨어 성능 향상
- 유지보수성, 품질 향상
- 소프트웨어 수명 연장, 개발 시간 단축
- 오류 줄어들어 비용 절감
- 주요 활동
- 분석(Analysis): 명세서 확인하여 솦웨 동작 이해, 재공학할 대상 선정
- 재구성(Restructuring): 코드를 재구성, 기능과 외적인 동작은 안바뀜
- 역공학(Reverse Engineering): 분석, 설계정보 재발견 또는 다시 만들기, 설계도 추출
- 이식(Migration): 기존 소프트웨어를 다른 운영체제나 하드웨어 환경에서 사용할 수 있도록 변환
- CASE
- 요구분석, 설계, 구현, 검사 및 디버깅 과정 전체 또는 일부를 컴퓨터와 전용 소프트웨어 도구를 사용하여 자동화
- 주요기능
- 소프트웨어 생명 주기 전 단계 연결
- 다양한 솦웨 개발 모형 지원
- 그래픽 지원
- 모델들의 모순 검사 및 오류검증
- 자료흐름도 작성
- 원천 기술
- 구조적 기법
- 프로토타이핑
- 자동프로그래밍
- 정보 저장소
- 분산처리
# 128-상향식 비용 산정 기법
- LOC(원시 코드 라인 수)
- 노력(인월)=개발기간*투입인원=LOC/1인당 월평균 생산 코드 라인 수
- 개발 비용=노력(인월)*단위비용(1인당 월평균 인권비)
- 개발 기간=노력(인월)/투입 인원
- 생산성=LOC/노력(인월)
- 예측치를 구할 때 낙관치, 비관치, 기대치가 사용됨
- 비관치: 가장 많이 측정된 코드 라인수
- 낙관치: 가장 적게 측정된 코드 라인수
- 기대치: 측정된 모든 코드 라인 수의 평균
# 129-수학적 산정 기법
- 수학적 산정 기법
- 상향식 비용 산정 기법
- 개발 비용 산정의 자동화를 목표
- COCOMO 모형, Putnam 모형, 기능 점수(FP) 모형이 있음
- COCOMO 모형
- 보헴이 제안
- LOC에 의한 비용 산정 기법
- 같은 규모라도 유형에 따라 비용 다르게 산정
- 중소규모
- 개발 유형(솦웨의 복잡도 또는 원시 프로그램의 규모에 따라 분류)
- 조직형(Organic Mode)
- 사무처리용, 업무용, 과학용 응용 소프트웨어 개발 적합
- 반분리형(Semi-Detached Mode)
- 컴파일러, 인터프리터와 같은 유틸리티 개발
- 내장형(Embedded Mode)
- 신호기 제어 시스템, 미사일 유도 시스템, 실시간 처리 시스템 등의 시스템 프로그램 개발
- 조직형(Organic Mode)
- Putnam 모형
- 푸트남이 제안
- Rayleigh-Norden 곡선의 노력 분포도를 기초로함
- 기능 점수(FP) 모형
- 알브레히트가 제안
- 요인별로 가중치를 부여, 요인별 가중치를 합산하여 총 기능 점수 산출
- 가중치 산정에 출력 보고서, 명령어, 데이터 파일, 외부 루틴과의 인터페이스 등이 사용
- 총기능점수와 영향도를 이용하여 기능 점수 구현
- 유용성, 간편성
- 자동화 추정 도구
- SLIM: Rayleigh-Norden 곡선+Putnam 얘측 모델을 기초
- ESTIMACS: fp모형을 기초
# 135-네트워크 관련 신기술
- 소프트웨어 정의 기술
- 소프트웨어 정의 네트워킹(SDN)
- 네크워크를 모델링
- 효율적으로 제어 관리
- 기존 네트워크에 영향x, 특정 서비스의 전송 경로 수정을 통해 인터넷상에서 발생하는 문제 처리
- 소프트웨어 정의 데이터센터(SDDC)
- 데이터 센터의 모든 자원을 가상화하여 관리 및 제어
- 소프트웨어 정의 스토리지(SDS)
- 물리적인 데이터 스토리지를 가상화
- 소프트웨어 정의 네트워킹(SDN)
- IOT(사물인터넷)
- 엔투엠의 개념을 인터넷으로 확장
- 스마트 센싱 기술, 유무선 통신 및 네트워크 인프라 기술, 사물 인터넷 인터페이스 기술, 사물인터넷을 통한 서비스 기술
- 개방형 아키택처 필요>>정보 보안 기술 적용 중요
- 관련 용어
- 올조인: 오픈 소스 기반 사물인터넷 플랫폼
- 메시 네크워크: 특수 목적, 여러 디바이스를 그물망처럼 유기적 연결하여 모든 구간 동일한 무선망처럼 구성하여 안정적 네트워크 사용, 대규모 디바이스의 네트워크 생성
- 와이선: 무선 통신이 필요한 사물인터넷, 짧은 시간 동안 데이터 전송이 빈번한 검침 분야에 유용
- UWB: 짧은 거리에 많은 양을 낮은 전력으로 전송, 물체 뚫으며 전송 가능, 전파 탐지기 기능
- 피코넷: 여러개의 독립된 통신 장치가 블루투스나 UWB를 사용하여 통신망을 형상하는 무선 네트워크 기술, 좁은 공간, 정지 또는 이동중인 장치 모두 포함
- USN: 각종 센서
- 유비쿼터스 컴퓨팅: 언제 어디서 어떤 기기로 컴퓨팅 가능, 초소형칩
- 저전력 블루투스 기술: 연결되지 않은 대기 상태에서는 절전모드, 저전력으로 저용량 데이터 처리하는 극소형 사물인터넷에 적합
- NFC: 고주파, 양방향 통신
- 클라우드 컴퓨팅
- 인터클라우드 컴퓨팅
- 여러 클라우스 서비스 제공자들이 제공하는 클라우드 서비스나 자원을 연결하는 기술
- 서비스 형태
- 대등 접속
- 연합
- 중개
- 클라우드 기반 HSM
- 암호화 키 작업을 수행하는 보안기기
- 인증서 저장 불필요
- 하드웨어적으로 구현되기에 소프트웨어적 보안 취악적 무시 가능
- 파스-타
- 소프트웨어 개발 환경 제공을 위해 개발한 개방형 클라우드 컴퓨팅 플랫폼
- 국내 IT 서비스 경쟁력 강화 목표
- 클라우드 컴퓨팅의 서비스 유형
- IaaS:하드웨어 자원
- PaaS: 소프트웨어 작성을 위한 플랫폼
- SaaS: 소프트웨어
- 인터클라우드 컴퓨팅
- 기타 용어
- 징: 초고속 근접무선통신
- NDN:콘텐츠 자체의 정보와 라우터 기능만으로 데이터 전송을 수행하는 기술
- 웹 크롤링: 웹에서 데이터 수집
- 올-IP: IP기반 망으로 통합한 차세대 네트워크
- WBAN: 개인 영역 네트워킹 기술
- GIS: 지리적 자료
- 애드 혹 네트워크: 고정된 유선망을 구축할 수 없는 장소에서 모바일 호스트만을 이용하여 구성한 네트워크
- 네크워크 슬라이싱: 고객 맞춤형 서비스
- 파장 분할 다중화: 광섬유
- 개방형 링크드 데이터: 웹상 공개된 연계 데이터, URL
- SSO: 한번 로그인으로 모든 사이트 이용
- 스마트 그리드: 정보기술을 전력에 접목해 효율성을 높임, 인프라를 하나의 시스템으로 통합해 효율적 에너지 관리
- 메타버스: 3차원 가상 세계
# 138-SW관련 신기술
- QKD: 비밀키 분배 기술
- DRM:저작권 보호
- Mashup: 웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터 베이스 등을 만드는 기술
- 서비스 지향 아키텍처 기반 애플리케이션을 구성하는 층
- 표현층
- 프로세스층
- 비즈니스층
- Voporware: 판매 또는 배포 계획은 발표되었으나 실제로 고객에게 판매되거나 배포되지 않고 있는 소프트웨어
- TensorFlow: 구글이 만든 기걔학습을 위한 오픈소스 소프트웨어 라이프러리
# 139-보안 관련 신기술
DLC: 윈도우 7부터 지원한 볼륨 암호화 기술
# 142-DB 관련 신기술
- 빅데이터
- 브로드 데이터
- 소비자와 상호작용을 통해 생성된 기업 마케팅에 있어 효율적이고 다양한 데이터
- 메타 데이터
- 데이터를 정의하고 설명해주는 데이터
- 디지털 아카이빙
- 디지털 정보 자원을 장기적으로 보존하기 위한 작업
- 하둡
- 오픈 소스 기반 분산 컴퓨팅 플랫폼
- 대형 스토리지
- 관계형 데베 간 대용량 데이터 전송은 스쿱 사용
- 맵리듀스
- 대용량 데이터를 분산처리하기 위해 개반된 프로그래밍 모델
- 구글에 의해 고안
- 병렬 처리 기법
- 타조
- 아파치 하둡 기반의 분산 데이터 웨어하우스 프로젝트
- 대규모 데이터 처리+실시간 상호 분석
- 데이터 다이어트
- 데이터 삭제가 아닌 압축, 중복 배제, 새로운 기준에 따라 나누어 저장
- 데이터 마이닝
- 데이터 웨어하우스에 저장된 데이터 집합에서 사용자의 요구에 따라 유용하고 가능성 있는 정보를 발견하기 위한 기법
- 대랴으이 데이터를 분석함으로 써 변수 간의 상호관걔 규명하여 패턴화
- OLAP
- 통계적인 요약 정보를 분석하여 의사결정에 활용
- 데이터웨어하우스, 데이터마트
- OLAP연산
- Roll up
- Drill down
- Drill through
- Drill across
- Pivoting
- Clicing
- Dicing
# 143-회복/병행제어
- 회복: 이전 상태로 복구하는 작업
- 장애 유형
- 트랜잭션 장애
- 시스템 장애
- 미디어 장애
- 회복 관리기
- DBMS 구성요소
- 트랜잭션 실행 실패시 모든 변화 취소 후 이전 상태로 복구하는 역할
- 메모리 덤프, 로그를 이용하여 회복 수행
- 장애 유형
- 회복 기법
- 연기 갱신 기법
- 성공할 때까지 실질적 갱신을 연기
- REDO
- 즉각 생신 기법
- 데이터를 갱신하면 부분 완료 되기 전이라도 즉시 실제 데베에 반영
- 로그에 보관
- REDO, UNDO
- 그림자 페이지 대체 기법
- 페이지별로 보관하고 롤백시킬 때 페이지 대체
- 검사점 기법
- 특정 단계에서 재실행
- 연기 갱신 기법
- 병행제어
- 다중 프로그램의 이점을 활용하여 트랜잭션 여러개를 병행 수행할 때 동시에 데베의 일관성을 파괴하지 않도록 상호작용 제어
- 목적
- 데베 공유 최대화
- 시스템의 활용도를 최대화
- 데베 일관성을 유지
- 사용자에 대한 응답 시간 최소화
- 병행제어 기법 종류
- 로킹
- 주오 데이터의 액세스를 상호 배타적으로 하는것
- 잠금이 허락되야만 로킹 단위 액세스 할 수 있음
- 타임 스탬프
- 순서를 미리 선택
- 교착상태 발생X
- 로킹
- 로킹 단위
- 병행제어에서 한번에 로킹할 수 있는 객체의 크기
- 데베, 파일, 레코드, 필드
- 단위가 크면: 로크 수가 작아 병행성 수준이 낮아짐>>데베 공유도 감소, 로킹 오버헤드 감소
- 단위가 작으면 로크 수가 많아 관리가 복잡해 오버헤드 증가하지만 병행성 수준 높아짐
# 145-Secure SDLC
- Secure SDLC 대표적 방법론
- CLASP: 초기 단계
- SDL: 마이크로소프트, 나선형 모델
- Seven Touchpoints: 모범사례, 7개의 보안 강화 활동
- 보안요소
- 기밀성: 시스켐 내 정보와 자원은 인가된 사용자에게만 접근 허용, 정보가 노출되도 데이터 못읽음
- 무결성: 시스템 내 정보는 오직 인가된 사용자만 수정
- 가용성: 인가받은 사용자는 언제라도 사용
- 인증
- 부인 방지
암기: 무기가
# 152-암호 알고리즘

- 개인키 암호화
- 동일한 키로 데이터를 암호화하고 복호화함
- 대칭 암호 기법, 비밀키 암호화 기
- 기법
- 블록 암호화 방식: DES, SEED, AES, ARIA, IDEA
- 스트림 암호화 방식: LFSR, RC4
- 장점: 속도가 빠름, 알고리즘 단순, 공개키 암호 기법보다 파일의 크기ㅏ 작음
- 단점: 사용자 증가에 따라 관리해야 할 키의 수가 상대적으로 많아짐
- 공개키 암호화 기법
- 공개키를 데베 사용자에게 공개하고, 복호화할 때의 비밀키는 관리자가 비밀리에 관리
- 비대칭 암호 기법, RSA기법
- 장점: 키 분배 용이, 관리해야 할 키의 개수 적음
- 단점: 암호화/복호화 속도가 느림, 알고리즘 복잡, 개인키 암호화 기법보다 파일의 크기가 큼
- 양방향 알고리즘 종류
- SEED: 128비
- ARIA: 정부와 학계
- DES: 64비트 암호화
- AES:DES를 보완
- RSA: IMT, 소인수분해
- ECC: 이산대수와 타원곡선
- Rabin: 라빈과 소인수분해
- 해시
- 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환
- 복호화가 거의 불가능한 일방향 함수
- 종류
- SHA 시리즈: 미국 국가안보국
- MD5: 블록크기-512비트, 키길이-128비트
- N-NASH: 일본의 전신전화주식회사, 128비트
- SHEFRU: 32비트 프로세서에서 구현
- 솔트
- 무작위값
- 더 안전
https://moneysubscribe.tistory.com/110
진짜 이 파트 머리에 안들어온다
# 153-서비스 공격 유형
'정보처리기사 > 필기' 카테고리의 다른 글
| 내가 기억해야 할 정처기 - 3과목 데이터베이스 구축 (0) | 2026.05.28 |
|---|---|
| 내가 기억해야 할 정처기 - 2과목 소프트웨어 개발 (0) | 2026.05.21 |
| 내가 기억해야 할 정처기 - 4과목 프로그래밍 언어 활용 (0) | 2026.05.21 |
| 내가 기억해야 할 정처기 - 1과목 소프트웨어 설계 (0) | 2026.05.07 |