일회용 프로토 타입과 진화형 프로토 타입의 차이점은 무엇입니까?


12

다양한 프로토 타이핑 방법에 대한 메모가 있고 인터넷에서 몇 가지 정의를 찾았지만 배운 내용을 확인하고 싶습니다.

나는 버림받은 프로토 타입 이 스펙의 개요에서 개발되었으며, 클라이언트가 그 기능에 만족할 때까지 다양한 프로토 타입이 제공되고 수정 된다는 것을 이해합니다 .

다른 한편으로, 진화적인 프로토 타입 은 최종 사용자가 수집 한 기본 요구 사항으로 제작됩니다. 초기 프로토 타입이 사용자에게 제공되고 평가됩니다. 클라이언트가 만족할 때까지 피드백을 기반으로 프로토 타입이 수정됩니다.

이 올바른지? 이탈과 진화 프로토 타입에 대한 더 나은 정의가 있습니까?


2
종종 프로토 타입이 완제품으로 진화하는 것 같지는 않습니다. 이전의 획기적 대 진화론에 대해 들어 본 적이 없습니다.
itsmatt

1
안녕하세요, Mifas, 죄송합니다. 웹에서 정의를 얻었을 경우 웹에서 정의가 올바른지 확인하고 실제로는 주제가 아닌지 확인하도록 요청하십시오.

1
@MarkTrapp 정의를 제거한 경우 다시 열 수 있습니까? 게시물의 정의와 기존 답변 모두 문구의 공식 정의 측면에서 잘못되었습니다. Stack Overflow에는 중복 항목이 있지만 여기서 찾을 수있는 것은 없으며 인터넷에 더 많은 잘못된 정보를 넣지 않는 것이 중요하다고 생각합니다.
Thomas Owens

@Mifas 당신이 정의를 제거하면, 질문에 대한 신체가 없다? Mifas가 여기에서 질문을 따르고 그가 무엇을하려고하는지 설명하기 위해 업데이트하면이 정의에 대해 질문하게됩니다. 이것은 완벽하게 훌륭한 질문입니다.

1
@ 마크 판타스틱. 감사. 내 대답에 지금 노력하고 있습니다.
Thomas Owens

답변:


11

완전히 이해하지 못하는 시스템의 일부 측면이있을 때 두 가지 프로토 타입 제작 방법이 모두 사용됩니다. 그러나 중요한 차이점은 사용하는 수명주기 방법입니다. 진화 적 프로토 타이핑을 사용하면 일반적으로 시스템의 일부 측면을 이해하고 다른 것에 대해서는 확실하지 않습니다. 버림받은 프로토 타이핑에서는 프로덕션 준비 시스템을 구축하기 전에 완료해야한다는 일반적인 이해 부족이 있습니다.

많은 종류의 폐기 프로토 타입이 있으며 전체 시스템에만 제한되지는 않습니다. 예를 들어, 사용자 인터페이스의 종이 또는 화이트 보드 스케치를 사용하는 것은 무시 무시한 프로토 타이핑으로 간주 될 수 있습니다. 예, 여러 번 반복하여 이전 디자인을 버릴 수도 있지만 시스템에서 최종 프로토 타입을 사용하지는 않습니다 (물리적으로는 불가능합니다).

일반적인 소프트웨어 엔지니어링 주제와 광범위한 SE에 관심이 있으시면 인용하는 Sommerville 책을 고르는 것이 좋습니다. 광범위한 주제를 다루는 데 정말 좋습니다. 프로세스 모델과 방법론에 더 관심이 있고 다양한 프로젝트에 적용 할 수있는 방법에 대해서는 McConnell 책을 추천합니다.이 책은 진화 프로토 타이핑에 관한 전체 장과 프로토 타이핑에 관한 또 다른 장입니다.

또한 소프트웨어 프로토 타이핑에 관한 Wikipedia 기사를 간략히 살펴 보았습니다 . 그것의 일부는 조금 이상하지만 (적어도 빨리 읽었을 때), 내가 완전히 동의하지 않는 것은 없습니다. 그중 일부는 하나의 특정 측면에 약간 집중되어 있지만 실제로 내가 잘못한 것은 아닙니다. 아래 정의를 선호하지만 다양한 유형의 프로토 타입에 대한 흥미로운 내용이있을 수 있습니다.


진화 적 프로토 타입

프로세스의 목표는 고객과 협력하여 요구 사항을 탐색하고 최종 시스템을 제공하는 탐색 적 개발입니다. 개발은 이해되는 시스템의 일부로 시작됩니다. 시스템은 고객이 제안한 새로운 기능을 추가하여 발전합니다. (Sommerville : 소프트웨어 엔지니어링, 제 8 판)


Evolutionary Prototyping은 최종 사용자 및 고객 피드백에 따라 시스템을 쉽게 수정할 수 있도록 시스템을 증분 방식으로 개발하는 수명주기 모델입니다. 대부분의 진화 프로토 타이핑 노력은 사용자 인터페이스를 프로토 타이핑 한 후 완성 된 시스템을 발전시키는 것으로 시작되지만 프로토 타이핑은 고위험 영역에서 시작할 수 있습니다. Evolutionary Prototyping은 Throwaway Prototyping과 동일하지 않으므로 Evolutionary 프로토 타입을 개발할 것인지 또는 Throwaway 프로토 타입을 개발할 것인지에 대한 올바른 선택은 성공의 열쇠입니다. 성공의 다른 열쇠에는 숙련 된 개발자 사용, 일정 및 예산 기대치 관리, 프로토 타입 활동 자체 관리가 포함됩니다. (McConnell : 빠른 개발 : 길들이기 야생 소프트웨어 스케줄)


버림받은 프로토 타이핑 :

획기적인 프로토 타이핑은 진화 적 개발 프로세스의 목표가 고객의 요구 사항을 이해하고 따라서 시스템에 대한 더 나은 요구 사항 정의를 개발하는 것입니다. 프로토 타입은 이해하기 어려운 고객 요구 사항을 실험하는 데 중점을 둡니다. (Sommerville : 소프트웨어 엔지니어링, 제 8 판)


Throwaway Prototyping을 사용하면 시스템의 성공에 중요한 요소를 탐색하기 위해 코드를 개발 한 다음 해당 코드를 폐기합니다. 프로토 타이핑 구현은 프로그래밍 언어 또는 개발 방식 또는 대상 언어 및 방식보다 훨씬 빠른 프로그래밍 방식을 사용합니다. 사용자 인터페이스는 시스템의 다른 부분보다 훨씬 일반적으로 프로토 타입이지만 일부 시스템의 다른 부분도 프로토 타입을 통해 이점을 얻을 수 있습니다. 요구 사항 지정 지원으로 사용되는 Throwaway 프로토 타이핑 실습은 DoD 프로젝트와 같은 기존 라이프 사이클 모델을 기반으로 프로젝트를 가속화 할 수 있습니다. 관리 또는 기술 수준에서 시작할 수 있습니다. (McConnell : 빠른 개발 : 길들이기 야생 소프트웨어 스케줄)


-2

일회용 프로토 타이핑-이 시스템을 사용하면 시스템의 작은 부분이 개발 된 다음 고객과 최종 사용자에게 제공되어 평가를 시도 할 수 있습니다. 사용자는 주 시스템의 개발에 신속하게 협력 할 수있는 피드백을 제공합니다.

Evolutionary Prototyping-최종 사용자 및 고객 피드백에 따라 시스템을 쉽게 수정할 수 있도록 시스템을 증분 방식으로 개발하는 수명주기 모델입니다.


1
이 질문은 2011 년에 요청되었습니다. 이미 답변 한 내용에 답변이 많지 않습니다.
Jan Doggen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.