소프트웨어 개발 수명주기(SDLC) 단계 및 모델
SDLC 란 무엇입니까?
SDLC 구축된 소프트웨어의 품질과 정확성을 보장하는 소프트웨어 구축을 위한 체계적인 프로세스입니다. SDLC 프로세스는 고객의 기대에 부응하는 고품질 소프트웨어를 생산하는 것을 목표로 합니다. 시스템 개발은 사전 정의된 기간과 비용 내에 완료되어야 합니다. SDLC는 특정 소프트웨어를 계획, 구축 및 유지 관리하는 방법을 설명하는 세부 계획으로 구성됩니다. SDLC 수명 주기의 모든 단계에는 다음 단계에 반영되는 자체 프로세스와 결과물이 있습니다. SDLC는 소프트웨어 개발 수명주기 애플리케이션 개발 라이프사이클이라고도 합니다.
왜 SDLC인가?
소프트웨어 시스템 개발에 SDLC가 중요한 이유는 다음과 같습니다.
- 이는 프로젝트 계획, 일정 수립 및 추정을 위한 기초를 제공합니다.
- 표준 활동 및 결과물 세트에 대한 프레임워크를 제공합니다.
- 프로젝트 추적 및 제어를 위한 메커니즘입니다.
- 개발 프로세스에 관련된 모든 이해관계자에게 프로젝트 계획 가시성을 높입니다.
- 개발 속도 향상 및 향상
- 고객 관계 개선
- 프로젝트 위험 및 프로젝트 관리 계획 오버헤드를 줄이는 데 도움이 됩니다.
SDLC 단계
전체 SDLC 프로세스는 다음과 같은 SDLC 단계로 나뉩니다.
- 1단계: 요구 사항 수집 및 분석
- 2단계: 타당성 조사
- 3단계: 디자인
- 4단계: 코딩
- 5단계: 테스트
- 6단계: 설치/배포
- 7단계: 유지 관리
이 튜토리얼에서는 이러한 모든 소프트웨어 개발 수명주기 단계를 설명했습니다.
1단계: 요구 사항 수집 및 분석
요구 사항은 SDLC 프로세스의 첫 번째 단계입니다. 이는 업계의 모든 이해관계자와 도메인 전문가의 의견을 바탕으로 고위 팀원이 수행합니다. 계획 품질 보증 요구사항과 관련된 위험에 대한 인식도 이 단계에서 수행됩니다.
이 단계에서는 전체 프로젝트의 범위와 프로젝트를 촉발한 예상 문제, 기회 및 지침에 대한 보다 명확한 그림을 제공합니다.
요구 사항 수집 단계에서는 팀이 상세하고 정확한 요구 사항을 확보해야 합니다. 이는 회사가 해당 시스템의 작업을 완료하는 데 필요한 일정을 마무리하는 데 도움이 됩니다.
2단계: 타당성 조사
요구 사항 분석 단계가 완료되면 다음 sdlc 단계는 소프트웨어 요구 사항을 정의하고 문서화하는 것입니다. 이 프로세스는 'SRS' 문서라고도 알려진 '소프트웨어 요구 사항 사양' 문서의 도움으로 수행되었습니다. 여기에는 프로젝트 수명주기 동안 설계하고 개발해야 하는 모든 것이 포함됩니다.
타당성 조사에는 주로 다섯 가지 유형이 있습니다.
- 간결한: 예산 내에서 프로젝트를 완료할 수 있습니까?
- 적법한: 이 프로젝트를 사이버 법률 및 기타 규제 프레임워크/규정 준수로 처리할 수 있습니까?
- Opera타당성: 클라이언트가 기대하는 작업을 생성할 수 있는가?
- 기술 : 현재 컴퓨터 시스템이 소프트웨어를 지원할 수 있는지 확인해야 함
- 일정 : 주어진 일정 내에 프로젝트를 완료할 수 있는지 여부를 결정합니다.
3단계: 디자인
이 세 번째 단계에서는 시스템 및 소프트웨어 설계 문서가 요구 사항 사양 문서에 따라 준비됩니다. 이는 전체 시스템 아키텍처를 정의하는 데 도움이 됩니다.
이 설계 단계는 모델의 다음 단계에 대한 입력 역할을 합니다.
이 단계에서는 두 가지 종류의 설계 문서가 개발됩니다.
HLD(고수준 설계)
- 각 모듈에 대한 간략한 설명과 이름
- 모든 모듈의 기능에 대한 개요
- 모듈 간의 인터페이스 관계 및 종속성
- 주요 요소와 함께 식별된 데이터베이스 테이블
- 기술 세부 사항과 함께 완전한 아키텍처 다이어그램
LLD(저수준 설계)
- 모듈의 기능적 논리
- 유형과 크기가 포함된 데이터베이스 테이블
- 인터페이스의 완전한 세부 사항
- 모든 유형의 종속성 문제를 해결합니다.
- 오류 메시지 목록
- 모든 모듈에 대한 완전한 입력 및 출력
4단계: 코딩
시스템 설계 단계가 끝나면 다음 단계는 코딩입니다. 이 단계에서 개발자는 선택한 프로그래밍 언어를 사용하여 코드를 작성하여 전체 시스템 구축을 시작합니다. 코딩 단계에서는 작업이 단위나 모듈로 나누어져 다양한 개발자에게 할당됩니다. 소프트웨어 개발 수명주기 프로세스 중 가장 긴 단계입니다.
이 단계에서 개발자는 미리 정의된 특정 코딩 지침을 따라야 합니다. 그들은 또한 사용해야합니다 프로그래밍 도구 컴파일러, 인터프리터, 디버거와 같이 코드를 생성하고 구현합니다.
5단계: 테스트
소프트웨어가 완성되고 테스트 환경에 배포되면 테스트 팀은 전체 시스템의 기능을 테스트하기 시작합니다. 이는 전체 애플리케이션이 고객 요구 사항에 따라 작동하는지 확인하기 위해 수행됩니다.
이 단계에서 QA 및 테스트 팀은 개발자에게 전달할 버그/결함을 발견할 수 있습니다. 개발팀은 버그를 수정하고 재테스트를 위해 QA로 다시 보냅니다. 이 프로세스는 소프트웨어에 버그가 없고 안정적이며 해당 시스템의 비즈니스 요구에 따라 작동할 때까지 계속됩니다.
6단계: 설치/배포
소프트웨어 테스트 단계가 끝나고 시스템에 버그나 오류가 남아 있지 않으면 최종 배포 프로세스가 시작됩니다. 프로젝트 관리자의 피드백을 바탕으로 최종 소프트웨어가 출시되고 배포 문제가 있는지 확인합니다.
7단계: 유지 관리
시스템이 배포되고 고객이 개발된 시스템을 사용하기 시작하면 다음 3가지 활동이 발생합니다.
- 버그 수정 - 전혀 테스트되지 않은 일부 시나리오로 인해 버그가 보고됩니다.
- Upgrade – 애플리케이션을 최신 버전의 소프트웨어로 업그레이드
- 향상 – 기존 소프트웨어에 몇 가지 새로운 기능 추가
이 SDLC 단계의 주요 초점은 요구 사항이 지속적으로 충족되고 시스템이 첫 번째 단계에서 언급한 사양에 따라 계속 작동하는지 확인하는 것입니다.
인기 있는 SDLC 모델
다음은 소프트웨어 개발 수명주기(SDLC)의 가장 중요한 모델 중 일부입니다.
SDLC의 폭포 모델
폭포수는 널리 사용되는 SDLC 모델입니다. 이 접근 방식에서는 소프트웨어 개발의 전체 프로세스가 SDLC의 다양한 단계로 구분됩니다. 이 SDLC 모델에서는 한 단계의 결과가 다음 단계의 입력 역할을 합니다.
이 SDLC 모델은 문서 집약적이며 이전 단계에서 후속 단계에서 수행해야 할 작업을 문서화합니다.
SDLC의 증분 모델
증분 모델은 별도의 모델이 아닙니다. 이는 본질적으로 일련의 폭포수 주기입니다. 요구 사항은 프로젝트 시작 시 그룹으로 구분됩니다. 각 그룹마다 SDLC 모델을 따라 소프트웨어를 개발합니다. 모든 요구 사항이 충족될 때까지 각 릴리스에 더 많은 기능이 추가되면서 SDLC 수명 주기 프로세스가 반복됩니다. 이 방법에서는 모든 주기가 이전 소프트웨어 릴리스의 유지 관리 단계 역할을 합니다. 증분 모델을 수정하면 개발 주기가 겹칠 수 있습니다. 이전 주기가 완료되기 전에 후속 주기가 시작될 수 있습니다.
SDLC의 V-모델
이러한 유형의 SDLC 모델 테스트 및 개발에서는 단계가 병행하여 계획됩니다. 그래서 한쪽에는 SDLC의 검증 단계가 있고 다른 쪽에는 검증 단계가 있습니다. V-Model은 코딩 단계에 따라 조인됩니다.
SDLC의 민첩한 모델
애자일 방법론은 모든 프로젝트의 SDLC 프로세스 동안 개발과 테스트의 지속적인 상호작용을 촉진하는 관행입니다. 애자일 방법론에서 전체 프로젝트는 작은 증분 빌드로 나뉩니다. 이러한 모든 빌드는 반복으로 제공되며 각 반복은 1주에서 3주까지 지속됩니다.
나선형 모델
나선형 모델은 위험 중심 프로세스 모델입니다. 이 SDLC 테스트 모델은 팀이 워터폴, 증분, 워터폴 등과 같은 하나 이상의 프로세스 모델 요소를 채택하는 데 도움이 됩니다.
이 모델은 프로토타이핑 모델과 폭포수 모델의 가장 좋은 특징을 채택하고 있습니다. 나선형 방법론은 설계 및 개발 활동의 신속한 프로토타입화와 동시성을 결합한 것입니다.
빅뱅 모델
빅뱅 모델은 계획이 없거나 거의 없이 소프트웨어 개발 및 코딩의 모든 유형의 리소스에 초점을 맞추고 있습니다. 요구 사항이 오면 이해하고 구현합니다.
이 모델은 함께 일하는 소규모 개발 팀이 참여하는 소규모 프로젝트에 가장 적합합니다. 학술 소프트웨어 개발 프로젝트에도 유용합니다. 요구 사항을 알 수 없거나 최종 출시 날짜가 제공되지 않는 이상적인 모델입니다.
요약
- 소프트웨어 개발 수명주기(SDLC)는 구축된 소프트웨어의 품질과 정확성을 보장하는 소프트웨어 구축을 위한 체계적인 프로세스입니다.
- 전체 형태의 SDLC는 소프트웨어 개발 수명주기 또는 시스템 개발 수명주기입니다.
- 소프트웨어 엔지니어링의 SDLC는 표준 활동 및 결과물 세트에 대한 프레임워크를 제공합니다.
- 1가지 SDLC 단계는 2) 요구 사항 수집 및 분석 3) 타당성 조사: 4) 설계 5) 코딩 6) 테스트: 7) 설치/배포 및 XNUMX) 유지 관리입니다.
- 고위 팀원들이 업무를 수행합니다. 요구 사항 분석 상
- 타당성 조사 단계에는 프로젝트 수명주기 동안 설계하고 개발해야 하는 모든 것이 포함됩니다.
- 설계 단계에서는 요구 사항 사양 문서에 따라 시스템 및 소프트웨어 설계 문서가 준비됩니다.
- 코딩 단계에서 개발자는 선택한 프로그래밍 언어를 사용하여 코드를 작성하여 전체 시스템 구축을 시작합니다.
- 테스트는 전체 애플리케이션이 고객 요구 사항에 따라 작동하는지 확인하기 위해 수행되는 다음 단계입니다.
- 설치 및 배포 단계는 다음과 같이 시작됩니다. 소프트웨어 테스팅 단계가 끝났으며 시스템에 버그나 오류가 남아 있지 않습니다.
- 유지 관리 측면에서 버그 수정, 업그레이드 및 참여 작업이 다루어짐
- Waterfall, Incremental, Agile, V 모델, Spiral, Big Bang은 소프트웨어 엔지니어링에서 널리 사용되는 SDLC 모델 중 일부입니다.
- 소프트웨어 테스팅의 SDLC는 특정 소프트웨어를 계획, 구축 및 유지 관리하는 방법을 설명하는 세부 계획으로 구성됩니다.