🎭 Atividade 05: Casos de Uso (UML)
🎯 Objetivo da Aula
Ao final desta atividade, você será capaz de:
- Identificar Atores (pessoas ou sistemas externos que interagem com o seu software).
- Mapear Casos de Uso (funcionalidades entregues ao ator).
- Aplicar os relacionamentos de dependência
<<include>>e<<extend>>corretamente, segundo as normas UML. - Descrever textualmente o "Caminho Feliz" de um Caso de Uso.
🏢 O Cenário Prático (Seu Desafio)
Na TecProExpress, você escreveu um Backlog incrível (Atividade 04). Mas quando levou os Post-its para a diretoria, o CEO disse: "Não consigo ler isso, são muitos textos soltos. Quero um desenho que me mostre de forma macro o que o Motorista pode fazer e o que o Administrador pode fazer".
"Seu desafio é desenhar o primeiro diagrama oficial da Engenharia de Software: O Diagrama de Casos de Uso. Ele será a 'Planta Baixa' do seu aplicativo, estabelecendo a Fronteira do Sistema (o que está dentro e o que está fora)."
🧠 Fundamentos: A Teoria Traduzida
A UML (Linguagem de Modelagem Unificada) é o idioma mundial da engenharia. Um desenvolvedor japonês que não fala português consegue entender seu projeto se você desenhar em UML.
Elementos Chaves
- Ator (Boneco de Palito): É quem provoca o sistema. (Ex: O Cliente, O Motorista, ou até a API do Banco Central).
- Caso de Uso (Oval): Sempre no infinitivo (Ex: Atualizar Rastreio, Realizar Login).
- Fronteira (Retângulo): A caixa do seu software. Atores ficam de fora, Casos de Uso ficam dentro.
📊 Visualizando a Lógica
<<include>>: É OBRIGATÓRIO. (Ex: Para "Fazer Pix", eu incluo obrigatoriamente a "Validação de Saldo").
<<extend>>: É OPCIONAL. (Ex: Ao "Comprar Produto", eu estendo a opção de "Aplicar Cupom", pois nem todo mundo tem cupom).📖 Exemplo Guiado
Abaixo, veja como estruturar o cenário do aplicativo de logística da TecProExpress.
| Passo | Ação de Engenharia | Resultado Esperado |
|---|---|---|
| 01 | Listar Atores | Motorista e SAC (Suporte). |
| 02 | Listar Ações (Ovais) | Login, Reportar Atraso, Consultar Endereço. |
| 03 | Validar Regras | Todo Login inclui Validar Senha. |
📊 Relações de Include e Extend da TecProExpress
🛠️ Especificação Textual do Caso de Uso
Todo oval desenhado precisa de um "Manual de Instruções" por trás dele. Exemplo do Caso "Reportar Atraso":
- Ator Principal: Motorista.
- Pré-condição: O motorista deve estar logado no aplicativo.
- Fluxo Principal (Caminho Feliz):
- O motorista seleciona a entrega em andamento.
- Clica no botão "Reportar Atraso".
- O sistema pede o motivo (Trânsito, Veículo Quebrado, etc).
- O motorista seleciona o motivo e confirma.
- O sistema atualiza o status e notifica o SAC.
- Pós-condição: O status da entrega muda para "Atrasado".
🔍 Detalhamento da Documentação:
- O Caminho Feliz é a rota perfeita, sem erros. É essencial escrever isso para que o testador de software saiba o que esperar quando tudo dá certo.
🛠️ Prática Obrigatória 1: O Diagrama
Cenário: O projeto semestral da sua equipe.
- Acesse o draw.io (ou Lucidchart, Astah) e crie um Diagrama de Casos de Uso.
- Desenhe a Fronteira do Sistema (O retângulo com o nome do App no topo).
- Insira pelo menos 2 Atores diferentes (do lado de fora).
- Insira pelo menos 6 Casos de Uso (dentro da fronteira), derivados das suas User Stories.
- Crie pelo menos uma relação de
<<include>>e uma de<<extend>>.
🏁 Resultado Esperado (Para sua Referência)
Um arquivo de imagem (PNG/JPG) com o diagrama organizado, onde as linhas não se cruzam loucamente, provando que você sabe abstrair o macro do sistema.
🛠️ Prática Obrigatória 2: O Caminho Feliz
Cenário: O detalhamento da regra de negócio.
- Escolha o Caso de Uso principal do seu diagrama (A funcionalidade core do sistema).
- Escreva a Especificação Textual contendo: Ator, Pré-condição, Fluxo Principal (Passo a passo numerado) e Pós-condição.
🏁 Resultado Esperado (Para sua Referência)
Um arquivo Markdown documentando o texto do caso de uso escolhido.
📤 Instruções de Entrega (Microsoft Teams)
Após validar suas documentações técnicas:
- Salve o arquivo de documentação com o nome
Atividade_05.mde a imagem do seu diagrama com o nomeAtividade_05.pngna pastaes-atv-05-casos-uso/do seu repositório GitHub. - Certifique-se de fazer o commit e push para o repositório público.
- Submeta o link do seu repositório no Microsoft Teams para avaliação do professor.
💡 Checkpoint de Lógica
📊 Rubrica Formativa de Avaliação
| Critério de Avaliação | Insuficiente (0% - 40%) | Regular (41% - 70%) | Excelente (71% - 100%) |
|---|---|---|---|
| Diagrama de Casos de Uso (UML) | Diagrama confuso com atores sem associação ou linhas cruzadas sem lógica. | Modelagem aceitável mas misturando ações de interface com regras de negócio. | Diagrama limpo com atores bem definidos e casos de uso no nível correto de abstração de negócio. |
| Especificação Textual (Caminho Feliz) | Especificação ausente ou apenas uma frase descritiva. | Especificação passo a passo mas omitindo pré-condições e pós-condições. | Especificação técnica detalhada com Ator, Pré-condição, Fluxo Principal numerado e Pós-condição. |
| Entrega no GitHub | Entrega fora da pasta `es-atv-05-casos-uso/`. | Entrega apenas o texto sem a imagem `.png` do diagrama. | Submete `Atividade_05.md` e `Atividade_05.png` perfeitamente estruturados no repositório. |
📝 Atividade 04: User Stories e Backlog
Bem-vindo a mais uma etapa da sua jornada no curso de Gestão de TI / Desenvolvimento de Sistemas. Hoje vamos mergulhar em conceitos que conectam a teoria técnica diretamente com o padrão de excelência da indústria ágil, mudando o foco do "O Quê" para o "Por Quê". 🛡️🧩
🖼️ Atividade 06: Prototipagem e Wireframes
Bem-vindo a mais uma etapa da sua jornada no curso de Gestão de TI / Desenvolvimento de Sistemas. Hoje vamos mergulhar em conceitos que conectam a teoria técnica diretamente com o padrão de excelência visual, trazendo a interface do software para o "mundo real" antes mesmo de escrever a primeira linha de código. 🛡️🧩