정보처리기사 필기

정보처리기사 필기 정리 (정보시스템 구축 관리)

도사원 2023. 2. 7. 17:14

-소프트웨어 개발의 생명주기 모형

*폭포수 모형 : 요구 사항의 변경이 어렵고 각 단계 결과가 확인되어야 다음단계로 넘어갈 수 있는

선형 순차적, 고전적 생명주기 모형

타당성 검토, 계획, 요구사항분석, 구현, 테스트, 유지보수의 단계를 통해 소프트웨어 개발하는 모형

 

 

 

 

-비용측정 : 개발에 소요되는 인원, 자원, 기간 등으로 소프트웨어의 규모를 확인하여 개발계획 수립에

필요한 비용을 산정하는 것

COCOMO모형

1. 유기형(Organic) : 일괄자료처리나 과학기술 계산용, 비즈니스자료 처리용으로 5만라인 이하의

소프트웨어 개발 유형

2. 준분리형(Semi-Datached) : 트랜잭션 처리 시스템이나 운영체제, 데이터베이스관리 시스템 등의 30만 라인

이하의 소프트웨어를 평가하는 유형

3. 내재형(Embedded) : 초대형 규모의 트랜잭션 시스템이나 운영체제 등의 소프트웨어를 평가하는 유형

 

* 비용 결정요소

프로젝트 요소 : 제품 복잡도, 시스템 크기, 요구되는 신뢰도

자원 요소 : 인적자원, 하드웨어 자원, 소프트웨어 자원

생산성 요소 : 개발자 능력, 개발기간

 

*비용산정기법

- 하향식 비용산정 : 과거의 유사한 경험을 바탕으로 전문 지식이 많은 개발자들이 함여한 회의를 통해

                            비용을 산정하는 방법

    종류 : 전문가 감정 기법 : 경험이 많은 두 명 이상의 전문가에게 비용 산정을 의뢰하는 기법

                       델파이기법 : 전문가 감정 기법의 주관적인 편견을 보완하기 위해 많은 전문가의 의견을

                                           종합하여 산정하는 기법

-상향식 비용 산정 기법 : 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정하는 방법

     종류 : LOC(원시코드라인수)기법 : 비관치, 낙관치, 기대치 측정하여 예측치 구하고 이를 이용해 산정

               개발 단계별 인원수 기법 : 기능을 구현시키는데 필요한 노력을 생명주기의 각 단계별로 산정

                                                           LOC보다 더 정확

              수학산정기법 : 경험적 추정 모형, 실험적 추정 모형, 개발비용산정의 자동화를 목표로 함

                                비용의 자동산정을 위해 사용되는 공식은 과거의 유사한 프로젝트를 기반으로

                               유도된 것

                                      -COCOMO : LOC에 의한 비용산정 기법

                                      -Putnam : 소프트웨어 생명주기의 전 과정동안에 사용될 노력의 분포를

                                                      예상하는 모형 / 대형프로젝트의 노력 분포 산정에 이용

                                                      개발기간이 늘수록 프로젝트 적용 인원의 노력 감소

                                     -기능점수(FP) : 소프트웨어의 기능을 증대시키는 요인별로 기능점수를 구한후

                                                             비용산정=알브레히트가 제안

*비용산정 자동화 추정도구

SLIM  Rayleinh-Nordan 곡선과 putnam예측 모델을 기초로 하여 개발된 자동화 추정도구

ESTTIMACS  다양한 프로젝트와 개인별 요소를 수용하도록 FP모형을 기초로 하여 개발된 자동화 추정도구

 

-네트워크 공격기술

Ransomware (랜섬웨어) : 시스템을 잠그거나 데이터를 암호화해 사용할 수 없도록 하고 이를 인질로 금전을 요구

Phishing(피싱) : 위장사이틔를 만들어 놓고 네티즌들이 프로그램을 내려받도록 하거나 e-mail을 이용하여

                          개인정보를 빼내어 범죄를 악용하는 행위

Trojan Horse(트로이목마) : E-mail을 수신하게 하여 좀비 pc 만드는 형태의 공격 안보면 후회

Grayware(그레이웨어) : 동의얻어 설치, 직접적 위협 x

 

-스택 가드

메모리상에서 프로그램의 복귀주소와 변수사이에 특정값을 저장해 두었다가 그 값이 변경되었을 경우

오버플로우 상태로 가정하여 프로그램을 중단

 

-정보보안 3요소

기밀성:

무결성:

가용성:

 

-비용측정

LOC(Line Of Code) 측정 : 가장적은 라인수(낙관치) / 가장 많은 라인수(비관치) / 평균(기대치)

 

                    낙관치+(4x기대치) + 비관치

예측치 : ----------------------------------------------

                                       6

 

간접 측정 평가 공식 : 생산성 = LOC / 인월

개발기간 = 인월 / 개발인원

개발비용 = 인원 X 단위비용

 

-소프트웨어 개발의 생명주기 모형

나선형 모형(Spiral model) : 계획수입 -> 위험분석 -> 개발 및 검증 -> 고객평가

 

-신기술 동향

Digtal Twin(디지털 트윈) : 가상모델로 물리적인 자산 대신 소프트웨어로 가상화함으로써

                                        실제자산의 특성에 대한 정확한 정보를 얻을 수 있다.

Mesh Network : 무선 랜 한계 극복 위해 등장

Mashup : 웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술

Evil Twin Attack : 악의적인 사용자가 지인 또는 특정유명인으로 가장하여 활동하는 공격기법

N-screen : 여러개의 화면을 통해 콘텐츠 제공 서비스

 

-Secure OS 보안기능 : 컴퓨터 운영체제의 커널에 보안기능 추가

운영체제의 보안상 결함으로 인하여 발생가능한 각종 해킹으로부터 시스템 보호

식별 및 인증 / 임의적 접근 통제(DAC) / 간접적 접근 통제(MAC) / 객체 재사용보호 / 완전성조정

/ 신뢰경로 / 감사 및 감사기록 축소

 

-컴포넌트(Component) : 부품화된 프로그램을 모듈(module) 모듈의 집합 라이브러리(library)

 CBD(componet based development) :

                분석사용자 요구사항 정의서, 유스케이스 명세서, 요구사항 추적표

                설계-클래스설계서, 사용자 인터페이스 설계서

                구현-프로그램코드, 단위시험결과서, 데이터베이스테이블

                시험-통합시험 결과서...

 

-암호화 알고리즘

대칭키 (암호화키 = 복호화키) DES, AES

비대칭키 (암호화 =/ 복호화키) RSA, DSA, ECC

 

 

-비용추정 모형

COCOMO / putnam / Function-point...

 

-구조적 개발 방법론

정형화된 분석 절차에 따라 사용자 요구사항을 파악, 문서화하는 체계적 분석 방법으로 자료흐름도,

자료사전, 소단위명세서 특징

 

-암호 알고리즘

해시 함수 : MD4 , MD5 , SHA-1

블랙 암호방식 : DES , SEED, AES

 

-SPICE

소프트웨어 프로세스에 대한 갯건 및 능력 측정 기준에 대한 국제 표준

 

-Data Mining

빅데이터 분석 기술 중 대량의 데이터를 분석하여 데이터속에 내재되어 있는 변수 사이의 상호관례를

규명하여 일정한 패턴을 찾아내는 기법

 

-DDos 공격

웹 사이트 또는 네트워크 리소스 운영이 불가능하도록 악성 트래픽을 대량으로 보내는 공격

 

-RIP(Routing Information Protocla) 라우팅 프로토콜

: 관리자가 일일이 경로를 지정하지 않아도 알아서 패킷이 길을 찾아나가는 다이나믹 라우팅프로토콜의 방식 중

디스턴스백터 라우팅 방식 프로토콜 오로지 거리와 방향을 기준으로 데이터가 담긴 패킷을 전달하는 프로토콜

특징 : 내부용 라우팅 프로토콜 / 경로를 설정하는 거리 카운트로 최대 15개 허용

장점 : 소규모 네트워크 효율적 / 간편 / 표준 라우팅 프로토콜로써 모든 제조사의 라우터에서 지원하는 프로토콜

 

 

-소프트웨어 재사용 방법 : 이미 개발 되어 인정받은 소프트웨어를 다른 소프트웨어 개발이나 유지에 사용하는 것
소프트웨어 개발의 품질과 생산성을 높이기 위한 방법

기존에 개발된 소프트웨어와 경험, 지식등을 새로운 소프트웨어에 적용함

 

합성중심 (Composition based : 블록 구성 방법) : 전자 칩과 같은 소프트웨어 부품, 즉 블록을 만들어서 끼워 맞춰

                                                                                소프트웨어를 완성시키는 방법

생성중심(Generation based : 패턴 구성방법) : 추상화 형태로 써진 명세를 구체화하여 프로그램을 만드는 방법

 

 

-소프트웨어 재공학(Software Reengineering) : 새로운 요구에 맞도록 기존 시스템을 이용하여 보다 나은

                                          시스템을 구축하고 새로운 기능을 추가하여 소프트웨어 성능을 향상시키는 것

                            재공학의 이점 : 품질향상 , 생산성 증가, 수명 연장, 오류 감소

 

-보안 개발 방법론

MS-SDL(Microsoft Secure Development Life Cycle) : 보안 수준이 높은 안전한 소프트웨어를 개발하기 위해

                                                                                    ms사가 자체적으로 수립한 소프트웨어 개발 생명주기

 

Seven Touchpoints : 실무적으로 검증된 개발 보안 방법론 중 하나로써 소프트 웨어 오안의 모범사례를 SDLC에 통합한

                              소프트웨어 개발 보안 생명주기 방법론

 

개발보안 방법론 7가지 세부 : 코드검토, 아키텍처 검토, 침투 테스트,위험기반 보안 테스트,악용사례

                                                ,보안요구, 보안운영

CLASP : 소프트웨어 개발 생명 주기 초기 단계에서 보안을 강화하기 위한 정형화된 프로세스로써 활동중심

            역할 기반 프로세스로 구성된 집합체

 

CWE : 소프트웨어의 보안 취약점을 유발하는 원인을 7가지로 정리한 방법론

 

7가지-입력데이터 검증 표현, 보안기능,시간 및 상태, 오류처리, 코드 품지,, 캡슐화, API악용

 

-네트워크 토폴로지(Network Topology) : 컴퓨터 네트워크에 참여하는 요소(링크,노트)들의 배치형태, 망구성방식

성형(star) : 각 노드는 중앙에 위치한 주 노드를 통해 다른 노드들과 통신

                    장애발견 쉬고 관리 용이 / 주 노드에 장애발생하면 전체 사용 불가능

버스형(bus) : 공통배선에 각 노드가 연결된 형태

                      노드의 추가 및 삭제 용이 / 특정노드의 장애가 다른 노드에 영향을 주지 않는다.

                    공통배선의 대역폭을 공유하기 때문에 노드 수가 증가하면 배선의 트래픽이 증가하여 네트워크 성능이 저하

링형(ring) : 각 노드의 좌우의 인접한 노드와 연결되어 원형을 이루고 있는 형태

                     단방향 통신으로 신호 증폭이 가능하여 거리 제약이 적다

                        노드의 추가 삭제가 용이하지 않다.

망형(mesh) : 모든 노드가 서로 일대일 연결된 그물망 형태

                      특정 노드의 장애가 다른 노드에 영향을 주지 않고, 회선장애에 유연한 대처 가능

                     회선구축비용이 많이 들며 새로운 노드 추가 시 비용부담 발생