📘1 -1단원 : 요구사항 확인 - 소프트웨어 개발방법론
요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 유지보수
🐥 요설구테유
폭포수 모델
: 단계를 확실히 마무리 지은 후 다음 단계로 넘어가는 모델
👉🏻 가장 오래된 모델
👉🏻 고전적 생명주기 모형, 요구사항 변경이 어렵고 성공 사례가 많음
프로토타이핑 모델
: 고객이 요구한 주요 기능을 프로토타입으로 만들어 개발
👉🏻 구현 단계의 구현 골격
나선형 모델
: 위험을 최소화하기 위해 점진적으로 완벽한 시스템 개발
👉🏻 계획 및 정의 -> 위험 분석 -> 개발 -> 고객 평가
반복적 모델
: 구축단계를 나누어 반복적으로 개발하여 완성시키는 모델
🐥 폭프나반
구조적 방법론
: 전체 시스템을 기능에 따라 나누고 분할과 정복 접근 방식의 방법론
👉🏻 하향식 방법론
👉🏻 나씨-슈나이더만 차트 사용
정보공학 방법론
: 정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론
객체지향 방법론
: 복잡한 현실 세계를 사람이 이해하는 방식으로 시스템에 적용하는 방법론
컴포넌트 기반 방법론
: 컴포넌트를 조립해서 하나의 새로운 응용 프로그램을 작성하는 방법론
👉🏻 개발 기간 단축으로 인한 생산성 향상
👉🏻 새로운 기능 추가가 쉬움 (확장성)
👉🏻 소프트웨어 재사용 가능
애자일 방법론
: 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하며 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발 방법론
👉🏻 개발 기간이 짧고 신속하며, 폭포수 모형에 대비되는 방법론으로 개발과 함께 즉시 피드백을 받아서 유동적으로 개발 가능
🐥 용단의 피존
린
: 도요타의 린 시스템을 소프트웨어 개발 프로세스에 적용해서 낭비 요소를 제거하여 품질을 향상시킨 방법론
스크럼
: 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론
👉🏻 백로그 : 제품과 프로젝트에 대한 요구사항
👉🏻 스프린트 : 2~4주의 짧은 개발 기간으로 반복적 수행으로 개발품질 향상
👉🏻 스크럼 미팅 : 매일 15분 정도 미팅으로 데일리 미팅이라고도 함
👉🏻 스크럼 마스터 : 프로젝트 리더, 스크럼 수행 시 문제를 인지 및 해결하는 사람
👉🏻 스프린트 회고 : 스프린트 주기를 되돌아보며 정해놓은 규칙 준수 여부, 개선점 등을 확인 및 기록
하향식 산정 방법
: 전문가 판단, 델파이 기법
상향식 산정 방법
: 코드 라인 수(Loc), Man Month, COCOMO 모형, 푸트남 모형, 기능점수(FP) 모형
코드 라인 수(Loc)
: 낙관치, 중간치, 비관치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 방식
Man Month 모형
: 한 사람이 1개월 동안 할 수 있는 일의 양을 기준으로 프로젝트 비용을 산정하는 방식
COCOMO 모형
: 보헴이 제안한 모형으로 프로그램 규모에 따라 비용을 산정하는 방식
: 비용산정 결과는 Man Month로 산정한다.
👉🏻 조직형과 반 분리형, 임베디드형으로 나뉜다.
푸트남 모형
: 소프트웨어 개발주기의 단계별로 요구할 인력의 분포를 가정하는 방식
👉🏻 생명주기 예측 모형이라고 한다.
👉🏻 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 한다.
기능점수(FP) 모형
: 인자별로 가중치를 부여하고, 가중치를 합산하여 총 기능의 점수를 계산하는 방식
주 공정법
: 여러 작업의 수행 순서가 얽혀 있는 프로젝트의 일정을 계산하는 기법
PERT
: 일의 순서를 계획적으로 처리하기 위해 비관치, 중간치, 낙관치를 통해 일정을 관리하는 기법
CCPM
: 주 공정 연쇄법으로 자원제약사항을 고려하여 일정을 작성하는 기법