Classroom Trello Tldraw
Plataformade ensino
online onde professores
podem criar e gerenciar
tarefas, materiais e
acompanhar o
desempenho dos alunos.
Ferramenta de gestão de
projetos que organiza
tarefas em quadros,
listas e cartões, ajudando
equipes a se manterem
organizadas e
colaborativas.
Aplicativo para criar
diagramas e desenhos
simples, ideal para
planejar ideias
visualmente de forma
rápida e intuitiva.
Quais são seusobjetivos acadêmicos para esse
semestre?
Você já tem experiência em alguma área relacion
ao seu curso?
Como você gosta de estudar: sozinho(a)
ou em grupo?
Se apresente! Qual seu nome?
Qual seu hobby favorito? Caso não tenha, o que
você amaria fazer?
Qual seu sonho / objetivo?
9.
Mas para que,professor?
“Lembre-se sempre, o seu foco
determina a sua realidade.”
Yoda
10.
Regras e
dicas
Horários: 19h00
à21h30
Intervalo: 19h45 à
20h00 (15 min)
Sem atrasos! Se não
é FALTA
Qualquer outra informação,
vá para atendimento
A Análise Orientadaa Objetos (OOA) é um
processo de desenvolvimento de software
que usa objetos para modelar sistemas. O
objetivo é identificar os objetos, atributos e
operações que atuam sobre eles.
O que é Analise
Orientada a Objetos?
14.
A análise orientadaa objetos (OOA) é uma metodologia
importante no desenvolvimento de software
porque permite modelar sistemas de forma mais natural e
intuitiva. Isso resulta em um código mais organizado,
facilitando a manutenção e a adição de novos recursos.
A OOA utiliza o conceito de objetos que interagem entre si
e, através dessa interação, realizam tarefas
computacionais. O ponto de partida para a OOA é criar um
modelo descritivo contendo informações do projeto.
Mas e as etapas?
15.
É um processode planejamento que identifica e
modela os objetos do mundo real no sistema de
software
Busca simplificar o design e a implementação de
sistemas complexos
Torna os sistemas mais modulares, escaláveis e
fáceis de manter
Utiliza diagramas de casos de uso da UML para
descrever os requisitos funcionais
Utiliza diagramas de classes de sistema para
identificar atributos e operações
A OOA tem a capacidade de atender perfeitamente às diretrizes de
reutilização recomendadas pela reengenharia de sistemas
Algumas
ideias
sobre
a
AOO
Objeto – Representaçãode uma
entidade do mundo real dentro do
sistema, contendo atributos (dados)
e métodos (comportamentos).
Um
Objeto
CPF
Email
Data de Nascimento
Logradouro Individuo
20.
Classe – Modeloou molde para
criar objetos, definindo seus
atributos e métodos.
Uma
Classe
Vários
indivíduos
Uma classe é um
modelo ou estrutura
que define um
conjunto de atributos
(dados) e métodos
(ações) que os objetos
criados a partir dela
terão.
21.
Ainda em Classes
Elafunciona como
um molde para criar
múltiplos objetos
com características
semelhantes.
public class Pessoas {
// Atributos (Características da Pessoa)
String nome;
String cpf;
int datanascimento;
// Método (Ação de busca)
void exibirDetalhes() {
System.out.println(“Nome: " + nome);
System.out.println(“CPF: " + cpf);
System.out.println("Ano: " + datanascimento);
}
}
22.
Encapsulamento – Proteçãodos
dados do objeto, restringindo o
acesso direto e permitindo
interações apenas por meio de
métodos específicos.
Um dos princípios
fundamentais da
POO e se refere à
proteção dos dados
dentro de um
objeto
Mais...
23.
Ainda em Encapsulamento
PrincipaisBenefícios do Encapsulamento:
✅ Proteção dos dados – Evita que valores inválidos
sejam atribuídos diretamente.
✅ Facilidade de manutenção – Permite alterar a
implementação interna sem impactar o código
externo.
✅ Modularidade – Cada classe gerencia seus
próprios dados, tornando o código mais
24.
Herança – Permiteque uma
classe herde atributos e
métodos de outra, promovendo
reutilização de código e
hierarquia entre classes.
25.
Polimorfismo – Capacidadede
um método ter diferentes
comportamentos dependendo
do contexto ou da classe que o
implementa.
26.
✅ Polimorfismo deSobrecarga Mesma
→
função, diferentes parâmetros.
✅ Polimorfismo de Substituição →
Método redefinido em uma classe filha.
✅ Vantagens: Código mais reutilizável,
flexível e modular.
Ainda em Polimorfismo
27.
Abstração – Simplificaçãoda
realidade, destacando apenas
os aspectos essenciais de um
objeto e ocultando detalhes
desnecessários.
Diagrama de Casosde
Uso
Diagrama de Classes
Diagrama de Sequência
Diagrama de Atividades
Tipos de
diagrama
30.
O Diagrama deCasos de Uso é
um dos diagramas mais
importantes na Análise
Orientada a Objetos (AOO) e no
desenvolvimento de software.
Diagrama de
Casos de Uso
Ele é utilizado para representar
as funcionalidades de um
sistema do ponto de vista
do usuário, ou seja, descreve o
que o sistema faz, sem se
preocupar com como isso é
implementado.
31.
Como funciona este
modelo?
Odiagrama de Casos de Uso auxilia no levantamento
dos requisitos funcionais do sistema, descrevendo um
conjunto de funcionalidades do sistema e suas
interações com elementos externos e entre si.
quando falamos de casos de uso, temos
que ter em mente o conceito de cenários,
que seriam instâncias de casos de uso.
Um cenário pode ser compreendido
como uma sequência de passos que
descreve uma interação entre um
usuário e o sistema.
32.
E... Quais asvantagens?
Sua principal vantagem é a capacidade de representar as
funcionalidades do sistema de forma clara e centrada no
usuário, o que facilita a comunicação entre todos os
envolvidos no projeto, desde desenvolvedores até
stakeholders, como clientes e usuários finais. Vamos
explorar em detalhes as vantagens dessa abordagem.
Uma das maiores vantagens do
Diagrama de Casos de Uso é a
sua simplicidade e facilidade de
entendimento.
Outra vantagem significativa é o foco no usuário final. O
Diagrama de Casos de Uso é centrado nas necessidades
e expectativas dos usuários, o que o torna uma
ferramenta ideal para capturar requisitos funcionais.
33.
Existe desvantagens?
Uma dasprincipais limitações do Diagrama de Casos de
Uso é a sua falta de detalhes técnicos. Ele foca no "o que"
o sistema faz, ou seja, nas funcionalidades que o sistema
oferece, mas não entra em detalhes sobre o "como" essas
funcionalidades são implementadas.
Outra desvantagem é a dificuldade em
representar comportamentos complexos.
Embora o diagrama de casos de uso seja eficaz
para descrever funcionalidades simples, ele
pode não ser suficiente para sistemas com
interações dinâmicas ou comportamentos
complexos.
Além disso, o Diagrama de Casos de
Uso tem dificuldade em representar
fluxos alternativos e exceções.
34.
auxiliam na comunicaçãoentre o cliente e os
analistas.
apresentam as principais funcionalidades do sistema
com foco no cliente.
descrevem cenários de interação entre as partes
internas/externas de um sistema, com foco no
usuário
é muito utilizado na fase de levantamento de
requisitos.
diagramas
de
Casos
de
Uso
Em resumo:
35.
✅ Atores bonecocom rótulo que
→
representa um humano ou um sistema
computacional.
✅ Relacionamentos auxiliam na
→
descrição dos casos de uso, podendo
ser: entre um ator e um caso de uso,
entre atores e entre casos de uso.
Os principais elementos -
diagrama de casos de uso
elipse com rótuloque representa uma
funcionalidade do sistema, sendo que esta
pode estar estruturada em outra(s).
Um caso de uso pode ser concreto, quando é
iniciado diretamente por um ator, ou abstrato,
quando é uma extensão de um outro caso de
uso.
Além disso há casos de uso
primários e secundários.
O primeiro representa os objetivos dos
atores, já o segundo são funcionalidades do
sistema que precisam existir para que este
funcione corretamente.
38.
✅ Relacionamento deComunicação ou Associação →
representa a interação entre um ator e um caso de uso por
meio de mensagens. É representado por uma linha sólida.
Tipos de relacionamento
39.
✅ Relacionamento deInclusão: utilizado quando um
comportamento se repete em mais de um caso de uso. Por
exemplo, num internet banking, um cliente que vai realizar
um pagamento precisa se logar, assim como um cliente
que vai visualizar o saldo também precisa se logar.
Tipos de relacionamento
Logar é essencial para pagar fatura e para ver
saldo. Ou Logar é parte de pagar fatura e
também é parte de ver saldo.
40.
✅ Relacionamento deExtensão: utilizado quando se deseja
modelar um relacionamento alternativo. Por exemplo, ao
"cadastrar usuário" num sistema de fórum, podemos
"cadastrar um administrador" ou "cadastrar um
moderador".
Tipos de relacionamento
Cadastrar administrador e Cadastrar
moderador são extensões de cadastrar
usuário. Eles não são essenciais, só contém
eventos adicionais sob certas condições.
41.
✅ Relacionamento deHerança: é um relacionamento entre
atores, utilizado quando queremos representar uma
especialização/generalização. Na figura a seguir, vendedor
é especialização de pessoa (ou pessoa é generalização de
vendedor), é representado por um alinha com um
triângulo.
Tipos de relacionamento
Os casos de uso de pessoa são também casos
de uso de vendedor. Vendedor tem seus
próprios casos de uso.
42.
Aspecto <<Include>> <<Extend>>
ObrigatoriedadeO caso de uso incluído é obrigatório para o caso de uso principal. O caso de uso estendido é opcional e só
ocorre sob condições específicas.
Fluxo Principal Faz parte do fluxo principal do caso de uso. Não faz parte do fluxo principal, mas pode
ser acionado em situações especiais.
Reutilização Usado para evitar duplicação de funcionalidades comuns. Usado para adicionar comportamentos extras
ou alternativos.
Representação Seta tracejada com <<include>> apontando para o caso de uso
incluído.
Seta tracejada com <<extend>> apontando
para o caso de uso principal.
No contexto do Diagrama de Casos de Uso, os
termos extend e include são tipos de relacionamentos que
ajudam a descrever como os casos de uso interagem entre si.
Esses relacionamentos são usados para organizar e detalhar as
funcionalidades do sistema, tornando o diagrama mais claro e
preciso. Vamos explorar cada um deles em detalhes:
43.
O relacionamento deinclusão (include) é usado para indicar
que um caso de uso precisa de outro caso de uso para ser
executado. Em outras palavras, um caso de uso "inclui" outro
caso de uso como parte do seu fluxo principal.
Relacionamento de Inclusão (include)
Características:
•Obrigatoriedade: O caso de uso incluído é obrigatório para a execução do caso de uso
principal.
•Reutilização: É útil para evitar a duplicação de funcionalidades comuns em vários casos
de uso.
•Representação: No diagrama, é representado por uma seta tracejada com a
palavra <<include>> apontando do caso de uso principal para o caso de uso incluído.
44.
Imagine um sistemade e-commerce com os seguintes casos
de uso:
Exemplo:
Efetuar Compra (caso de uso principal).
Realizar Login (caso de uso incluído).
Aqui, o caso de uso Efetuar Compra inclui o caso de
uso Realizar Login, pois o usuário precisa estar logado para
efetuar uma compra. O relacionamento seria representado
assim:
Efetuar Compra --(include)--> Realizar Login
45.
Relacionamento de Extensão(extend)
O relacionamento de extensão (extend) é usado para indicar
que um caso de uso pode ser estendido por outro caso de uso
em condições específicas. Diferente do include, o caso de uso
estendido não é obrigatório, mas pode ser acionado em
situações especiais.
Características:
• Condicionalidade: O caso de uso estendido só é executado sob certas condições.
• Opcionalidade: O caso de uso principal pode ser executado sem o caso de uso estendido
• Representação: No diagrama, é representado por uma seta tracejada com a
palavra <<extend>> apontando do caso de uso estendido para o caso de uso principal.
46.
Aqui, o casode uso Aplicar Cupom de Desconto estende o
caso de uso Efetuar Compra, pois o usuário pode optar por
aplicar um cupom de desconto durante a compra, mas isso
não é obrigatório. O relacionamento seria representado
assim:
Exemplo:
No mesmo sistema de e-commerce, considere os seguintes
casos de uso:
Efetuar Compra (caso de uso principal).
Aplicar Cupom de Desconto (caso de uso estendido).
Aplicar Cupom de Desconto --(extend)--> Efetuar Compra
47.
Use include quando:
Umafuncionalidade é compartilhada por vários casos
de uso.
Um caso de uso depende de outro para ser executado.
Você quer evitar a duplicação de funcionalidades.
48.
Use extend quando:
Umafuncionalidade é opcional e só ocorre em
situações específicas.
Você quer adicionar comportamentos extras a
um caso de uso principal.
49.
2) Faça umcaso de uso para a seguinte situação:
Uma rede de hotel deseja um sistema para operacionalizar o seu controle de
diárias. Neste caso, o hóspede pode realizar uma reserva de quarto. Porém, para
que esta reserva seja efetuada, o hóspede deve ter um cadastro com o hotel
(verificar se o hóspede já possui cadastrado). Esse cadastro deve ser realizado pelo
funcionário do hotel.
O hóspede pode solicitar alguns serviços pelo hotel, sendo que estes serviços
devem ser solicitados pelo funcionário.
O hotel possui uma política que o hóspede deve quitar sua estadia semanalmente.
Portanto, a cada sete dias o hóspede deverá procurar o funcionário e quitar suas
despesas pendentes no hotel (estas despesas podem incluir serviços utilizados e
consumo). Por último, o hóspede deve solicitar ao funcionário o encerramento da
sua estadia e quitar as suas pendências.