라이프 사이클 소프트웨어

 1. 소프트웨어 생명 사이클(Software Life Cycle) 소프트웨어 개발방법론의 기초가 된다.소프트웨어 개발을 위한 정의, 운용, 보수 등 각 프로세스를 단계별로 나눈 것

– 소프트웨어 개발 단계, 각 단계별 주요 활동, 활동 결과에 대한 산출물-소프트웨어 생명 주기를 표현하는 형태→소프트웨어 생명 주기 모형, 프로세스 모형, 공학 패러다임

2 . 滝 の 模型 ( Waterfal Model )

– 소프트웨어 공학에서 가장 오래되고 가장 폭넓게 사용된 전통적인 소프트웨어 생명 주기 모형 고전적 생명 주기 모형이라고도 한다 – 개발 과정의 한 단계가 끝나고 나서 다음 단계로 넘어갈 수 있는 순차 모형 – 제품의 일부가 되는 매뉴얼을 작성해야 한다 – 각 단계가 끝난 후 다음 단계를 수행하기 위한 결과물이 명확하게 산출되어야 한다 – 2개 이상의

타당성 검토→계획→요구 분석→설계→실장(코딩)→시험(검사)→유지보수

3. 프로토타입 모델(Prototype Model, 원형 모델) 사용자의 요구사항을 정확히 파악하기 위해 실제 개발될 소프트웨어 견본을 작성하여 최종 결과를 예측

– 시제품은 사용자와 시스템 사이의 인터페이스에 중점을 두고 개발한다 – 시스템의 일부 또는 시스템 모형을 만드는 과정에서 요구된 소프트웨어를 구성하는데, 이는 추후 구현 단계에서 사용되는 골격 코드가 된다 – 소프트웨어 개발이 완료된 시점에서 에러가 발견되는 폭포 수 모형의 단점을 보완하기 위해 나온다.

4. 나선형 모형(Spiral Model, 점진적 모형) 보헴이 제안, 폭포수, 프로토타입 모형의 장점에 리스크 분석 기능을 추가한 모형이다.

– 나선돌듯 여러차례 SW개발과정을 거쳐 점진적으로 완벽한 최종 SW개발을 할것, 점진적 모델이라고도 함 – SW개발시 발생위험을 관리, 최소화를 목적으로 함 – 점진적인 개발과정이 반복되어 누락, 추가된 요구사항을 추가하여 정밀하여 유지보수 과정이 불필요함

5. 아자일 모형(Agile Model) 민첩, 민첩, 민첩하다는 의미의 고객 니즈 변화에 유연하게 대응할 수 있도록 일정 주기 반복 개발 과정 실시

– 어떤 특정한 개발 방법론이 아닌 좋은 것을 빠르게 낭비가 없도록 하기 위해 고객과의 커뮤니케이션에 초점을 맞춘 방법론 통칭 – 스프린트(Sprint), 에터레이션(Interation)인 짧은 개발 주기를 반복하여 결과물에 대한 고객의 평가, 요구 적극 수용 – 각 개발 주기마다 고객이 요구사항의 우선순위를 부여하여 개발 작업을 진행 – 스크럼(Scrum),