🚀 Engenharia de Software

Diagramas Comportamentais: Casos de Uso (UML)

(Mapeando a Intenção do Ator e o Retorno do Universo Tecnológico)

👨‍🏫 Professor: Ricardo Pires
📚 Unidade III


🏗️ O Cérebro Por Trás da Abstração

O ser humano desiste ao processar texto denso em longos blocos de leitura. Modelagem de Sistemas é, em essência psicanalítica, o ato biológico de simplificar complexidade caótica por imagens. A UML é a manifestação física desse alívio cognitivo.

Alcançamos “Nirvana Tecnológico” baseando-nos nesses quadrantes de modelagem:

  1. Visão Perfeita: Fotografia estática do que deve funcionar.
  2. Limite Físico (Especificação): Determinação de limites computacionais.
  3. Bússola Diretiva: Arquivo magnético guia para codificadores backend perdidos.
  4. O Repositório do Amanhã (Documentação): O seguro contra aposentadoria de C-Levels em empresas que funcionam por décadas sem pausa.

👤 Digirindo a lente: Diagrama de Casos de Uso

É classificado com carinho no mercado devido a sua interface ser quase um gibi com “bonequinhos”. Mas é muito complexo na teoria. Ele não narra o COMO O SERVIDOR CALCULA, narra apenas o QUE O USUÁRIO ESPERA QUE ACONTEÇA E GANHO ATINGIDO.

Uma modelagem funcional com esses “bloquinhos”:

  1. O Boneco (Atores): O ser externo que engatIlha um serviço e detém a posse final do ganho retornado.
  2. O Balão (Casos de Uso ou Use Case): A promessa de evento acionável dentro das fronteiras lógicas do sistema projetado.
  3. As Trajetórias (Relacionamentos): Como interagem. Quem grita a ordem e quem executa.

🤖 Ator não é Humano (Necessariamente)

Desconstrua a lenda que o boneco palito é uma “Pessoa clicando com o mouse”. Em Sistemas Cloud, 80% das requisições milionárias são de Silício para Silício via rede JSON (Microservices).

  • O Ator é unicamente QUALQUER entidade lógica isolada que interaja/atinja a API ou Interface (Fronteira Oculta) do Software alvo sob sua jurisdição atual.
  • Ator Vivo Analógico: [👤 Cliente Final Mobile], [👤 Gerente Analise Riscos].
  • Ator Máquina (Job): O sistema da [🤖 SEFAZ BRASIL / Receita Federal] que intercepta sua nota e valida. Ou o [⏰ Cron Trigger CloudWatch AWS] batendo as 02:00 AM requisitando varredura bancária mensal na tabela PIS/PASEP. Todas são palitinhos.

🎯 Formalidade Lexical e Gramatical (O Verbo Forte)

Um “Balão Oval (Caso)” que expõe uma função, não deve representar o nome do Módulo de Programas ou Sub-arquivos Windows (como nome de um Menu de programa de computador). Ele representa o Ato Contínuo.

A gramática sagrada exige ativamente: (VERBO IMPERATIVO INFINITIVO + O OBJETO OU ALVO DO DESEJO)

Visão Quebrada e Fraca: (Módulo Tributário Faturamento) ou (Controle Fitas)Visão de Engenheiro Forte: (Aprazar Extrato Bancário em Arquivo PDF) ou (Adicionar Criança Dependente). Foca exclusivamente em intenção bruta de desejo do balão limitador da máquina.


🔀 Teorema das Associações Simples

Para interligar a existência externa (O Ator que mora em casa com o celular) à linha divisória final do universo elétrico em servidor:

[ 👤 CLIENTE ] ------------------------ ( Realizar Cadastro P.F )

[ 🤖 API SEGURANÇA SERPRO BRASIL ] <--- ( Autenticar Fraude CPF da Biometria )

O de cima possui associação primária impulsionadora originária da sua vontade existencial e orgânica (ele “puxa o start gatilho”). O Sistema de baixo (SERPRO) é puxado e arrastado pelo próprio “Caso e Aventura da Avaliação”, tornando-se um co-autor de ação e Ator de Suporte Tecnológico Secundário validativo.


🔗 Extensões e Inclusões (A Batalha Final Lógica)

As vezes um balão oval é caótico e pesado demais. A UML deixa fatorar as funções como se fossem raízes quadradas.

A “Mágica do Include ( << include >> )” (Obrigatoriedade): Base da “Herança de Funções” Indissociável da raiz.

( Realizar Saque de R$ 50 ) --<< include >>--> ( Descontar Tarifa de Saldo )

Se a ação Acontecer, será fuzilado o comando ao servidor B obrigatoriamente. Zero exceções à matriz lógica sem colapsar a legalidade impeditiva. (Jamais o cliente deixará de ser abatido e debitado dos 50 na sua base local, nem mesmo “eventualmente”, sob pena judicial de roubo sistêmico).


🔗 O Superpoder da Exceção ( << extend >> )

A Mágica do Extend ( << extend >> ) (As Ruas Paralelas Condicionais Mutantes)!

Onde uma das funções ativáveis só emerge das sombras em momentos de anomalia pré-definidos matematicamente ou por escolha opcional imposta do consumidor orgânico:

( Pagar Pedido Varejo Padrão ) <----<< extend >>---- ( Notificar Auditoria BACEN Limite +1M )
[ Opcionalidade: Somente em caso de Fraude Crítica acima de 1 milhão ]

Veja a direção estranha dessa Seta. Excepcionalmente a Seta Bate forte no Alvo original! Dizendo implicitamente em linguagem de programação “EU EXPANDO E COMPLETO AQUELA OPERAÇÃO BÁSICA ALI DA FRENTE… MAS SOMENTE SE A LEI ASSIM PERMITIR NESTA EXECUÇÃO X ATUAL”.


🗣️ QUIZ VERBAL: Include vs Extend e Faturamento Punitivo

Pergunta Absoluta Profunda: O Nubank criou um modelo de Fatura mensal base. Toda e qualquer batida que o cliente dê efetuando uma compra nova presencialmente, o banco aciona num nanosegundo um módulo de (Verificar Saldo Limite Diário Restante de Cartão). Contudo, no escopo gerencial de BackOffice Corporativos, “CASO EXCEPCIONALMENTE” a compra seja Internacional e batida no país (Irlanda), o sistema deverá acoplar um módulo adiantado de Cobrança Imposto de Remessa Estrangeira Preditivo IOF (6%).

Quais os 2 relacionamentos que descrevemos nesse labirinto do cartão? E para qual direção lógica giram e repousam a cabeça das setas na UML de caso e extensão?


✅ RESPOSTA DO QUIZ

<< include >> OBRIGATÓRIO do Limite, e << extend >> PREDITIVO OPCIONAL do IOF Internacional! 🔗

Analítica Detalhada:

  1. Ramo Sólido Base Fixo: (Efetivar Compra Local Nu) OBRIGA e abraça fortíssimo através de dependência ----<<include>>----> (Checagem Saldo Limite Base). Se cair uma das duas o banco sangra bilhões de reais em rombos em poucas horas livres (indissociáveis!).
  2. Ramo Espasmódico do Fisco BR: O imposto gringo do governo é atípico, uma aberração ativada na minoria das transações. Sendo assim o modulo de (Taxação Excepcional IOF Câmbio) Aponta com veemência sua seta invertida em direção paralela ao evento mestre de compra base <---<<extend>>--- (Comprar). Sem isso o cliente de São Paulo pagaria as taxas alfandegárias europeias na padaria!

📐 Matemática de Cobertura: Completude dos Casos de Uso

Um Diagrama de UC é considerado completo quando cobre todos os fluxos de valor do sistema. A métrica de Cobertura de Atores () verifica isso:

Se , existe um Ator no diagrama que não tem nenhum caso de uso associado — ele está “órfão” e o diagrama está incompleto.

Exemplo: Sistema com 5 Atores (Cliente, Gerente, API Receita, Cron Job, Auditor). Apenas 4 têm UCs mapeados. ❌ Incompleto!


🗣️ QUIZ VERBAL: Montando o Diagrama de Um Caixa Eletrônico

Missao Prática: Considere um caixa eletrônico (ATM) com as seguintes operações:

  • Todo saque verificao saldo disponivel.
  • Saques acima de R$2.000 opcionalmente acionam a notificação antifraude do banco central.
  • O gerente pode consultar o log de todas as operações.

Identifique: Quais são os Atores? Quais UCs usam <<include>> e quais usam <<extend>>?


✅ RESPOSTA DO QUIZ FINAL

Atores: [Cliente] e [Gerente] (humanos) + [API Banco Central] (sistema). 👤

Relacionamentos:

(Realizar Saque) ---<<include>>---> (Verificar Saldo)  [SEMPRE obrigatorio]
(Realizar Saque) <--<<extend>>----- (Notificar Antifraude)  [APENAS se valor > R$2.000]
[Gerente] -------> (Consultar Log de Operacoes)
  • <<include>> no saldo: toda transação de saque sempre consome a verificação.
  • <<extend>> na fraude: só se ativada pela condição de valor. A seta aponta de volta para o UC base.

🎯 Axiomas Fundamentais

Com esse aprendizado fixo hoje de Casos de Uso na tela UML teórica:

  1. Parem de desenhar centenas de setas confusas como macarrão abstrato ligando os Ator Bonecos a absolutamente TODOS balões internos menores de extend do universo, em cruzamentos sujos.
  2. O Ator Master Primário entra fisicamente apenas tocando pela porta principal (Os casos base do Frontend de Aplicações). E de lá de dentro do sistema (back-end de Cloud Server), os “Uses” vão descompactando em Includes automáticos pesados usando processamento fantasma, liberando a carga cognitiva do visual da prancha de arquitetura pro Gestor em Reunião C-Level de Conselheiros!