Quais são as diferenças entre os protótipos descartáveis ​​e evolutivos?


12

Tenho anotações sobre vários métodos de prototipagem e encontrei várias definições na Internet, mas gostaria de confirmar o que aprendi.

Entendo que a prototipagem descartável é desenvolvida a partir de um esboço de uma especificação, vários protótipos são entregues e modificados até que o cliente esteja satisfeito com sua funcionalidade.

Por outro lado, protótipos evolutivos são construídos a partir de requisitos básicos coletados dos usuários finais. Um protótipo inicial é apresentado aos usuários e avaliado. O protótipo é modificado com base no feedback até que o cliente esteja satisfeito.

Isso está correto? Existem melhores definições de prototipagem descartável e evolutiva?


2
Mais frequentemente, não parece que o protótipo evolua para o produto acabado. Nunca realmente ouvi falar do descartável versus evolutivo antes.
itsmatt 19/09/11

1
Olá Mifas, desculpe-me por isso ter sido migrado, mas se você tiver suas definições da Web, solicitando que a Web confirme se as definições estão corretas é circular e não é realmente um tópico aqui.

1
@ MarkTrapp Se removemos as definições, poderíamos reabrir? Tanto as definições no post como a resposta existente estão erradas em termos da definição formal da frase. Existem duplicatas no Stack Overflow, mas nenhuma que eu possa encontrar aqui e acho que é essencial, no mínimo, não colocar mais informações falsas na Internet.
Thomas Owens

@Mifas Se você remover as definições, não há corpo para a pergunta, existe? Se Mifas seguisse a pergunta aqui e a atualizasse para explicar o que ele está tentando fazer, o fez perguntar sobre essas definições, seria uma pergunta perfeitamente correta.

1
@Mark Fantastic. Obrigado. Trabalhando na minha resposta agora.
Thomas Owens

Respostas:


11

Os dois métodos de prototipagem são usados ​​quando há algum aspecto do sistema que você não entende completamente. No entanto, a principal diferença é a metodologia do ciclo de vida que você usa. Com a prototipagem evolutiva, você normalmente entende alguns aspectos do sistema e não tem certeza sobre outros. Na prototipagem descartável, você tem uma falta geral de entendimento que precisa concluir antes de poder construir um sistema pronto para produção.

Observe que existem muitos tipos de prototipagem descartável e nenhuma delas se limita a todo o sistema. Por exemplo, o uso de esboços em papel ou quadro branco de uma interface do usuário pode ser considerado prototipagem descartável. Sim, você pode passar por várias iterações e jogar fora um design anterior, mas também não usará o protótipo final no sistema (não é fisicamente possível, por exemplo).

Se você estiver interessado nos tópicos gerais de engenharia de software e na amplitude do SE, sugiro que pegue o livro de Sommerville que cito. É realmente bom para cobrir a variedade de tópicos. Se você estiver mais interessado em modelos e metodologias de processo e em como aplicá-los a vários projetos, recomendo o livro da McConnell - ele tem um capítulo inteiro dedicado à prototipagem evolutiva e outro capítulo dedicado à prototipagem descartável.

Também dei uma rápida olhada no artigo da Wikipedia sobre prototipagem de software . Algumas partes são um pouco estranhas (pelo menos na minha leitura rápida), mas não parece haver nada que eu discorde totalmente. Parte disso é um pouco focada em um aspecto específico, mas não é verdade que eu esteja errado. Prefiro as definições abaixo, mas pode ser uma leitura interessante sobre vários tipos de prototipagem.


Prototipagem Evolutiva

Desenvolvimento exploratório em que o objetivo do processo é trabalhar com o cliente para explorar seus requisitos e entregar um sistema final. O desenvolvimento começa com as partes do sistema que são entendidas. O sistema evolui adicionando novos recursos propostos pelo cliente. (Sommerville: Engenharia de Software, 8ª Edição)


A prototipagem evolutiva é um modelo de ciclo de vida no qual o sistema é desenvolvido em incrementos para que possa ser facilmente modificado em resposta ao feedback do usuário final e do cliente. A maioria dos esforços de prototipagem evolucionária começa com a prototipagem da interface do usuário e, em seguida, com a evolução do sistema completo, mas a prototipagem pode começar com qualquer área de alto risco. Prototipagem Evolucionária não é a mesma que Prototipagem Descartável, e fazer a escolha certa sobre o desenvolvimento de um protótipo evolutivo ou de um protótipo descartável é a chave para o sucesso. Outras chaves para o sucesso incluem o uso de desenvolvedores experientes, o gerenciamento de expectativas de cronograma e orçamento e o gerenciamento da atividade de prototipagem. (McConnell: Desenvolvimento rápido: domesticando agendas de software selvagens)


Prototipagem descartável:

A prototipagem descartável é onde o objetivo do processo de desenvolvimento evolutivo é entender os requisitos do cliente e, portanto, desenvolver uma melhor definição de requisitos para o sistema. O protótipo se concentra em experimentar os requisitos do cliente que são pouco compreendidos. (Sommerville: Engenharia de Software, 8ª Edição)


Com a Prototipagem Throwaway, o código é desenvolvido para explorar fatores críticos para o sucesso do sistema e, em seguida, esse código é descartado. A implementação de prototipagem usa linguagens de programação ou práticas de desenvolvimento ou ambas muito mais rápidas que a linguagem e as práticas de destino. A interface do usuário é prototipada com muito mais frequência do que qualquer outra parte do sistema, mas outras partes de alguns sistemas também podem se beneficiar da prototipagem. Quando usada como um auxílio à especificação de requisitos, a prática de Prototipagem descartável pode acelerar projetos com base nos modelos tradicionais de ciclo de vida, como projetos do Departamento de Defesa. Pode ser iniciado no nível técnico ou de gerenciamento. (McConnell: Desenvolvimento rápido: domesticando agendas de software selvagens)


-2

Prototipagem descartável - com isso, uma pequena parte do sistema é desenvolvida e, em seguida, é fornecida aos clientes e usuários finais para experimentá-la. O usuário fornece o feedback que pode ser rapidamente incooperado no desenvolvimento do sistema principal.

Prototipagem Evolucionária - é um modelo de ciclo de vida em que o Sistema é desenvolvido em incrementos para que possa ser facilmente modificado em resposta aos usuários finais e ao feedback do Cliente


1
Esta pergunta foi feita em 2011. Sua resposta não adiciona muito às respostas já fornecidas.
Jan Doggen
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.