반응형

     정보

    • 업무명     : 정보처리기사 필기 : 제5과목 정보시스템 구축 (소프트웨어 개발 방법론 활용)

    • 작성자     : 박진만

    • 작성일     : 2021-03-03

    • 설   명      :

    • 수정이력 :

     

     

     내용

    [소프트웨어 개발 방법론]

    • 소프트웨어 개발 방법론의 개요

      • 소프트웨어 개발, 유지보수 등에 필요한 여러 가지 일들의 수행 방법과 각종 기법 및 도  구를 체계적으로 정리하여 표준화한 것이다.

    • 구조적 방법론

      • 정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리(Precess)   심의 방법론이다.

    • 정보공학 방법론

      • 정보 시스템의 개발을 위해 상호 연관성 있게 통합 및 적용하는 자료 중심의 방법론

      • 개발 주기를 이용하여 대규모 정보 시스템을 구축하는데 적합

    • 객체지향 방법론

    • 기계의 부품을 조립하듯이 객체들을 조립해서 필요한 소프트웨어를 구현하는 방법론

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

    • 컨포넌트 기반(CBD; Component Based Design) 방법론

    • 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만드는 방법론

    • 애자일(Agile) 방법론

      • 일정한 주기를 반복하면서 개발 과정을 진행하는 방법론

    • 제품 계열 방법론

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

     

    [비용 산정 기법]

    • 소프트웨어 비용 산정의 개요

      • 소프트웨어의 개발 규모를 소요하는 인원, 자원, 기간 등으로 확인하여 필요한 비용을 산  정하는

        • 하향식 비용 산정 기법과 상향식 비용 산정 기법이 있다.

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

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

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

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

     

    [비용 산정 기법-하향식]

    • 하향식 비용 산정 기법의 개요

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

    • 전문가 감정 기법

      • 조직 내에 있는 경험이 많은 두 명 이상의 전문가에게 비용 산정을 의뢰하는 기법

    • 델파이 기법

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

     

    [비용 산정 기법-상향식]

    • 상향식 비용 산정 기법의 개요

      • 프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정

    • LOC(원시 코드 라인 수; Source Line Of Code) 기법

      • 소프트웨어 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를  구하고 이를 이용하여 비용을 산정

      • 산정 공식

        • 노력(인원) = 개발 기간 × 투입 인원 = LOC / 1인당 월평균 생산 코드 라인수

     

    [수학적 산정 기법]

    • 수학적 산정 기법의 개요

      • COCOCMO 모형, Putnam 모형, 기능 점수(FP) 모형이 있다.

    • COCOMO 모형 개요

      • 보헴(Boehm)이 제안, LOC(원시 코드 라인 수)에 의한 비용 산정

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

      • 조직형(Organic Mode) :  5만 라인 이하의 소프트웨어를 개발하는 유형

      • 반분리형(Semi-Detached Mode) : 30만 라인 이하의 소프트웨어를 개발하는 유형

      • 내장형(Embedded Mode) : 30만 라인 이상의 소프트웨어를 개발하는 유형

    • COCOMO 모형의 종류

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

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

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

    • Putnam 모형

      • 소프트웨어 생명 주기의 과정 동안에 사용될 노력의 분포를 가정해 주는 모형

    • 기능 점수(FP) 모형

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

     

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

    • 소프트웨어 개발 방법론 결정의 개요

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

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

    • 소프트웨어 개발 방법론 결정 절차

      • 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영한다.

      • 개발단계별 작업 및 절차를 소프트웨어 생명 주기에 맞춰 수립한다.

      • 매뉴얼을 작성

     

    [소프트웨어 개발 표준]

    • 소프트웨어 개발 표준의 개요

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

      • 종류 : ISO/IEC 12207, CMMI, SPICE

    • ISO/IEC 12207

      • ISO(국제표준화기구)에서 만든 표준 소프트웨어 생명 주기 프로세스

      • 기본 생명 주기 프로세스, 지원 생명 주기 프로세스, 조직 생명 주기 프로세서로 구분

    • CMMI(Capability Maturity Model Integration)

      • CMMI(능력 성숙도 통합 모델)는 소프트웨어 개발 조직의 업무 능력 조직의 성숙도를 평가하는 모델

      • CMMI의 소프트웨어 프로세스 성숙도는 초기, 관리, 정의, 정량적 관리, 최적화로 구분

     

    [소프트웨어 개발 표준]

    • SPICE(Software Process Improvement and Capability Determination)

      • SPICE(소프트웨어 처리 개선 및 능력 평가 기준)는 소프트웨어 프로세스를 평가 및 개  선하는 국제 표준

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

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

     

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

    • 소프트웨어 개발 방법론 테일러링의 개요

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

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

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

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

    • 소프트웨어 개발 방법론 테일러링 기법(4가지)

      • 프로젝트 규모와 복잡도, 프로젝트 구성원, 팀내 방법론 지원, 자동화에 따른 테일러링 기법

     

    [소프트웨어 개발 프레임워크]

    • 소프트웨어 개발 프레임워크의 개요

      • 여러 가지 기능들을 제공해주는 반제품 형태의 소프트웨어 시스템

    • 스프링 프레임워크

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

    • 전자정부 프레임워크

      • 우리나라의 공공부문 정보화 사업 필요한 기능 아키텍퍼를 제공하는 프레임워크

      • 응용 소프트웨어의 표준화, 품질 및 재사용성의 향상이 목적

    • 닷넷 프레임워크

      • Windows 프로그램의 개발 및 실행 환경을 제공하는 프레임워크

     

    [문제]

    •  
    • 1. 고객의 요구사항을 바로바로 반영하고 상황에 따라 주어지는 문제를 풀어나  가는 소프트웨어 개발 방법론은?

      •   애자일(Agile) 방법론

      •   컴포넌트 기반(CBD) 방법론

      •   객체지향 방법론

      •   구조적 방법론

     

    • 2. 두 명의 개발자가 5개월에 걸쳐 10,000 라인의 코드를 개발하였을 때, 월별  (Person Month) 생산성 측정을 위한 계산 방식으로 가장 적합한 것은?

      •   10,000 / 2

      •   10,000 / 5

      •   10,000 / (5 × 2)

      •   (2 × 10,000) / 5

     

    • 3. COCOMO의 프로젝트 모드가 아닌 것은?

      •   Organic Mode

      •   Semi-detached Mode

      •   Medium Mode

      •   Embedded Mode

     

    • 4. 소프트웨어 개발 표준 중 조직의 개발 프로세스 역량 성숙도를 평가하는 표준은?

      •   CMMI

      •   SPICE

      •   ISO 26262

      •   ISO/IEC 12207

     

     참고 문헌

    [논문]

    • 없음

    [보고서]

    • 없음

    [URL]

    • 없음

     

     문의사항

    [기상학/프로그래밍 언어]

    • sangho.lee.1990@gmail.com

    [해양학/천문학/빅데이터]

    • saimang0804@gmail.com
     
    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기