Introdução
Na engenharia de software moderna, a capacidade de traduzir requisitos de negócios ambíguos em modelos de sistema precisos e acionáveis é uma habilidade fundamental. A Análise Textual serve como uma ponte poderosa entre enunciados de problemas em linguagem natural e diagramas formais UML (Linguagem de Modelagem Unificada). Este estudo de caso demonstra um fluxo de trabalho completo e passo a passo para extrair classes candidatas a partir de uma descrição real de problema, refiná-las por meio de critérios sistemáticos de rejeição e evoluí-las em diagramas de classes e de sequência robustos.
Utilizando o sistema de segurança do estacionamento Saturn International como nosso exemplo prático, ilustramos como gerentes de produtos, analistas de negócios e arquitetos de software podem aproveitar o recurso de Análise Textual do Visual Paradigm para acelerar a descoberta de requisitos, reduzir ambiguidades e produzir artefatos de design sustentáveis. Seja você que modela sistemas de controle de acesso, fluxos de trabalho empresariais ou aplicações voltadas para o cliente, a metodologia apresentada aqui fornece uma estrutura reprodutível para transformar palavras em modelos funcionais.

Descrição do Problema
A seguir, está a descrição do problema que será utilizada neste tutorial. Vamos dar uma olhada.
|
A gestão da Saturn Int. deseja melhorar suas medidas de segurança, tanto para seu prédio quanto no local. Ela gostaria de impedir pessoas que não fazem parte da empresa de usar seu estacionamento. A Saturn Int. decidiu emitir cartões de identidade para todos os funcionários. Cada cartão registra o nome, departamento e número de um funcionário da empresa, e concede-lhes acesso ao estacionamento da empresa. Os funcionários são solicitados a usar os cartões enquanto estiverem no local. Há uma barreira e um leitor de cartões colocados na entrada do estacionamento. Quando um motorista dirige seu carro para dentro do estacionamento, ele insere seu cartão de identidade no leitor de cartões. Em seguida, o leitor verifica o número do cartão para ver se é conhecido pelo sistema. Se o número for reconhecido, o leitor envia um sinal para acionar a barreira para se levantar. O motorista pode então dirigir seu carro para dentro do estacionamento. Há outra barreira na saída do estacionamento, que é automaticamente levantada quando um carro deseja sair do estacionamento. Um sinal na entrada exibe “Cheio” quando não há vagas no estacionamento. Ele só é desligado quando um carro sai. Há outro tipo de cartão para convidados, que também permite acesso ao estacionamento. O cartão registra um número e a data atual. Esses cartões podem ser enviados com antecedência ou coletados na recepção. Todos os cartões de convidados devem ser devolvidos à recepção quando o visitante deixar a Saturn Int. |
|---|
Identificação de Classes a partir do Texto
Criando Análise Textual
-
Crie um novo projeto. SelecioneProjeto > Novo no menu principal. Na janelaNovo Projeto nomeie o projetoTutorial e clique emCriar Projeto em Branco para confirmar.
-
Crie uma nova Análise Textual. SelecioneDiagrama > Novo no menu principal.
-
Na janelaNovo Diagrama selecioneAnálise Textual e clique Próximo. Insira Melhoria de Segurança como nome do diagrama e clique OK.

-
Isso abre o editor de Análise Textual. Copie a descrição do problema fornecida acima e cole-a no editor. A colagem pode ser feita pressionando Ctrl-V ou clicando com o botão direito no editor e selecionando Colar.

Identificação de Objetos Candidatos a partir do Texto
Leia a descrição do problema para identificar as classes candidatas. Quando uma classe for encontrada, clique com o botão direito sobre o trecho de texto e selecione Adicionar texto como Classe no menu suspenso.

Uma lista de classes candidatas é obtida abaixo:
| Saturn Int. | medidas de segurança | edifício | local |
|---|---|---|---|
| Pessoas que não fazem parte da empresa | Estacionamento | Cartões de identidade | funcionários |
| nome | departamento | número | Pessoal da empresa |
| Acesso | barreira | Leitor de cartão | motorista |
| Número do cartão | sistema | sinal | saída |
| Outro tipo de cartão para hóspedes | recepção | Cartões de hóspedes | visitante |
Até agora, o editor de Análise Textual deverá ter este aspecto:

Rejeição de Objetos Candidatos
Nesta seção, as classes candidatas serão revisadas com base em uma lista de regras de rejeição. Ao final desta seção, será obtida uma lista de modelos de classe.
Agora, revise a lista de classes candidatas com base nas regras de rejeição abaixo:
-
Duplicatas: se dois ou mais objetos são simplesmente nomes diferentes para a mesma coisa.
-
Irrelevante: objetos que existem no domínio do problema, mas que não são pretendidos.
-
Vago: quando analisamos palavras cuidadosamente, às vezes fica claro que elas não têm um significado preciso e não podem ser a base de algo útil no sistema.
-
Geral: o significado é muito amplo.
-
Atributos: como atributos dos objetos.
-
Associações: na verdade representa as relações entre objetos.
-
Papéis: às vezes objetos referidos pelo papel que desempenham em uma parte particular do sistema.
A tabela a seguir lista os resultados da revisão:
| Classe candidata | Aceitar / Rejeitar | Motivo da rejeição |
|---|---|---|
| Gestão Saturn Int. | Rejeitar | Irrelevante para o sistema |
| Medidas de segurança | Rejeitar | vago |
| Edifício | Rejeitar | Irrelevante para o sistema |
| Local | Rejeitar | Irrelevante para o sistema |
| Pessoas que não fazem parte da empresa | Rejeitar | Irrelevante para o sistema |
| Estacionamento | Aceitar | |
| Cartões de identidade | Aceitar | |
| Funcionários | Rejeitar | Duplicado com ‘Funcionários da empresa’ |
| Nome | Rejeitar | Atributo |
| Departamento | Rejeitar | Atributo |
| Número | Rejeitar | Atributo |
| Funcionários da empresa | Rejeitar | Cargo |
| Acesso | Aceitar | |
| Barreira | Aceitar | |
| Leitor de cartão | Aceitar | |
| Motorista | Rejeitar | Função |
| Número do cartão | Rejeitar | Atributo |
| Sistema | Rejeitar | Muito geral |
| Sinal | Aceitar | |
| Sair | Rejeitar | Irrelevante para o sistema |
| Outro tipo de cartão para hóspedes | Rejeitar | Duplicatas com cartões de hóspedes |
| Recepção | Rejeitar | Irrelevante para o sistema |
| Cartões de hóspedes | Aceitar | |
| visitante | Rejeitar | Função |
Para diferenciar as classes candidatas aceitas e rejeitadas, vamos mudar a cor de destaque para verde nas aceitas. Para fazer isso, clique na célula com destaque amarelo e selecione verde no seletor de cores.

Então agora, a lista restante de classes candidatas é obtida da seguinte forma:
| Estacionamento | Cartões de identidade | Acesso | Barreira |
|---|---|---|---|
| Leitor de cartões | Sinal | Cartões de convidados |
Reformulação das Classes Identificadas
Vamos reformular as classes candidatas aceitas para: (1) unificar a forma nominal entre o uso no singular e no plural e (2) refletir com precisão o significado do texto extraído.
Leia a tabela abaixo para ver as mudanças necessárias e a explicação dessas mudanças.
| Texto extraído | Reformular para | Motivo |
|---|---|---|
| estacionamento | ||
| cartões de identidade | cartão de funcionário | “Cartões de identidade” significa literalmente todos os tipos de cartão, mas de acordo com o trecho, a palavra “cartão de identidade” vem da expressão nominal “cartões de identidade para todos os funcionários”, então na verdade significa cartão de funcionário. Vamos reformulá-lo para evitar confusão. |
| acesso | ||
| barreira | ||
| leitor de cartões | ||
| sinal | ||
| saída | ||
| cartões de convidados | cartão de convidado | Mudar para usar o substantivo no singular para torná-lo compatível com as outras palavras |
Atualize o nome das classes candidatas conforme necessário:

Criando Elementos do Modelo de Classe a partir do Texto
Você identificou uma lista de classes. Para usá-las na construção do modelo, você precisa convertê-las de palavras em elementos do modelo.
-
Selecione as sete classes na tabela. Para realizar uma seleção múltipla, mantenha pressionada a tecla Ctrl e clique nas linhas uma a uma.
-
Clique com o botão direito na sua seleção e selecione Criar Elemento do Modelo no menu suspenso.

-
Você é solicitado a visualizar os elementos criados em um diagrama. Mantenha a opção Criar novo diagrama selecionada. Renomeie o diagrama de classe para Sistema de Estacionamento e clique em Criar.

Isso cria um diagrama de classe.

Desenvolvendo o Modelo de Classe – Identificar Relacionamentos Estruturais
Você obteve um conjunto de classes visualizadas em um diagrama de classe. Agora, identifique seus relacionamentos estruturais conectando-as com conectores de relacionamento como associação, generalização e dependência. A figura abaixo mostra o resultado. Durante o processo, novas classes podem ser adicionadas, como a adição da classe “cartão” neste exemplo como uma superclasse das subclasses cartão de funcionário e cartão de convidado.

Desenvolvendo o Modelo de Interação – Identificar Atributos e Operações
Diagramas de sequência são criados para visualizar as interações entre os objetos, ou seja, as instâncias das classes identificadas acima. Durante esse processo, atributos e operações serão identificados, o que, por sua vez, torna o modelo de classe completo. Vamos criar um diagrama de sequência para visualizar o caso em que um funcionário da empresa dirige seu carro para o estacionamento.
-
Crie um diagrama de sequência. Selecione Diagrama > Novo no menu principal.
-
Na janela Novo Diagrama janela, selecione Diagrama de Sequência e clique em Próximo. Selecione Em brancocomo modelo e clique emPróximo. InsiraEstacionamento de carro (com cartão de funcionário)como nome do diagrama e clique emOK.

-
O cenário começa com um motorista que insere seu cartão de funcionário no leitor de cartões. Vamos criar um atorFuncionário. Para criar um ator, selecione oAtorferramenta na barra de ferramentas do diagrama e arraste-o para o diagrama.

-
Precisamos mostrar o leitor de cartões como um objeto. Em vez de criar uma linha de vida, vamos criar uma instância de objeto da classeleitor de cartõesclasse. Existem várias maneiras de fazer isso. Uma delas é reutilizar a classe por meio doExplorador de Modelo. Clique naExplorador de Modeloaba fixada à esquerda da janela do aplicativo (ou selecioneVisualizar > Painéis > Explorador de Modelose a aba não estiver presente). Em seguida, arraste a classe leitor de cartões para o diagrama.

-
SelecioneLinha de Vidapara criar quando for solicitado a escolher um tipo.
-
A linha de vida é automaticamente nomeada como ‘leitor de cartões’, seguindo o nome do classificador. Como o nome é opcional, vamos removê-lo. Isso também torna o diagrama mais fácil de ler.

-
Conectefuncionáriocom: leitor de cartões. Mova o ponteiro do mouse sobre o atorfuncionário. Pressione no Catálogo de Recursos botão e arraste-o para a linha de vida : leitor de cartão.

-
Soltar o ponteiro do mouse e selecionar Mensagem de Catálogo de Recursos.

-
Insira insira o cartão do funcionário para ser o nome da mensagem.

-
Como dispositivo de entrada, o leitor de cartão recebe o cartão e depois solicita ao sistema que o verifique. Vamos criar uma linha de vida para o sistema. Como não temos essa classe, criamos a linha de vida diretamente. Arraste Linha de vida da barra de ferramentas do diagrama para o diagrama. Nomeie a linha de vida sistema de estacionamento.

-
Crie uma mensagem verificar cartão() de : leitor de cartão para sistema de estacionamento.

-
Há dois resultados possíveis: sucesso ou falha. Vamos modelar ambos os casos. Em um diagrama de sequência UML, um fragmento combinado alternativo pode ser usado para modelar múltios fluxos possíveis. Crie um fragmento combinado alternativo que cubra o ator e as linhas de vida. Vamos redimensioná-lo para cobrir mais linhas de vida à medida que mais e mais linhas de vida forem adicionadas.

-
Se for bem-sucedido, o sistema carregará o registro do cartão do funcionário. Crie uma mensagem auto carregar funcionário(). Para fazer isso, mova o ponteiro do mouse sobre sistema de estacionamento de carros e clique em Catálogo de Recursos, depois selecione Mensagem Própria -> Linha de Vida de Catálogo de Recursos. Digite o nome da mensagem própria.

-
Siga a etapa 4 para visualizar a classe cartão do funcionário como uma linha de vida. Mais uma vez, remova o seu nome.

-
Vamos supor que o último horário de acesso será definido como o registro do cartão do funcionário. Represente isso por uma mensagem de definição definir último acesso().

-
Um registro de acesso seria criado. Vamos visualizar o acesso classe no diagrama como uma linha de vida, e depois conecte-a com uma mensagem de criação. Não se esqueça de ampliar o fragmento combinado alternativo para cobrir a linha de vida.

-
Um sinal também seria criado para acionar a barreira para se levantar. Vamos visualizar a sinal classe no diagrama e depois conecte-a com uma mensagem de criação. Até agora, o seu diagrama de sequência deverá se parecer com a figura abaixo.

-
Levante a barreira. Visualize a barreira classe como uma linha de vida e conecte-a com uma levantar() mensagem. Aqui nomeamos a linha de vida entrada porque há uma barreira tanto na entrada quanto na saída, enquanto estamos nos referindo à que está na entrada neste diagrama.

-
Por fim, solicite ao leitor de cartão para exibir uma mensagem indicando a verificação bem-sucedida do cartão do funcionário. Crie uma mensagem de sequência mostrar mensagem de sucesso que conecta entre sistema de estacionamento de carros e : leitor de cartão.

-
O que acontecerá quando o cartão não puder ser verificado? Vamos modelar isso na parte inferior do fragmento combinado alt. Digamos que o sistema solicitará ao leitor de cartão que exiba uma mensagem de falha na verificação. Crie essa mensagem no diagrama.

-
Independentemente do sucesso ou falha, o cartão do funcionário será ejetado após o processo de verificação. Vamos criar a mensagem de sequênciaejetar cartão que conecta o sistema de estacionamento e o : leitor de cartão.

-
Por fim, crie uma mensagem de retorno com o cartão devolvido a partir do: leitor de cartão para o ator funcionário. Para fazer isso, crie a mensagem e, em seguida, clique com o botão direito nela e selecione Tipo (Não Especificado) > Resposta no menu suspenso.

-
Os dois compartimentos do fragmento combinado alt. são conhecidos como operandos. Insira as condições dos operandos como restrições. Clique com o botão direito na etiqueta alt no canto superior esquerdo do fragmento combinado e selecione Operando > Gerenciar Operandos no menu suspenso. Na janela suspenso, defina a restrição dos dois operandos como Cartão aceito e Cartão rejeitado respectivamente.

-
Vamos criar operações a partir das mensagens de sequência. Primeiro, crie uma classe a partir da linha de vida do sistema de estacionamento. Clique com o botão direito na linha de vida e selecione Selecionar Classe > Criar Classe “sistema de estacionamento” no menu suspenso.

-
Consulte a imagem a seguir. Para cada um dos conectores destacados, clique com o botão direito nele e selecione Digite > Chamada > Criar Operaçãodo menu suspenso.

-
Volte para o diagrama de classe. As operações são apresentadas automaticamente no modelo de classe.

Ao criar diagramas de sequência cada vez mais para diferentes cenários, o modelo de classe será gradualmente enriquecido com a inclusão de todas as operações e atributos que o sistema precisa.
Conclusão
Transformar requisitos em linguagem natural em modelos UML precisos é tanto uma arte quanto uma ciência. Este estudo de caso demonstra que, com uma abordagem disciplinada — começando com a Análise Textual, aplicando critérios sistemáticos de rejeição, reformulando para clareza e refinando iterativamente por meio de diagramas de classe e de sequência — equipes conseguem transformar enunciados problemáticos ambíguos em projetos de sistema robustos e implementáveis.
O exemplo do estacionamento Saturn International ilustra como até requisitos aparentemente simples contêm camadas de complexidade: múltiplos tipos de atores, fluxos condicionais, interações com hardware e gerenciamento de estado. Ao aproveitar o ambiente integrado de modelagem do Visual Paradigm, profissionais podem manter a rastreabilidade desde o texto inicial até o código final, garantir consistência entre os diagramas e colaborar eficazmente entre stakeholders técnicos e não técnicos.
Principais aprendizados para profissionais:
-
Comece com a extração ampla de candidatos, depois refine por meio de regras explícitas de rejeição
-
Use convenções de nomeação singulares e consistentes para reduzir ambiguidades
-
Aproveite os diagramas de sequência para descobrir operações e atributos ocultos
-
Trate a modelagem como um processo iterativo — cada cenário enriquece o modelo de classe
-
Mantenha a rastreabilidade bidirecional entre requisitos, modelos e implementação
Seja você quem está projetando sistemas de controle de acesso, fluxos de trabalho empresariais ou aplicações voltadas para o cliente, a metodologia apresentada aqui fornece uma estrutura repetível e escalonável para transformar palavras em modelos de software funcionais.
Referências
- Recursos da Ferramenta UML do Visual Paradigm: Visão geral abrangente das capacidades de modelagem UML do Visual Paradigm, incluindo suporte para todos os 14 tipos de diagramas UML 2.x e recursos de modelagem assistida por IA.
- Visão geral dos 14 tipos de diagramas UML: Guia detalhado que explica os diagramas UML estruturais e comportamentais e seus casos de uso apropriados no design de software.
- Guia do Usuário do Visual Paradigm PDF: Documentação oficial que abrange instalação, navegação na interface e fluxos principais de modelagem no Visual Paradigm.
- Documentação de Modelagem UML: Instruções passo a passo para criar, editar e gerenciar diagramas UML no ambiente do Visual Paradigm.
- O que é um diagrama UML?: Introdução amigável para iniciantes sobre conceitos UML, tipos de diagramas e sua função na arquitetura de software e na comunicação de design.
- Capture Requisitos com Casos de Uso: Orientação prática sobre o uso de diagramas de casos de uso e análise textual para identificar, documentar e validar requisitos do sistema.
- Gerador de Diagramas de Classe UML com Assistência de IA: Visão geral dos recursos com base em IA do Visual Paradigm que geram automaticamente diagramas de classe a partir de descrições em linguagem natural.
- Tutorial de PlantUML para Diagramas Visuais: Tutorial em vídeo que demonstra como converter código de script PlantUML em diagramas UML interativos e editáveis dentro do Visual Paradigm.
- O que é UML?: Explicação fundamental dos princípios da Linguagem de Modelagem Unificada, sua história e sua importância nas práticas modernas de engenharia de software.
- Ferramentas de Engenharia de Código: Descrição das capacidades de engenharia de ciclo completo, suportando geração de código e engenharia reversa para múltidos linguagens de programação.
- Mapeamento de Banco de Dados com ORM: Guia para gerar esquemas de banco de dados e camadas de persistência a partir de diagramas de classes UML usando técnicas de mapeamento objeto-relacional.
- Benefícios da Engenharia de Banco de Dados: Explicação de como o modelagem integrada de banco de dados melhora a consistência dos dados, reduz o tempo de desenvolvimento e apoia iterações ágeis.
- Galeria do Visual Paradigm: Apresentação de projetos de exemplo, modelos de diagramas e exemplos de modelagem específicos de indústria criados com o Visual Paradigm.
- Instalando o Visual Paradigm: Guia oficial de instalação que abrange requisitos do sistema, ativação da licença e etapas iniciais de configuração.
- Integração UML com Eclipse: Documentação para incorporar as ferramentas de modelagem do Visual Paradigm diretamente na IDE Eclipse para fluxos de trabalho de desenvolvimento sem interrupções.
- Opções de Ferramentas UML Gratuitas: Comparação entre os recursos da edição comunitária do Visual Paradigm e as capacidades profissionais, para equipes que avaliam soluções de modelagem.
- Processo de Software de Modelagem UML: Visão geral de como as ferramentas UML se encaixam em processos de desenvolvimento iterativos, incluindo metodologias ágeis, cascata e híbridas.
- Recursos das Ferramentas de Modelagem Visual: Lista detalhada de recursos que destacam a reutilização inteligente de elementos, validação de sintaxe e capacidades de catálogo de recursos que diferenciam ferramentas profissionais de modelagem.
- Ferramenta UML para Soluções Empresariais: Descrição voltada para empresas sobre a escalabilidade do Visual Paradigm, recursos de colaboração e integração com ferramentas de gestão de requisitos e planejamento ágil.
- Página Inicial do Visual Paradigm: Site principal do Visual Paradigm, oferecendo downloads de produtos, tutoriais, fóruns da comunidade e recursos de suporte para profissionais de modelagem.
- Coleção de Tutoriais UML: Biblioteca selecionada de tutoriais passo a passo que abrangem técnicas de modelagem UML do iniciante ao avançado em vários tipos de diagramas.
- Guia da Ferramenta UML em Chinês Tradicional: Recurso localizado que fornece orientações para modelagem UML e informações sobre o produto para usuários e equipes que falam chinês tradicional.
This post is also available in Deutsch, English, فارسی, Français, English, Polski, Ру́сский and Việt Nam.








