V 모델은 다음과 같은 유형입니다. SDLC 모델 여기서 프로세스는 V자 모양으로 순차적으로 실행됩니다. 검증 및 검증 모델이라고도 합니다. 이는 각 해당 개발 단계에 대한 테스트 단계의 연관을 기반으로 합니다. 각 단계의 개발은 테스트 단계와 직접적으로 연관되어 있습니다. 다음 단계는 이전 단계가 완료된 후에만 시작됩니다. 즉, 각 개발 활동에 대해 해당하는 테스트 활동이 있습니다.
내용의 테이블
V-모델은 소프트웨어 개발 프로세스를 체계적이고 시각적으로 표현하는 소프트웨어 개발 수명주기(SDLC) 모델입니다. V 모양의 아이디어를 기반으로 하며 V의 두 다리는 진행 상황을 나타냅니다. 소프트웨어 개발 프로세스 ~에서 요구 사항 수집 설계, 구현, 테스트 및 유지 관리에 대한 분석을 수행합니다.
V-모델 디자인
- 요구 사항 수집 및 분석 : V-Model의 첫 번째 단계는 요구사항 수집 및 분석 단계로, 소프트웨어에 대한 고객의 요구사항을 수집하고 분석하여 프로젝트 범위를 결정합니다.
- 설계: 설계 단계에서는 상위 수준 설계와 세부 설계를 포함하여 소프트웨어 아키텍처와 설계가 개발됩니다.
- 구현: 구현 단계에서는 설계를 기반으로 소프트웨어가 구축됩니다.
- 테스트: 테스트 단계에서는 소프트웨어가 고객의 요구 사항을 충족하고 품질이 높은지 확인하기 위해 테스트됩니다.
- 전개: 배포 단계에서는 소프트웨어가 배포되어 사용됩니다.
- 유지: 유지 관리 단계에서는 소프트웨어가 고객의 요구와 기대를 지속적으로 충족할 수 있도록 유지 관리됩니다.
- V-모델은 안전을 위해 자주 사용됩니다. 철저한 테스트와 소프트웨어 개발 프로세스에 포함된 단계를 명확하게 정의하는 능력에 중점을 두기 때문에 항공우주 및 국방 시스템과 같은 중요한 시스템입니다.
SDLC V-모델
다음 그림은 SDLC V-모델의 다양한 단계를 보여줍니다.
확인 단계 :
코드를 실행하지 않고 수행되는 정적 분석 기술(검토)이 포함됩니다. 제품 개발 단계에서 명시된 요구사항이 충족되는지를 평가하는 과정입니다.
V-모델에는 여러 검증 단계가 있습니다.
자바의 배열리스트
비즈니스 요구 사항 분석:
이는 고객 관점에서 제품 요구 사항이 해결되어야 하는 개발주기 지정의 첫 번째 단계입니다. 이 단계에는 고객의 요구 사항을 이해하기 위해 고객과의 적절한 의사 소통이 포함됩니다. 이는 적절하게 처리되어야 하는 매우 중요한 활동입니다. 대부분의 경우 고객은 자신이 원하는 것이 무엇인지 정확히 모르고 그 당시에는 이에 대해 확신하지 못하기 때문에 우리는 다음을 사용합니다. 승인 테스트 디자인 비즈니스 요구 시 수행되는 계획은 다음과 같은 용도로 사용됩니다. 입력 승인 테스트를 위해.
시스템 디자인:
시스템 설계는 제품 요구 사항이 전반적으로 명확할 때 시작되며 그런 다음 시스템을 완전히 설계해야 합니다. 이러한 이해는 제품 개발 프로세스의 시작 단계에서 이루어집니다. 이는 향후 테스트 사례 실행에 도움이 될 것입니다.
건축 설계:
이 단계에서는 아키텍처 사양을 이해하고 설계합니다. 일반적으로 여러 가지 기술적 접근 방식이 제시되며 기술적, 재정적 실행 가능성을 모두 고려한 후에 최종 선택이 이루어집니다. 시스템 아키텍처는 각각 고유한 기능을 처리하는 모듈로 더 나뉩니다. 이것의 또 다른 이름은 HLD(High Level Design)입니다.
이 시점에서 내부 모듈과 외부 시스템 간의 데이터 교환 및 통신이 잘 이해되고 정의됩니다. 이 단계에서는 제공된 정보를 사용하여 통합 테스트를 만들고 문서화할 수 있습니다.
공장 디자인 패턴
모듈 디자인:
LLD(저수준 설계)로 알려진 이 단계에서는 모든 시스템 모듈에 대한 포괄적인 내부 설계를 지정합니다. 설계와 다른 외부 시스템은 물론 시스템 아키텍처의 다른 모듈 간의 호환성이 중요합니다. 단위 테스트는 초기 단계에서 대부분의 실수와 결함을 식별하고 근절하는 데 도움이 되므로 모든 개발 프로세스에서 중요한 구성 요소입니다. 이제 내부 모듈 설계를 기반으로 이러한 단위 테스트를 생성할 수 있습니다.
코딩 단계:
코딩 단계에는 설계 단계에서 생성된 시스템 모듈에 대한 코드를 작성하는 작업이 포함됩니다. 시스템 및 아키텍처 요구 사항은 가장 적합한 프로그래밍 언어를 결정하는 데 사용됩니다.
코딩을 수행할 때는 코딩 표준과 원칙을 따릅니다. 최종 빌드가 저장소에 체크인되기 전에 코드는 많은 코드 검토를 거쳐 최적의 성능을 위해 최적화됩니다.
확인 단계 :
여기에는 동적 분석 기술(기능적 및 비기능적)과 코드 실행을 통한 테스트가 포함됩니다. 검증은 소프트웨어가 고객의 기대와 요구 사항을 충족하는지 확인하기 위해 개발 단계가 완료된 후 소프트웨어를 평가하는 프로세스입니다.
따라서 V-Model에는 한쪽에 검증 단계가 있고 다른쪽에는 검증 단계가 있습니다. 검증 및 검증 단계는 V자 형태로 코딩 단계로 연결됩니다. 따라서 V-모델이라고 합니다.
여러 가지가 있습니다 확인 V-모델의 단계:
단위 테스트:
단위 테스트 계획은 모듈 설계 단계에서 개발됩니다. 이러한 단위 테스트 계획은 코드 또는 단위 수준의 버그를 제거하기 위해 실행됩니다.
통합 테스트:
단위 테스트가 완료된 후 통합 테스트가 수행됩니다. 통합 테스트에서는 모듈이 통합되고 시스템이 테스트됩니다. 통합 테스트는 아키텍처 설계 단계에서 수행됩니다. 이 테스트는 모듈 간의 통신을 확인합니다.
시스템 테스트:
시스템 테스트는 기능, 상호 의존성 및 통신을 통해 전체 애플리케이션을 테스트합니다. 개발된 애플리케이션의 기능적 요구사항과 비기능적 요구사항을 테스트합니다.
자바 목록 문자열
UAT(사용자 승인 테스트):
UAT는 프로덕션 환경과 유사한 사용자 환경에서 수행됩니다. UAT는 제공된 시스템이 사용자의 요구 사항을 충족하고 시스템이 실제 세계에서 사용할 준비가 되었는지 확인합니다.
설계 단계:
- 요구사항 분석: 이 단계에는 고객의 요구 사항과 기대 사항을 이해하기 위한 고객과의 자세한 커뮤니케이션이 포함됩니다. 이 단계를 요구사항 수집이라고 합니다.
- 시스템 디자인: 이 단계에는 제품 개발을 위한 시스템 설계와 전체 하드웨어 및 통신 설정이 포함됩니다.
- 건축 설계: 시스템 설계는 다양한 기능을 수행하는 모듈로 더 세분화됩니다. 내부 모듈과 외부 세계(다른 시스템)와의 데이터 전송 및 통신이 명확하게 이해됩니다.
- 모듈 디자인: 이 단계에서 시스템은 작은 모듈로 나뉩니다. 모듈의 세부 설계가 지정되며 LLD(Low-level Design)라고도 합니다.
테스트 단계:
- 단위 테스트: 단위 테스트 계획은 모듈 설계 단계에서 개발됩니다. 이러한 단위 테스트 계획은 코드 또는 단위 수준에서 버그를 제거하기 위해 실행됩니다.
- 통합 테스트: 단위 테스트가 완료된 후 통합 테스트가 수행됩니다. 통합 테스트에서는 모듈이 통합되고 시스템이 테스트됩니다. 통합 테스트는 아키텍처 설계 단계에서 수행됩니다. 이 테스트는 모듈 간의 통신을 확인합니다.
- 시스템 테스트: 시스템 테스트는 기능, 상호 의존성 및 통신을 통해 전체 애플리케이션을 테스트합니다. 개발된 애플리케이션의 기능적 요구사항과 비기능적 요구사항을 테스트합니다.
- UAT(사용자 승인 테스트): UAT는 프로덕션 환경과 유사한 사용자 환경에서 수행됩니다. UAT는 제공된 시스템이 사용자의 요구 사항을 충족하고 시스템이 실제 세계에서 사용할 준비가 되었는지 확인합니다.
산업적 과제:
산업이 발전함에 따라 기술은 더욱 복잡해지고 빨라지고 영원히 변화하고 있습니다. 그러나 IT가 초기 단계였을 때와 마찬가지로 오늘날에도 적용할 수 있는 일련의 기본 원칙과 개념이 남아 있습니다.
- 사용자 요구 사항을 정확하게 정의하고 개선합니다.
- 승인된 사용자 요구 사항에 따라 애플리케이션을 설계하고 구축합니다.
- 구축한 애플리케이션이 승인된 비즈니스 요구 사항을 준수하는지 확인합니다.
V-모델의 중요성
1. 조기 결함 식별
V-Model은 개발 프로세스의 모든 단계에 확인 및 검증 작업을 통합함으로써 조기 테스트를 장려합니다. 이는 결함의 조기 감지 및 해결을 지원함으로써 개발 수명 주기 후반에 문제를 해결하는 데 필요한 비용과 노력을 줄여줍니다.
2. 개발 및 테스트 단계 결정
V-Model에는 개발 프로세스의 각 단계에 해당하는 테스트 단계가 포함되어 있습니다. 테스트 및 개발 프로세스가 명확하게 매핑되도록 함으로써 이 명확한 매핑은 소프트웨어 엔지니어링에 대한 체계적이고 질서 있는 접근 방식을 촉진합니다.
3. 빅뱅 테스트 방지
테스트는 기존 개발 모델의 개발 수명주기 마지막에 수행되는 경우가 많으며, 이로 인해 모든 테스트 작업이 한 번에 집중되는 빅뱅 접근 방식이 탄생합니다. V-Model은 테스트 활동을 개발 프로세스에 통합하고 보다 진보적이고 규제된 테스트 접근 방식을 장려함으로써 이를 방지합니다.
4. 협력 강화
모든 수준에서 V-Model은 테스트 팀과 개발 팀 간의 협력을 촉진합니다. 이러한 협업을 통해 프로젝트 요구 사항, 설계 선택 및 테스트 방법론을 더 잘 이해하여 개발 프로세스의 효과와 효율성을 향상시킵니다.
5. 향상된 품질 보증
모든 수준의 테스트 작업을 통합하는 V-Model을 통해 전반적인 품질 보증이 향상됩니다. 프로그램이 최종 배포 단계에 도달하기 전에 요구 사항을 충족하는지 확인하고 엄격한 검증 및 확인 프로세스를 거칩니다.
V-모델의 원리
- 대형에서 소형까지: V-Model에서 테스트는 프로젝트 팀이 식별한 요구 사항, 상위 수준 설계 생성, 프로젝트의 세부 설계 단계 등 계층적 관점에서 수행됩니다. 이러한 각 단계에서 요구 사항이 완료됨에 따라 요구 사항은 점점 더 세련되고 세부적으로 정의됩니다.
- 데이터/프로세스 무결성: 이 원칙은 모든 프로젝트의 성공적인 설계를 위해서는 데이터와 프로세스 모두의 통합과 응집력이 필요함을 명시하고 있습니다. 모든 요구사항에서 프로세스 요소를 식별해야 합니다.
- 확장성: 이 원칙은 V-Model 개념이 규모, 복잡성 또는 기간에 관계없이 모든 IT 프로젝트를 수용할 수 있는 유연성을 가지고 있음을 나타냅니다.
- 상호 참조: 요구 사항과 해당 테스트 활동 간의 직접적인 상관 관계를 상호 참조라고 합니다.
유형의 문서:
이 원칙은 모든 프로젝트가 문서를 작성해야 함을 명시합니다. 이 문서는 프로젝트 개발 팀과 지원 팀 모두에 의해 요구되고 적용됩니다. 문서는 프로덕션 환경에서 사용 가능한 애플리케이션을 유지하는 데 사용됩니다.
자바 배열 목록 정렬
왜 선호됩니까?
- 모델의 강성으로 인해 관리가 용이합니다. V-Model의 각 단계에는 특정 결과물과 검토 프로세스가 있습니다.
- 사전 결함 추적 – 즉 결함이 초기 단계에서 발견됩니다.
사용 시기 ~의 V-모델 ?
- 요구사항 추적성: V-Model은 요구 사항과 관련 테스트 사례 간의 정확한 추적성을 생성해야 하는 상황에서 유용한 것으로 입증되었습니다.
- 복잡한 프로젝트: V-Model은 테스트 활동을 관리하고 시스템 구성 요소 간의 복잡성과 상호 의존성이 높은 프로젝트의 통합 및 인터페이스 문제와 관련된 위험을 줄이는 체계적인 방법을 제공합니다.
- 폭포 같은 프로젝트 : V-모델은 모든 개발 수준에서 테스트 활동을 구성, 수행 및 모니터링하기 위한 접근 가능한 구조를 제공하므로 폭포수 모델과 마찬가지로 개발에 순차적인 접근 방식을 사용하는 프로젝트에 적합합니다.
- 안전이 중요한 시스템: 이러한 시스템은 항공우주, 자동차, 의료 산업에서 사용됩니다. 이들은 필수 시스템 요구 사항이 충족되고 개발 프로세스 초기에 가능한 위험을 찾아 제거하는 데 도움이 되는 엄격한 검증 및 검증 절차에 중점을 둡니다.
장점 V-모델의
- 이는 고도로 훈련된 모델이며 단계는 한 번에 하나씩 완료됩니다.
- V-Model은 프로젝트 요구 사항이 명확한 소규모 프로젝트에 사용됩니다.
- 간단하고 이해하기 쉽고 사용하기 쉽습니다.
- 이 모델은 수명주기 초기의 검증 및 검증 활동에 중점을 두어 오류가 없고 우수한 품질의 제품을 만들 가능성을 높입니다.
- 이를 통해 프로젝트 관리가 진행 상황을 정확하게 추적할 수 있습니다.
- 명확하고 구조화된 프로세스: V-Model은 명확하고 구조화된 프로세스를 제공합니다. 소프트웨어 개발 , 더 쉽게 이해하고 따라할 수 있습니다.
- 테스트 강조: V-Model은 소프트웨어의 품질과 신뢰성을 보장하는 데 도움이 되는 테스트에 중점을 둡니다.
- 향상된 추적성: V-Model은 요구 사항과 최종 제품 간의 명확한 링크를 제공하므로 소프트웨어 변경 사항을 더 쉽게 추적하고 관리할 수 있습니다.
- 더 나은 의사소통: V-Model의 명확한 구조는 고객과 개발팀 간의 의사소통을 개선하는 데 도움이 됩니다.
V-모델의 단점
- 높은 위험과 불확실성.
- 복잡하고 객체지향적인 프로젝트에는 좋지 않습니다.
- 요구사항이 명확하지 않고 변경 위험이 높은 프로젝트에는 적합하지 않습니다.
- 이 모델은 단계 반복을 지원하지 않습니다.
- 동시 이벤트를 쉽게 처리하지 못합니다.
- 유연성 없음: V-모델은 선형 및 순차적 모델이므로 변화하는 요구 사항이나 예상치 못한 이벤트에 적응하기 어려울 수 있습니다.
- 시간 소모적: V-모델에는 많은 문서화와 테스트가 필요하므로 시간이 많이 걸릴 수 있습니다.
- 문서화에 대한 과도한 의존: V-Model은 문서화를 매우 강조하므로 실제 개발 작업을 희생하면서 문서화에 대한 과도한 의존을 초래할 수 있습니다.
결론
소프트웨어 엔지니어링 V-모델은 소프트웨어 개발 수명 주기(SDLC)에 대한 과학적이고 조직적인 접근 방식을 제공합니다. V-모델을 포함한 SDLC 모델을 선택할 때 선택한 방법론에 대한 팀의 전문 지식, 프로젝트의 고유한 기능 및 요구 사항의 특성을 모두 고려해야 합니다.
참고 도서:
소프트웨어 엔지니어링: 실무자의 접근 방식(Roger S. Pressman 저, McGraw-Hill Education 출판, 2017년).