정보처리기사/[inflearn] 필기 (완)

정보처리기사 - 제5과목 정보시스템 구축 관리 / 소프트웨어 개발 방법론 활용

web_seul 2022. 4. 19. 11:31
반응형

 제5과목 정보시스템 구축관리 

▷ 소프트웨어 개발 방법론 활용 A

> 소프트웨어 개발 방법론

- 소프트웨어 개발 방법론의 개요 : 소프트웨어 개발, 유지보수 등에 필요한 여러가지 일들의 수행 방법과 각종 기법 및 도구를 체계적으로 정리하여 표준화 한것, SW생산성 향상, 품질향상의 목적

- 구조적 방법론 : 정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리(Process)중심의 방법론, 타당성 검토 - 계획 - 요구사항 문서화 - 설계 - 구현 - 시험 - 운용/유지보수, 프로그램 코드 생성

- 정보공학 방법론 : 정보 시스템의 개발을 위해 상호 연관성 있게 통합 및 적용하는 자료 중심의 방법론, 개발 주기를 이용하여 대규모 정보 시스템을 구축하는데 적합, 정보전략 - 업무영역 분석 - 설계 - 구축

- 객체지향 방법론 : 기계의 부품을 조립하듯 객체들을 조립해서 필요한 소프트웨어를 구현하는 방법론, 요구분석 - 설계 - 구현 - 테스트검증 - 인도

  구성요소: 객체, 클래스, 메시지 / 기본원칙 : 캡슐화, 정보은닉, 추상화, 상속성, 다형성

- 컨포넌트기반(CBD: Component Based Design) 방법론 : 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만드는 방법론, 재사용(시간, 노력 절약, 생산성, 품질 향상)

- 애자일(Agile)방법론 : 일정한 주기를 반복하면서 개발 과정을 진행하는 방법론, 요구사항 대응, 급변하는 요구사항에 적합, 익스트림 프로그래밍 xp, 스크럽, 칸반, 크리스탈, 사용자 - 계획 - 개발 - 승인 반복

- 제품 계열 방법론 : 특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론

 

> 비용 산정 기법

- 소프트웨어 비용 산정의 개요 : 소프트웨어의 개발 규모를 소요하는 인원, 자원, 기간 등으로 확인하여 필요한 비용을 산정하는 것, 하향식 비용 산정 기법과 상향식 비용 산정 기법

- 소프트웨어 비용 결정 요소

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

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

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

 

> 비용 산정기법 - 하향식

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

- 전문가 감정 기법 : 조직 내에 있는 경험이 많은 두 명 이상의 전문가에게 비용 산정을 의뢰하는 기법, 편리, 신속, 주관적

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

 

> 비용 산정기법 - 상향식

- 상향식 비용 산정 기법의 개요 : 프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정, LOC, 개발단계별 인월수, 수학적 산정기법

- LOC(원시 코드라인수: Source Line Of Code) 기법 : 소프트웨어 각 기능의 원시 코드 라인수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용 산정

  산정공식 : 노력(인원) = 개발기간 x 투입입원 = LOC/1인당 월평균 생상 코드 라인수 

 

▷ 소프트웨어 개발 방법론 활용 B

> 수학적 산정기법

- 수학적 산정기법의 개요 : COCOMO모형, Putnam 모형, 기능점수(FP)모형

- COCOMO모형 개요 : 보헴(Boehm)이 제안, LOC(원시 코드라인수)에 의한 비용 산정

- COCOMO의 소프트웨어 개발 유형

  조직형(Organic Mode) : 5만 라인 이하의 소프트웨어를 개발하는 유형, 일괄, 사무처리

  반분리형(Semi-Detached Mode) : 30만 라인 이하의 소프트웨어 개발 유형, 운영체제, DBMS

  내장형(Embedded Mode) : 30만 라인 이상의 소프트웨어 개발 유형, 신호기제어, 미사일유도

- COCOMO 모형의 종류

  기본(Basic) 형 : 소프트웨어 크기와 개발 유형만을 이용하여 비용 산정

  중간(Intermediate) 형 : 기본형의 공식을 토대로 사용하나 4가지 특성의 15가지 요인

  발전(Detail) 형 COCOMO : 개발 공정별로 보다 자세하고 정확하게 노력 산출

- Putnam 모형 : 소프트웨어 생명주기의 전 과정동안에 사용될 노력의분포를 가정해주는 모형, Rayleigh-Norden 함수

- 기능점수(FP)모형 : 총 기능점수를 산출하며 총 기능점수와 영향도를 이용하여 기능점수(FP)를 구한 후 이를 이용해서 비용을 산정하는 기법

 

> 소프트웨어 개발 방법론 결정

- 소프트웨어 개발 방법론 결정의 개요 : 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영하고 확정된 소프트웨어 생명 주기와 개발 방법론에 맞춰 소프트웨어 개발단계, 활동, 작업, 절차 등을 정의

  프로젝트 관리 유형 : 일정관리, 비용관리, 인력관리, 위험관리, 품질관리

- 소프트웨어 개발 방법론 결정 절차 : 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영, 개발단계별 작업 및 절차를 소프트웨어 생명주기에 맞춰 수립, 메뉴얼 작성

 

> 소프트웨어 개발 표준

- 소프트웨어 개발 표준의 개요 : 소프트웨어 개발 단계에서 수행하는 품질 관리에 사용되는 국제 표준

  종류 : ISO/IEC 12207, CMMI, SPICE

- ISO/IEC 12207 : ISO(국제표준화기구)에서 만든 표준 소프트웨어 생명 주기 프로세스, 기본 생명 주기 프로세스(획득, 공급, 개발, 운영, 유지보수), 지원 생명주기 프로세스(검증, 문서화, 형상관리), 조직 생명주기 프로세스로 구분(관리, 기반구조, 훈련, 개선), 소프트웨어 개발 운용 유지보수 관리

- CMMI(Capibility Maturity Model Integration) : CMMI(능력 성숙도 통합 모델)는 소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도를 평가하는 모델, CMMI의 소프트웨어 프로세스 성숙도는 초기, 관리, 정의, 정량적 관리, 최적화로 구분

- SPICE(Software Process Improvement and Capability Determination, ISO/IEC 15504) : SPICE(소프트웨어 처리 개선 및 능력 평가 기준)는 소프트웨어 프로세스를 평가 및 개선하는 국제 표준

  프로세스 범주 5가지 : 고객-공급자, 공학, 지원, 관리, 조직 프로세스

  SPICE의 프로세스 수행 능력 단계 : 불완전, 수행, 관리, 확립, 예측, 최적화

 

> 소프트웨어 개발 방법론 테일러링

- 소프트웨어 개발 방법론 테일러링의 개요 : 프로젝트 상황 및 특성에 맞도록 정의된 소프트웨어 개발 방법론의 절차, 사용기법 등을 수정 및 보완하는 작업

- 소프트웨어 개발 방법론 테일러링 고려사항

  내부적 요건 : 목표환경, 요구사항, 프로젝트 규모, 보유 기술

  외부적 요건 : 법적 제약사항, 표준 품질 기준

- 소프트웨어 개발 방법론 테일러링 기법(4가지) : 프로젝트 규모와 복잡도, 프로젝트 구성원, 팀내 방법론 지원, 자동화에 따른 테일러링 기법

 

> 소프트웨어 개발 프레임워크

- 소프트웨어 개발 프레임워크의 개요 : 여러가지 기능들을 제공해주는 반제품 형태의 소프트웨어 시스템

- 스프링 프레임워크 : 자바 플랫폼을 위한 오픈 소스 경량형 애플리케이션 프레임워크

- 전자정부 프레임워크 : 우리나라 공공부문 정보화 사업시 필요한 기능 및 아키텍처를 제공하는 프레임워크, 응용 소프트웨어의 표준화, 품질 및 재사용성의 향상이 목적

- 닷넷 프레임워크 : Windows 프로그램의 개발 및 실행 환경을 제공하는 프레임워크, CLR

 

반응형