CS
소프트웨어 생명주기
beubeu95
2024. 1. 26. 19:55
소프트웨어 공학
- 소프트웨어 공학은 소프트웨어의 위기를 극복하기 위한 방안으로 연구된 학문
- 기본원칙
- 현대적인 프로그래밍 기술을 지속적으로 적용해야 한다.
- 개발된 소프트웨어의 품질이 지속적으로 유지되도록 검증해야 한다.
- 소프트웨어 개발 관련 사항 및 결과에 대한 명확한 기록을 유지해야 한다.
소프트웨어 생명주기
- 소프트웨어 개발 방법론의 바탕이 되는 것
- 소프트웨어를 개발하기위해 정의/운용/유지보수 등의 과정을 각 단계별로 나눈 것
- 폭포수 모형 , 프로토타입 모형, 나선형 모형, 애자일 모형이 주로 사용된다.
폭포수 모형
- 고전적 생명 주기 모형 → 가장 오래되고 폭넓게 사용된 전통적인 소프트웨어 생명주기 모형
- 선형 순차적 모형 : 한 단계가 끝나야만 다음 단계로 넘어갈 수 있다.
- 결과물이 명확하게 산출되어야 한다. + 매뉴얼 있어야함
- 타당성 검토 → 계획 → 요구분석 → 설계 → 구현 → 시험 → 유지보수
프로토타입 모형(원형 모형)
- 사용자의 요구사항을 파악 위해 실제 개발될 소프트웨어 견본을 만들어 최종 결과물 예측
- 요구수집 → 빠른 설계 → 프로토타입 구축 → 고객평가 → 프로토타입 조정 → 구현 (반복)
나선형 모형(점진적 모형)
- 보헴이 제안 / 폭포수 모형과 프로토타입 모형의 장점에 위험 분석 기능 추가한 모형
- 위험 관리 최소화를 목적으로 한다.
- 계획 수립 → 위험 분석 → 개발 및 검증 → 고객 평가 (반복)
애자일 모형
- 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기 반복
- 짧은 개발주기(스프린트 or 이터레이션) 반복
- 애자일 핵심가치
- 개인과 상호작용에 더 가치 ( 프로세스 및 도구보다)
- 문서보다는 실행되는 SW에 더 가치
- 계약 협상보다 고객과 협엽에 더 가치
- 계획보다 변화에 더 가치