소프트웨어 생명 주기 |
소프트웨어 생명 주기 [Life Cycle]
폭포수 모델 [Waterfall]
▶▶ 폭포수 모형 진행과정 ▶▶ | ||||||
타당성 검토 | 계획 | 요구분석 | 설계 | 구현 | 시험 | 유지보수 |
프로토타입 모델
▶▶ 프로토타입 모형 진행 과정 ▶▶ | |||||
요구사항 수집 | 빠른 설계 | 프로토타입 구축 | 고객 평가 | 프로토타입 조정 | 구현 |
◀◀ 구현 이후, 고객의 피드백을 받은 다음 다시 1번 단계인 요구사항 수집단계로 돌아간다 ◀◀ |
나선형 모델
▶▶ 나선형 모델 ▶▶ | |||
계획 및 정의 | 위험 분석 | 공학적 개발 | 고객 평가 |
◀◀ 고객 평가를 바탕으로 다시 1번 단계인 계획 및 정의 단계로 돌아간다 ◀◀ |
애자일 모델
애자일 모델 기법 설명 1 - 스크럼 | ||
스크럼 개요 | - 팀이 중심이 되어 개발 효율성을 높임 - 팀원 스스로 팀을 구성하고 개발에 대한 모든것을 스스로 해결할 수 있어야 함 |
스크럼 구성요소
제품 책임자 | - 개발될 제품에 대한 이해도가 높고 요구사항을 책임짐 (의사결정자) - 개발의뢰자나 사용자가 담당함 - 이해관계자들의 의견을 종합하여 제품에 대한 요구사항 작성 - 백로그 작성 - 팀원들이 백로그에 스토리를 추가하면 제품 책임자는 우선순위를 지정함 - 테스트를 수행하면서 주기적으로 요구사항의 우선순위 갱신 |
|
스크럼 마스터 | - 팀이 잘 수행할 수 있도록 객관적인 시각에서 조언함 (가이드 역할) - 일일 스크럼 회의 주관 (진행사항 점검, 개발시 장애요소 공론화 및 처리) |
|
개발팀 | - 제품 개발에 참여하는 모든 인원 (개발자, 디자이너, 테스터 등) - 보통 최대인원은 7~8명이 적당함 |
스크럼 개발 프로세스
제품 백로그 (Product Backlog) |
- 개발에 필요한 요구사항을 우선순위에 따라 나열한 목록 - 새롭게 도출되는 요구사항에 따라 지속적인 업데이트 - 작성된 사용자 스토리를 기반으로 릴리즈 계획 수립 |
|
스프린트 계획 회의 (Sprint Planning Meeting) |
- 스프린트에서 수행할 작업을 대상으로 단기 일정 수입 - 요구사항을 '태스크'라는 작업단위로 나누어 개발자들이 작업할 수 있도록 구분한 다음, 스프린트 백로그 작성 |
|
스프린트 (Sprint) |
- 실제 개발 작업 수행 과정 - 태스크의 작업 시간/업무량을 산정한 후 개발 담당자에게 할당 - 개발자가 원하는 태스크를 직접 고를 수 있도록 하는 것이 좋음 - 할당된 태스크의 상태값 : 할일, 진행중, 완료 |
|
일일 스크럼 회의 (Daily Scrum Meeting) |
- 모든 팀원이 매일 약속된 시간에 진행상황 점검 (짧은 회의시간) - 스크럼 마스터는 발견된 장애 요소를 해결할 수 있도록 도와줌 - 남은 작업 시간은 소멸 차트에 표시 |
|
스프린트 검토 회의 (Sprint Review) |
- 부분 or 완성된 제품이 요구사항에 부합하는지 확인하는 절차 - 사용자가 포함된 상태로 테스트 수행 |
|
스프린트 회고 (Srpint Retrospective) |
- 스프린트가 완료된 후 리뷰/점검하는 절차 - 정해놓은 규칙을 잘 준수했는지, 개선사항은 없는지 등 점검 |
애자일 모델 기법 설명 2 - XP | ||
XP 개요 (eXtrem Programming) |
- 목적1 : 수시로 발생하는 고객 요구사항에 유연하게 대응 - 목적2 : 고객 참여와 개발 과정 반복을 극대화 > 개발 생산성 향상 - 릴리즈 기간을 짧게 반복하면서 요구사항 반영에 대한 가시성이 높음 - XP의 5가지 핵심 가치 : 의사소통, 단순성, 용기, 존중, 피드백 |
XP 개발 프로세스
사용자 스토리 (User Story) |
- 고객 요구사항을 간단한 시나리오로 표현 | |
배포 계획 수립 (Realsase Planning) |
- 여러 스토리가 개발되어 부분적으로 기능이 완료된 제품을 배포하는 것에 대한 계획 수립 | |
스파이크 (Spike) |
- 요구사항의 신뢰성을 높이고 기술문제의 위험을 감소시키기 위해 별도로 만드는 프로그램 | |
이터레이션 (Iteration) |
- 하나의 배포를 세분화한 단위 | |
승인검사 (Acceptance Tests) |
- 하나의 이터레이션 안에서 계획된 배포 단위의 개발이 완료되면 수행하는 테스트 (배포 전 검사) - 사용자 스토리 작성시 함께 기재한 테스트 사항에 대해서 고객이 직접 수행 |
|
소규모 배포 (Small Release) |
- 테스트에 대한 고객의 반응을 기능별로 확인하고 고객 요구사항에 유연하게 대응 - 진행된 이터레이션이 모두 완료되면, 고객의 최종 테스트 수행 후 최종결과물을 고객에게 전달 |
XP의 주요 실천 방법
2. 화면설계 [사용자 인터페이스] (0) | 2020.08.05 |
---|---|
1. 요구사항 확인 [UML] (0) | 2020.07.30 |
1. 요구사항 확인 [요구사항 분석 단계] (0) | 2020.07.29 |