1. 소프트웨어 생명 주기
* 소프트웨어 생명 주기는 소프트웨어를 개발하기 위한 설계, 운용, 유지보수 등의 과정을 각 단계별로 나눈 것이다.
* 소프트웨어 생명 주기는 소프트웨어 개발 단계와 각 단계별 주요 활동 그리고 활동의 결과에 대한 산출물로 표현한다.
- 대표적인 생명 주기 모형
(폭포수 모형 , 프로토타입 모형 , 나선형 모형 , 애자일 모형)
2. 폭포수 모형(Waterfal Model)
* 폭포수 모형은 이전 단계로 돌아갈 수 없다는 전제 하에 각 단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인 과정을 거친 후 다음 단계를 진행하는 개발 방법론이다.
* 가장 오래되고 폭넓게 사용된 전통적인 생명주기 모형이다, 고전적 생명 주기 모형이라고도 한다.
* 모형을 적용한 경험과 성공 사례가 많다. 각 단계가 끝난 후 다음 단계를 수행하기 위한 결과물이 명확하게 산출되어야 한다.
3. 프로토타입 모형(Prototype Model, 원형 모형)
* 프로토타입 모형은 사용자의 요구사항을 파악하기 위해 실제 개발될 소프트웨어에 대한 견본품(Prototype)을 만들어 최종 결과물을 예측하는 모형이다.
* 견본품은 사용자와 시스템 사이의 인터페이스에 중점을 두어 개발한다.
4. 나선형 모델 (Spiral Model, 점진적 모형)
* 나선형 모델은 나선을 따라 돌듯이 여러번의 소프트웨어 개발 과정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발하는 모형이다. 보헴(Bohem) 이 제안하였다.
* 폭포수 모형과 프로토타입 모형의 장점에 위험 분석 기능을 추가한 모형이다.
* 누락되거나 추가된 요구사항을 첨가할 수 있다.
* 유지보수 과정이 필요없다.
/* 4가지 주요 활동 */
계획 수립 => 위험 분석 => 개발 및 검증 => 고객 평가 => 계획 수립 ...
( 계 분 개 평 , 계획 ==> 분석 ==> 개발 ==> 평가)
5. 애자일 모형 (Agile Model)
* 애자일 은 민첩한 , 기민한 이라는 의미로 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발하는 모형이다. 어느 특정 개발 방법론이 아니라 좋은 것을 빠르고 낭비 없게 만들기 위해 고객과의 소통에 초점을 맞춘 방법론을 통칭한다.
* 폭포수 모형과 대조적이다. (!)
* 기업활동 전반에 걸쳐 사용된다.
@ 대표적인 애자일 개발 모형 (!)
- 스크럼 (Scrum)
- XP(eXtream Programming)
- 칸반(Kanban)
- Lean
- 기능 중심 개발(FDD : Feature Driven Development)
6. 애자일 모형 개발의 4가지 핵심 가치
* 프로세스와 도구보다는 개인과 상호작용에 더 가치를 둔다
* 방대한 문서보다는 실행되는 SW 에 더 가치를 둔다
* 계약 협상보다는 고객과 협업에 더 가치를 둔다.
* 계획을 따르기 보다는 변화에 반응하는 것에 더 가치를 둔다.
7. 소프트웨어 공학
* 소프트웨어 공학 (SE : Software Engeneering) 은 소프트웨어의 위기를 극복하기 위한 방안으로 연구된 학문이다.
* 여러 가지 방법론과 도구, 관리 기법들을 통하여 소프트웨어의 품질과 생산성 향상을 목적으로 한다.
* 소프트웨어 공학의 기본 원칙
- 현대적인 프로그래밍 기술을 계속적으로 적용해야 한다.
- 개발된 소프트웨어의 품질이 유지되도록 지속적으로 검증해야 한다.
- 소프트웨어 개발 관련 사항 및 결과에 대한 명확한 기록을 유지해야 한다.
'정보처리기사 - 실기' 카테고리의 다른 글
요구사항 확인 - 4. 개발 기술 환경 파악 (0) | 2024.09.26 |
---|---|
요구사항 확인 - 3 XP(eXtream Programing) (0) | 2024.09.05 |
요구사항 확인 -2 스크럼 기법 (0) | 2024.09.05 |
오답노트 (0) | 2024.09.05 |
정보처리기사 실기 (0) | 2024.09.05 |