Conceito de Diagrama de Caso de Uso

Diagrama de Caso de Uso: É uma ferramenta usada na modelagem de sistemas para descrever as funcionalidades de um sistema do ponto de vista de seus usuários ou "atores".

Componentes Principais:

  • Atores: Representam os usuários do sistema, que podem ser pessoas, outros sistemas ou entidades externas que interagem com o sistema.
  • Casos de Uso: Representam funcionalidades ou serviços que o sistema oferece aos atores.
  • Sistema: Representa o limite do sistema, mostrado por um retângulo grande que contém os casos de uso.
  • Relações: Associação, Generalização, Inclusão, Extensão.

Exemplo de Diagrama de Caso de Uso

Imagine um sistema de e-commerce. O diagrama de caso de uso pode incluir os seguintes elementos:

  • Atores: Cliente, Administrador.
  • Casos de Uso: Buscar Produtos, Adicionar ao Carrinho, Finalizar Compra, Verificar Status do Pedido, Gerenciar Produtos, Processar Pedidos.
  • Sistema: O retângulo que encapsula os casos de uso indica o limite do sistema de e-commerce.
Diagrama de Classes

Conceito de Diagrama de Classes

Diagrama de Classes: Um Diagrama de Classes é uma representação visual das classes de um sistema, mostrando seus atributos, métodos e os relacionamentos entre elas. É uma das principais ferramentas da UML (Unified Modeling Language) usada para modelar a estrutura estática de um sistema orientado a objetos.

Componentes Principais:

  • Classes: Representadas como retângulos divididos em três seções: o nome da classe, seus atributos, e seus métodos.
  • Atributos: Características ou propriedades de uma classe. Por exemplo, numa classe `Carro`, os atributos poderiam ser `cor`, `modelo`, e `ano`.
  • Métodos: Funções ou comportamentos que uma classe pode realizar. Por exemplo, métodos na classe `Carro` poderiam ser `acelerar()` ou `frear()`.
  • Relacionamentos: Conexões entre classes que indicam como elas interagem. Os tipos de relacionamentos incluem:
    • Associação: Representa uma relação estrutural entre classes.
    • Agregação: Um tipo de associação que indica que uma classe é composta por uma ou mais instâncias de outra classe (relação parte/todo).
    • Composição: Um tipo forte de agregação, onde as partes não podem existir independentemente do todo.
    • Herança: Indica que uma classe herda atributos e métodos de outra classe.

Exemplo de Diagrama de Classes

Imagine um sistema de gerenciamento de escola. O diagrama de classes pode incluir os seguintes elementos:

  • Classes: `Aluno`, `Professor`, `Curso`.
  • Atributos:
    • Classe `Aluno`: `nome`, `matrícula`, `dataNascimento`.
    • Classe `Professor`: `nome`, `especialidade`, `salario`.
    • Classe `Curso`: `nome`, `cargaHoraria`, `codigoCurso`.
  • Métodos:
    • Classe `Aluno`: `matricular()`, `cancelarMatricula()`.
    • Classe `Professor`: `ministrarAula()`, `corrigirProva()`.
    • Classe `Curso`: `adicionarAluno()`, `removerAluno()`.
  • Relacionamentos: `Aluno` e `Curso` podem ter uma associação, onde um `Aluno` está matriculado em um `Curso`. A classe `Professor` pode estar relacionada com `Curso` através de uma associação que indica que o `Professor` ministra aquele `Curso`.
Diagrama PMBOK

Conceito de PMBOK

PMBOK (Project Management Body of Knowledge): O PMBOK é um guia amplamente reconhecido para a gestão de projetos, desenvolvido pelo Project Management Institute (PMI). Ele descreve um conjunto de boas práticas para a gestão de projetos, abrangendo processos, ferramentas e técnicas que podem ser aplicadas em diferentes tipos de projetos.

Processos do PMBOK:

  • Iniciação: Processos que definem e autorizam o projeto ou uma fase do projeto.
  • Planejamento: Processos que estabelecem o escopo, os objetivos e o curso de ação necessário para atingir os objetivos do projeto.
  • Execução: Processos que integram pessoas e outros recursos para realizar o plano de gerenciamento do projeto.
  • Monitoramento e Controle: Processos que monitoram e medem o progresso do projeto para identificar variações em relação ao plano e tomar ações corretivas.
  • Encerramento: Processos que formalizam a aceitação do produto, serviço ou resultado e encerram formalmente o projeto ou uma fase do projeto.

Áreas de Conhecimento do PMBOK

  • Integração: Envolve os processos necessários para assegurar que os diversos elementos do projeto sejam adequadamente coordenados.
  • Escopo: Inclui os processos necessários para garantir que o projeto inclui todo o trabalho necessário, e apenas o trabalho necessário, para completar o projeto com sucesso.
  • Tempo: Processos necessários para gerenciar a conclusão pontual do projeto.
  • Custo: Envolve os processos necessários para planejar, estimar, orçar, financiar, gerenciar e controlar os custos para que o projeto seja concluído dentro do orçamento aprovado.
  • Qualidade: Processos necessários para assegurar que o projeto atenda às necessidades para as quais ele foi empreendido.
  • Recursos: Envolve os processos necessários para identificar, adquirir e gerenciar os recursos necessários para a conclusão bem-sucedida do projeto.
  • Comunicações: Inclui os processos necessários para assegurar que as informações do projeto sejam geradas, coletadas, distribuídas, armazenadas e gerenciadas adequadamente.
  • Riscos: Envolve os processos de planejamento, identificação, análise, resposta e monitoramento de riscos de um projeto.
  • Aquisições: Processos necessários para comprar ou adquirir produtos, serviços ou resultados externos à equipe do projeto.
  • Partes Interessadas: Envolve os processos necessários para identificar as pessoas, grupos ou organizações que poderiam impactar ou ser impactados pelo projeto e gerenciar suas expectativas e engajamento.
Metodologias Ágeis

Metodologias Ágeis

Metodologias Ágeis: São abordagens de gerenciamento de projetos que priorizam a flexibilidade, colaboração e entrega contínua de valor. Elas permitem que as equipes respondam rapidamente às mudanças e melhorem continuamente seus processos e produtos.

Principais Metodologias Ágeis:

1. Scrum

Descrição: Scrum é uma metodologia ágil que utiliza ciclos de trabalho curtos, conhecidos como sprints, para entregar incrementos de produto. A equipe é organizada em papéis como Product Owner, Scrum Master e Time de Desenvolvimento.

Características:

  • Backlog do produto
  • Reuniões diárias (Daily Scrum)
  • Revisões de sprint
  • Retrospectivas

2. Kanban

Descrição: Kanban é uma abordagem visual que ajuda a gerenciar o fluxo de trabalho. Utiliza um quadro para visualizar as tarefas em diferentes estados e limita o trabalho em progresso.

Características:

  • Quadro Kanban
  • Limitação de WIP (Work In Progress)
  • Entrega contínua

3. Lean

Descrição: Lean foca na eliminação de desperdícios e na maximização do valor. É derivado do sistema de produção enxuta da Toyota e busca a eficiência e a melhoria contínua.

Características:

  • Redução de desperdício
  • Melhoria contínua
  • Foco no valor para o cliente

4. XP (Extreme Programming)

Descrição: XP é uma metodologia ágil que enfatiza a qualidade do código e a adaptabilidade. Inclui práticas como desenvolvimento orientado a testes (TDD) e programação em par.

Características:

  • Desenvolvimento Orientado a Testes (TDD)
  • Programação em par
  • Integração contínua

5. FDD (Feature-Driven Development)

Descrição: FDD é uma metodologia ágil centrada na entrega de funcionalidades. Envolve a modelagem e o desenvolvimento de características específicas do produto.

Características:

  • Desenvolvimento baseado em funcionalidades
  • Modelagem de domínio
  • Iterações curtas

6. DSDM (Dynamic Systems Development Method)

Descrição: DSDM é um framework ágil que fornece uma abordagem estruturada para o desenvolvimento de projetos, garantindo entregas pontuais e dentro do orçamento.

Características:

  • Foco em metas de negócios
  • Desenvolvimento iterativo
  • Testes contínuos

Resultado do Código

O código a seguir:

x = 1
y = 10
soma = x * y
soma2 = soma + x
escreva(soma2)
        

Resulta na saída:

11