Prototipação de interfaces: o PROFACE

Reconhecidamente, um dos maiores desafios a serem vencidos na produção de software é a determinação dos requisitos do problema, principalmente os requisitos funcionais relacionados diretamente com o domínio. Normalmente esses requisitos estão ligados aos papéis desempenhados pelos principais atores do domínio do problema. Cada papel tem necessidades específicas nas suas atividades diárias que devem ser automatizadas pelo software. Essas necessidades devem ser entendidas, levantadas, analisadas e especificadas o mais completamente possivel, passando por um processo de compatibilização para evitar ambiguidades e inconsistências, e o software deve oferecer essas funcionalidades quando for finalmente colocado em uso.

Há riscos associados com a atividade de extração de requisitos, que se manifestam em atrasos em cronogramas e em super ou sub-avaliações de custos. As estórias sobre estouro em orçamento e cronograma são conhecidas e muito citadas na literatura, e levaram ao que se convencionou chamar Crise do Software, na década de 70. Mas, afinal, quais são esses riscos? Os principais: requisitos que deveriam ter sido especificados e passaram despercebidos; requisitos que foram especificados parcialmente ou erradamente; requisitos que interagem com outros requisitos e essa interação não foi detetada no processo de extração; o usuário muda de idéia durante o processo ou, pior ainda, depois que o software está pronto, e vamos por ai afora. O custo de correção tende a ser tanto mais alto quanto mais tarde no processo um problema for detetado. Por exemplo, para corrigir um erro de requisitos detetado quando o software já está em operação pode significar um custo muito mais alto do que se esse mesmo erro tivesse sido detetado e corrigido na própria fase de extração de requisitos. A literatura relata situações em que essa relação é de 100 vezes!!

Técnicas são criadas para tentar minimizar esses riscos, favorecendo uma melhor extração de requisitos. Por exemplo, os casos de uso da UML (Unified Modeling Language), propostos originalmente por Ivar Jacobson e descritas em seu livro Object Oriented Software Engineering, é uma das técnicas mais bem sucedidas e utilizadas no mundo todo. Também os Métodos Ágeis têm sua maneira de lidar com o problema, reconhecendo que os requisitos são mutáveis e utilizando ciclos curtos de desenvolvimento, atendendo aos requisitos passo a passo. As estórias de usuário (user stories) são outra técnica originada e utilizada com os Métodos Ágeis, e que auxiliam na interação com os atores.

A prototipação de interfaces aparece como uma técnica que pode ser utilizada com sucesso como valioso auxiliar na determinação dos requisitos do problema. De modo geral, os atores ou usuários interagem com o software via interfaces, e elas são a sua metáfora de trabalho. Nas fases iniciais, em que os requisitos ainda são nebulosos, a prototipação de interfaces pode ser um fator decisivo no sentido de tornar o processo mais rápido e seguro. Interagindo com os protótipos de interfaces, os usuários podem ser compelidos a ir falando sobre a sua interação com elas, se estão faltando funcionalidades, se os passos para resolver problemas estão corretos, etc.

Há uns dois anos, começamos a investir em uma ferramenta, o Proface, para fazer prototipação de interfaces já nos primeiros passos da extração de requisitos, no contexto de um processo de desenvolvimento. Uma primeira versão foi produzida pelo Kaabah di Lacerda como projeto de final de curso no Bacharelado em Ciência da Computação do Departamento de Informática da UFV, e nesse ano de 2007, uma segunda versão ficou pronta, também como projeto de final de curso, produzida pelo Edson Caminhas Gomes. Essa segunda versão foi batizada de Proface II, e está disponivel como software livre no sitio SourceForge, pode ser baixado aqui. O objetivo do Proface não é a geração de código, mas tão somente permitir a criação da cara da interface, com cores, botões, textos, imagens, etc., e permitir a visualização da navegação de uma interface para outra. Portanto, não vale comparar o Proface com os recursos de construção de interfaces disponiveis nos ambientes de desenvolvimento mais conhecidos, como Netbeans ou Eclipse, os contextos e objetivos são completamente diferentes. O sistema é um arquivo .jar, contém manual de uso e um pequeno tutorial sobre desenvolvimento de interfaces, produzido por mim e pelo Kaabah. Façam bom proveito, dêem retorno e sugestões, pois o projeto continua ativo.

Anúncios

Consultor Independente, Treinamento Empresarial, Gerência de Projetos, Engenharia de Requisitos de Software, Inovação. Professor Titular Aposentado, Departamento de Informática, Universidade Federal de Viçosa, Minas Gerais, Brasil. Doutor em Informática, PUC-Rio, 1990. Pós-Doutoramento, University of Florida, 1998-1999

Publicado em Engenharia de Software
14 comentários em “Prototipação de interfaces: o PROFACE
  1. Kaabah disse:

    Mais um vez PARABÉNS a todos os envolvidos nesse projeto!

    E Zé e Edson… a parte de Help ficou fantástica! Visual nota 10!

    Parabéns!!!!

  2. Mazinho disse:

    Acredito que a protipação de interface muitas vezes tem sido considerada um papel burocrático, no processo de extração de requisitos, onde ela é vista apenas para evitar discordâncias contratuais futuras. Quando o analista que faz o levantamento dos requisitos, observar o valor que a protipação de interface tem, poderá produzir softwares com muito menos risco de mudanças e erros! Tomara que o PROFACE seja o ponta pé inicial… parabéns ao Zé, Kaabah e Edson pelo excelente trabalho.

  3. Leandroh disse:

    Excelente ferramenta amigos!
    A idéia é basicamente igual ao livro “Getting Real” da 37signals (http://gettingreal.37signals.com/GR_por.php).

    Gostaria de dar uma pequena sugestão à ferramenta, ao posicionar os objetos na tela, dar livre acesso ao posicionamento dos objetos utilizando as setas do teclado (, etc).

    Um abraço e parabéns!

  4. Obrigado, sugestão está anotada. Em breve estaremos no sourceforge.net

  5. Eryckson Magno disse:

    Bem melhor do que papel de pão e caneta!!! (mas lembrando que ainda são de grande valia, não é? rs!)

    Agora sério, o PROFACE é uma ferramenta muito interessante, e importante, no processo de desenvolvimento de sistemas!

    Parabéns!

  6. Wander Gaspar disse:

    Olá, Prof. José Luis,

    Aqui é o Wander, seu ex-aluno do curso lato sensu em Ciência da Computação, turma 2002-2003. Estarei ministrando a disciplina IHM nesse período letivo, para a turma do Bacharelado em Sistemas de Informação do CES/JF e pretendo apresentar o Proface II aos alunos. Ao fim do curso, procurarei dar um feedback sobre o uso do software. Um grande abraço.

  7. Olá, Wander. Espero que o Proface corresponda às expectativas. O feedback é muito importante para o projeto, que continua sendo executado. Em breve vamos ter novidades, o projeto vai migrar para o SourceForge. Abraco, zeluis

  8. Joy disse:

    Há tempos procurava uma ferramentas com essa funcionalidade. Achei EXCELENTE!!! Como sugestão, seria interessante ter a possibilidade de imprimir, apesar de a exportação já suprir parte dessa necessidade; e ter um componente estilo tabela/planilha.

  9. Gleyve disse:

    Estava a procura de uma ferramenta de prototipação para adotar na customização do Linux Ubuntu que fizemos para o setor de desenvolvimento de sistemas onde trabalho. Parabéns..a ferramenta é muito boa e deve continuar evoluindo.
    Sugestão: Adicionar opção de alinhamento dos componentes.faciitaria bastante a prototipação.

  10. Obrigado, Gleyve. Já passei sua sugestão para a equipe de orientados. Sugestões são muito bem-vindas.

  11. Danilo disse:

    Parabéns, ótima ferramenta!

  12. Rafael Albani disse:

    Parabéns, ótima ferramenta.

  13. Michell disse:

    Exatamente o que eu estava procurando. Software simples e objetivo. Parabéns para os desenvolvedores.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: