quinta-feira, 19 de agosto de 2010

Engenharia de Software - Prototipação


PROTOTIPAÇÃO


Um protótipo é uma visão inicial de um sistema de software, onde possibilita demonstrar conceitos, experimentar opções de projeto, e em geral para conhecer o problema e suas possíveis soluções. Em suma, a prototipação é o processo que possibilita que o programador de software crie um modelo que será construído.

Protótipos é, de modo análogo, uma maquete para a arquitetura, de um sistema futuro com o qual pode-se realizar verificações e experimentações para se avaliar algumas de suas qualidades antes que o sistema venha realmente a ser construído.

Um protótipo de software se apóia em duas atividades do processo de engenharia de requisitos:
  1. Levantamento dos requisitos;
  2. Validação dos requisitos;

A prototipação pode ser utilizada como técnica de análise e redução de riscos (erros e omissões) pode também se utilizada para outros propósitos, como treinamento de usuários antes que o sistema seja entregue e também para testes no sistema.

Na figura abaixo é demonstrado o processo de desenvolvimento do protótipo:

Fonte: PRESSMAN, adaptado pelo autor.

Uma das dificuldades para a prototipação de software é que os usuários finais têm dificuldades para prever a utilização do software e se o sistema é muito complexo a dificuldade aumenta, chegando a ser quase impossível fazer uma avaliação.


MODELOS DE PROTOTIPAÇÃO

Existem modelos de prototipação, que serão abordados a seguir:

1) Prototipação Evolucionária - Inicia um sistema relativamente simples, implantando os requisitos mais importantes e o sistema é ampliado e alterado a medida que novos requisitos são descobertos.
a. Vantagens
i. Rápido fornecimento do sistema;
ii. Compromisso do usuário com o sistema
b. Desvantagens / Problemas
i. Problemas de gerenciamento (Custos, Documentação);
ii. Problemas de manutenção (mudanças de tecnologias);


Fonte: PRESSMAN, adaptado pelo autor.


2) Prototipação Incremental - Os componentes do sistema são desenvolvidos de maneira incremental. Uma vez validado e entregues não são modificados, exceto se for descoberto erros.
a. Vantagens
i. Fácil gerenciamento dos padrões de processos;
ii. Documentação produzida por estágios;
b. Desvantagens / Problemas
i. Não encontrei nada na bibliografia


Fonte: PRESSMAN, adaptado pelo autor.

3) Prototipação Descartável - Essa abordagem amplia o processo de análise dos requisitos, com intenção de reduzir os custos no ciclo de vida do software, ou seja, esclarece os requisitos e fornece informações para que os riscos de processos sejam avaliados. Então, ela ajuda a desenvolver os requisitos do sistema.


Fonte: PRESSMAN, adaptado pelo autor.


TÉCNICAS DE PROTOTIPAÇÃO RÁPIDA

Com a necessidade de que o tempo de desenvolvimento seja cada vez menor, existem algumas técnicas de prototipação rápida, abordadas abaixo:
  1. Linguagem Dinâmica - São linguagens de programação que incluem poderosos recursos de gerenciamento de dados. Ex: Lisp, Prolog, Smalltlk
  2. Programação de Banco de Dados - Os BD comerciais (Oracle, Caché MS SQL, etc) oferecem suporte a desenvolvimento de aplicações, com base em uma linguagem específica de cada BD. Essa técnica é também conhecida como "Linguagens de quarta geração"
  3. Montagem de componentes e aplicações - A reutilização de componentes reduz o tempo de desenvolvimento do sistema.

A Análise orientada a objetos pode levar a uma prototipação extremamente efetiva, com a reutilização dos objetos.

A utilização da prototipação limita o processo de desenvolvimento, pois não é possível ter um produto adequado logo na primeira vez. A prototipação é um dos ciclos de vida onde interação inicial entre o programador e o cliente é fundamental, pois neste momento que ambos podem definir os objetivos gerais do protótipo a ser desenvolvido, e a cada novo requisito, deve-se fazer um novo protótipo, até a construção final do software. A prototipação é o processo ideal para quando se tem um usuário que não é capaz ou não consegue pré-especificar seus requisitos de qualquer forma e só pode determiná-los através de um processo de tentativa e erro, ou seja, a situação em que o usuário diz: "- Eu não sei o que quero, mas eu saberei, se o vir!".O processo de prototipação permite ao analista, programador promova a participação do usuário no desenvolvimento do sistema, ou seja, aumenta seu comprometimento com o produto final.


REFERÊNCIAS

WIKEPÉDIA, http://pt.wikipedia.org/wiki/Prototipa%C3%A7%C3%A3o
PRESSMAN, Roger S. Engenharia de Software. São Paulo : Makron Books, 1995.
SOMMERVILLE, Ian. Software Engineering, 4th ed. - Wokingham : Addison-Wesley, 1992.


2 comentários:

  1. Amigo estou fazendo meu trabalho de conclusão de curso e gostaria de usar essas ideias, eu posso utilizar?

    ResponderExcluir