Skip to content

HamiltonVentura/MapperIdea-Java

Repository files navigation

MapperIdea

Índice

  1. Introdução
    1. Pré-Requisitos
    2. Principais conceitos
  2. Softwares Utilizados
  3. Instalação e uso da ferramenta
  4. Classes e atributos
  5. Mapeando Códigos
  6. Referências

Introdução

MapperIdea é uma ferramenta que automatiza a geração de código em conjunto com o Freemind, uma ferramenta de mapas mentais. Usando MapperIdea, é possível converter mapas mentais em código, o que facilita o desenvolvimento de software e aproxima os stakeholders do projeto, tornando a colaboração mais eficiente e compreensível para todos os envolvidos.

Mapperidea

Finalidade da Ferramenta : Agilizar o desenvolvimento de Software com mapas mentais, possibilitando reaproveitamento de código através da arquitetura modelada pelo Desenvolvedor / Analista. Ideia : "Criar na unha apenas uma vez"

Pré-Requisitos

Important

Para modeladores de regras de negócio
Conceito de classes, atributos e propriedade
Os principais conceitos de Orientação a objetos

Principais conceitos MaperIDea

Important

Para programdores
1 - O XML é de extrema importância pois os documentos gerados pela Estrutura gerada são em mm que é um tipo de arquivo Em sua base XML.
2 - O XPATH Básico é essência para utilização do MI (MapperIdea) , através dele é possível correr os documentos XML.
3 - O XQUERY facilita o entendimento da aplicação das funções dentro de Mapperidea.
4 - Orientação a Objetos os principais conceitos.

SOFTWARES UTILIZADOS

  • NODE 12
  • Freemind 1.0 + pacote de icones

O mapeamento é um processo em que os membros da equipe de desenvolvimento podem executar, envolve "copiar" o codigo traduzindo-o em mapas mentais, os quais poderão se alterados atualizados uma vez montados, sem necessidade de alterar código "na unha".

Após efetuar os mapeamentos, é necessário executar via linha de comando a geração de códigos, que é uma conversão do codigo mapeado em codigos práticos. A baixo é uma ilustração de como é o processo de criação dos mapas.

flowchart LR
    Gerar-mapa --> Arquitetura  
    Mapas-Mentais-Freemind -->Regra-de-negocio;
    Mapas-Mentais-Freemind --> Gerar-mapa;
    Regra-de-negocio --> Classes-atributos;
    Regra-de-negocio --> funções;
    Regra-de-negocio --> pacotes;
    Arquitetura --->PHP;
    Arquitetura --->JAVA;
    Arquitetura --->Html;
    Arquitetura --->JAVASCRIPT;     
Loading

O fluxo de utilização dos mapas mentais funciona da seguinte forma, O Mapperidea utiliza o código gerado pelos mapas mentais, sobe para o servidor essas informações, e como retorno ele traz o código escrito na arquitetura escolhida que foi construida.

flowchart LR
    sobe-mapa-regras-de-negócio --> servidor;
    sobe-mapa-da-arquitetura --> servidor;
    servidor --> retorna-código-escrito;   
Loading

A idéia principal é após mapeamento do código da arquitetura, alterar apenas os mapas mentais de regra de negócio, automatizando assim os processos referentes a codificação do sistema em construção ou alteração.

INSTALAÇÃO E USO DA FERRAMENTA

Instalar antes o node versão 14

Para Linux

sudo apt install npm

para Windows

choco install nodejs-lts --version=14.17.6
npm install mapperidea-cli -g
  • teste usando o comando
mi -h
  • Na sequência utilize com os dados fornecidos pela Mapperidea para autorizar seus acessos. authorize|a <email> <machine> <server>

Observações:

  • inicialize o projeto com o nome do projeto e o nome do arquivo

mi init <arquivo.mm> Atualize o projeto subindo as informações para o servidor mi push O fluxo repetitivo do projeto é sempre alterar o arquivo, dar um push no servidor para atualização, e então utilizar o comando para geração de código.

ICONOGRAFIA

Para adicionar um ícone a qualquer um de seus nós em seu mapa mental utilize a tecla de atalho "Alt + I" o qual abrirá uma tela de icones, você poderá clicar no ícone desejado ou poderá utilizar as teclas de talhos. Acompanhe a baixo os ícones mais utilizados para mapeamentos de regra de negócio.
Imagem telas de ícones

Package

Texto alternativo O ícone Package, siginifica pacote, indica diretórios. Todas as vezes que existir esse icone nos mapas mentais significa que existe um diretório, isso ajuda a organizar e melhorar o entendimento do código.Pela padonização das teclas utilize A tecla p

Direct-to-Field

Texto alternativo O icone Direct to Field, representa o campo de entrada de dados, por exempo: A Classe Vendedor possúi nome, e sobrenome, logo nome e sobrenome apresentarão esses icones de Direct To Field, quando no sistema vocês adicionarem esse campo será necessário na Arquitetura do software, identificar o icone e então executar alguma ação, como por exemplo criar um campo input. Utilize a tecla D

Icon-Descriptor-Class

Texto alternativo Ícone de descrição de classe, em seu nó adicione esse ícone para indicar que é uma classe comum. Tecla de talho alt+c

Icon-Descriptor-Bean

Texto alternativo Ícone de descrição de classe Bean, em seu nó adicione esse ícone para indicar que é uma classe do tipo Bean. Tecla de atalho alt+b

Icon-One-to-Many

Texto alternativo Uma determinada classe pode ter subclasses, inferindo a relação "Um parar muitos", um exemplo simples seria uma classe "Orçamento" que contem diversos itens/produtos. como tecla de atalho utilize alt+o

Icon-Many-to-one

Texto alternativo Uma determinada classe pode ser o item de uma classe pai, para isso utilizamos icone Muitos para um.alt+d

Icon one-to-one

Texto alternativo O ícone one-to-one indica que existe a relação um para um. Por exemplo classe Empregado possui vinculo com um computador, assim sendo, não possuiria vinculos com mais computadores estabelecendo a relação um para um. Tecla de atalho alt+r

Icon element

Texto alternativo O ícone element é utilizado para diversas indicações, mas principalmente com palavras chaves do Mapperidea e em momentos como descritivos de algumas funcionalidade. alt+e

Classes e atributos

Para iniciar vamos utilizar os icones de pacote, definindo o nó com o nome "peso" e um sub nó que conterá as classes domainTeste exemplo mapa

Perceba os pontos principais dessa classe Carro: O ícone class, pode ser utilzado quando a classe não é persistida no banco de dados. Nesse exemplo a classe carro contem os atributos, placa, modelo, cor e ano. Após cada atributo temos as propriedades, podendo ser texto, Inteiro, ou número.

O @ é interpretado como linhas de orientação para banco de dados e também para titulos que podem ser exibidos posteriormente em tela.

Relação entre classes

As relações entre as classes podem ser definidas como one to one (um para um) / one to many(um para muitos) e many to one (muitos para um).

Relação um para um

Um exemplo pode ser de uma pessoa que possui um passaporte, ou seja a relação é de um para um, pois um passaporte pode ser de apenas uma pessoa e uma pessoa pode ter apenas um passsaporte.

No mapperidea utilizando o freemind ficaria algo assim: exemploum

About

Mapperidea - Geração de códigos

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published