소개글
1. 전통적인 소프트웨어 라이프사이클인 폭포수 모델에 대해서 조사하시오.2. 소프트웨어 공학 방법론에 대해서 비교 분석하시오
결론은 주관적인 내용이 들어 있어 삭제했습니다.
목차
Ⅰ. 서론Ⅱ. 본론
1. 소프트웨어 라이프 사이클(Software Life Cycle)
1.1폭포수 모델(Waterfall Model)
2. 소프트웨어 공학 방법론
2.1 폭포수 모델(Waterfall Model)
2.1.1 폭포수 개발 단계
2.1.1.1 계획 단계
2.1.1.2 요구 분석 단계
2.1.1.3 설계 단계
2.1.1.3.1 상위 설계
2.1.1.3.2 하위 설계
2.1.1.4 구현 단계
2.1.1.5 테스트 단계
2.1.1.6 유지보수 단계
2.2. 프로토타입 모델(Prototyping model)
2.2.1 프로토타입 모델의 단계
2.3 나선형 모델(Spiral Model)
2.3.1 나선형 모델의 개발 절차
2.3.1.1 계획 및 요구 분석(planning and requirement analysis) 단계
2.3.1.2 위험 분석(risk analysis) 단계
2.3.1.3 개발(engineering) 단계
2.3.1.4 사용자 평가(users evaluation) 단계
2.4 단계적 개발 모델 (phased development)
2.4.1 점증적 개발 방법(Incremental Development)
2.4.2 반복적 개발 방법(Iterative Development)
2.4.2.1 증분형 개발 모델
2.4.2.2 진화형 개발 모델
2.5 오픈 소스 개발 (Open-source Development)
2.6 애자일 방법론 (Agile Method)
2.6.1 익스트림 프로그래밍(XP)
2.6.2 스크럼(Scrum).
본문내용
서론소프트웨어공학은 소프트웨어의 품질을 보다 향상시키고, 소프트웨어 생산성과 작업 만족도를 증대시키는 것에 목적을 둔다. 이러한 궁극적인 목표는 최소의 비용으로 계획된 일정보다 가능한 빠른 시일 내에 소프트웨어를 개발하는 것이다. 하지만 대부분의 프로젝트에서 소프트웨어의 개발 일정과 소요 비용을 예측하는 것은 항상 부정확한 실정이다. 또한 처음 개발하는 비용보다도 유지 보수하는 비용이 훨씬 크다. 그렇기 때문에 유지 보수에 대한 비용을 줄이려면 처음 설계할 때부터 체계적으로 진행해야 하는 것이 중요하다. 이러한 이유로 소프트웨어 공학 분야에서는 프로그램의 개발 방법론이나 설계 방법론, 개발 도구와 같은 소프트웨어 개발 환경들을 연구하고 있다. 본문에서는 소프트웨어 개발 방법론 중 가장 전통적인 라이프 사이클인 폭포수 모델을 자세히 서술하고, 여러 소프트웨어 공학 방법론들의 종류 및 특징을 통해 비교 분석을 할 것이다.
본론
1. 소프트웨어 라이프 사이클(Software Life Cycle)
소프트웨어 개발에는 기본적으로 요구분석으로 시작하여 설계와 구현, 테스트를 거쳐 설치를 하게 되고 계속적인 유지보수를 진행하게 된다. 개발된 소프트웨어는 계속적으로 변경이 되고, 새로운 기능이 추가되어 쓰이다가 그 기능을 다하면 소멸되는 것이다. 이렇게 소프트웨어는 단계적으로 진행이 되기 때문에 다른 시각에서는 생명이 있다고 본다. 소프트웨어가 자라나고 있는 단계들을 소프트웨어 생명 주기 즉, 소프트웨어 라이프 사이클이라고 한다.
1.1 폭포수 모델(Waterfall Model)
폭포수 모델은 소프트웨어 개발을 할 때 널리 사용되는 전통적인 소프트웨어 라이프 사이클 모델이다. 폭포수라는 명칭은 소프트웨어 라이프 사이클에 기반하고 있는 소프트웨어 개발 기법으로 한 번 떨어지면 거슬러 올라갈 수 없는 폭포수와 같이 소프트웨어 개발도 각 단계를 확실히 매듭짓고 다음 단계로 넘어간다는 의미에서 붙여졌다. 이에 대한 자세한 내용은 본론 2.1에서 기술할 것이다.
참고 자료
최 윤철, ICT융합시대의 컴퓨터 과학, 생능 출판사김 치수, 쉽게 배우는 소프트웨어 공학, 한빛아카데이(주)
http://retilog.tistory.com/19
양 단희, 소프트웨어 개발방법론의 패러다임 전환, 한국인터넷정보학회논문지 제15권 제2호
기 우일, 소프트웨어 개발 방법론 비교 분석에 관한 연구, 연세대학교 산업대학원 전자계산 전공
윤 석찬, 오픈소스 개발방법론, 제주대학교 컴퓨터 전공
송 위진, 한국형 오픈 소스 소프트웨어기술개발 전략, 과학기술정책연구원