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

정보처리기사
공개

2026년 1월 25일

소프트웨어 재사용

  • 합성 중심: 모듈 끼워 맞추는거
  • 생성 중심: 추상화된 컴포넌트를 구체화

소프트웨어 재공학

  • 분석
  • 재구성: 기능, 외적인 동작은 유지하면서 내부 구조 변경
  • 역공학: 기존 코드를 분석
  • 이식: 기존 소프트웨어를 다른 환경에 이식할 수 있게 변경

CASE(Computer-Aided Software Engineering): 구조적 기법, 프로토타이핑, 분산 처리 등의 기법으로 소프트웨어 개발 생산성을 향상시키기 위한 자동화 도구

상향식 비용 산정 기법

  • LOC
    • 예측치: 낙관치, 비관치, 기대치 이용해서 계산
    • 노력: LOC / 1인당 월 평균 생산 코드 라인 수
    • 개발 비용: 노력 * 단위 비용(인건비 등)
    • 개발 기간: 노력 / 투입 인원
    • 생산성: LOC / 노력
  • 수학적 산정 기법
    • COCOMO: LOC에 기초한 경험적 모델
      • 조직형: 5만 라인 이하의 소프트웨어
      • 반분리형: 30만 라인 이하의 소프트웨어
      • 임베디드형: 대규모 소프트웨어
    • Putnam: Rayleigh-Norden 곡선에 기초하여 노력 산정
    • 기능 점수(FP): 소프트웨어 기능 별 가중치를 부여하고 합산하여 노력 산출

프로젝트 일정 계획

  • PERT(Program Evaluation and Review Technique): 결정 경로, 경계 시간, 작업 간 상호 관련성 파악 가능
  • CPM(Critical Path Method): 프로젝트 일정 계획 및 관리 기법
  • 간트 차트: 작업 일정과 진행 상황을 막대 그래프로 표현

소프트웨어 개발 표준

  • ISO/IEC 12207: 소프트웨어 생명주기 프로세스
    • 기본, 지원, 조직 생명 주기 프로세스
  • CMMI(Capability Maturity Model Integration): 개발 조직 업무 능력 및 성숙도 평가 모델
    • 초기, 관리, 정의, 정량적 관리, 최적화
  • SPICE(Software Process Improvement and Capability Determination): 소프트웨어 프로세스 평가 및 개선 모델
    • 불완전, 수행, 관리, 확립, 예측, 최적화
맨 위로