Prototipação De Software
Por Fulvio Alexandre da Cunha | 27/06/2007 | TecnologiaCentro Paula Souza CEETEPS – FATEC Ourinhos
Avenida Vitalina Marcusso, 1400 - Ourinhos -SP.
fulvioalexandre@yahoo.com.br
Resumo
Este estudo apresentará a definição de sistemas e alguns tipos de prototipação como: prototipação de alta fidelidade, prototipação throw-away e prototipação evolutiva, suas aplicações, suas vantagens e desvantagens, cabendo então aos clientes juntamente com os desenvolvedores a escolha que melhor atende suas necessidades.
Palavras-chave: Prototipação, evolutiva, throw-away, alta fidelidade, sistemas, projeto, software.
Abstract.This study will present the definition of systems and also some prototyping types as: prototyping of high fidelity, prototyping throw-away and evolutionary prototyping, your applications, your advantages and disadvantages, falling to the customers then together with the developers the choice that best assists your needs.
Keyword: Prototyping, evolutionary, throw-away, high fidelity, systems, project, software.
- INTRODUÇÃO
Sistemas são conjuntos de entidades relacionadas que interagem entre si em busca de um objetivo. Essas entidades, por sua vez, são elementos característicos de um sistema.
Considere-se, como exemplo, o sistema de uma fábrica, no qual as entidades são: os operários, os encarregados, as máquinas e a administração, e todos interagem entre si buscando o objetivo de produção.
Sistemas de informação são sistemas que interagem ou são controlados por computadores por meio de softwares (programas de computadores) e têm como função facilitar a execução e o gerenciamento das tarefas nas empresas. Estes sistemas são divididos em vários tipos, entre eles os mais utilizados são:
·Sistemas de informação transacional, que são sistemas administrativos básicos que atendem ao nível operacional;
·Sistemas de informação gerencial, que são sistemas que enviam informações à média gerência;
·Sistemas de apoio à decisão, que são sistemas utilizados para dar suporte aos níveis mais elevados de gerência em tomadas de decisões específicas;
·Sistemas de apoio ao executivo, que são sistemas que abastecem a alta gerência de informações e permitem que o executivo tenha ou ganhe acesso às informações internas e externas à organização, que sejam relevantes para controlar os fatores que podem influenciar no sucesso de sua empresa.
Muitas vezes, não há troca de informações suficientes entre clientes e desenvolvedores durante o desenvolvimento do sistema de informação, o que geralmente acarreta em erros e deficiências no projeto de software (sistema de informação), e na insatisfação dos clientes. Para que isso não ocorra criamos um protótipo o qual, tem por objetivoprevenir os problemas citados.
Protótipo é a primeira versão desenvolvida do software, a qual tem a finalidade de abordar a questão de interface com o usuário, validar requisitos e apresentar a viabilidade do sistema.
Durante a criação do protótipo, clientes e desenvolvedores ficam em constante interação, facilitando assim o levantamento de requisitos e funcionalidades do sistema.
Alguns desenvolvedores utilizam prototipações que são descartadas, ou seja, o desenvolvimento do sistema somente será iniciado após o término do desenvolvimento do protótipo. Esses métodos de prototipações geralmente elevam o custo do sistema, pois são feitos dois projetos separados, um do protótipo e outro do sistema final.
Essa separação entre o desenvolvimento do protótipo e do sistema final vem diminuindo a cada dia, com o uso da prototipação evolutiva, a qual será o objeto de estudo deste artigo que terá como objetivo mostrar as vantagens e desvantagens da utilização deste método no desenvolvimento de sistemas de informação.
- PROTOTIPAÇÃO DE ALTA FIDELIDADE
Protótipos de alta fidelidade são semelhantes ao produto final. Este tipo de prototipação utiliza à mesma técnica que o sistema final e é indicado quando o objetivo é a venda do sistema ou o teste de problemas técnicos.
Há algumas vantagens em usar a prototipação de alta fidelidade, como: funcionalidades semelhantes as do sistema final, a definição completa do esquema navegacional, um elevado grau de interação com os usuários e a exploração de testes com muito realismo.
No entanto, háalgumas desvantagens como, por exemplo: elevado custo e tempo de desenvolvimento, ineficiente para testes de opções de design e levantamento de requisitos.
A prototipação de alta fidelidade poderá ser implementada seguindo um dos métodos: (Figura 1)
Prototipação Throw-Away, na qual, seu objetivo é identificar e validar requisitos. E Prototipação Evolutiva, que tem o objetivo de minimizar o tempo de desenvolvimento do sistema.
Figura 1 - Prototipações Evolutiva e Throw-Away. [1]
- PROTOTIPAÇÃO THROW-AWAY
Este método de prototipação é utilizado para encontrar problemas de requisitos em protótipos, e tem como objetivo consistir uma maior qualidade, por meio da validação e definição no documento de requisitos do software.
Ele tem como base os requisitos que não estão bem definidos, e os que já estão bem definidos dificilmente são utilizados no protótipo. Ao construir um protótipo pelo método Throw-Away, os seguintes passos são seguidos: desenvolve-se um documento de requisitos provisório, obtêm-se opiniões dos usuários e reformula-se o documento de requisitos, repetem-se estes passos, até a obtenção de satisfação dos usuários e, consequentemente, a finalização do documento de requisitos.
Depois da finalização do documento de requisitos, o protótipo já não é mais necessário e então é abandonado, para que se inicie o processo de desenvolvimento do software, o que acarreta em um gasto de tempo um pouco maior e na elevação do custo.
- PROTOTIPAÇÃO EVOLUTIVA
A prototipação evolutiva é utilizada em protótipos que evoluirão até tornarem-se sistemas finais.
Neste método, rapidamente é desenvolvido um protótipo que será modificado até que se obtenha o sistema final. Para que sejam feitas as modificações e o protótipo transforme-se em software, começa-se a construção deste protótipo com os requisitos fundamentais e que estejam bem definidos e é necessário o acompanhamento do usuário, para que juntamente com ele o desenvolvedor possa definir os requisitos do sistema.
Contrastando com a prototipação Throw-Away, um documento de requisitos detalhado não é elaborado, visto que a prototipação evolutiva é um método redutor de custo e de tempo.
Há algumas vantagens e desvantagem ao usar a prototipação evolutiva, que precisam ser conhecidas pelos desenvolvedores antes de adotar este método.
·Vantagens: Rápida entrega do sistema; compromisso do usuário com o sistema; especificação, desenho e implementação interligados; sistema desenvolvido como uma série de incrementos ao usuário;
·Desvantagens: Alguns requisitos não aparecem na especificação; requisitos não funcionais não são testados de forma adequada; documento de requisitos inexistente ou não detalhado; difícil manutenção; em alguns casos difícil gestão;
A longo prazo, podem ocorrer problemas de manutenção e evolução do sistema, por falta de uma estrutura sólida no seu desenvolvimento, isto pode causar o curto tempo de vida do sistema, visto que só os especialistas que o desenvolveram poderão efetuar a manutenção ou a evolução com facilidade.
Quando se utiliza a prototipação evolutiva se torna difícil a elaboração de um contrato entre desenvolvedores e clientes, pois estes contratos geralmente têm por base o documento de requisitos.
Para a obtenção de um bom sistema não se deve basear em protótipos feitos para responder questões especificas, mas desenvolver um protótipo com a finalidade de futuramente transformá-lo em um sistema.
O protótipo evolutivo pode se transformar em um sistema robusto, desde que, seja elaborado um planejamento e um desenvolvimento bem estruturado, com muito cuidado desde o início do projeto.
- CONCLUSÃO
Este artigo apresentou algumas vantagens e desvantagens da utilização da prototipação evolutiva no desenvolvimento de softwares, assim como a definição de sistemas, protótipos de alta fidelidade e prototipação throw-away, que é o inverso da prototipação evolutiva.
Por meio destes estudos conclui-se que, em situações que não são necessários documentos de requisitos bem detalhados e deseja-se a rápida construção de um sistema com um custo menor, a prototipação evolutiva é a mais indicada. Já se forem necessários documentos de requisitos bem definidos é aconselhado que se faça o uso de outros métodos de prototipação, como o método throw-away, no qual o tempo de construção do sistema é um pouco maior, mas tem-se um documento de requisitos bem elaborado e definido.
- REFERÊNCIAS
[1] WWW-CTP.DI.FCT.UNL.PT. Protótipo. Disponível em: <www-ctp.di.fct.unl.pt/~ja/lei-es/prototipo.pdf> . Acesso em 16 de março de 2006.
[2] WIKIPÉDIA. Prototipagem. Disponível em: <http://pt.wikipedia.wikipedia.org/wiki/Proto- tipagem>. Acesso em 16 de março de 2006.
[3] WIKIPÉDIA. Uso da Prototipagem na Engenharia de Requisitos. Disponível em:<http://pt. wikipedia.org/wiki/Uso_da_Prototipagem_na_Eng._de_Requisitos>. Acesso em 22 março de 2006.
[4] SOMMERVILLE, Ian. Engenharia de Software. 6ª ed. São Paulo. Pearson, 2005