[정치기] 용어 정리 - 소프트웨어 모델, 방법론 ,XP 정리
소프트웨어 생명주기 모델 (SDLC) : 시스템 요구분석부터 유지보수까지 전 과정을 체계화한 절차
폭포수 모델 : 소프트웨어 개발 시 각 단게를 확실히 마무리 지은 후에 다음 단계로 넘어가는 모델
프로토타이핑 모델 : 고객이 요구한 주요 기능을 프로토타입으로 구현하여, 고객의 피드백을 반영하여 소프트웨어를 만들어가는 모델
나선형 모델 : 시스템 개발 시 위험을 최소화하기 위해 점진적으로 완벽한 시스템으로 개발해 나가는 모델
반복적 모델 : 구축 대상을 나누어 병렬적으로 개발 후 통합하거나, 반복적으로 개발하여 점증 완성시키는 SDLC 모델
소프트웨어 개발방법론 : 소프트웨어를 하나의 생명체로 간주하고 소프트웨어 개발의 시작부터 시스템을 사용하지 않는 과정까지의 전 과정을 형상화한 방법론
구조적 방법론 : 전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합하는 분할과 정복 접근 방식의 방법론, 대표적으로 나씨-슈나이더만 차트 사용
나씨-슈나이더만 차트 : 논리의 기술에 중점을 둔 도형식 표현 방법
정보공학 방법론 : 정보시스템 개발에 필요한 관리 절차와 작업 기반을 체계화한 방법론
객체지향 방법론 : '객체'라는 기본 단위로 시스템을 분석 및 설게하는 방법론
컴포넌트 기반 방법론 : 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 응용 프로그램을 작성하는 방법론
애자일 방법론 : 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발방법론
제품 계열 방법론 : 특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론
XP : 의사소통 개선과 즉각적 피드백으로 소프트웨어 품질을 높이기 위한 방법론
XP의 5가지 가치 : 피드백(Feedback), 존중(Respect), 용기(Courage), 단순성(Simply), 의사소통 (Communication)
XP의 12가지 원리 :
- 짝 프로그래밍 : 다른 사람과 함께 수행
- 공동 코드 소유 : 권한과 책임을 공동으로 소유
- 지속적인 통합 : 하나의 작업이 마무리될 때마다 지속적으로 통합
- 계획 세우기
- 작은 릴리즈
- 메타포어
- 간단한 디자인
- 테스트 기반 개발
- 리팩토링 : 소프트웨어 모듈의 외부적 기능은 수정하지 않고 내부적인 구조, 관계등을 간순화하여 소프트웨어의 유지보수성을 향상시키는 기법
- 40시간 작업
- 고객 상주
- 코드 표준