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이라는 가상머신 상에서 동작, 메모리 관리/메모리 안전성/보안 등 여러 가지 서비스 제공
'자격증 > 정보처리기사 - 필기' 카테고리의 다른 글
정보시스템 구축 관리 - 소프트웨어 개발 보안 구축 (0) | 2020.07.18 |
---|---|
정보시스템 구축 관리 - IT 프로젝트 정보시스템 구축 관리 (0) | 2020.02.28 |
프로그래밍 언어 활용 - 응용 SW 기초 기술 활용 (0) | 2020.02.26 |
프로그래밍 언어 활용 - 프로그래밍 언어 활용 (0) | 2020.02.25 |
프로그래밍 언어 활용 - 서버 프로그램 구현 (0) | 2020.02.21 |