개발자 되기/자격증

[정보처리기사] 필기 5과목 빈출 정리

발전하는 개발자 2022. 4. 13. 15:52
728x90
반응형

1. 소프트웨어 생명주기 모델

폭포수 모델
(Waterfall Model)
-각 단계를 확실히 마무리 지은 후에 다음 단계로 넘어가는 모델
-가장 오래된 모델
-선형 순차적 모형, 고전적 생명주기 모형
-모형의 적용 경험과 성공 사례가 많음
-단계별 정의와 산출물이 명확
-요구사항 변경이 어려움
-절차 : 타당성 검토→계획→요구사항 분석→설계→구현→테스트→유지보수
프로토타이핑 모델
(Prototyping Model)
-고객이 요구한 주요 기능을 프로토타입으로 구현하여, 고객의 피드백을 반영하여 소프트웨어를 만들어가는 모델
-프로토타입은 발주자나 개발자 모두에게 공동의 참조 모델을 제공
-프로토타입은 구현 단계의 구현 골격
나선형 모델
(Spiral Model)
-시스템 개발 시 위험을 최소화하기 위해 점진적으로 완벽한 시스템으로 개발해 나가는 모델
-프로토타입을 지속적으로 발전시켜 최종 소프트웨어 개발까지 이르는 개발방법
-위험 관리가 중심인 소프트웨어 생명 주기 모형
-절차 : 계획 및 정의→위험 분석→개발→고객 평가
반복적 모델
(Iteration Model)
-구축대상을 나누어 병렬적으로 개발 후 통합하거나, 반복적으로 개발하여 점증 완성시키는 SDLC 모델
-사용자의 요구사항 일부분 혹은 제품 일부분을 반복적으로 개발하여 최종 시스템으로 완성하는 모델

 

2. 비용 산정 모델

LOC
(Lines of Code)
-소프트웨어 각 기능의 원시 코드 라인 수의 낙관치, 중간치, 비관치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정
-측정이 쉽고 이해하기 쉬워 많이 사용
-예측치를 이용하여 생산성, 노력, 개발 기간 등의 비용을 산정
Man Month -한 사람이 1개월 동안 할 수 있는 일의 양을 기준으로 프로젝트 비용을 산정하는 기법
-(Man Month) = (LOC)/(프로그래머의 월간 생산성)
-(프로젝트 기간) = (Man Month)/(프로젝트 인력)
COCOMO
(COnstructive COst MOdel)
-보헴(Bohem)이 제안한 모형, 프로그램 규모에 따라 비용 산정
-비용 산정 결과는 프로젝트를 완성하는 데 필요한 노력(Man-Month)으로 산정
-비용 견적의 강도 분석 및 비용 견적의 유연성이 높아 소프트웨어 개발비 견적에 널리 통용
-규모에 따라 유형이 조직형, 반 분리형, 임베디드형으로 나뉨
푸트남(Putnam) 모형 -소프트웨어 개발 주기의 단계별로 요구할 인력의 분포를 가정하는 모형
-푸트남이 제안한 것으로 생명주기 예측 모형이라고 함
-시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 함
-대형 프로젝트의 노력 분포 산정에 이용
-개발 기간이 늘어날수록 프로젝트 적용 인원의 노력이 감소됨
-푸트남 예측 모델을 기초로 하여 개발된 자동화 추정 도구로서 SLIM이 있음
기능점수 모형
(FP; Functino Point)
-요구 기능을 증가시키는 인자별로 가중치를 부여하고, 요인별 가중치를 합산하여 총 기능의 점수를 계산하여 비용을 산정하는 방식
-기능점수(FP) = 총 기능점수 * [0.65 + (0.1 * 총 영향도)]
-경험을 바탕으로 단순, 보통, 복잡한 정도에 따라 가중치를 부여

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

[LOC 기법 예제]

1. 총 라인 수 50,000라인, 프로그래머 월평균 생산성 200라인, 개발 참여 프로그래머 10인

개발 소요 기간 :

2. 총 라인 수 36,000라인, 프로그래머 월평균 생산성 300라인, 개발 참여 프로그래머 6인

개발 소요 기간 :

[COCOMO의 소프트웨어 개발 유형]

조직형
(Organic Model)
-기관 내부에서 개발된 중 소규모의 소프트웨어로 일괄 자료 처리나 과학 기술 계산용, 비즈니스 자료 처리 개발에 적용
-5만(50KDSI) 라인 이하의 소프트웨어를 개발하는 유형
반 분리형
(Semi-Detached Mode)
-단순형과 임베디드형의 중간형
-트랜잭션 처리 시스템이나, 데이터베이스 관리 시스템, 컴파일러, 인터프리터와 같은 유틸 개발에 적용
-30만(300KDSI) 라인 이하의 소프트웨어를 개발하는 유형
임베디드형
(Embedded Mode)
-초대형 규모의 트랜잭션 처리 시스템이나 운영체제, 실시간 처리 시스템 등의 시스템 프로그램 개발에 적용
-30만(300KDSI) 라인 이상의 소프트웨어를 개발하는 유형

 

3. 라우터

-서로 다른 네트워크 대역에 있는 호스트들 상호간에 통신할 수 있도록 해주는 네트워크 장비

[RIP(Routing Information Protocol]

-최대 홉 수(Hop Count)를 15개로 제한

-거리 벡터 라우팅

-Bellman-Ford 알고리즘 사용(최단 경로 방식)

-소규모 네트워크 환경에 적합

 

4. RSA(Rivest-Shamir-Adleman)

-비대칭 키 암호화 알고리즘

-1977년 3명의 MIT 수학교수가 고안한 공개키 암호화 알고리즘

-소인수 분해 문제의 어려움에 근거를 두고 있음

728x90
반응형