본문 바로가기

정보처리기사 (필기)/5. 정보 시스템 구축

[정보처리기사] 5-3. 소프트웨어 개발

1. ISO/IEC 12207

  • ISO (International Organization for Standardization, 국재 표준화기구)에서 만든 표준 소프트웨어 생명주기 프로세스
  • 소프트웨어의 개발, 운영, 유지보수 등을 체계적으로 관리하기 위한 소프트웨어 생명주기 표준을 제공함
  • 본 생명주기 프로세스, 직 생명주기 프로세스, 원 생명주기 프로세스
  • 기조지

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

  • 소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도를 평가하는 모델
  • 성숙도 5가지
  • 기 (Initial) : 작업자 능력에 따라 성공 여부 결정됨 / 정의된 프로세스 없음
  • 리 (Managed) : 특정한 프로젝트 내의 프로세스 정의 및 수행 / 규칙화된 프로세스
  • 의 (Defined) : 조직의 표준 프로세스를 활용하여 업무 수행 / 표준화된 프로세스
  • 량적 관리 (Quantitatively) : 프로젝트를 정량적으로 관리 및 통제 / 예측 가능한 프로세스
  • 적화 (Optimizing) : 프로세스 역량 향상을 위해 지속적인 프로세스 개선 / 지속적 개선 프로세스
  • 초관정량최

3. SPICE (Software Process Improvement and Capability dEtermination)

  • 소프트웨어 개발 표준 중 소프트웨어 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준으로 공식명칭은 ISO/IEC 15504

3-1) SPICE의 목적

  • 프로세스 개선을 위해 개발 기관이 스스로 평가
  • 기관에서 지정한 요구 조건의 만족여부를 개발 조직이 스스로 평가
  • 계약 체결을 위해 수탁 기관의 프로세스를 평가

3-2) SPICE 의 5개 프로세스 범주

  • 객-공급자 (Customer-Supplier)
  • 학 (Engineering)
  • 원 (Support)
  • 리 (Management)
  • 직 (Organization)
  • 고공지관조

3-3) SPICE의 프로세스 수행 능력 단계

  • 불완전 (Incomplete) : 프로세스가 구현되지 않았거나 목적을 달성하지 못한 단계
  • 수행 (Performed) : 프로세스가 수행되고 목적이 달성된 관계
  • 관리 (Managed) : 정의된 자원의 한도 내에서 그 프로세스가 작업 산출물을 인도하는 단계
  • 확립 (Established) : 소프트웨어 공학 원칙에 기반하여 정의된 프로세스가 수행되는 단계
  • 예측 (Predictable) : 프로세스가 목적 달성을 위해 통제되고, 양적인 측정을 통해서 일관되게 수행되는 단계
  • 최적화 (Optimizing) : 프로세스 수행을 최적화하고, 지속적인 개선을 통해 업무 목적을 만족시키는 단계

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

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

4-1) 테일러링 고려사항

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

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

  • 스프링 프레임워크 : 자바 플랫폼을 위한 오픈소스 경량형 애플리케이션 프레임워크
  • 전자정부 프레임워크 : 우리나라의 공공부문 정보화사회 사업 시 효율적인 정보 시스템의 구축을 지원하기 위해 필요한 기능 및 아키텍쳐 제공
  • 닷넷 프레임워크(.NET) : windows 프로그램의 개발 및 실행 환경을 제공하는 프레임워크, microsoft사에서 개발