SW
[2020 정보처리기사 필기] 소프트웨어 개발 방법론 활용 (2) 본문
162. 소프트웨어 개발 방법론 결정 ★
1. 소프트웨어 개발 방법론 결정의 개요
- 소프트웨어 개발 방법론의 결정은 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영하고, 확정된 소프트웨어 생명 주기와 개발 방법론에 맞춰 소프트웨어 개발 단계, 활동 작업, 절차 등을 정의하는 것이다.
- 프로젝트 관리 유형 : 일정 관리, 비용 관리, 인력 관리, 위험 관리, 품질 관리 (비품위일인)
2. 소프트웨어 개발 방법론 결정 절차
1) 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영 한다.
- 소프트웨어 개발 방법론에 프로젝트 관리와 재사용 현황을 반영하는 방법을 프로젝트 관련자들에게 설명한다.
- 소프트웨어 개발 방법론에 프로젝트 관리와 재사용 현황을 반영하고 그 결과를 프로젝트 관련자들에게 설명한 후 결정한다.
2) 개발 단계별 작업 및 절차를 소프트웨어 생명 주기에 맞춰 수립한다.
- 소프트웨어의 기본 생명 주기, 지원 생명 주기, 조직 생명 주기별로 주요 프로세스를 확인한다.
- 소프트웨어의 개발 프로세스, 개발 생명 주기 프로세스 모형을 정리한다.
3) 결정된 소프트웨어 개발 방법론의 개발 단계별 활동 목적, 작업 내용, 산출물에 대한 매뉴얼을 작성한다.
핵심
- 프로젝트 관리 유형 : 일정 관리, 품질 관리, 위험 관리, 인력 관리, 비용 관리
- 소프트웨어 생명 주기는 기본, 지워느 조직 생명 주기로 구분한다.
163. 소프트웨어 개발 표준 ★★
1. 소프트웨어 개발 표준의 개요
- 소프트웨어 개발 표준은 소프트웨어 개발 단계에서 수행하는 품질 관리에 사용되는 국제 표준을 의미한다.
- 대표적인 소프트웨어 개발 표준에는 ISO/IEC 12207, CMMI, SPICE 등이 있다.
2. ISO/IEC 12207
- ISO/IEC 12207은 ISO에서 만든 표준 소프트웨어 생명 주기 프로세스로, 소프트웨어의 개발, 운영, 유지보수 등을 체계적으로 관리하기 위한 소프트웨어 생명 주기 표준을 제공한다.
- 기본 생명 주기 프로세스 : 획득, 공급, 개발, 운영, 유지보수 프로세스
- 지원 생명 주기 프로세스 : 품질 보증, 검증, 확인, 활동 검토, 문제 해결 프로세스
- 조직 생명 주기 프로세스 : 관리, 기반 구조, 훈련, 개선 프로세스
3. CMMI(Capability Maturity Model Integration)
- CMMI(능력 성숙도 통합 모델)는 소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도를 평가하는 모델로, 미국의 소프트웨어 공학연구소(SEI)에서 개발하였다.
- CMMI의 소프트웨어 프로세스 성숙도는 초기, 관리, 정의, 정량적 관리, 최적화의 5단계로 관리한다.
단계 | 프로세스 | 특징 |
초기(Initial) | 정의된 프로세스 없음 | 작업자 능력에 따라 성공 여부 결정 |
관리(Managed) | 규칙화된 프로세스 | 특정한 프로젝트 내의 프로세스 정의 및 수행 |
정의(Defined) | 표준화된 프로세스 | 조직의 표준 프로세스를 활용하여 업무 수행 |
정량적 관리(Quantitatively Managed) | 예측 가능한 프로세스 | 프로젝트를 정량적으로 관리 및 통제 |
최적화(Optimizing) | 지속적 개선 프로세스 | 프로세스 역량 향상을 위해 지속적인 프로세스 개선 |
4. SPICE(Software Process Improvement and Capability dEtermination)
- SPICE(소프트웨어 처리 개선 및 능력 평가 기준)는 정보 시스템 분야에서 소프트웨어의 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준으로, 공식 명칭은 ISO/IEC 15504이다.
- SPICE의 목적
- 프로세스 개선을 위해 개발 기관이 스스로 평가하는 것
- 기관에서 지정한 요구조건의 만족여부를 개발 조직이 스스로 평가하는 것
- 계약 체결을 위해 수탁 기관의 프로세스를 평가하는 것
- SPICE는 5개의 프로세스 범주와 40개의 세부 프로세스로 구성된다.
- 고객-공급자(Customer-Supplier) 프로세스
- 소프트웨어를 개발하여 고객에게 전달하는 것을 지원하고, 소프트웨어의 정확한 운용 및 사용을 위한 프로세스로 구성된다.
- 공학(Engineering) 프로세스
- 시스템과 소프트웨어 제품의 명세화, 구현, 유지보수를 하는데 사용되는 프로세스로 구성된다.
- 지원(Support) 프로세스
- 소프트웨어 생명 주기에서 다른 프로세스에 의해 이용되는 프로세스로 구성된다.
- 관리(Management) 프로세스
- 소프트에어 생명 주기에서 프로젝트 관리자에 의해 사용되는 프로세스로 구성된다.
- 조직(Organization) 프로세스
- 조직의 업무 목적 수립과 조직의 업무 목표 달성을 위한 프로세스로 구성된다.
- SPICE는 프로세스 수행 능력 단계를 불완전, 수행, 관리, 확립, 예측, 최적화의 6단계로 구분한다.
- 불완전(Incomplete) : 프로세스가 구현되지 않았거나 목적을 달성하지 못한 단계
- 수행(Performed) : 프로세스가 수행되고 목적이 달성된 단계
- 관리(Managed) : 정의된 자원의 한도 내에서 그 프로세스가 작업 산출물을 인도하는 단계
- 확립(Established) : 소프트웨어 공학 원칙에 기반하여 정의된 프로세스가 수행되는 단계
- 예측(Predictable) : 프로세스가 목적 달성을 위해 통제되고, 양적인 측정을 통해서 일관되게 수행되는 단계
- 최적화(Optimizing) : 프로세스 수행을 최적화하고, 지속적인 개선을 통해 업무 목적을 만족시키는 단계
핵심
- ISO/IEC 12207 : ISO에서 만든 표준 소프트웨어 생명 주기 프로세스(기본, 지원, 조직)
- CMMI : 소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도를 평가하는 모델
- SPICE의 5개의 프로세스 범주 & 수행 능력 6단계
164. 소프트웨어 개발 방법론 테일러링 ★★
1. 소프트웨어 개발 방법론 테일러링의 개요
- 소프트웨어 개발 방법론 테일러링은 프로젝트 상황 및 특성에 맞도록 정의된 소프트웨어 개발 방법론의 절차, 사용기법 등을 수정 및 보완하는 작업
- 절차 : 프로젝트 특징 정의 -> 표준 프로세스 선정 및 검증 -> 상위 수준의 커스터마이징 -> 세부 커스터마이징 -> 테일러링 문서화
2. 소프트웨어 개발 방법론 테일러링 고려사항
- 소프트웨어 개발 방법론 테일러링 작업 시 고려해야 할 사항에는 내부적 요건과 외부적 요건이 있다.
- 내부적 요건
- 목표 환경 : 시스템의 개발 환경과 유형이 서로 다른 경우 테일러링이 필요하다.
- 요구 사항 : 프로젝트의 생명 주기 활동에서 개발, 운영, 유지보수 등 프로젝트에서 우선적으로 고려할 요구사항이 서로 다른 경우 테일러링이 필요하다.
- 프로젝트 규모 : 비용, 인력, 기간 등 프로젝트위 규모가 서로 다른 경우 테일러링이 필요하다.
- 보유 기술 : 프로세스, 개발 방법론, 산출물 등이 서로 다른 경우 테일러링이 필요하다.
- 외부적 요건
- 법적 제약사항 : 프로젝트별로 적용될 IT Compliance(법적 규제)가 서로 다른 경우 테일러링이 필요하다.
- 표준 품질 기준 : 금융, 제도 등 분야별 표준 품질 기준이 서로 다른 경우 테일러링이 필요하다.
3. 소프트웨어 개발 방법론 테일러링 기법
- 프로젝트 규모와 복잡도에 따른 테일러링 기법 : 가장 일반적인 기법으로, 프로젝트 규모를 대중소로 구분하고, 업무의 난이도에 따라 복잡도를 상중하로 구분하는 기법
- 프로젝트 구성원에 따른 테일러링 기법 : 참여 구성원들의 기술적 숙련도를 확인하여 테일러링 수준을 결정하는 기법
- 팀내 방법론 지원에 따른 테일러링 기법 : 프로젝트 수행 시 각 팀별로 방법론 담당 인력을 배정하여 팀의 방법론 교육 을 담당하도록 인력을 구성하는 기법
- 자동화에 따른 테일러링 기법 : 프로젝트 수행 시 작업 부하를 줄이기 위해 중간 단계에서의 산출물을 자동화 도구를 사용하여 산출할 수 있도록 지원하는 기법
핵심
- 테일러링 고려사항 : 내부적 요건(목표 환경, 요구사항, 프로젝트 규모, 보유 기술), 외부적 요건(법적 제약사항, 표준 품질 기준)
- 소프트웨어 개발 방법론 테일러링 기법 : 프로젝트의 규모와 복잡도, 프로젝트 구성원, 팀내 방법론 지원, 자동화
165. 소프트웨어 개발 프레임워크 ★★
1. 소프트웨어 개발 프레임워크의 개요
- 프레임워크(Framework)는 소프트웨어 개발에 공통적으로 사용되는 구성 요소와 아키텍처를 일반화하여 손쉽게 구현할 수 있도록 여러 가지 기능들을 제공해주는 반제품 형태의 소프트웨어 시스템이다.
- 프레임워크의 주요 기능에는 예외 처리, 트랜잭션 처리, 메모리 공유, 데이터 소스관리, 서비스 관리, 쿼리 서비스, 로깅 서비스, 사용자 인증 서비스 등이 있다.
- 프레임워크의 종류에는 스프링 프레임워크, 전자정부 프레임워크, 닷넷 프레임워크 등이 있다.
2. 스프링 프레임워크(Spring Framework)
- 스프링 프레임워크는 자바 플랫폼을 위한 오픈 소스 경량형 애플리케이션 프레임워크이다.
- 동적인 웹 사이트의 개발을 위해 다양한 서비스를 제공한다.
- 전자정부 표준 프레임워크의 기반 기술로 사용되고 있다.
3. 전자정부 프레임워크
- 전자정부 프레임워크는 우리나라의 공공부문 정보화 사업 시 효율적인 정보 시스템의 구축을 지원하기 위해 필요한 기능 및 아키텍처를 제공하는 프레임워크이다.
- 전자정부 프레임워크는 개발 프레임워크의 표준 정립으로 응용 소프트웨어의 표준화, 품질 및 재사용성의 향상을 목적으로 한다.
- 오픈소스 기반의 범용화가 되고 공개된 기술을 활용함으로써 특정 업체의 종속성을 배제하고 사업별 공통 컴포넌트의 중복 개발을 방지한다.
4. 닷넷 프레임워크(.NET Framework)
- 닷넷 프레임워크는 Windows 프로그램의 개발 및 실행 환경을 제공하는 프레임워크로, Microsoft 사에서 통합 인터넷 전략을 위해 개발하였다.
- 닷넷 프레임워크는 코드 실행을 관리하는 CLR(Command Language Runtime, 공용 언어 런타임)이라는 이름의 가상머신 상에서 작동한다.
- 메모리 관리, 유형 및 메모리 안전성, 보안, 네트워크 작업 등 여러 가지 서비스를 제공한다.
핵심
- 스프링 프레임워크 : 자바 플랫폼을 위한 오픈 소스 경량형 애플리케이션 프레임워크
- 전자정부 프레임워크 : 공공부문 정보화 사업 시 사용하는 플랫폼별 표준화된 개발 프레임워크
- 닷넷 프레임워크 : Windows 프로그램 개발 및 실행 환경 제공하는 프레임워크
'대학교 > 자격증' 카테고리의 다른 글
[2020 정보처리기사 필기] IT 프로젝트 정보시스템 구축 관리 (2) (0) | 2020.08.15 |
---|---|
[2020 정보처리기사 필기] IT 프로젝트 정보시스템 구축 관리 (1) (0) | 2020.08.15 |
[2020 정보처리기사 필기] 소프트웨어 개발 방법론 활용 (1) (0) | 2020.08.14 |
[2020 정보처리기사 필기] 응용 SW 기초 기술 활용 (3) (0) | 2020.08.13 |
[2020 정보처리기사 필기] 응용 SW 기초 기술 활용 (2) (0) | 2020.08.13 |