Prototipação De Software

Por Fulvio Alexandre da Cunha | 27/06/2007 | Tecnologia

Fulvio Alexandre da Cunha
Centro 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.

  1. 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.

  1. 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]

  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.

  1. 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.

  1. 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.

  1. 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