소프트웨어 개발 수명 주기(SDLC)는 초기 타당성 조사부터 완성된 애플리케이션의 유지 관리까지 정보 시스템 개발 프로젝트에 포함되는 단계를 정의하는 프로젝트 관리에 사용되는 영적인 모델입니다.
소프트웨어 개발 단계에서 따르는 다양한 소프트웨어 개발 라이프사이클 모델이 지정되고 설계됩니다. 이 모델은 ' 소프트웨어 개발 프로세스 모델 .' 각 프로세스 모델은 소프트웨어 개발 단계의 성공을 보장하기 위해 해당 유형에 고유한 일련의 단계를 따릅니다.
다음은 SDLC 수명 주기의 몇 가지 중요한 단계입니다.
폭포 모델
폭포수는 보편적으로 수용되는 SDLC 모델입니다. 이 방법에서는 소프트웨어 개발의 전체 프로세스가 여러 단계로 구분됩니다.
폭포 모델은 요구 사항 분석, 설계, 구현, 테스트(검증), 통합 및 유지 관리 단계를 통해 개발이 폭포처럼 꾸준히 아래쪽으로 흐르는 것으로 간주되는 지속적인 소프트웨어 개발 모델입니다.
활동의 선형 순서는 몇 가지 중요한 결과를 가져옵니다. 첫째, 단계의 끝과 다음 단계의 시작을 식별하려면 각 단계가 끝날 때 일부 인증 기술을 사용해야 합니다. 일부 확인 및 검증은 일반적으로 단계의 출력이 입력(이전 단계의 출력)과 일치하고 단계의 출력이 시스템의 전체 요구 사항과 일치하는지 확인하는 것을 의미합니다.
RAD 모델
RAD 또는 Rapid Application Development 프로세스는 폭포 모델을 채택합니다. 단기간에 소프트웨어를 개발하는 것을 목표로 합니다. RAD 모델은 포커스 그룹을 사용하여 시스템 요구 사항을 수집함으로써 더 짧은 시간에 더 나은 시스템을 개발할 수 있다는 개념을 기반으로 합니다.
- 비즈니스 모델링
- 데이터 모델링
- 프로세스 모델링
- 애플리케이션 생성
- 테스트 및 회전율
나선형 모델
나선형 모델은 위험 중심 프로세스 모델 . 이 SDLC 모델은 그룹이 워터폴, 증분, 워터폴 등과 같은 하나 이상의 프로세스 모델 요소를 채택하는 데 도움이 됩니다. 나선형 기술은 설계 및 개발 활동의 신속한 프로토타이핑과 동시성을 결합한 것입니다.
나선형의 각 주기는 해당 주기의 목표, 목표 달성을 위해 가능한 다양한 대안 및 존재하는 제약 조건을 식별하는 것으로 시작됩니다. 이것은 주기의 첫 번째 사분면(왼쪽 위 사분면)입니다.
주기의 다음 단계는 목표와 제약 사항을 기반으로 이러한 다양한 대안을 평가하는 것입니다. 이 단계에서 평가의 초점은 프로젝트에 대한 위험 인식에 기초합니다.
다음 단계는 불확실성과 위험을 해결하는 전략을 개발하는 것입니다. 이 단계에는 벤치마킹, 시뮬레이션, 프로토타입 제작과 같은 활동이 포함될 수 있습니다.
V-모델
이러한 유형의 SDLC 모델 테스트 및 개발에서는 단계가 병행하여 계획됩니다. 따라서 한쪽에는 검증 단계가 있고 다른 쪽에는 검증 단계가 있습니다. V-Model은 코딩 단계에 따라 조인됩니다.
증분 모델
증분 모델은 별도의 모델이 아닙니다. 이는 필연적으로 일련의 폭포수 주기입니다. 요구 사항은 프로젝트 시작 시 그룹으로 구분됩니다. 각 그룹마다 SDLC 모델을 따라 소프트웨어를 개발합니다. 모든 요구 사항이 충족될 때까지 각 릴리스에 더 많은 기능을 추가하면서 SDLC 프로세스가 반복됩니다. 이 방법에서는 각 주기가 이전 소프트웨어 릴리스의 유지 관리 단계 역할을 합니다. 증분 모델을 수정하면 개발 주기가 겹칠 수 있습니다. 이전 주기가 완료되기 전에 후속 주기가 시작될 수 있습니다.
민첩한 모델
민첩한 방법론은 모든 프로젝트의 SDLC 프로세스 중에 개발과 테스트의 지속적인 상호 작용을 촉진하는 방식입니다. Agile 방법에서는 전체 프로젝트가 작은 증분 빌드로 나뉩니다. 이러한 빌드는 모두 반복적으로 제공되며 각 반복은 1~3주 동안 지속됩니다.
모든 애자일 소프트웨어 단계는 대량의 소프트웨어 프로젝트에 대한 몇 가지 주요 가정을 다루는 방식으로 특징지어집니다.
- 어떤 소프트웨어 요구 사항이 지속될지, 어떤 요구 사항이 변경될지 미리 생각하는 것은 어렵습니다. 프로젝트가 진행됨에 따라 사용자 우선순위가 어떻게 변할지 예측하는 것도 마찬가지로 어렵습니다.
- 다양한 유형의 소프트웨어의 경우 설계와 개발이 인터리브됩니다. 즉, 설계 모델이 생성될 때 이를 입증할 수 있도록 두 가지 활동을 동시에 수행해야 합니다. 구성을 테스트하기 위해 구축을 사용하기 전에 얼마나 많은 설계가 필요한지 생각하기가 어렵습니다.
- 분석, 설계, 개발 및 테스트는 계획 관점에서 볼 때 우리가 원하는 만큼 예측 가능하지 않습니다.
반복 모델
이는 초기의 단순화된 구현에 초점을 맞춘 소프트웨어 개발 라이프사이클의 특정 구현으로, 최종 시스템이 완성될 때까지 점진적으로 더 복잡해지고 더 광범위한 기능 세트를 얻습니다. 간단히 말해서, 반복 개발은 대규모 애플리케이션의 소프트웨어 개발을 작은 조각으로 나누는 방법입니다.
TCP IP 모델
빅뱅 모델
빅뱅 모델은 계획이 없거나 거의 없이 소프트웨어 개발 및 코딩의 모든 유형의 리소스에 초점을 맞추고 있습니다. 요구 사항이 오면 이해하고 구현합니다.
이 모델은 함께 일하는 소규모 개발 팀이 참여하는 소규모 프로젝트에 가장 적합합니다. 학술 소프트웨어 개발 프로젝트에도 유용합니다. 요구 사항을 알 수 없거나 최종 출시 날짜가 제공되지 않는 이상적인 모델입니다.
프로토타입 모델
프로토타입 모델은 요구 사항 수집으로 시작됩니다. 개발자와 사용자는 소프트웨어의 목적을 충족하고 정의하며 요구 사항을 식별합니다.
ㅏ ' 빠른 디자인 '가 생성됩니다. 이 디자인은 사용자에게 표시되는 소프트웨어 측면에 중점을 둡니다. 그런 다음 프로토타입 개발로 이어집니다. 그런 다음 고객은 프로토타입을 확인하고 프로토타입에 필요한 수정이나 변경이 이루어집니다.
이 단계에서는 반복이 이루어지며 더 나은 버전의 프로토타입이 생성됩니다. 이는 프로토타입에 새로운 변경 사항이 업데이트될 수 있도록 사용자에게 지속적으로 표시됩니다. 이 프로세스는 고객이 시스템에 만족할 때까지 계속됩니다. 사용자가 만족하면 프로토타입은 품질과 보안을 모두 고려하여 실제 시스템으로 변환됩니다.