본문 바로가기

자격증/정보처리기사 - 필기

정보시스템 구축 관리 - SW 개발 방법론 활용

728x90

SW 개발 방법론 : SW개발/유지보수에서 필요한 각종 기법 및 도구를 체계적으로 정리

● 목적 : SW 생산성과 품질 향상

< 방법론 >

- 구조적 방법론

● 사용자 요구사항을 파악하여 문서화 처리 중심

● 목적 : 쉬운 이해 및 검증 가능한 프로그램 코드 생성

● 분할과 정복 원리 적용

● 절차 : 타당성 검토 – 계획 – 요구사항 – 설계 – 구현 – 시험 – 운영/유지보수

- 정보공학 방법론

● 정형화된 기법들을 연관성 있게 통합 및 적용하는 자료 중심

● 대규모 정보 시스템 구축에 적합

● 절차 : 정보 전략 계획 – 업무 영역 분석 – 업무 시스템 설계 – 업무 시스템 구축

- 객체지향 방법론

● 구조적 기법의 문제점으로 인한 SW위기 해결책

● 기본원칙 : 캡슐화, 정보은닉, 추상화, 상속성, 다형성 등

● 절차 : 요구분석 – 설계 – 구현 – 테스트 및 검증 – 인도

- 컴포넌트 기반 방법론

● 컴포넌트를 조합하여 하나의 새로운 애플리케이션 만듬

● 컴포넌트의 재사용 가능

● 유지 보수 비용 최소화

● 절차 : 개발 준비 – 분석 – 설계 – 구현 – 테스트 – 전개 – 인도

- 애자일 방법론

● 고객의 요구사항 변화에 유연하게 대응

● 소규모 프로젝트 적합

● 절차 : 사용자 스토리 – [ 계획 – 계발 – 승인 테스트 ]( 반복 )

- 제품 계열 방법론

● 임베디드 SW 만들 때 적합

-> 영역 공학 : 영역 분석, 영역 설계, 핵심 자산 구현

-> 응용 공학 : 제품 요구 분석, 제품 설계, 제품 구현 영역

 

비용 산정 기법

< 결정 요소 >

● 프로젝트 요소 : 제품 복잡도, 시스템 크기, 요구되는 신뢰도

● 자원 요소 : 인적 자원, 하드웨어 자원, SW자원

● 생산성 요소 : 개발자 능력, 개발 기간

< 종류 >

1. 하향식 비용 산정 기법 : 과거의 유사한 경험을 바탕으로 전문 지식이 많은 개발자들이 참여한 회의를 통해 비용 산정

- 전문가 감정 기법 : 경험이 많은 두 명 이상의 전문가에게 의뢰, 가장 편리하고 신속하게 비용 산정, 새로운 프로젝트와 유사한 프로젝트에 대한 경험이 없을 수 있다.

- 델파이 기법 : 주관적인 편견 보완위해 많은 전문가의 의견을 종합하여 산정

2. 상향식 비용 산정 기법 : 프로젝트의 세부적인 작업 단위별로 비용 산정 후 집계하여 전체 비용 산정

- LOC : 측정 용이, 이해하기 쉬움

● 노력( 인월 ) = 개발 기간 * 투입 인원 = LOC / 1인당 월 평균 생산 코드 라인 수

● 개발 비용 = 노력( 인월 ) * 단위 비용( 1인당 월 평균 인건비 )

● 개발 기간 = 노력( 인월 ) * 투입 인원

- 수학적 산정 기법 : 개발 비용 산정의 자동화

● COCOMO 모형 : 비용 견적의 유연성 높음, 성격에 따라 비용이 다르게 산정

● 개발 유형

-> 조직형( Organic Mode ) : 5만 라인 이하의 SW 개발

-> 반분리형( Semi-Detached Mode ) : 30만 라인 이하의 SW 개발

-> 내장형( Embedded Mode ) : 30만 라인 이상의 SW 개발

● 종류

-> 기본형 COCOMO( Basic) : SW의 크기와 개발 유형만 이용하여 비용 산정

-> 중간형 COCOMO( Intermediate ) : 4가지 특성의 15가지 요인에 의해 비용 산정

-> 발전형 COCOMO( Detailed ) : 개발 공정별로 보다 자세하고 정확하게 노력 산출하여 비용 산정

- Putnam 모형 : 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 함, 대형 프로젝트에 이용

- 기능점수 모형( FP ) : SW의 기능을 증대시키는 요인별로 가중치 부여M 가중치 합산하여 총 기능 점수 산출

< 자동화 측정 도구 >

● SLIM : Rayleigh-Norden 곡선과 Putnam 예측 모델을 기초로 하여 개발

● ESTIMACS : 다양한 프로젝트와 개인별 요소를 수용하도록 FP 모형을 기초로 개발

 

SW 개발 방법론 결정

< 프로젝트 관리 >

● 일정 관리 : 작업 순서, 작업 기간 산정, 일정 개발, 일정 통제

● 인력 관리 : 프로젝트 팀 편성, 자원 산정, 프로젝트 조직 정의

● 비용 관리 ● 품질 관리 ● 위험 관리

< 결정 절차 >

1. 프로젝트 관리와 재사용 현황을 SW 개발 방법론에 반영

2. 개발 단계별 작업 및 절차를 SW 생명 주기에 맞춰 수립

3. 결정된 SW 개발 방법론의 갭라 단계별 활동 목적, 작업 내용, 산출물에 대한 매뉴얼 작성

 

SW 개발 표준 : 개발 단계에서 수행하는 품질 관리에 사용되는 국제 표준

● ISO/IEC 12207 : SW 개발, 운영, 유지보수 등을 체계적으로 관리하기 위한 SW 생명 주기 표준 제공

-> 기본 생명 주기 프로세스 : 획득, 공급, 개발, 운영, 유지보수 프로세스

-> 지원 생명 주기 프로세스 : 품질 보증, 검증, 확인, 활동 검토, 감사 프로세스

-> 조직 생명 주기 프로세스 : 관리, 기반 구조, 훈련, 개선 프로세스

● CMMI : SW 개발 조직의 업무 능력 및 조직의 성숙도 평가

● SPICE : SW 프로세스를 평가 및 개선하는 국제 표준

< SPICE 프로세스 구성 >

-> 고객 – 공급자 프로세스 : SW를 개발하여 고객에게 전달하는 것 지원, SW의 정확한 운용 및 사용

-> 공학 프로세스( Engineering ) : 시스템과 SW 제품의 명세화, 구현, 유지보수에 사용

-> 지원 프로세스 : SW 생명 주기에서 다른 프로세스에 의해 이용되는 프로세스로 구성

-> 관리 프로세스( Management ) : SW 생명 주기에서 프로젝트 관리자에 의해 사용

-> 조직 프로세스( Organization ) : 조직의 업무 목적 수립과 조직의 업무 목표 달성을 위한 프로세스로 구성

< SPICE 수행 능력 단계 >

-> 불완전 : 프로세스가 구현되지 않았거나 목적 달성 못함

-> 수행 : 프로세스가 수행되고 목적 달성

-> 관리 : 프로세스가 작업 산출물을 인도

-> 확립 : 정의된 프로세스가 수행

-> 예측 : 프로세스가 목적 달성을 위해 통제, 양적인 측정을 통해 일관되게 수행

-> 최적화 : 지속적인 개선을 통해 업무 목적 만족

 

SW 개발 방법론 테일러링 : 프로젝트 상황 및 특성에 맞도록 정의된 SW 개발 방법론의 절차, 사용기법을 수정/보완

< 테일러링 수행 절차 >

프로젝트 특징 정의 – 표준 프로세스 선정/검증 – 상위 수준 커스터마이징 – 세부 커스터마이징 – 테일러링 문서화

< 고려사항 >

● 요구사항 : 프로젝트에서 우선적으로 고려할 요구사항이 서로 다른 경우 테일러링 필요

● 프로젝트 규모 : 프로젝트의 규모가 서로 다른 경우 테일러링 필요

● 보유 기술 : 프로세스, 개발 방법론, 산출물 등이 다를 경우 테일러링 필요

● 목표 환경 : 개발 환경과 유형이 다를 경우 테일러링 필요

< 기법 >

● 프로젝트 규모와 복잡도에 따른 테일러링 기법

● 프로젝트 구성원에 따른 테일러링 기법

● 팀내 방법론 지원에 따른 테일러링 기법

● 자동화에 따른 테일러링 기법

 

SW 개발 프레임워크

● 스프링 프레임워크 : 자바 플랫폼을 위함, 동적인 웹 사이트 개발 위함

● 전자정부 프레임워크 : 응용 SW 표준화, 품질 및 재사용성의 향상 목적

● 닷넷 프레임워크 : CLR이라는 가상머신 상에서 동작, 메모리 관리/메모리 안전성/보안 등 여러 가지 서비스 제공