Você está na página 1de 20

Prototipao de Software

Prototipao de Software
Mesmo com os mtodos e ferramentas atuais
de Engenharia de Software, a anlise de
requisitos continua sendo o principal problema
do desenvolvimento do Software. A deficincia
de validaes no inicio do desenvolvimento
compromete o projeto como um todo, pois nem
sempre os requisitos so compreendidos na sua
totalidade.

Prototipao de Software
A Importncia da Validao Antecipada dos Requisitos

Prototipao de Software
Pesquisa indicam que :
54% dos erros em projetos de software so
detectados aps as fases de codificao e
testes.
83% destes na fase de anlise
17% na fase de implantao

56% de todos os erros detectados foram


introduzidos na anlise de requisitos

Prototipao de Software
Tipos de erros nos Requisitos

Modelo de Desenvolvimento
Cascata

Modelo de Desenvolvimento
Cascata

Modelo de Desenvolvimento
Modelo Cascata: o modelo clssico para o
desenvolvimento de software, supe um projeto no qual os
passos de trabalho so detalhados antes de serem
executados e consequentemente contribui para a introduo
de erros.

Tentativas para superar desvantagens do modelo cascata:


Aprimoramento iterativo;
Prototipao rpida;
Prototipao evolucionria;
Prototipao incremental.

Prototipao de Software
Classes de prottipos:
Baseados em Papel
No provm funcionalidades;
Gera ideias para elucidar os requisitos.

Baseados em Software.
Experimental
Exploratria
Evolucionria

Prototipao de Software
Experimental Fornece aos usurios vrias
alternativas que ajudam a estimar a viabilidade do futuro
sistema em termos de performace e outros aspectos
tcnicos, quando os requisitos so conhecidos.
Exploratria Usada principalmente para elicitar ou
esclarecer os requisitos dos usurios. Ajuda tambm a
cristalizar as confusas necessidades dos usurios para
um primeiro sistema.
Evolucionria Permite flexibilidade no processo de
desenvolvimento de software tal que ele pode ser
adaptado s mudanas organizacionais

Prototipao de Software
Classificao dos Tipos de Prottipos
(de acordo com as diferentes tarefas que eles executam)
Prottipo de Demonstrao usado pelos desenvolvedores para
mostrar aos clientes a viabilidade do novo projeto e a primeira
impresso do futuro sistema. Aborda somente uma parte limitada do
sistema final, sendo esta geralmente a interface grfica;

Prottipo Funcionais usado em paralelo a modelagem do


software onde um sistema temporrio executvel construdo. Embora
cobrindo diversa funes e interface com o usurio, o prottipo carece
de propriedades importantes do sistema final, como tratamento de
excees, por exemplo. Usando para elucidar a definio dos requisitos
e responder questes do projeto;

Prototipao de Software
Classificao dos Tipos de Prottipos
(de acordo com as diferentes tarefas que eles executam)
Prottipo Superfcie derivado das especificaes para
permitir o estudo de solues alternativas, estimulando a
criatividade dos desenvolvedores;
Prottipo Piloto no existe distino entre o prottipo e o
sistema final. O prottipo usado como um ncleo que evolui
gradualmente at o sistema final.

Prototipao de Software
Benefcios da Prototipao no Ciclo de Vida do Sistema
Disponibilizar um meio tanto para experimentao de idias quanto para
acomodar decises propostas pelos usurios;
Entregar rapidamente um sistema executvel, pelo usurio, que serve para
avaliar o impacto do sistema proposto no ambiente da organizao;
Estabelecer e validar os requisitos do sistema a ser construdo;
Minimizar os riscos do projeto visto que o prottipo pode estabelecer como o
modelo funciona previamente implementao final do sistema;
Reduzir custos e tempo do projeto de software;
Determinar a viabilidade do produto, bem como avaliar os custos de
desenvolvimento;
Iniciar um processo de aprendizado peara usurios e desenvolvedores.

Prototipao de Software
Abordagens para Desenvolvimento de Prottipos
1. Abordagem Exploratria - Visa explorar os requisitos ou
certos detalhes antes ou durante o desenvolvimento. Existem
duas importantes abordagens que empregam este mtodo:
1.1. Prototipao rpida (descartvel):
- Ajuda a complementar o conjunto de requisitos;
- Requisitos menos entendidos so implementados primeiro;
- No so considerados fatores de qualidade;
- Usurios potenciais fornecem feedback aos desenvolvedores;
- O prottipo descartada.
1.2. Modelo Espiral:
- Gerencia os riscos no processo de desenvolvimento do software

Prototipao de Software
Abordagens para Desenvolvimento de Prottipos
2. Abordagem Experimental A viabilidade das solues
propostas possam ser examinadas pelo uso experimental.
Pode ser uma simulao funcional parcial demonstrando todas
as funes do sistema, uma maquete de interface mostrando a
estrutura do sistema.
3. Abordagem Evolucionria
3.1 Desenvolvimento Incremental: Um sistema parcial implementado
a partir de um projeto completo. Aspectos com funcionalidade e
performance so gradativamente adicionados ao projeto.
3.2 Desenvolvimento Evolucionrio: Adotado no contexto de um
ambiente dinmico e mutvel. Necessita uma sequncia de ciclos de
reprojeto, reimplantao e reavaliao, sem qualquer esforo para
capturar previamente um conjunto completo de requisitos.

Prototipao de Software
Tcnicas de Prototipao
1. Linguagens de Especificao Executveis: Desenvolver um
prottipo a partir de uma especificao forma um atrativo que combina
uma especificao no ambgua com um prottipo executvel. Esta tcnica
tem a vantagem de no gerar custos adicionais para desenvolver o
prottipo aps a especificao ter sido escrita. Entretanto, existem algumas
dificuldades prticas na aplicao desta abordagem:

As interfaces grficas com usurios no podem ser prototipados usando


esta tcnica;
A especificao formal requer uma anlise detalhada do sistema gastando
muito tempo na modelagem;
O sistema executvel geralmente lento e ineficiente que causa uma falsa
impresso ao usurio;
As especificaes executveis testam somente requisitos funcionais do
sistema.

Prototipao de Software
Tcnicas de Prototipao
2. Linguagem de Programao de Alto Nvel:
Incluem poderosas facilidades para processamento de dados. Elas
simplificam a implementao do software porque fornecem recursos que
deveriam ser construdos em linguagens mais primitivas.
importante ressaltar que diferentes linguagens so usadas para diferentes
tipos de sistemas, dependendo do domnio da aplicao.
Dependendo do tipo de prottipo a ser construdo, pode-se adotar uma
abordagem que combine vrias linguagens de programao. Diferentes
partes do sistema podem ser programadas em diferentes linguagens e um
framework de comunicao estabelecido entre as partes.

Prototipao de Software
Tcnicas de Prototipao
3. Linguagens de Quarta Gerao
Abrange um amplo conjunto de linguagens de emisso de relatrios,
consulta a banco de dados, geradores de aplicaes e programas, alm de
outras linguagens de altssimo nvel. Uma vez que capacitam o engenheiro
de software a gerar cdigos executveis rapidamente, as linguagens de
quarta gerao tornam-se boas candidatas para a prototipao rpida.

4. Componentes de Software Reutilizveis


Outra tcnica de prototipao rpida montar, em vez de construir o
prottipo, usando componentes de software j existentes. Um componente
de software pode ser uma estrutura de dados (ou banco de dados), um
programa ou um componente procedimental (mdulo). Em cada caso, o
componente de software deve ser projetado de tal forma que possa ser
reutilizado sem um conhecimento detalhado do seu funcionamento interno.

Prototipao de Software
Especificao Formal no Desenvolvimento de Software
Uma questo tradicional na Engenharia de Software se o sistema realmente uma
soluo para o problema considerado. Uma maneira de responder esta pergunta
atravs do uso de mtodos formais, cuja idia focar-se na modelagem forma do
sistema em construo, abstraindo seus comportamentos menos importantes.
Esse modelo formal pode ser empregado para analisar o comportamento do
sistema, a fim de garantir que o modelo construdo possui o comportamento
correto e as propriedades desejadas.
Os mtodos formais podem ser totalmente integrados no ciclo de vida clssico de
desenvolvimento de software:
- Na fase de anlise, eles podem ser usados juntamente com outras tcnicas;
- Na fase do projeto, a especificao pode sofrer uma srie de refinamentos e
iteraes at chegar na implementao. O uso de raciocnio formal e refinamento
ajuda em assegurar a correta verso do software em desenvolvimento.
Para tanto, sero necessrios efetuar Validao de Especificaes Formais e
utilizar Mtodos de Validao.

Prototipao de Software
Especificao Formal no Desenvolvimento de Software
Validao de Especificaes Formais
Mtodos de Validao

Você também pode gostar