Programação do mouse: como fugimos da rotina do CRM

O que é programação de mouse? Esse é o princípio da criação de uma interface do usuário que evita a gravação de código. Muitos criticam essa abordagem: dizem que a programação com o mouse não é digna de um desenvolvedor de verdade, tudo deve estar no código. Mas antes, mesmo para desenhar um círculo, você precisava conhecer o básico da sintaxe do mesmo Básico. Agora qualquer usuário pode desenhar qualquer forma em qualquer editor gráfico simples, e isso nem é chamado de programação, porque a operação é muito simples. Esse é o desenvolvimento da interface do usuário, que facilita a interação com o computador. Neste artigo, compartilharei nossa experiência de maximizar os princípios de "programação com o mouse" no CRM Dynamics.



Ao criar novos serviços, sempre nos concentramos em maximizar o "princípio de programação" com o mouse. Ou seja, ao resolver um problema, você precisa pensar: como garantir que ele não volte para você com melhorias funcionais subseqüentes? O desejo de se afastar da rotina acelerará o desenvolvimento do produto. Se o usuário quiser alterar frequentemente alguma parte visual do formulário, forneça a ele um mecanismo que permita que você faça isso sozinho e não o distraia do objetivo principal, mas, ao mesmo tempo, não interferirá no sistema. Se, na fase de design, somos guiados pela solução mais direta e colocamos tudo no código, as primeiras etapas certamente serão implementadas mais rapidamente. Porém, com o tempo, no estágio de suporte ao produto, você pode se afogar no trabalho operacional - editando relatórios, adicionando diretórios e gerando documentação comercial a partir de um sistema de modelos. Por fim, o desenvolvimento do sistema pode simplesmente parar.

Recursos do CRM Dynamics


O CRM Dynamics oferece uma interface gráfica para criar uma sequência de processos de negócios - você pode mover blocos com o mouse e criar sequências e dependências específicas sem nenhum código. Mas o mais interessante é que aqui você pode criar uma interface de usuário com um único mouse, tão fácil quanto no designer de formulários embutido. Assim, os desenvolvedores podem formar formulários extensos em um único estilo em literalmente minutos. Obviamente, isso acelera o desenvolvimento. Vou dar alguns exemplos de nossas soluções.

Verificação de dados


Na grande maioria dos sistemas de negócios, há uma verificação dos dados que o usuário digita no sistema. Muitos abordam a tarefa de maneira direta - eles registram algoritmos no código para verificar a presença e a validade dos dados inseridos. Passamos pela implementação de um serviço separado que permite aos administradores de negócios (nossos usuários privilegiados) configurar a verificação usando mecanismos simples na interface do usuário. Sim, o primeiro passo de nossa implementação (a formação de métodos de verificação) ainda é o código que o programador escreve. Mas ele escreve em uma linguagem simples para criar consultas em um formulário do usuário - o que significa que um usuário avançado com habilidades básicas na criação de consultas também pode formar um método semelhante. Depois disso, o usuário comum já coleta sozinho o caminho de verificação completo e define as condições para seu uso.

Considere um exemplo específico. Estamos verificando a disponibilidade do passaporte de um indivíduo no sistema. Nós o descrevemos no código e fornecemos esse método aos administradores de negócios. Além disso, todos os relacionamentos básicos já estão registrados nos objetos correspondentes. Os administradores de negócios já configuram independentemente todas as conexões com o mouse usando a interface básica e a funcionalidade do sistema, determinam em que estágio do ciclo de vida do produto comercial e para qual produto esse método é usado, a saber: se é necessário verificar o diretor da organização tomadora, o contador da organização garantidora ou outras funções e relacionamentos dentro do aplicativo. O próprio passaporte é verificado da mesma maneira e as condições e as relações associadas a ele são determinadas pelo administrador da empresa. Não estamos envolvidos nesse processo.


O usuário cria uma condição de parada especificando: nome, estágio, produto e objeto de validação


Configura o link do objeto de verificação com o método de verificação


O método de verificação ainda está sendo configurado pelos desenvolvedores, mas aqui o usuário pode desligar e ativar os atributos marcados com as caixas de seleção

Imprimindo formulários


Outro exemplo de nossa função de maximizar os princípios de "programação com o mouse" são os formulários impressos. No Dynamics, você pode criar inicialmente um modelo para formulários impressos para contratos, formulários de consentimento e outros documentos do cliente, extraindo dados do sistema. Mas a implementação padrão desse recurso tem um grande número de limitações que os negócios não suportaram, portanto tivemos que criar um mecanismo mais flexível.

A primeira solução rápida é gerar formulários impressos através do mecanismo de relatórios no sistema usando SQL e SSRS. Encontrei esse caminho mais de uma vez em outras soluções. Porém, quanto mais trabalhamos no desenvolvimento de nosso sistema, mais e mais complicadas se tornaram as formas de impressão. Como resultado, seguimos um caminho semelhante ao exemplo anterior: implementamos o processamento de uma consulta SQL e construímos um conjunto de tags usando Open XML. Os usuários corporativos podem reutilizar essa consulta, criando e alterando rapidamente as formas de contratos, questionários e outros documentos comerciais, colocando as tags com o mouse no texto estático do modelo.

Como resultado, temos uma grande solicitação para todos os atributos básicos, que serão alterados somente quando novos aparecerem. Com sua ajuda, o usuário poderá a qualquer momento on-line coletar o formulário impresso desejado. Para acelerar a execução da solicitação, sempre podemos nos conectar mais tarde, em um momento conveniente para nós, sem violar os princípios do scrum, para planejar e fazer uma solicitação mais otimizada para necessidades específicas, se necessário.


Aqui está o modelo finalizado no Word


E esta é a preferência do usuário para o formulário de impressão

No Excel, os formulários de impressão exigiam uma solução adicional para a formação de tags, mas também lidamos com esta tarefa. Externamente, para o usuário, eles fizeram tudo da mesma maneira que no trabalho com modelos do Word.

E na verificação de dados e na criação de formulários impressos, o nível mais baixo de serviços permanece, embora parcialmente, do nosso lado. Porém, no futuro, planejamos criar um construtor de consultas gráficas conveniente. Em seguida, podemos oferecer aos administradores de empresas 99% do trabalho com esses componentes voláteis do sistema.

Com a abordagem que usamos, os custos iniciais de mão-de-obra, é claro, são muito maiores - afinal, escrever um serviço completo é mais difícil. Mas não trabalhamos como contratados integradores que desejam fornecer o produto final e esquecê-lo. Entendemos que continuaremos trabalhando com este produto e desenvolvendo-o. Seguindo os princípios de "programação com o mouse", economizamos mais suporte do sistema.

Mais um detalhe que vale a pena mencionar. Para seguir os princípios de maximizar a funcionalidade com elementos de "programação com o mouse", são necessários especialistas com qualificações comparativamente mais altas - desenvolvedores e analistas que resolvem não apenas os requisitos funcionais atuais, mas também podem olhar para o futuro para finalmente fechar as tarefas em potencial máximas para desenvolvimento adicional.

Obviamente, a implementação das possibilidades de “programação com o mouse” apresenta um certo número de limitações em comparação com o uso de código, uma vez que, no nosso caso, toda a funcionalidade será predeterminada pelos desenvolvedores. Mas isso se torna um incentivo para o desenvolvimento da funcionalidade, flexibilidade e conveniência das ferramentas para o usuário.

Source: https://habr.com/ru/post/pt419181/


All Articles