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_address]
Resumo Motivação Levantamento bibliográfico Proposta Projeto em andamento Discussão
Motivação Sistema baseado em workflow A tividade automatizada: pré-aprovação Fácil acesso entre e quipes 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: a proximar 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 Basead o  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ência Texto com pouca formatação Texto totalmente formatado 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?

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

  • 1.
    Programação voltada aousuário final baseada em formatação visual de texto Alysson Bolognesi Prado Unicamp – Universidade Estadual de Campinas DGRH – Diretoria Geral de Recursos Humanos [email_address]
  • 2.
    Resumo Motivação Levantamentobibliográfico Proposta Projeto em andamento Discussão
  • 3.
    Motivação Sistema baseadoem workflow A tividade automatizada: pré-aprovação Fácil acesso entre e quipes 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
  • 4.
    Motivação Aumentar visibilidadesobre 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
  • 5.
    Levantamento Bibliográfico SemióticaOrganizacional: estrutura de uma organização
  • 6.
    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
  • 7.
    Natural programming: IHCaplicada à 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
  • 8.
    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
  • 9.
  • 10.
    Documento = códigofonte Basead o 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.
  • 11.
    Projeto em andamentoAná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
  • 12.
    Linguagem de formatação/programaçãoDescritor 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
  • 13.
    Linguagem de formatação/programaçãoDescritor 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
  • 14.
  • 15.
    Validação Aplicação emdocumentos/sistemas já existentes
  • 16.
  • 17.
    Validação Entrevista comanalista 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
  • 18.
    Validação Ordem depreferência Texto com pouca formatação Texto totalmente formatado 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.
  • 19.
    Pontos negativos Sobrecargavisual 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)
  • 20.
    Pontos positivos Permitirque 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
  • 21.
    Pontos positivos Reconhecimentopelo 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
  • 22.
    Próximos passos Continuarrevisã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
  • 23.
    Finalizando... Agradecimentos Colegasda DGRH Sugestões de revisores Dúvidas?