본문 바로가기
자격증/정보처리기사

소프트웨어 개발 방법론

by 두두리안 2022. 6. 19.
728x90

목차

  • 1.소프트웨어 개발 방법론
  • 2.비용 산정 기법
  • 3.소프트웨어 비용 추정 모형
  • 4.소프트웨어 개발 표준

1. 소프트웨어 개발 방법론

1-1. 개요

* 소프트웨어 개발, 유지보수등에 필요한 여러가지 일들의 수행방법
* 개발 수행과정중 필요한 각종 기법과 도구 표준화
* 소프트웨어 생상선과 품질향상 목적

1-2. 구조적 방법론

1. 졍형화된 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리중심 방법론
2. 정보의 구조 중심으로 분석,설계,구현
3. 순차,선택,반복으로 프로그램 흐름구성 복잡성 감소
4. 분할정복을 통해 프로그램 모듈화

1-3. 정보공학 방법론

1. 정보시스템 개발에 관리절차와 작업 기법을 체계화
2. 계획,분석,설계,구축에 대한 정형화된 기법을 전체적으로 적용
3. 데이터, 업무활동, 상호작용으로 구성
4. 정보전략계획수립 -> 업무영역분석 -> 업무시스템설계 -> 업무시스템구축

1-4. 객체지향 방법론

1. 현실세계 개체를 객체화
2. 구조적기법의 문제점 보완
3. 객체,클래스,속성,멤버,메시지 구성
4. 캡슐화,정보은닉,추상화,상속성,다형성
5. 요구분석 -> 설계 -> 구현 -> 테스트및 검증 -> 인도

1-5. 컴포넌트 기반 방법론

1. 재사용이 가능한 컴포넌트 기반의 개발 방법론
2. 개발기간 단축으로 생산성과 품질 향상
3. 유지보수비용 최소화
4. 시스템을 신속하게 구축, 새로운 기능 추가 및 확장 용이
5. 개발준비 -> 분석 -> 설계 -> 구현 -> 테스트 -> 전개 -> 인도

1-6. 애자일 방법론

1. 고객의 요구사항 변화에 민첩하고 유연하게 대응
2. 일정한 주기를 반복하면서 개발과정 진행
3. 소규모프로젝트, 숙련된 개발자
4. xp, Scrum, 기능중심개발(FDD), 동적시스템개발방법(DSDM)
5. 사용자 요구사항 -> (계획,개발,테스트)반복

1-7. 제품계열 방법론

1. 특정제품의 공통된 기능 중심
2. 공통된기능이 있어 개발비용 및 시간 단축
3. 임베디드 소프트웨어 개발 적합
4. 영역공학, 응용공학으로 구분

1-8. 테일러링 방법론

1. 소프트웨어 특성에 맞도록 사용기법들 수정 및 보완
2. 다양한 프로젝트의 하나의 방법론으로만 적용하기 어려워 등장
3. 커스터마이징 반복
4. ISO/IEC 12207, CMMI, SPICE

1-9. 보안 개발 방법론 종류

1. MS-SDL: MS사가 자체적으로 수립 (SDLC)
2. Seven Touchpoints: 소프트웨어 보안의 모범사례 통합
3. CLASP: 개발생명주기 초기단계의 보안을 강화하기 위해 정형화된 절차
4. CWE: 소프트웨어 보안 취약점을 유발하는 원인 7가지 정리한 방법론

2. 비용 산정 기법

2-1. 개요

* 소프트웨어 개발 규모 확인하여 필요한 비용 산정
* 소요되는 인원, 자원, 기간을 확인하여 실행가능한 계획 수립
* 비용산정이 너무 낮을경우 개발자 부담이 증가되며 품질은 낮아짐
* 하향식 비용 산정 기법과 상향식 비용 산정기법

2-2. 소프트웨어 비용 결정 요소

1. 프로젝트요소
2. 자원요소
3. 생산성요소

2-3. 하향식 비용 산정 기법

1. 과거의 유사한 경험 바탕
2. 전문가 측정 기법
3. 델파이 측정 기법: 주관적인 판단을 보완 (전문가 <> 중재자)

2-4. 상향식 비용 산정 기법

1. 프로젝트 세부적인 작업 단위별로 비용산정후 전체비용 측정
2. LOC 기법: 기능마다 원시코드라인수 예측하여 생산성, 개발기간 비용 산정
3. 예측치 측정 공식: (낙관치 + (4 * 기대치) + 비관치)/6
4. 노력 = 개발기간 * 투입인원 = LOC/1당 월평균 생산코드 라인수

3. 소프트웨어 비용 추정 모형

3-1. COCOMO 모델

1. 보헴이 제안한 LOC 비용산정기법
2. Organic: 중소규모, 5만라인이하
3. Semi-Detached: 중간형, 운영체제 데이터베이스 관리 시스템, 30만라인 이하
4. Embedded: 초대형, 신호제어 우주항공 실시간처리시스템, 30만라인 이상

3-2. Putnam 모델

1. 생명주기 예측모형 Putnam 제안
2. 대형 프로젝트 기법
3. 개발기간 연장될수록 프로젝트 적용인원 노력감소
4. SLIM: Putnam 모델을 기초로한 산출 자동화 측정도구

3-3. 기능 모델

1. 소프트웨어 기능을 증대시키는 요인별로 가중치 부여
2. 요인별 가중치를 합산하여 총 기능점수 산출
3. 논리적인 사용자의 기능 요구사항을 기초로 비용을 산정

4. 소프트웨어 개발 표준

4-1. 소프트웨어 개발 방법론 결정 절차

* 프로젝트 관리와 재사용 현황을 반영
* 개발 단계별 작업 및 절차를 수립
* 개발단계별 활동목적, 작업내용, 산출물에 대한 매뉴얼 작성

4-2. ISO/IEC 12207

1. 국제표준화기구에서 만든 표준 소프트웨어 생명주기 프로세스
2. 소프트웨어 개발,운영,유지보수 프로세스를 향상시키기 위한 표준제공
3. 기본,지원,조직 생명주기 프로세스로 나뉜다

4-3. ISO/IEC 12119

* 패키지 소프트웨어의 제품 품질 요구사항 및 테스트를 위한 국제표준

4-4. ISO/IEC 29119

* 소프트웨어 테스트 관련 국제 표준

4-5. ISO/IEC 9126

* 소프트웨어 품질특성과 평가에 관한 표준 지침서
* 기능성,신뢰성,사용성,효율성,유지보수성,이식성

4-6. CMM

1. 소프트웨어 유지보수, 개발에 대한 프로세스 개선과 능력향상
2. 단계별 핵심 프로세스: 초기화 -> 반복 -> 정의 -> 관리 -> 최적화
3. 평가기준: 혼돈,경험,정성,정량,최적
4. 소규모업체곤란, 조직자체 평가하므로 제품의 품질과는 연관성 x

4-7. CMMI

1. CMM 후속모델
2. 조직개발 프로세스 역량 성숙도 평가
3. 단계별 핵심 프로세스: 초기화 -> 관리 -> 정의 -> 정략적관리 -> 최적화
4. 어떤 모델이든 업무의 목적에 맞게 수정

4-8. SPICE

1. 소프트웨어 품질 및 생산성 향상을 위한 소프트웨어 프로세스 평가
2. 개발기간이 프로세스 개선을 위해서 스스로 평가
3. CMM 단점을 개선한 모델
4. 단계별 프로세스
  LV0 불안정 -> LV1 수행 -> LV2 관리 -> LV3 확립 -> LV4 예측 -> LV5 최적화

참고자료: 이기적 환상콤비 정보처리기사

728x90

'자격증 > 정보처리기사' 카테고리의 다른 글

UML  (0) 2022.06.21
요구사항 정의  (0) 2022.06.21
소프트웨어 개발환경 분석  (0) 2022.06.20
소프트웨어 생명주기 모델  (0) 2022.06.20
소프트웨어 분류와 특성  (0) 2022.06.18