일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 브로커 패턴
- UML 다이어그램
- C++
- 백준
- 데이터베이스
- 아키텍처 패턴
- 마스터 슬레이브 패턴
- 요구사항 확인
- 정보처리기사 실기
- 언리얼엔진 함수
- Unreal Engint4
- 데이터 입출력
- 정보처리기사
- DBMS
- 파이프 필터 패턴
- 기능 모델링
- UML
- 팬아웃
- 정처기
- 메타 데이터
- UnrealEngine
- 알고리즘 문제
- baekjoon
- UnrealEngine5
- 정보 은닉
- 동적 모델링
- 언리얼엔진5
- 단계적 분해
- 요구사항 분석
- 클라이언트 서버 패턴
- Today
- Total
게임 개발자를 향해
XP(eXtreme Programming) 본문
1. XP(eXtreme Programming)
XP는 에자일 모형의 종류 중 하나로 수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법이다.
이건 잡담인데 그럼 Window 시리즈중 WindowXP가 이 모형으로 개발된건가?!
궁금해서 검색했는데 관련 없다고 한다.
머쓱;

<특징>
- 고객의 적극적인 참여를 통해 소프트웨어를 빠르게 개발하는 것을 목적으로 한다.
- 릴리즈의 기간을 짧게 반복하면서 고객의 요구사항 반영에 대한 가시성을 높인다.
<XP의 5가지 핵심가치>
- 의사소통(Communication)
- 단순성(Simplicity)
- 용기(Courage)
- 존중(Respect)
- 피드백(Feedback)
<여기서 Tip!>
이건 외워서 나쁠거 없다. 외우기도 쉽고!
(근데 왜 용기가 필요하지?)
2. XP 개발 프로세스
<XP 개발순서>
[릴리즈 계획 수립] → [이터레이션] → [승인 검사] → [소규모 릴리즈]
이미지 출처 : https://velog.io/@donghoim/정보처리산업기사-13강-XP-기법
프로세스 | 내용 |
릴리즈 계획 수립 (Release Planning) |
- 부분 혹은 전채 개발 완료 시점에 대한 일정을 수립하는 것 - 몇 개의 스토리가 적용되어 부분적으로 기능이 완료된 제품을 제공하는 것을 릴리즈라고 함 |
이터레이션 (Iteration) |
- 실제 개발 작업을 진행하는 과정으로, 보통 1~3주 정도의 기간으로 진행됨 |
승인 검사 (Acceptance Test) |
- 하나의 이터레이션 안에서 부분 완료 제품이 구현되면 수행하는 테스트 |
소규모 릴리즈 (Small Release) |
- 요구사항에 유연하게 대응할 수 있도록 릴리즈의 규모를 축소한 것. |
*이터레이션(Iteration): 정해진 계획을 실행하는것. (진행)
*릴리즈(Release): 몇 개의 요구사항이 적용되어 부분적으로 기능이 완료된 제품을 제공하는 것을 말한다. (출시)
<여기서 Tip!>
정처기는 영어도 외워야 한다고 하는데 이건 한글로도 영어다. 근데 XP 의 개발 순서는 굉장히 쉽다.
키워드 단어가 릴리즈와 이터레이션이니까 키워드로 외우면 된다.
릴리즈 - 이터레이션 - 검사 - Small (소규모 릴리즈)
음..참 보기좋다. 만약 순서나열 문제가 나와도 걱정없겠다.
3. XP의 주요 실천 방법(Practice)
실천 방법 | 내용 |
Pair Programming (짝 프로그래밍) |
- 다른 사람과 함께 프로그래밍을 수행함으로서 개발에 대한 책임을 공동으로 나눠 갖는다. |
Collective Ownership (공동 코드 소유) |
- 개발 코드에 대한 권한과 책임을 공동으로 소유한다. |
Test-Driven Development(테스트 주도 개발) | - 개발자가 실제 코드를 작성하기 전에 테스트 케이스를 먼저 작성하여 무엇을 해야할지 정확히 파악한다. - 테스트가 지속적으로 진행될 수 있게 프레임워크를 사용한다. |
Whole Team (전체 팀) |
- 개발에 참여하는 "모든 구성원"(고객 포함)들은 각자 자신의 역할이 있고 그 역할에 대한 책임을 가져야 한다. |
Continuous Integration (계속적인 통합) |
- 모듈 단위로 나눠서 개발된 코드들은 하나의 작업이 마무리 될 때마다 지속적으로 통합됨 |
Refectoring (리팩토링) |
- 프로그램 기능의 변경없이 시스템을 재구성한다. 그 이유는 프로그램을 쉽게 이해하고 쉽게 수정하여 빠르게 개발할 수 있도록 하기 위함. |
Small Release (소규모 릴리즈) |
릴리즈 기간을 짧게 반복함으로써 고객의 요구 변화에 신속히 대응할 수 있음. |
<여기서 Tip!>
XP 기법으로 소프트웨어를 개발할 시 실천하는 방법이다.
어우.. 방법이 더럽게 많다. 이건 팁 없다. 대신 파란색 글씨로 중요부분 키워드만 골라봤다. 화이팅!
※중요※ 이부분은 "영어"도 무조건 외워야 한다.
'정보처리기사 > 1. 요구사항 확인' 카테고리의 다른 글
요구사항 개발 프로세스 (0) | 2022.08.23 |
---|---|
요구사항 정의 (0) | 2022.08.23 |
현행 시스템파악 및 개발 기술 환경 파악 (0) | 2022.08.23 |
스크럼 기법(Scrum) (0) | 2022.08.23 |
소프트웨어 생명주기(Software Life Cycle) (0) | 2022.08.23 |