o que vocês acham da criação do protótipo ? Eles devem atender a quêm ? Ele é realmente útil ? E na programação ágil , existe a elaboração do protótipo ?
Surgiu esse questionamento, porque vejo que muitas atividades se prendem a criação de protótipos, sem necessidades, aí queria saber se alguém defende a utilização de protótipos e por quê ?
Olha, nao defendendo nem criticando, mas fizemos o Prototipo da versao 1.0 do [modo propaganda=on]TraceGP[modo propaganda=off] e usavamos para apresentar aos clientes, e tambem para validar a interface com o analista, ver se era realmente isso que ele desejava e se atendia os requisitos de usabilidade definidos. Era engracado que quando alguem ia nos clientes, alguns queriam saber pq nao atualizava os dados… hehe mas era puro HTML O_O e um cliente quis saber qual servidor de aplicacoes rodava o prototipo hahaha.
O bom era que, feito o prototipo podiamos mudar meia duzia de coisas no HTML e jah estava feito o front-end! :-p
Aqui na empresa, como os web-designers não sabem JSP, eles fazem o protótipo das telas e os programadores fazem o barato ficar dinâmico, inserindo as tagslibs e EL
Eu acho válido a prototipação de sistemas, pois quando é apresentado ao cliente fica façil mudar alguma coisa caso o cliente não aprove, pois é simplesmente html sem nenhuma inteligência, e o cliente já vai ver a cara do sistema.
Vale a pena sim fazer protótipos quando você tem pessoas especificas para fazer o protótipo (não programadores Java), e quando o código criado na prototipação pode ser utilizado na construção do sistema.
O problema do protótipo é que o cliente olha e diz: “- Ta pronto, agora só falta salvar no banco”
Bem lembrado. Tem inumeros casos aqui na empresa onde um ‘prototipo’ em Rails foi direto pra producao, pq o cliente se tocou que nao tinha o menor motivo pra desenvolver em Java a nao ser inercia.
Bem lembrado. Tem inumeros casos aqui na empresa onde um ‘prototipo’ em Rails foi direto pra producao, pq o cliente se tocou que nao tinha o menor motivo pra desenvolver em Java a nao ser inercia.[/quote]
Então nesse caso ou o sistema era simples demais ou o protótipo fazia muita coisa.
Um protótipo tem que focar em apenas um aspecto do sistema, normalmente a UI, e usar stubs para todo resto. No caso de projetos green field, ir do protótipo pro produto final é bem mais simples.
Não sei ao certo qual é o protótipo correto, ou se existem diversos tipos de protótipos, que se adequam a situações diversas…
Um protótipo pode ser bem confeccionado, podendo se tornar já o próprio sistema, ou pode ser feito de forma funcional, sem se preocupar no entanto nos detalhes da aplicação ?
Questões como máscaras, validação, navegação, layout, simulações … devem estar presentes sempre ?
Outra coisa, um protótipo aprovado, vcs acham que um programador estaria mais apto a desenvolver o produto com qualidade ? Ou protótipo seria apenas para mostrar ao cliente ?
É importante o protótipo sim! Ajuda muito a fechar requisitos e dá uma visão para o usuário de campos e navegação que não estão nos requisitos e nem no modelo de casos de uso (como exemplo). Sem o protótipo aprovado seu usuário vai falar: -“Não dá para colocar esse campinho mais para a direita. Não gostei da cor de fundo… Essa tela tem que ter o campo X, ou o Campo Y”. São coisas fáceis de mexer no protótipo e difíceis de mexer na aplicação rodando.
Mas cada projeto é diferente um do outro.
É importante que o protótipo acompanhe o desenvolvimento. Se é web faça em HTML, aí ele é reaproveitado sendo convertido para JSP, não vai fazer em PowerPoint como exemplo…
Não vejo problema em se alterar um campinho mais pra direita ou mudar a cor de fundo depois que a aplicação estiver pronta, se isso for tão difícil assim, é melhor nem entregar o sistema, porque ninguém vai querer dar manuntenção no seu sistema.
Protótipo com certeza ajuda muito a entender como vai ser mostrado a disposição dos componentes, a navegação também como você falou, mas a quetão é fazer um protótipo muito rebuscado, bem detalhado não pode vir a atrasar o desenvolvimento ? Um programador deve sempre ter um protótipo pra se basear ? Quando o cliente deseja ter um dinamismo maior, realizando algumas modificações nas telas tem que manter sempre o protótipo atualizado ? Esse protótipo geralmente não é produzido com qualidade , e alterar 200 telas só pra manter atualizado, gera um desconforto … é por isso que perguntei se em desenvolvimento ágil ele é usado.
Então nesse caso ou o sistema era simples demais ou o protótipo fazia muita coisa.
Um protótipo tem que focar em apenas um aspecto do sistema, normalmente a UI, e usar stubs para todo resto. No caso de projetos green field, ir do protótipo pro produto final é bem mais simples.[/quote]
Os prototipos eram pra projetos greenfield, e so tinham que falar com banco de dados local (ou seja, prato cheio pra Rails). Dai fica facil. Em outros casos, como no projeto que eu tou trabalhando agora, a gente fez o prototipo em Rails, mas pra falar com a mainframaiada toda teve que usar Java (e ai de quem tentasse comprar a briga pra rodar FastCGI no WebSphere 4…)
[quote=Fabrício Cozer Martins]Não vejo problema em se alterar um campinho mais pra direita ou mudar a cor de fundo depois que a aplicação estiver pronta, se isso for tão difícil assim, é melhor nem entregar o sistema, porque ninguém vai querer dar manuntenção no seu sistema.
Protótipo com certeza ajuda muito a entender como vai ser mostrado a disposição dos componentes, a navegação também como você falou, mas a quetão é fazer um protótipo muito rebuscado, bem detalhado não pode vir a atrasar o desenvolvimento ? Um programador deve sempre ter um protótipo pra se basear ? Quando o cliente deseja ter um dinamismo maior, realizando algumas modificações nas telas tem que manter sempre o protótipo atualizado ? Esse protótipo geralmente não é produzido com qualidade , e alterar 200 telas só pra manter atualizado, gera um desconforto … é por isso que perguntei se em desenvolvimento ágil ele é usado.
[/quote]
Mauricio, quando entrei na empresa comecei fazendo o prototipo, sempre fui um cara ligado ao front-end e tal entao foi um approach que consegui desenvolver tranquilo (nao conhecia Java de verdade) entao estavamos mudando o layout de TODA a aplicacao, ao mesmo tempo que eu aprendia sobre a aplicacao em si, aprendia sobre JSP/Struts e EJB (naquele tempo usavamos EJB) eu dava suporte a um prototipo que era utilizado como esboco para os desenvolvedores aplicarem na aplicacao, na epoca foi uma ideia excelente eu acho e um jeito bem interessante de se utilizar mais de um prototipo
Acho protótipo excelente, pois o Cliente vê o que está levando e não ocorrerão (Muitos) problemas quanto a mudança de interface.
Além disto, dependendo de como você fizer o protótipo, você pode aproveita-lo em sua implementação facilitando o desenvolvimento.
Abrir o nvu … e rabiscar a idéia.
Enquanto (o rasbisco não estiver legal ) {
Conversar com a equipe,
Conversar com o cliente e
rabiscar um pouco mais.
}
Pegar o código-fonte e postá-lo no wiki do projeto, ou gravá-lo no diretório doc do projeto e protegê-lo no controle de versões.
Fala rodrigo,
cara eu particularmente não gostei muito do NVU não … achei complicado criar protótipos nele, tinha horas que ele salvava, e outras não, outras ele não apresentava fielmente o layout no modo design , tinha que usar o browser mesmo, enfim, não serviu muito não, principalmente para as pessoas que não conheciam muito bem html, e foi usar.
Aproveitando, existe alguma ferramenta pra design melhor pra usar no linux que não seja o NVU ? Algo que um analista que não programa muito, pudesse usar ?
Fala Fabrício,
Olha … o nvu melhorou bastante (e eu não enfretei esses problemas que você falou). Mas se essa última versão ainda não está Ok, aí você está num mato sem cachorro. Possivelmente a melhor opção seria utilizar o OpenOffice2 (que tem um modúlo para Web: o Writer/Web. O código gerado não é (tão) ruim _ pena que o OO2 não consegue trabalhar com xhtml ainda).