SDLC - Modelo de Protótipo de Software
A Prototipagem de Software se refere à construção de protótipos de aplicativos de software que exibem a funcionalidade do produto em desenvolvimento, mas podem não conter a lógica exata do software original.
A prototipagem de software está se tornando muito popular como um modelo de desenvolvimento de software, pois permite entender os requisitos do cliente em um estágio inicial de desenvolvimento. Ajuda a obter feedback valioso do cliente e ajuda os designers e desenvolvedores de software a entender o que exatamente se espera do produto em desenvolvimento.
O que é prototipagem de software?
Prototype é um modelo funcional de software com algumas funcionalidades limitadas. O protótipo nem sempre mantém a lógica exata usada no aplicativo de software real e é um esforço extra a ser considerado na estimativa de esforço.
A prototipagem é usada para permitir que os usuários avaliem as propostas do desenvolvedor e as experimente antes da implementação. Também ajuda a entender os requisitos que são específicos do usuário e podem não ter sido considerados pelo desenvolvedor durante o design do produto.
A seguir está uma abordagem passo a passo explicada para projetar um protótipo de software.
Identificação de Requisito Básico
Esta etapa envolve a compreensão dos requisitos básicos do produto, especialmente em termos de interface do usuário. Os detalhes mais intrincados do design interno e aspectos externos, como desempenho e segurança, podem ser ignorados nesta fase.
Desenvolvendo o protótipo inicial
O protótipo inicial é desenvolvido nesta fase, onde os requisitos básicos são apresentados e as interfaces de usuário são fornecidas. Esses recursos podem não funcionar exatamente da mesma maneira internamente no software desenvolvido. Enquanto, as soluções alternativas são usadas para dar a mesma aparência ao cliente no protótipo desenvolvido.
Revisão do protótipo
O protótipo desenvolvido é então apresentado ao cliente e aos demais stakeholders importantes do projeto. O feedback é coletado de maneira organizada e usado para melhorias adicionais no produto em desenvolvimento.
Revise e aprimore o protótipo
O feedback e os comentários da revisão são discutidos durante esta fase e algumas negociações acontecem com o cliente com base em fatores como - restrições de tempo e orçamento e viabilidade técnica da implementação real. As alterações aceitas são novamente incorporadas ao novo Protótipo desenvolvido e o ciclo se repete até que as expectativas do cliente sejam atendidas.
Os protótipos podem ter dimensões horizontais ou verticais. Um protótipo horizontal exibe a interface do usuário do produto e oferece uma visão mais ampla de todo o sistema, sem se concentrar nas funções internas. Um protótipo vertical do outro lado é uma elaboração detalhada de uma função específica ou um subsistema no produto.
O objetivo do protótipo horizontal e vertical é diferente. Os protótipos horizontais são usados para obter mais informações sobre o nível da interface do usuário e os requisitos de negócios. Pode até ser apresentado nas demonstrações de vendas para obter negócios no mercado. Os protótipos verticais são de natureza técnica e são usados para obter detalhes do funcionamento exato dos subsistemas. Por exemplo, requisitos de banco de dados, cargas de interação e processamento de dados em um determinado subsistema.
Prototipagem de Software - Tipos
Existem diferentes tipos de protótipos de software usados na indústria. A seguir estão os principais tipos de prototipagem de software amplamente usados -
Descartável / Prototipagem Rápida
A prototipagem descartável também é chamada de prototipagem rápida ou fechada. Este tipo de prototipagem usa poucos esforços com análise de requisitos mínimos para construir um protótipo. Uma vez que os requisitos reais são compreendidos, o protótipo é descartado e o sistema real é desenvolvido com uma compreensão muito clara dos requisitos do usuário.
Prototipagem Evolutiva
A prototipagem evolutiva, também chamada de prototipagem de breadboard, é baseada na construção de protótipos funcionais reais com funcionalidade mínima no início. O protótipo desenvolvido constitui o coração dos futuros protótipos sobre os quais todo o sistema é construído. Usando a prototipagem evolutiva, os requisitos bem compreendidos são incluídos no protótipo e os requisitos são adicionados como e quando eles são compreendidos.
Prototipagem Incremental
A prototipagem incremental refere-se à construção de vários protótipos funcionais dos vários subsistemas e, em seguida, integrar todos os protótipos disponíveis para formar um sistema completo.
Prototipagem Extrema
A prototipagem extrema é usada no domínio do desenvolvimento web. Consiste em três fases sequenciais. Primeiro, um protótipo básico com todas as páginas existentes é apresentado no formato HTML. Em seguida, o processamento de dados é simulado usando uma camada de serviços de protótipo. Por fim, os serviços são implementados e integrados ao protótipo final. Este processo é chamado de Prototipagem Extrema, usado para chamar a atenção para a segunda fase do processo, onde uma IU totalmente funcional é desenvolvida com muito pouca consideração pelos serviços reais.
Prototipagem de Software - Aplicativo
A prototipagem de software é mais útil no desenvolvimento de sistemas com alto nível de interação com o usuário, como sistemas online. Os sistemas que precisam que os usuários preencham formulários ou percorram várias telas antes de os dados serem processados podem usar a prototipagem de forma muito eficaz para dar a aparência exata antes mesmo de o software real ser desenvolvido.
O software que envolve muito processamento de dados e a maior parte da funcionalidade é interna com muito pouca interface de usuário geralmente não se beneficia da prototipagem. O desenvolvimento do protótipo pode ser uma sobrecarga extra em tais projetos e pode exigir muitos esforços extras.
Prototipagem de software - prós e contras
A prototipagem de software é usada em casos típicos e a decisão deve ser tomada com muito cuidado para que os esforços despendidos na construção do protótipo agreguem um valor considerável ao software final desenvolvido. O modelo tem seus prós e contras discutidos a seguir.
As vantagens do modelo de prototipagem são as seguintes -
Aumento do envolvimento do usuário no produto antes mesmo de sua implementação.
Como um modelo funcional do sistema é exibido, os usuários obtêm uma melhor compreensão do sistema que está sendo desenvolvido.
Reduz tempo e custo, pois os defeitos podem ser detectados muito mais cedo.
Um feedback mais rápido do usuário está disponível, levando a melhores soluções.
Funcionalidade ausente pode ser identificada facilmente.
Funções confusas ou difíceis podem ser identificadas.
As desvantagens do modelo de prototipagem são as seguintes -
Risco de análise de requisitos insuficiente devido à dependência excessiva do protótipo.
Os usuários podem ficar confusos com os protótipos e os sistemas reais.
Praticamente, essa metodologia pode aumentar a complexidade do sistema, pois o escopo do sistema pode se expandir além dos planos originais.
Os desenvolvedores podem tentar reutilizar os protótipos existentes para construir o sistema real, mesmo quando isso não for tecnicamente viável.
O esforço investido na construção de protótipos pode ser muito grande se não for monitorado adequadamente.