Da modelagem de processos ao design de um sistema automatizado (Parte 1)

"Um dia na vida de um esquilo" ou desde processos de modelagem até o design de um sistema automatizado de contabilidade para valores de material "Squirrel-1.0" (Parte 1)



A ilustração do conto do czar Saltan de A.S. Pushkin foi usada, publicada pela Children's Literature, Moscou, 1949, Leningrado, desenhos de K. Kuznetsov


O que o "esquilo" tem a ver com isso?


Vou explicar imediatamente o que é o "esquilo". Tendo tropeçado na Web sobre projetos divertidos para aprender UML, contando com uma área emprestada de tramas de contos de fadas (por exemplo, aqui [1]), também decidi preparar um exemplo semelhante para meus alunos, para que eu pudesse estudar apenas três tipos de diagramas para começar: Atividade Diagrama, Diagrama de Casos de Uso e Diagrama de Classes. Eu deliberadamente não traduzo os nomes dos diagramas para o russo, a fim de evitar disputas sobre as "dificuldades da tradução". Para quê - vou explicar um pouco mais tarde. Neste exemplo, eu uso o ambiente Enterprise Architect da empresa australiana Sparx Systems [2] - uma boa ferramenta por um preço razoável. E como parte do treinamento, eu uso o Modelio [3], uma boa ferramenta gratuita para design orientado a objetos que suporta os padrões UML2.0 e BPMN, sem frescuras desnecessárias em termos de recursos visuais, mas bastante suficientes para aprender o básico da linguagem.


Vamos automatizar a atividade de contabilizar os valores materiais que surgem nesses processos.


...
A ilha fica no mar (E1, E2)
Cidade na arquibancada da ilha (E3, E1)
Com igrejas com cúpula dourada, (E4)
Com torres e jardins; (E5, E6)
Abeto cresce em frente ao palácio, (E7, E8)
E embaixo está uma casa de cristal; (E9)
O esquilo mora lá manual (A1)
Que artista! (A1)
Esquilo canta canções, (P1, A1)
Sim, nozes roem tudo, (P2)
E as nozes não são simples, (C1)
Todas as conchas são douradas, (C2)
Os núcleos são pura esmeralda; (C3)
Servos guardam o esquilo, (P3, A2)
Eles servem a ela uma serva diferente (P4)
E o funcionário foi ordenado (A3)
Estrito relato de nozes; (P5, C1)
Saúda seu exército; (P6, A4)
De uma concha, despeje uma moeda (P7, C2, C4)
Sim, flutue pelo mundo; (P8)
Meninas de esmeralda (P9, A5, C3)
Nas despensas, mas em segundo plano; (E10, E11)
...
(A.S. Pushkin "O conto do czar Saltan, de seu filho, o glorioso e poderoso herói Príncipe Gvidon Saltanovich e da bela princesa Cisnes", o trabalho no conto começou presumivelmente em 1822, o primeiro conto foi publicado por Pushkin na coleção "Poemas A. Pushkin ”(parte III, 1832, pp. 130-181) - a propósito, 10 anos desde o design até a publicação!)

Um pouco sobre os códigos escritos à direita das linhas. "A" (de "Ator") significa que a linha contém informações sobre o participante no processo. "C" (de "Classe") - informações sobre objetos de classe que são processados ​​durante a execução de processos. “E” (de “Ambiente”) - informações sobre os objetos de classes que caracterizam o ambiente de execução do processo. "P" (de "Processo") - informações sobre os próprios processos.


A propósito, uma definição precisa do processo também afirma ser a causa de disputas metodológicas, mesmo que os processos sejam diferentes: negócios, produção, tecnologia, etc. etc. (Você pode se familiarizar, por exemplo, aqui [4] e aqui [5]). Para evitar controvérsias, concordamos que o processo nos interessa em termos de repetibilidade no tempo e necessidade de automação , ou seja, transferir a execução de qualquer parte das operações do processo para um sistema automatizado.


Notas sobre a aplicação do diagrama de atividades


Vamos começar a modelar nosso processo e usar o diagrama de atividades para isso. Primeiro, explicarei como os códigos acima serão usados ​​no modelo. É mais fácil explicar com um exemplo gráfico, mas ao mesmo tempo analisaremos alguns (quase todos os elementos de que precisamos) elementos do diagrama de atividades.
Vamos analisar o seguinte fragmento:


...
Esquilo canta canções, (P1, A1)
Sim, nozes roem tudo, (P2)
E as nozes não são simples, (C1)
Todas as conchas são douradas, (C2)
Os núcleos são pura esmeralda; (C3)
...

Temos duas etapas do processo P1 e P2, participante A1 e objetos de três classes diferentes: um objeto da classe C1 chega na entrada da etapa, objetos das classes C2 e C3 são obtidos na saída, como resultado da atividade dessa etapa P2 do nosso processo. Para o diagrama, usamos os seguintes elementos de modelagem.



Um fragmento do nosso processo pode ser representado assim (Figura 1).



Figura 1. Um fragmento de um diagrama de atividades


Para organizar o espaço e estruturar o diagrama de Atividades, usaremos uma abordagem não muito padrão, em termos do uso clássico da notação UML. Mas há várias razões para isso. Primeiro, imediatamente antes do início da modelagem, elaboraremos o chamado contrato de modelagem , no qual corrigimos todos os recursos do uso da notação. Em segundo lugar, essa abordagem foi aplicada repetidamente com sucesso na fase de modelagem de negócios em projetos reais para criar sistemas de software, os resultados foram registrados por nossa pequena equipe de autores no assunto de direitos autorais correspondente [6] e também usada no manual de treinamento [7]. Para o diagrama de atividades, determinamos que a estrutura do campo do diagrama seja estruturada usando os caminhos de "natação" - raias de natação. O nome da faixa corresponderá ao tipo de elementos do gráfico que serão colocados nessa faixa.


“Artefatos de entrada e saída”: Objetos - objetos que são usados ​​ou são o resultado de alguma etapa do processo serão localizados nesta trilha.
"Etapas do processo": aqui colocamos os elementos da Atividade - as ações dos participantes no processo.
“Participantes”: um caminho para elementos que indicarão as funções de executores de ações em nosso processo; para eles, usaremos o mesmo elemento Objeto de modelagem - um objeto, mas adicionaremos o estereótipo “Ator”.
A próxima faixa é chamada de “Regras de Negócios” e, nessa faixa, colocaremos em texto as regras para concluir as etapas do processo e, para isso, usaremos o elemento de modelagem Nota - uma nota.
Vamos parar por aqui, embora possamos usar adicionalmente a faixa "Ferramentas" para coletar informações sobre o nível de automação de processos. A faixa "Posições e unidades de participantes" também pode ser útil, podendo ser usada para vincular funções a posições e unidades de participantes no processo.


Tudo o que acabei de descrever é um fragmento do contrato de modelagem . Esta parte do contrato diz respeito às regras para organizar um diagrama e, consequentemente, às regras para escrevê-lo e lê-lo.


"Receita"


Agora consideraremos uma opção de modelagem do sistema no diagrama de atividades. Esta é apenas uma das opções, observo que ele, é claro, não é o único. O diagrama de atividades nos interessará em termos de seu papel na mudança da modelagem de processos para o design de um sistema automatizado. Para isso, seguiremos as recomendações metodológicas - um tipo de receita que consiste em apenas cinco etapas e envolve o desenvolvimento de apenas três tipos de diagramas. A aplicação desta receita ajudará a obter uma descrição formalizada do processo que queremos automatizar e a coletar dados para o design do sistema. E para os alunos no início do aprendizado da UML, esse é um tipo de bóia de vida que não permitirá que você se afogue em toda a variedade de ferramentas e técnicas visuais existentes na UML e nas modernas ferramentas de modelagem.


Aqui, de fato, a receita em si e, a seguir, os diagramas construídos para nossa área de assunto "conto de fadas".


Etapa 1. Descrevemos o processo na forma de um diagrama de atividades. Para um processo em que mais de 10 etapas são destacadas, faz sentido aplicar o princípio de decomposição das etapas do processo para aumentar a legibilidade do diagrama.


Etapa 2. Destacamos o que pode ser automatizado (as etapas podem, por exemplo, ser destacadas no diagrama).


Etapa 3. A etapa automatizada precisa corresponder à função ou funções do sistema (a relação pode ser de muitos para muitos), desenhe um diagrama de casos de uso. Estas são as funções do nosso sistema.


Etapa 4. Descrevemos a organização interna do AS usando o diagrama de classes - Class. O caminho da natação “Objetos de entrada e saída (documentos)” no diagrama de Atividades é a base para a construção de um modelo de objeto e um modelo de relação de entidade.


Etapa 5. Vamos analisar as notas na faixa "Regras de negócios" , que oferecem vários tipos de restrições e condições, transformando gradualmente em requisitos não funcionais.
O conjunto resultante de diagramas (Atividade, Caso de Uso, Classe) fornece uma descrição formalizada em uma notação bastante estrita, ou seja, tem uma leitura inequívoca. Agora é possível desenvolver termos de referência, esclarecer a especificação de requisitos, etc.


Vamos começar a modelar.


Etapa 1. Descrevemos o processo na forma de um diagrama de atividades.


Deixe-me lembrá-lo de que estruturamos o campo do gráfico com a ajuda de pistas de “natação”; em cada pista há elementos do mesmo tipo (Figura 2). Além dos elementos do gráfico descritos acima, usaremos elementos adicionais, vamos descrever a partir de.


imagem


A decisão indica o ponto de ramificação de nosso processo no diagrama e a mesclagem de fluxos (Mesclagem) - o ponto de sua reunião. Entre colchetes nas transições, as condições de transição são registradas.


Entre dois sincronizadores (Fork), mostraremos ramificações paralelas do processo.
Nosso processo pode ter apenas um começo - um ponto de entrada (Inicial). Mas o final (Final) pode ser vários, mas não para o nosso diagrama específico.


Existem muitas setas, com um grande número de elementos e links. Você pode primeiro selecionar os estágios do processo e decompor esses estágios. Mas, por uma questão de clareza, eu gostaria de mostrar todo o nosso processo de "conto de fadas" em um diagrama, enquanto, é claro, precisamos garantir que as flechas não "grudem", poderíamos rastrear com precisão o que está conectado ao que.



Figura 2. Diagrama de atividades - visão geral do processo


Porque nas linhas poéticas são omitidos alguns detalhes do processo, tive que restaurá-los, eles são mostrados por elementos com fundo branco. Esses detalhes incluem a etapa "Transferência / recepção para armazenamento e processamento" e vários artefatos de entrada e saída. Vale ressaltar que essa etapa também não revela totalmente o processo, porque precisaríamos indicar separadamente a etapa de transferência e a etapa de recepção e, mesmo para os invólucros, adicionar uma etapa separada e também a conjectura de que primeiro todos esses valores de material devem ser temporariamente armazenados em algum lugar etc. etc.
Também chamamos a atenção para o fato de que a pergunta sobre a origem das nozes permanece sem resposta - de onde elas vêm e como chegam às proteínas? E essa pergunta (é destacada em vermelho na fonte da nota - o elemento Nota) requer um estudo separado! E assim o analista trabalha - coletando informações pouco a pouco, fazendo suposições e ficando "ok" ou "não-ok" de especialistas em domínio - pessoas muito importantes e simplesmente insubstituíveis no estágio de modelagem de negócios ao criar sistemas.


Observe também que a etapa do processo P5 consiste em duas partes.



E decompomos cada parte e consideramos com mais detalhes (Figura 3, Figura 4), porque as atividades realizadas no âmbito dessas etapas serão automatizadas.



Figura 3. Diagrama de atividades - detalhe (parte1)



Figura 4. Diagrama de atividades - detalhe (parte2)


Etapa 2. Destaque o que pode ser automatizado


As etapas a serem automatizadas nos diagramas são destacadas em cores (consulte a Figura 3, Figura 4).


Todos eles são realizados por um participante no processo - o funcionário da ordem:


  • Insere informações sobre o peso da porca na declaração;
  • Insere informações sobre a transferência da porca para a declaração;
  • Ele corrige o fato da transformação de nozes em conchas e grãos;
  • Insere informações sobre o núcleo da noz na instrução;
  • Insere informações sobre cascas de nozes na declaração.

Análise do trabalho realizado. O que vem a seguir?


Então, fizemos muito trabalho preparatório: coletamos informações sobre o processo que vamos automatizar; começou a formular um contrato de modelagem (até agora apenas em termos de uso do diagrama de atividades); executou uma simulação de processo e até decompôs várias de suas etapas; identificamos as etapas do processo que automatizaremos. Agora estamos prontos para avançar para as próximas etapas e começar a projetar as funções do sistema e sua organização interna.


Como você sabe, uma teoria sem prática não é nada. Você deve definitivamente tentar a "modelagem" com suas próprias mãos, isso também é útil para entender a abordagem proposta. Por exemplo, você pode trabalhar no ambiente de modelagem Modelio [3]. Decompomos apenas uma parte das etapas do diagrama da visão geral do processo (veja a Figura 2). Como uma tarefa prática, pode ser sugerido repetir todos os diagramas no ambiente Modelio e decompor a etapa "Transferência / recepção para armazenamento e processamento".
Ainda não consideramos o trabalho em ambientes de modelagem específicos, mas isso pode se tornar assunto de artigos e análises independentes.


Na segunda parte do artigo, analisaremos as técnicas de modelagem e design necessárias nos estágios 3-5, usaremos os diagramas UML de Caso de Uso e Classe. Para ser continuado .


Lista de fontes
  1. Site "UML2.ru". Fórum de analistas da comunidade. Seção geral. Exemplos. Exemplos de contos de fadas na forma de diagramas UML. [Recurso eletrônico] Modo de acesso: Internet: http://www.uml2.ru/forum/index.php?topic=486.0
  2. Site da Sparx Systems. [Recurso eletrônico] Modo de acesso: Internet: https://sparxsystems.com
  3. Site Modelio. [Recurso eletrônico] Modo de acesso: Internet: https://www.modelio.org
  4. Grande Dicionário Enciclopédico. O processo (interpretação). [Recurso eletrônico] Modo de acesso: Internet: https://dic.academic.ru/dic.nsf/enc3p/246322
  5. Site "Organização de gerenciamento eficaz". O blog. Título "Gerenciamento de processos de negócios". Definição de um processo de negócios. [Recurso eletrônico] Modo de acesso: Internet: https://rzbpm.ru/knowledge/pochemu-processy-stali-s-pristavkoj-biznes.html
  6. Certificado nº 18249 sobre registro e depósito de uma obra do resultado de atividade intelectual. Alfimov R.V., Zolotukhina E.B., Krasnikova S.A. Um manuscrito de uma ferramenta de ensino intitulada "Modelando uma área de assunto usando o Enterprise Architect" // 2011.
  7. Zolotukhina E.B., Cherry A.S., Krasnikova S.A. Modelando processos de negócios. - M.: CURSO, SIC INFRA-M, EBS Znanium.com. - 2017

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


All Articles