Notice
Recent Posts
Recent Comments
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Chimy's Program

정보처리기사 필기 - 정보시스템 구축관리 : 소프트웨어 개발 방법론 활용 본문

BASE

정보처리기사 필기 - 정보시스템 구축관리 : 소프트웨어 개발 방법론 활용

chimy 2020. 6. 11. 14:29

정보처리기사 필기 - 정보시스템 구축관리 : 소프트웨어 개발 방법론 활용

 

소프트웨어 개발 방법론

 

  • 소프트웨어 개발, 유지보수 등에 필요한 수행 방법과 각종 기법 및 도구를 체계적으로 정리하여 표준화
  • 생산성, 품질 향상


ⓞ 구조적 방법론

 

  • 정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리(Precess) 중심의 방법론
  • 타당성 검토 → 계획 → 요구사항  → 설계 → 구현 → 시험 → 운용/유지보수

 

 정보공학 방법론

 

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

 

 객체지향 방법론

 

  • 기계의 부품을 조립하듯이 객체들을 조립해서 필요한 소프트웨어를 구현하는 방법론
  • 구성 요소 : 객체, 클래스, 메시지
  • 기본 원칙 : 캡슐화, 정보은닉, 추상화, 상속성, 다형성
  • 요구분석 → 설계 → 구현 → 테스트/검증 → 인도

 

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

 

  • 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만드는 방법론
  • 재사용 가능, 시간과 노력 감소
  • 유지보수비용↓, 생산성/품질↑
  • 준비 → 분석 → 설계 → 구현 → 테스트 → 전개 → 인도


 애자일(Agile) 방법론

 

  • 일정한 주기를 반복하면서 개발 과정을 진행하는 방법론
  • 고객의 요구사항을 빠르게 대응
  • 익스트림 프로그래밍(XP), 스크럼, 칸반, 크리스탈
  • 반복주기 : 사용자 스토리 → 계획 → 개발 → 승인테스트

 

 제품 계열 방법론

 

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

 

 

비용 산정 기법 

 

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

 

  • 소프트웨어의 개발 규모를 소요하는 인원, 자원, 기간 등으로 확인하여 필요한 비용을 산정
  • 비용 산정을 높게 할 경우 예산 낭비, 일의 효율성↓
  • 비용 산정을 낮게 할 경우 개발자의 부담 증가, 품질문제
  • 하향식 비용 산정 기법, 상향식 비용 산정 기법


 소프트웨어 비용 결정 요소

 

  1. 프로젝트 요소 : 제품 복잡도, 시스템 크기, 요구되는 신뢰도 
  2. 자원 요소 : 인적 자원, 하드웨어 자원, 소프트웨어 자원 
  3. 생산성 요소 : 개발자 능력, 개발 기간

 

 

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

 

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


 전문가 감정 기법

 

  • 조직 내에 있는 경험이 많은 두 명 이상의 전문가에게 비용 산정을 의뢰하는 기법
  • 가장 편리하고 신속한 기법
  • 개인적, 주관적
  • 새로운 프로젝트 경험이 없을 수 있음


 델파이 기법

 

  • 전문가의 감정 기법의 주관적인 편견을 보완하기 위해 많은 전문가의 의견을 종합하여 산정하는 기법
  • 전문가의 의견이 거의 일치할 때까지 수행
  • 조정자 필요

 

 

비용 산정 기법-상향식

 

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


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

 

  • 소프트웨어 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정한 예측치로 비용 산정
  • 비관치 : 가장 많이 측정된 라인수
  • 낙관치 : 가장 적게 측정된 라인수
  • 기대치 : 평균 라인수
  • 예측치 = (비관치+낙관치+기대치*4)/6


 LOC 산정 공식

 

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

 

 수학적 산정 기법

 

  • COCOCMO 모형, Putnam 모형, 기능 점수(FP) 모형


⑴ COCOMO 모형

 

  • 보헴(Boehm)이 제안
  • LOC(원시 코드 라인 수)에 의한 비용 산정
  • 소프트웨어의 종류에 따라 다르게 측정

 

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

 

  • 조직형(Organic Mode) : 5만 라인 이하의 소프트웨어 개발, 중소규모, 일괄/사무처리
  • 반분리형(Semi-Detached Mode) : 30만 라인 이하의 소프트웨어 개발, 운영체제/DBMS
  • 내장형(Embedded Mode) : 30만 라인 이상의 소프트웨어 개발, 신호기제어/미사일유도 시스템


- COCOMO 모형의 종류

 

  • 기본(Basic)형 : 소프트웨어 크기와 개발 유형만을 이용하여 비용을 산정
  • 중간(Intermediate)형 : 기본형 공식 토대, 4가지 특성의 15가지 요인
  • 발전(Detailed)형 COCOMO : 개발 공정별로 보다 자세하고 정확하게 노력을 산출


⑵ Putnam 모형

 

  • 소프트웨어 생명 주기의 전 과정 동안에 사용될 노력의 분포를 가정해 주는 모형
  • Rayleigh-Norden 노력 분포도를 기초 : 기간이 늘어나면 프로젝트 인원 노력은 감소


⑶ 기능 점수(FP) 모형

 

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

 

 

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

 

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

  • 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영
  • 확정된 소프트웨어 생명 주기와 개발 방법론에 맞춰 소프트웨어 개발 단계, 활동, 작업, 절차 등 정의 
  • 최소의 비용으로 사용자들을 만족시키기 위해 프로젝트 관리
  • 프로젝트 관리 유형 : 일정 관리, 비용 관리, 인력 관리, 위험 관리, 품질 관리

 

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

 

  • 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영
  • 개발단계별 작업 및 절차를 소프트웨어 생명 주기에 맞춰 수립
  • 소프트웨어 생명 주기 종류 : 기본생명주기, 지원생명주기, 조직생명주기
  • 활동목적, 작업내용, 산출물에 대한 매뉴얼을 작성

 

 

소프트웨어 개발 표준 

 

  • 소프트웨어 개발 단계에서 수행하는 품질 관리에 사용되는 국제 표준
  • 종류 : ISO/IEC 12207, CMMI, SPICE 


 ISO/IEC 12207 

 

  • ISO(국제표준화기구)에서 만든 표준 소프트웨어 생명 주기 프로세스 
  • 소프트웨어 개발, 운용, 유지보수를 체계적으로 관리하기 위한 표준 제공
  • 기본 생명 주기 프로세스, 지원 생명 주기 프로세스, 조직 생명 주기 프로세스로 구분

 

⑴ 프로세스 구분 

 

  • 기본 생명 주기 프로세스 : 획득, 공급, 개발, 운영, 유지보수 관련 프로세스
  • 지원 생명 주기 프로세스 : 검증, 보증, 문서화, 형상관리 관련 프로세스
  • 조직 생명 주기 프로세스 : 관리, 기반구조, 훈련, 개선 관련 프로세스


 CMMI(Capability Maturity Model Integration, 능력 성숙도 통합 모델) 

 

  • 소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도를 평가하는 모델 
  • 소프트웨어 프로세스 성숙도는 초기, 관리, 정의, 정량적 관리, 최적화로 구분 

 

CMMI 성숙도 분류

 

  • 초기 : 작업자의 능력에 따라 성공여부 결정
  • 관리 : 규칙화된 프로세스
  • 정의 : 표준화된 프로세스
  • 정량적 관리 : 예측가능한 프로세스
  • 최적화 : 지속적인 개선 프로세스

 

 SPICE(Software Process Improvement and Capability Determination) 

 

  • 소프트웨어 처리 개선 및 능력 평가 기준
  • 소프트웨어 프로세스를 평가 및 개선하는 국제 표준 
  • 프로세스 범주 5가지(세부 40가지) : 고객-공급자, 공학, 지원, 관리, 조직 프로세스 
  • SPICE의 프로세스 수행 능력 단계 : 불완전, 수행, 관리, 확립, 예측, 최적화 

 

⑴ SPICE의 프로세스 범주

 

  1. 고객-공급자 : 인수, 공급, 요구도출, 운영
  2. 공학 : 시스템/소프트웨어 제품 명세화/구현/유지보수, 개발, 소프트웨어 유지보수
  3. 지원 : 다른 프로세스에 의해 이용되는 프로세스, 문서화, 형상, 품질보증
  4. 관리 : 프로젝트 관리자에 의해 사용되는 프로세스, 관리
  5. 조직 : 조직업무목적 수립, 목표 달성, 조직배치, 인력관리

 

⑵ SPICE의 프로세스 수행 능력 단계

 

  • 불완전 : 프로세스 구현x, 해당된 목적 달성x
  • 수행 : 목적 달성
  • 관리 : 정의된 자원 한도내에서 작업 산출물 인도
  • 확립 : 소프트웨어공학 원칙에 기반해서 정의된 프로세스 수행
  • 예측 : 목적 달성을 위해 통제, 양적인 측정을 통해 일관되게 수행
  • 최적화 : 프로세스 수행 최적화, 지속적인 개선으로 업무목적 만족

 


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

 

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

 

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

 

  • 내부적 요건 : 목표 환경, 요구사항, 프로젝트 규모, 보유 기술 
  • 외부적 요건 : 법적 제약사항, 표준 품질 기준 


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

 

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

 

 

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

 

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

 

 스프링 프레임워크 

 

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

 

 전자정부 프레임워크 

 

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

 

 닷넷 프레임워크 

 

  • Windows 프로그램의 개발 및 실행 환경을 제공하는 프레임워크
  • 코드실행을 관리하는 CLR(가상머신) 상에서 동작
Comments