Programação Voltada Ao Usuário Final Baseada Em Formatação

Preview:

DESCRIPTION

Allyson Bolognesi Prado

Citation preview

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

alysson@unicamp.br

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?