01. 소프트웨어 개발 방법론
: 시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차.
: 요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 유지보수
: 소프트웨어 개발 전 과정에 지속적으로 적용 가능한 방법, 절차, 기법
구조적 방법론
정보공학 방법론
객체지향 방법론
컴포넌트 기반 방법론
애자일 방법론
제품 계열 방법론
등장배경 : 소프트웨어 개발 환경의 변화 & 기존 개발방법론의 한계
유형
용기, 단순성, 의사소통, 피드백, 존중
짝프로그래밍
: 개발자 둘이서 짝코딩공동 코드 소유
: 누구든 언제라도 수정 가능지속적인 통합
: 매일 여러 번씩 소프트웨어를 통합하고 빌드작은 릴리즈
: 작은 시스템을 먼저 만들고 짧은 단위로 업데이트메타포어
: 공통적인 이름 체계와 시스템 서술서를 통해 고객과 개발자간 의사소통 원활히 함리팩토링
: 프로그램의 기능을 바꾸지 않으면서 중복제거, 단순화 등을 위해 시스템 재구성계획 세우기
간단한 디자인
테스트 기반 개발
40시간 작업
고객 상주
코드 표준
백로그
: 요구사항스프린트
: 2~4주의 짧은 개발 기간으로 반복적 수행을 통해 개발품질 향상스크럼 미팅
: 매일 15분 정도 미팅 (= 데일리 미팅)스크럼 마스터
: 프로젝트 리더스프린트 회고
번다운 차트
낭비제거, 품질 내재화, 지식 창출, 늦은 확정, 빠른 인도, 사람 존중, 전체 최적화
애자일과 전통적 방법론 비교
비교대상 | 애자일 방법론 | 전통적 방법론 |
---|---|---|
계획수립 | 유동적 | 확정적 |
업무수행 | 팀 중심 | 개인 단위 |
개발/검증 | 반복 주기 단위 | 분설구테 순차적으로 수행 |
팀관리 | 팀평가 | 경쟁, 개별평가 |
문서화 | 문서보다 코드강조 | 상세한 문서화 강조 |
성공요소 | 고객 가치 전달 | 계획/일정 준수 |
유형 | XP,SCRUM,LEAN | 폭포수, 프로토타입, 나선형 |
: 소프트웨어 규모파악을 통한 투입자원, 소요시간 파악하여 실행 가능한 계획을 수립하기 위해 비용을 산정하는 방식
LoC 모형
: 각 기능의 원시 코드 라인 수의 낙관치, 중간치, 비관치를 측정하여 예측치를 구하여 비용산정
Man Month 모형
: 한 사람이 1개월 동안 할 수 있는 일의 양을 기준으로 프로젝트 비용 산정
COCOMO 모형
: 보헴이 제안한 모영, 프로그램 규모에 따라 비용 산정
개발 유형
푸트남 모형
기능점수 모형