[1과목]소프트웨어 생명 주기 : 요구 사항 확인
1. 폭포수 모델 (Waterfall Model)
1-1. 각 단계 별 확실하게 매듭지어 끝냄
1-2. 2개 이상 과정을 병행하지 않음
1-3. 메뉴얼 필수
타당성 검토 - 계획 - 요구 분석 - 설계 - 구현 (코딩) - 시험 (검사) - 유지보수
2. 프로토타입 모델 (protoType model)
2-1. 인터페이스 중심의 개발
2-2. 폭포수 모형의 단점 보완
2-3. 디자인 및 마감처리보단 최대한 기능 우선
2-4. 요구사항이 불분명할 때 -> 요구사항의 정확한 파악이 필요할 때 사용
3. 나선형 모델 ( Spiral Model)
3-1. 계획 - 분석 - 개발 -평가 (반복)
3-2. 여러번의 개발 과정
3-3. 점진적 개발로 정밀성, 유지보수 불필요
3-4. 위험관리 , 최소화
3-5. 대규모 시스템에 적합
2. 애자일 개발
폭포수 vs 애자일 개발
구분 | 폭포수 | 애자일 |
새로운 요구사항 | 어려움 | 지속적 |
고객 의사소통 | 적음 | 지속적 |
테스트 | 마지막 | 지속적 |
개발 중심 | 계획, 문서 | 고객중심 |
애자일 개발
1. 절자 -> 상호작용
2. 문서 -> 소프트웨어 중심
3. 계약 -> 협업 중심
4. 계획 -> 변화에 반응
1. 스크럼 기법
: 팀 중심, 제품 책임자 (PO) , 스크럼 마스터 (SM) , 개발팀으로 구성
* 개발팀 : 디자이너, 테스터 모두 포함
▶︎ 제품 책임자 (PO) : 의사 결정자, 백로그 우선 순위 지정
▶︎ 스크럼 마스터 (SM) : 일일 회의 주관, 개발 가이드
▶︎ 개발 팀 : 개발자 뿐만 아니라 디자이너 테스터 등 모두 포함
1-1. 프로세스
백로그 : 요구사항을 우선 순위에 따라 모아놓은 기록
▼ 계획 회의 : 스프린트 일정 수립, 개발자 별로 스프린트 백로그 작성
▼ 스프린트 진행 : 할 일, 진행 중, 완료
▼ 일일 회의 : 스크럼 마스터 주도, 소멸차트 활용
▼ 검토 회의 : 주별, 제품 책임자 주도 (PO) 주도 , 백로그 업데이트
회고 : 지난 일정 되돌아보기, 개선점 찾기
2. XP기법 (Extreme Programming) 기법
: 고객과 소통을 끌어 올려 개발
▶︎ 개발 주기 짧음
▶︎ 고객의 적극적 참여
▶︎ 가시성 향상
▶︎ 소규모 개발
▶︎ 핵심가치 : 피존용단소 - 피드백, 존중 ,용기 , 단순화 , 의사소통
▶︎ 짝 프로그래밍 (pair Programming) , 테스트 주도 개발 (TDD) , 전체 팀 (Whole Team) , 계속적 통합 (CI)
2-1. 프로세스
▶︎ 사용자 스토리 : 고객의 요구사항
▶︎ 릴리즈 계획 수립 : 부분과 전체 일정 개발 수립
▶︎ 스파이크 : 기술 및 기능 확인을 위해 간단히 만든 프로그래밍 ( 테스트용)
▶︎ 이터레이션 : 릴리즈를 좀 더 세분화 한 단위
▶︎ 승인 검사 : 부분 소프트웨어를 릴리즈 후 직접 평가
▶︎ 소규모 릴리즈 : 릴리즈 별 고객의 피드백 확인