Programação voltada ao usuário final baseada em formatação visual de texto Alysson Bolognesi Prado Unicamp – Universidade Estadual de Campinas DGRH – Diretoria Geral de Recursos Humanos [email protected]
Jul 05, 2015
Programação voltada ao usuário final baseada em formatação visual de texto
Alysson Bolognesi PradoUnicamp – Universidade Estadual de CampinasDGRH – Diretoria Geral de Recursos Humanos
Resumo
Motivação Levantamento bibliográfico Proposta Projeto em andamento Discussão
Motivação
Sistema baseado em workflow Atividade automatizada: pré-aprovação Fácil acesso entre equipes de TI e
Negócios Revisão periódica das regras Consulta frequente sobre motivos da
aprovação/reprovação, pela área de negócios
Motivação
Aumentar visibilidade sobre o funcionamento do sistema
Manter documentação consistente com o que está de fato em execução
Aproximar o usuário da implementação das regras de negócio
Levantamento Bibliográfico
Semiótica Organizacional: estrutura de uma organização
Domain driven design: práticas para design de software Linguagem comum entre especialistas no domínio
e desenvolvedores Aplicação em camadas: interface de usuário,
regras e entidades de negócio e infra-estrutura Documentação com uso equilibrado de diagramas,
código fonte e linguagem natural
Levantamento Bibliográfico
Natural programming: IHC aplicada à programação declarações baseadas em eventos e regras ausência de expressões booleanas para indicar ações e comportamentos: preferência
por descrições textuais, ao invés de gráficos ou diagramas.
Levantamento Bibliográfico
Intentional programming: aproximar código da intenção do programador está pensando for (int i = 1; i <= 10; i++) print (i); Imprimir números de 1 até 10
Separação entre armazenamento e apresentação do código fonte (ex: xml)
Levantamento Bibliográfico
Proposta: artefato único
Documento = código fonte Baseado em texto comum, produzido pelo
usuário Não existem palavras reservadas ou
caracteres especiais A “programação” é feita através de
formatação tipográfica e adição de elementos decorativos ao texto
O texto restante, não formatado, tem valor de documentação e comentário.
Projeto em andamento
Análise de documentos existentes Definição da linguagem visual Construção de editor Gramática e geração de representação
intermediária Geração de código fonte Sistema disponível na web
Linguagem de formatação/programação
Descritor de entidade Descritor de
procedimento Chamada de
procedimento Contêiner de valor Atribuições Cadeias de caracteres Expressões
numéricas Busca em dicionário Código nativo Bloco desabilitado Acesso a atributos
Linguagem de formatação/programação
Descritor de entidade Descritor de
procedimento Chamada de
procedimento Contêiner de valor Atribuições Cadeias de caracteres Expressões
numéricas Busca em dicionário Código nativo Bloco desabilitado Acesso a atributos
Protótipo de trabalho
Validação
Aplicação em documentos/sistemas já existentes
Validação
Validação
Entrevista com analista de sistemas considerou-se apta aplicar a formatação questionou sobre o usuário saber
estruturar todo o documento Entrevista com analista de negócios
questionou se todo o sistema seria descrito daquela forma
sugeriu que fosse possível obter o texto com diferentes níveis de formatação
Validação
Ordem de preferência1. Texto com pouca formatação2. Texto totalmente formatado3. Código fonte
A formatação extra não atrapalha se o trecho a ser lido é pequeno
Em alguns casos complementa o texto. Usou como exemplo a atribuição.
Pontos negativos
Sobrecarga visual pode ser cansativa em textos longos
Necessidade de alteração dos textos produzidos pelos usuários Femininos / plurais
Dependência da linguagem de programação alvo (Java)
Pontos positivos
Permitir que usuários se expressem livremente, aproveitando essa expressão
Manter trabalho da equipe de TI visível para a área de negócio
Documentação mantida atualizada em relação a sistema em produção
Pontos positivos
Reconhecimento pelo seu usuário da sua contribuição no produto final
Equipe de negócios tem visibilidade das interpretações feitas pelos desenvolvedores
Convergência de visões sobre o problema a ser solucionado: técnica e de negócios
Próximos passos
Continuar revisão de documentação já existente produzida pelos usuários
Validação e extensão das regras de formatação tipográfica
Mais testes Estruturas baseadas em lógica Processamento de linguagem natural
Finalizando... Agradecimentos
Colegas da DGRH Sugestões de revisores
Dúvidas?