코딩뿌셔

[5과목] 정보시스템 구축관리 - 소프트웨어 개발방법론 본문

자격증/정보처리기사

[5과목] 정보시스템 구축관리 - 소프트웨어 개발방법론

He__o 2022. 7. 4. 22:56

01 소프트웨어 개발방법론

02 요구공학 방법론

03 비용산정 모델

04 소프트웨어 개발 표준

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


01 소프트웨어 개발방법론

▶ 소프트웨어 생명주기(SDLC; Software Development Life Cycle) 모델

  : 시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차

 

▷ 프로세스

요구사항 분석 설계 구현 테스트 유지보수

 

▷ 모델

종류 설명
폭포수 모델 단계별 정의와 산출물 명확, 순차적 접근, 요구사항 변경이 어려움
(계획 → 요구사항 → 분석 → 설계 → 구현 → 테스트 → 유지보수)
프로토타이핑 모델 고객의 피드백을 반영하여 소프트웨어를 만들어감,  프로토타입 개발
(요구사항 분석 → 개발 →  평가 → 구현 → 테스트)
나선형 모델 개발 위험을 최소화하기 위해 점진적으로 개발, 위험분석, 반복개발
(계획 및 정의 → 위험분석 → 개발 → 고객평가 : 반복)
반복적 모델 사용자의 요구사항 혹은 제품 일부분을 반복적 개발하여 최종 시스템으로 완성, 병렬 개발 통합

 

▶ 소프트웨어 개발방법론

  : 소프트웨어를 하나의 생명체로 간주하고 소프트웨어 개발의 시작부터 시스템을 사용하지 않는 과정까지의 전 과정 형상화

 

▷ 종류

종류 설명
구조적 방법론 기능에 따라 나누어 개발, 분할과 정복 접근 방식, 하향식 방법론
정보공학 방법론 관리절차와 작업 기법 체계화, 개발주기를 이용해 프로젝트 수행
객체 지향 방법론 현실 세계 개체를 하나의 객체로 만들어 객체들을 조립하여 소프트웨어 구현
컴포넌트 기반 방법론 생산성과 품질 향상, 유지보수 비용 최소화, 소프트웨어 재사용 가능
애자일 방법론 절차보다는 사람 중심, 변화에 유연하고 신속하게 적응, 효율적 시스템 개발 방법
제품 계열 방법론 특정 제품에 적용하고 싶은 공통 기능을 정의하여 개발

 

02 요구공학 방법론

▶ 요구공학 방법론

  : 사용자의 요구가 반영된 시스템 개발을 위해 사용자 요구사항 도출, 분석, 명세, 확인 및 검증하는 구조화된 방법

 

▷ 특징

  - 고객과 개발자가 요구사항 의미를 서로 다르게 이해하면 시스템 개발이 실패할 가능성 증대

  - 시스템이 사용되는 동안 발견되는 오류 상당 부분이 요구사항 오류에서 파생

  - 구조적 요구분석을 위해 블록 다이어그램을 채택한 자동화도구(SADT)가 있음

 

▷ 개발 프로세스

도출 분석 명세 확인 및 검증
인터뷰, 설문조사,
브레인스토밍, 워크숍
자료 흐름 지향 분석, 
객체 지향 분석, 
요구사항 체계화 분석
자연어 방법, 정형화 기법 리뷰, 워크스루,
인스펙션

 

03 비용산정 모델

▶ 비용산정 모델

  : 소프트웨어 규모파악을 통한 투입자원, 소요시간 파악하여 실행 가능한 계획 수립을 위해 비용 산정

 

▷ 모델 분류

분류 모델 설명
하향식 산정방법 전문가 감정 기법 2명 이상 전문가, 편리하고 신속하게 산정 가능, 개인적이고 주관적
델파이 기법 전문가 감정 기법의 주관적 판단 보완, 많은 전문가 의견 종합
상향식 산정방법 LOC(Lines of Code) 측정이 및 이해 쉬움, 예측치 이용하여 생산성, 노력, 개발 기간 등 비용 산정
Man Month 한 사람이 1개월 동안 할 수 있는 양 기준으로 프로젝트 비용 산정
COCOMO 프로젝트를 완성하는데 필요한 노력(man-month)으로 산정
Putnam 모형 생명주기 예측 모형, 대평 프로젝트의 노력 분포 산정에 이용
기능점수(FP) 모형 요구 기능 증가시키는 인자별 가중치 부여, 총 기능 점수 계산하여 비용 산정
개발 단계별 노력 LOC 기법의 확장, 코딩 단계뿐만 아니라 SW개발 생명주기 단계별 적용

 

04 소프트웨어 개발 표준

▶ ISO/IEC 12207 표준

  : 소프트웨어 생명주기 프로세스, 소프트웨어와 관련된 조직, 공급자, 개발자 등 이해관계자들이 각자 입장에서 수행해야 할 일을 정의하고 지속적으로 개선시키기 위한 활동 

기본 생명주기 프로세스 획득, 공급, 개발, 운영, 유지보수 프로세스
지원 생명주기 프로세스 품질 보증, 검증, 확인, 활동 검토, 문서화, 형상관리, 문제해결 프로세스
조직 생명주기 프로세스 관리, 기반 구조, 훈련, 개선 프로세스

 

▶ CMMI (Capability Maturity Mdel Intergration)

  : 능력 성숙도 모델(CMM)을 발전시킨 것, 기존 소프트웨어 품질 보증 기준과 시스템 엔지니어링 분야 품질 보증 기준을 통합하여 개발한 품질 개선 모델

 

▷ 모델

모델 설명
단계적 모델 조직 전체적인 성숙도 확인을 위해  CMMI 5단계 성숙도 레벨로 정의하고 성숙수준 기반 평가
연속적 모델 조직 비즈니스 목적 충족, 위험요소 완화에 중요한 개선사항의 순서를 정하여 적용

 

▷ CMMI 단계적 모델 성숙도 레벨

초기화
(Initial)
관리
(Managed)
정의
(Defined)
정량적 관리
(Quantitatively Managed)
최적화
(Optimized)

 

▶ SPICE

  : 소프트웨어 프로세스에 대한 개선 및 능력측정 기준에 대한 국제 표준

 

▷ 프로세스 수행 능력 수준

레벨 0 1 2 3 4 5
수준 불안정 단계 수행 단계 관리 단계 확립 단계 예측 단계 최적화 단계

 

▶ 테일러링(Tailoring)

  : 조직 표준 프로세스를 커스터마이징하여 비즈니스 또는 기술적 요구에 맞게 적합한 프로세스를 얻는 과정, 이미 정의된 개발방법론 절차, 기법, 산출물 등 재활용하여 계획 수립

 

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

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

  : 반제품 상태ㅐ의 제품을 토대로 도메인별 필요한 서비스 컴포넌트를 사용하여 재사용성 확대, 성능 보장받을 수 있게 하는 개발 소프트웨어

 

▷ 적용 시 기대효과

  - 개발할 소프트웨어에 대한 품질 보증 가능

  - 소프트웨어 개발 용이성 증가

  - 개발하고자 하는 소프트웨어 복잡도 감소

  - 소프트웨어 변경 사항 발생 시 대응 용이

  - 개발표준에 의한 모듈화로 유지보수 용이

  - 공통 컴포넌트 재사용으로 중복 예산 절감 

Comments