Odds and Ends
[정보처리기사 실기 요약] - 1. 요구사항 확인 (ch1.소프트웨어 개발 방법론) 본문
Chap.01 소프트웨어 개발 방법론 (중요도 : ***)
1) 소프트웨어 생명주기 (SDLC): 시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차
2) 소프트웨어 생명주기 모델 종류
- 폭포수 모델 : 가장 오래된 모델, 각 단계 마무리 후 다음단계
- 프로토타이핑 모델 : 주요기능 프로토타입으로 먼저 구현하고, 고객의 피드백 반영해 개발한다는 장점!
- 나선형 모델 : 위험 최소화! 점진적으로 개발
- 반복적 모델 : 구축대상 나눠 병렬적으로 개발 후 통합, 반복적으로 개발
3) 소프트웨어 개발방법론 : 소프트웨어 개발 시작부터 시스템 사용하지 않는 과정까지 전 과정을 형상화한 방법론
4) 소프트웨어 개발방법론 종류
- 구조적 방법론 : 기능따라 나눠 개발 후 통합 ex. 나씨-슈나이더만 차트, 논리기술에 중점을 둔 도형식 표현법
- 정보공학 방법론 : 정보시스템 개발에 필요한 관리절차, 작업기법 체계화
- 객체지향 방법론 : '객체'를 기본 단위로 시스템 분석 및 설계
- 컴포넌트 기반 방법론 (CBD) : 컴포넌트 조립해 하나의 새로운 응용프로그램 작성
- 애자일 방법론 : 절차 x, 사람 중심! 변화에 유연하고 신속하게 적응. 효율적
- 제품계열 방법론 : 특정제품에 적용하고싶은 공통 기능을 정의해 개발. 임베디드 S/W 작성에 유용
5) 애자일(Agile) 방법론 유형
- XP(eXtreme Programming): 의사소통 개선과 즉각적 피드백. (XP 5가지 가치 : 용기, 단순성, 의사소통, 피드백, 존중)
- 스크럼(Scrum) : 매일 정해진 시간/장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론
- 린(Lean) : 도요타의 린 시스템 품질기법을 적용해 낭비 요소를 제거하여 품질을 향상시킨 방법론
- + Lean의 7가지 가치 : 낭비 제거, 품질 내재화, 지식 창출, 늦은 확정, 빠른 인도, 사람 존중, 전체 최적화
6) 객체 지향 분석(OOA) : 요구사항 분석해 요구된 문제와 관련된 모든 클래스(객체), 속성과 연산, 관계 정의
7) 객체 지향 분석 방법론 종류
- OOSE(Object Oriented Software Engineering) : 유스케이스를 모든 모델의 근간으로 활용, 야콥슨 만듦
- OMT(Object Modeling Technology) : 그래픽 표기법을 이용해 소프트웨어 구성요소를 모델링, 럼바우 만듦
- >> 분석 절차 : 객체 모델링 > 동적 모델링 > 기능 모델링
- >> 객체 모델링 : 객체들 간의 관계를 정의하여 ER 다이어그램을 만드는 과정까지의 모델링, 객체 다이어그램 활용
- >> 동적 모델링 : 시간의 흐름에 따라 객체들의 동적인 행위 표현, 상태 다이어그램 활용
- >> 기능 모델링 : 프로세스들의 자료 흐름을 중심으로 처리 과정 표현하는 모델링, 자료 흐름도(DFD) 활용
8) 비용산정 모형 분류
(1) 하향식 산정 방법 : 전문가에게 의뢰
- 전문가 판단
- 델파이 기법 : 전문가의 경험적 지식을 통한 문제 해결/예측
(2) 상향식 산정 방법 : 세부 요구사항과 기능에 따라 필요한 비용 산정
- 코드 라인 수 (LOC: Lines of Code): 원시 코드 라인수의 낙관치,중간치,비관치 측정해 예측치 구해 비용산정
- Man Month : 한 사람이 1개월 동안 할 수 있는 양을 기준으로 비용 산정 ex.2명이 100으로 참여해서 한달 일하면 2MM
- COCOMO 모형 : 보헴이 제안한 모형, 규모 따라 비용산정 (조직형-5만라인이하, 반분리형-30만라인 이하, 임베디드형-30만 이상)
- 푸트남(Putnam) 모형 : 개발주기의 단계별로 인력 분포를 가정, 개발 기간이 늘수록 노력 감소 (Rayleigh-Norden 곡선 노력분포도)
- 기능점수(FP) 모형 : 소프트웨어 기능을 증대시키는 요인별로 가중치를 부여하여 비용산정
9) 비용 산정 자동화 추정 도구
- SLIM : Rayleigh-Norden 곡선과 Putnam 예측모델을 기초로 하여 개발된 자동화 추정 도구
- ESTIMACS : 다양한 프로젝트와 개인별 요소를 수용하도록 FP 모형을 기초로 하여 개발된 자동화 추정도구
10) 일정관리 모델 : 프로젝트가 일정 기한내에 완료될 수 있도록 관리
- 주공정법(CPM) : 여러 작업의 수행순서가 얽혀있는 프로젝트의 일정을 계산하는 기법
- ** 주공정(Critical Path:임계경로): 프로젝트 시작-종료까지 가장 긴시간이 걸리는 경로
- PERT : 일의 순서를 계획적으로 정리하기 위한 수렴 기법. 비관치/중간치/낙관치 이용
- 중요 연쇄 프로젝트 관리(CCPM) : 주 공정 연쇄법으로 자원제약사항을 고려해 일정 작성
728x90