O documento descreve os principais elementos de um diagrama de classes no UML:
1) Um diagrama de classes mostra a estrutura estática das classes de um sistema, seus atributos e operações, e o relacionamento entre as classes.
2) As classes representam objetos do mundo real ou conceitos, possuem identidade, atributos e comportamentos. Podem ser agrupadas em categorias como entidades, controles e fronteiras.
3) Os relacionamentos entre classes como associação, agregação e generalização demonstram como as classes interagem.
1. O documento discute modelagem de processos e estruturação de informação, incluindo Business Process Management e a linguagem BPMN para modelagem de processos de negócio.
2. Apresenta os principais elementos do BPMN como objetos de fluxo, conexões, swimlanes e artefatos.
3. Discutem indicadores-chave de desempenho para avaliar processos e a linguagem UML para modelagem de estrutura de informação, incluindo diagramas de classes.
Este documento apresenta os conceitos de diagrama de classes no UML. Resume os principais elementos como classe, atributos, métodos, associações, agregação, composição e herança.
O documento discute conceitos de abstração e classes abstratas em Java. As 3 principais ideias são:
1) Abstração significa focar nos aspectos essenciais de uma entidade e ignorar suas propriedades internas.
2) Classes abstratas são classes que servem como esqueleto para classes filhas e não podem ser instanciadas diretamente.
3) Métodos abstratos devem ser implementados em classes derivadas para que objetos dessas classes possam ser usados.
Este documento discute diagramas de classes UML, incluindo suas características, notações e identificação de classes, atributos, métodos e relacionamentos. Ele explica como diagramas de classes representam a estrutura estática de um sistema e como identificar classes, agregações, generalizações e outras relações.
Introdução à análise orientada a objetos parte 1ariovaldodias
O documento apresenta os principais conceitos de análise orientada a objetos (AOO), incluindo classes, objetos, atributos, métodos, encapsulamento, herança e diagrama de classes. Também discute a evolução das classes ao longo do projeto e a importância do reuso em programação orientada a objetos.
Este documento apresenta definições e exemplos de vários diagramas usados na análise e projeto de sistemas, incluindo diagramas de fluxo de dados, caso de uso, classe, pacotes, interação e estado. O objetivo é fornecer uma visão geral desses diagramas e como eles podem ser usados para modelar sistemas.
Introdução à análise orientada a objetos parte 1ariovaldodias
O documento apresenta os principais conceitos de análise orientada a objetos (AOO), incluindo classes, objetos, atributos, métodos, encapsulamento, herança e diagrama de classes. Também discute a evolução das classes ao longo do projeto e a importância do reuso em programação orientada a objetos.
O documento descreve a proposta de validação do projeto conceitual de dados através do framework Naked Objects, permitindo a participação do especialista de domínio. As anotações permitem estender o framework para representar diferentes tipos de abstrações de dados, como classificação, generalização, relacionamentos e composição.
1. O documento discute modelagem de processos e estruturação de informação, incluindo Business Process Management e a linguagem BPMN para modelagem de processos de negócio.
2. Apresenta os principais elementos do BPMN como objetos de fluxo, conexões, swimlanes e artefatos.
3. Discutem indicadores-chave de desempenho para avaliar processos e a linguagem UML para modelagem de estrutura de informação, incluindo diagramas de classes.
Este documento apresenta os conceitos de diagrama de classes no UML. Resume os principais elementos como classe, atributos, métodos, associações, agregação, composição e herança.
O documento discute conceitos de abstração e classes abstratas em Java. As 3 principais ideias são:
1) Abstração significa focar nos aspectos essenciais de uma entidade e ignorar suas propriedades internas.
2) Classes abstratas são classes que servem como esqueleto para classes filhas e não podem ser instanciadas diretamente.
3) Métodos abstratos devem ser implementados em classes derivadas para que objetos dessas classes possam ser usados.
Este documento discute diagramas de classes UML, incluindo suas características, notações e identificação de classes, atributos, métodos e relacionamentos. Ele explica como diagramas de classes representam a estrutura estática de um sistema e como identificar classes, agregações, generalizações e outras relações.
Introdução à análise orientada a objetos parte 1ariovaldodias
O documento apresenta os principais conceitos de análise orientada a objetos (AOO), incluindo classes, objetos, atributos, métodos, encapsulamento, herança e diagrama de classes. Também discute a evolução das classes ao longo do projeto e a importância do reuso em programação orientada a objetos.
Este documento apresenta definições e exemplos de vários diagramas usados na análise e projeto de sistemas, incluindo diagramas de fluxo de dados, caso de uso, classe, pacotes, interação e estado. O objetivo é fornecer uma visão geral desses diagramas e como eles podem ser usados para modelar sistemas.
Introdução à análise orientada a objetos parte 1ariovaldodias
O documento apresenta os principais conceitos de análise orientada a objetos (AOO), incluindo classes, objetos, atributos, métodos, encapsulamento, herança e diagrama de classes. Também discute a evolução das classes ao longo do projeto e a importância do reuso em programação orientada a objetos.
O documento descreve a proposta de validação do projeto conceitual de dados através do framework Naked Objects, permitindo a participação do especialista de domínio. As anotações permitem estender o framework para representar diferentes tipos de abstrações de dados, como classificação, generalização, relacionamentos e composição.
O documento descreve os principais conceitos de diagramas de classes, incluindo sua notação, tipos, relacionamentos e aplicações. Diagramas de classes são usados para modelar a estrutura de um sistema através de classes, atributos, operações e relacionamentos entre classes.
Aula teórica 1 da unidade (disciplina) de Programação Orientada por Objectos dos cursos de LIGE, LEI e LETI no ISCTE-IUL no 2.º semestre do ano lectivo de 2009/2010.
O documento fornece instruções para a realização de um teste de performance sobre modelagem de dados e diagramas UML. Os estudantes devem:
1) Criar diagramas de casos de uso para um sistema bancário com pelo menos 6 casos e 2 atores;
2) Descrever classes, objetos e interações de um sistema bancário;
3) Identificar as visões de sistema e diagramas UML utilizados.
1) O documento discute a integração entre as tecnologias UML, CORBA e Java para o desenvolvimento de sistemas.
2) A UML pode ser usada para modelar a análise, projeto e implementação, integrando-se com CORBA e Java.
3) Um método é proposto utilizando UML para modelagem, CORBA para a arquitetura distribuída e Java para a implementação.
1) O documento descreve os principais conceitos de modelagem de classes no UML, incluindo propriedades, comportamentos, relacionamentos, associações e generalização.
2) É explicado como diagramas de classe podem ser usados para modelar uma visão estática de um sistema, identificando entidades, arquitetura e modelo de dados.
3) São detalhados os tipos de relacionamentos como agregação, composição, dependência e como mapear a multiplicidade.
Introdução à análise orientada a objetos parte 3ariovaldodias
O documento apresenta conceitos de análise orientada a objetos e modelagem UML. Descreve classes Produto e Alimento com atributos e métodos. Explica diagramas de classes UML, mostrando herança, agregação e composição. Também explica diagramas de casos de uso UML e seus componentes.
Análise Orientada a Objetos - Objetos E ClassesCursoSENAC
O documento apresenta os principais conceitos da análise orientada a objetos, incluindo objetos, classes, encapsulamento, herança, mensagens e diagrama de classes. Objetos são entidades que combinam estrutura e comportamento, enquanto classes descrevem conjuntos de objetos semelhantes. A análise orientada a objetos permite modelar sistemas com base no mundo real através destes conceitos.
Este documento apresenta uma introdução à linguagem UML e modelagem orientada a objetos. Ele discute os principais diagramas UML, incluindo diagramas de casos de uso, sequência, classes e estados. Também aborda os passos da modelagem orientada a objetos, como definir o contexto do sistema, projetar a arquitetura, identificar objetos e especificar interfaces.
1) O documento discute o Domain-Driven Design (DDD), uma abordagem focada no domínio e na lógica de negócios.
2) As duas principais premissas do DDD são desenvolver um modelo que reflita o domínio e usar uma linguagem ubíqua compartilhada entre os especialistas de negócios e a equipe de desenvolvimento.
3) O DDD enfatiza a separação de camadas com base no domínio, utilizando conceitos como entidades, valores, agregações, serviços, fábricas e repositó
O documento descreve os principais componentes de um Modelo Entidade-Relacionamento (MER), incluindo entidades, atributos, relacionamentos e chaves primárias. Discute como as entidades representam objetos do mundo real e como os atributos definem suas características. Também explica os diferentes tipos de atributos e relacionamentos.
O documento discute os conceitos fundamentais de modelagem de dados, incluindo o objetivo de representar o ambiente observado, documentar e normalizar os dados. Apresenta as três perspectivas de modelagem: modelo conceitual, lógico e físico, descrevendo as características de cada um.
O documento discute o modelo de diagrama de classes UML, apresentando seus principais elementos como classe, atributo, método e associação. Explica como identificar classes a partir de objetos de um negócio e como representar graficamente as relações entre classes.
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...Manuel Menezes de Sequeira
Fundamentos da Programação 12:
• Paradigmas da programação
• Programação orientada por objectos
• Modularização em pacotes
Apresentação 12 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
Apresentação sobre UML com foco nos Diagramas de Caso de Uso e Diagrama de Classes; apresentada na SESTINFO2009 (Semana de Estudos em Tecnologia da Informação) realizada na Universidade Metodista de São Paulo.
UML é uma linguagem padrão para modelagem de sistemas orientados a objetos. Apresenta diagramas para visualizar, especificar, construir e documentar aspectos estruturais e comportamentais de um sistema, incluindo classes, relacionamentos, casos de uso e sequências de eventos.
Este documento apresenta conceitos básicos de diagramas de classes UML para modelagem de bases de dados relacionais, incluindo classes, atributos, associações entre classes e seus tipos. Discutem-se conceitos como identificação de objetos, atributos enumerados, relações entre classes e multiplicidade de associações.
1) O documento apresenta os conceitos de classes, objetos, propriedades, métodos, relacionamentos entre classes e herança na orientação a objetos.
2) Aborda temas como getters e setters, relacionamentos do tipo "tem um", representação gráfica de classes, sobrecarga e sobreposição de métodos.
3) Explica conceitos avançados como classes abstratas, interfaces, generics, coleções e exceptions.
Processo Unificado de Desenvolvimento de Softwareelliando dias
1) O documento descreve o Processo Unificado de Desenvolvimento de Software (PU), que integra técnicas de modelagem de objetos, casos de uso e engenharia de software.
2) O PU é iterativo e incremental, com fases de concepção, construção, elaboração e transição, visando reduzir riscos e obter aprendizado mais rápido.
3) O método é centrado em casos de uso e arquitetura, com modelos de requisitos, análise, projeto, implementação e teste guiados pelos casos de uso ao longo do
Atividade letra da música - Espalhe Amor, Anavitória.Mary Alvarenga
A música 'Espalhe Amor', interpretada pela cantora Anavitória é uma celebração do amor e de sua capacidade de transformar e conectar as pessoas. A letra sugere uma reflexão sobre como o amor, quando verdadeiramente compartilhado, pode ultrapassar barreiras alcançando outros corações e provocando mudanças positivas.
O documento descreve os principais conceitos de diagramas de classes, incluindo sua notação, tipos, relacionamentos e aplicações. Diagramas de classes são usados para modelar a estrutura de um sistema através de classes, atributos, operações e relacionamentos entre classes.
Aula teórica 1 da unidade (disciplina) de Programação Orientada por Objectos dos cursos de LIGE, LEI e LETI no ISCTE-IUL no 2.º semestre do ano lectivo de 2009/2010.
O documento fornece instruções para a realização de um teste de performance sobre modelagem de dados e diagramas UML. Os estudantes devem:
1) Criar diagramas de casos de uso para um sistema bancário com pelo menos 6 casos e 2 atores;
2) Descrever classes, objetos e interações de um sistema bancário;
3) Identificar as visões de sistema e diagramas UML utilizados.
1) O documento discute a integração entre as tecnologias UML, CORBA e Java para o desenvolvimento de sistemas.
2) A UML pode ser usada para modelar a análise, projeto e implementação, integrando-se com CORBA e Java.
3) Um método é proposto utilizando UML para modelagem, CORBA para a arquitetura distribuída e Java para a implementação.
1) O documento descreve os principais conceitos de modelagem de classes no UML, incluindo propriedades, comportamentos, relacionamentos, associações e generalização.
2) É explicado como diagramas de classe podem ser usados para modelar uma visão estática de um sistema, identificando entidades, arquitetura e modelo de dados.
3) São detalhados os tipos de relacionamentos como agregação, composição, dependência e como mapear a multiplicidade.
Introdução à análise orientada a objetos parte 3ariovaldodias
O documento apresenta conceitos de análise orientada a objetos e modelagem UML. Descreve classes Produto e Alimento com atributos e métodos. Explica diagramas de classes UML, mostrando herança, agregação e composição. Também explica diagramas de casos de uso UML e seus componentes.
Análise Orientada a Objetos - Objetos E ClassesCursoSENAC
O documento apresenta os principais conceitos da análise orientada a objetos, incluindo objetos, classes, encapsulamento, herança, mensagens e diagrama de classes. Objetos são entidades que combinam estrutura e comportamento, enquanto classes descrevem conjuntos de objetos semelhantes. A análise orientada a objetos permite modelar sistemas com base no mundo real através destes conceitos.
Este documento apresenta uma introdução à linguagem UML e modelagem orientada a objetos. Ele discute os principais diagramas UML, incluindo diagramas de casos de uso, sequência, classes e estados. Também aborda os passos da modelagem orientada a objetos, como definir o contexto do sistema, projetar a arquitetura, identificar objetos e especificar interfaces.
1) O documento discute o Domain-Driven Design (DDD), uma abordagem focada no domínio e na lógica de negócios.
2) As duas principais premissas do DDD são desenvolver um modelo que reflita o domínio e usar uma linguagem ubíqua compartilhada entre os especialistas de negócios e a equipe de desenvolvimento.
3) O DDD enfatiza a separação de camadas com base no domínio, utilizando conceitos como entidades, valores, agregações, serviços, fábricas e repositó
O documento descreve os principais componentes de um Modelo Entidade-Relacionamento (MER), incluindo entidades, atributos, relacionamentos e chaves primárias. Discute como as entidades representam objetos do mundo real e como os atributos definem suas características. Também explica os diferentes tipos de atributos e relacionamentos.
O documento discute os conceitos fundamentais de modelagem de dados, incluindo o objetivo de representar o ambiente observado, documentar e normalizar os dados. Apresenta as três perspectivas de modelagem: modelo conceitual, lógico e físico, descrevendo as características de cada um.
O documento discute o modelo de diagrama de classes UML, apresentando seus principais elementos como classe, atributo, método e associação. Explica como identificar classes a partir de objetos de um negócio e como representar graficamente as relações entre classes.
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...Manuel Menezes de Sequeira
Fundamentos da Programação 12:
• Paradigmas da programação
• Programação orientada por objectos
• Modularização em pacotes
Apresentação 12 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
Apresentação sobre UML com foco nos Diagramas de Caso de Uso e Diagrama de Classes; apresentada na SESTINFO2009 (Semana de Estudos em Tecnologia da Informação) realizada na Universidade Metodista de São Paulo.
UML é uma linguagem padrão para modelagem de sistemas orientados a objetos. Apresenta diagramas para visualizar, especificar, construir e documentar aspectos estruturais e comportamentais de um sistema, incluindo classes, relacionamentos, casos de uso e sequências de eventos.
Este documento apresenta conceitos básicos de diagramas de classes UML para modelagem de bases de dados relacionais, incluindo classes, atributos, associações entre classes e seus tipos. Discutem-se conceitos como identificação de objetos, atributos enumerados, relações entre classes e multiplicidade de associações.
1) O documento apresenta os conceitos de classes, objetos, propriedades, métodos, relacionamentos entre classes e herança na orientação a objetos.
2) Aborda temas como getters e setters, relacionamentos do tipo "tem um", representação gráfica de classes, sobrecarga e sobreposição de métodos.
3) Explica conceitos avançados como classes abstratas, interfaces, generics, coleções e exceptions.
Processo Unificado de Desenvolvimento de Softwareelliando dias
1) O documento descreve o Processo Unificado de Desenvolvimento de Software (PU), que integra técnicas de modelagem de objetos, casos de uso e engenharia de software.
2) O PU é iterativo e incremental, com fases de concepção, construção, elaboração e transição, visando reduzir riscos e obter aprendizado mais rápido.
3) O método é centrado em casos de uso e arquitetura, com modelos de requisitos, análise, projeto, implementação e teste guiados pelos casos de uso ao longo do
Atividade letra da música - Espalhe Amor, Anavitória.Mary Alvarenga
A música 'Espalhe Amor', interpretada pela cantora Anavitória é uma celebração do amor e de sua capacidade de transformar e conectar as pessoas. A letra sugere uma reflexão sobre como o amor, quando verdadeiramente compartilhado, pode ultrapassar barreiras alcançando outros corações e provocando mudanças positivas.
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24, Pr Henrique, EBD NA TV, Lições Bíblicas, 2º Trimestre de 2024, adultos, Tema, A CARREIRA QUE NOS ESTÁ PROPOSTA, O CAMINHO DA SALVAÇÃO, SANTIDADE E PERSEVERANÇA PARA CHEGAR AO CÉU, Coment Osiel Gomes, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, de Almeida Silva, tel-What, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique, https://ebdnatv.blogspot.com/
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24, Pr Henrique, EBD NA TV, Revista ano 11, nº 1, Revista Estudo Bíblico Jovens E Adultos, Central Gospel, 2º Trimestre de 2024, Professor, Tema, Os Grandes Temas Do Fim, Comentarista, Pr. Joá Caitano, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
O Que é Um Ménage à Trois?
A sociedade contemporânea está passando por grandes mudanças comportamentais no âmbito da sexualidade humana, tendo inversão de valores indescritíveis, que assusta as famílias tradicionais instituídas na Palavra de Deus.
2. Diagrama de Classes
Demonstra a estrutura estática das
classes de um sistema, seus atributos e
operações
Mostra o relacionamento entre as
classes
3. Diagrama de Classes – Um
Exemplo
SalesLineItem
quantity : Integer
subtotal()
ProductCatalog
specification()
ProductSpecification
description : Text
price : Quantity
upc : UPC
Store
address : Address
name : Text
addSale()
Payment
amount : Quantity
Contains
1.. *
Contains
1.. *
POST
endSale()
enterItem()
makePayment()
Sale
date : Date
isComplete : Boolean
time : Time
becomeComplete()
makeLineItem()
makePayment()
total()
Captures
Houses
Uses
Looks-in
Paid-by
Describes
1 1
1
1 1
1
1
1
1
1
1
1
1
*
Logs-completed 4 *
1
4. Perspectivas de um Diagrama
de Classes
Conceitual: forma abstrata de se
observar classes e objetos e
independente da linguagem de
programação (Modelo Conceitual)
De Implementação: pensa-se em
detalhes de implementação para definir
as classes e objetos.
5. Definição de Objetos
Conceitual: representa uma entidade,
”coisa” , processo ou conceito do
mundo real e que possui:
Identidade – valor de uma característica
que o identifica para reconhecimento
Atributos – qualidades, características
Comportamento – habilidades de
processamento
6. Definição de Objetos
De implementação: representa um módulo
de sw que recebe e produz dados
Identidade – identificador em lg de
implementação
Atributos – variáveis e seus tipos, que
recebem diferentes valores e definem o estado
do objeto
Comportamento – funções ou procedimentos,
os resultados dessas funções determinam o
comportamento do objeto
7. Definição de Classes
Conceitual: são agrupamentos de objetos,
são abstrações de um coletivo de
entidades do mundo real
O modelo genérico desse coletivo contém
atributos e comportamentos comuns.
8. Definição de Classes
De implementação: corresponde a um tipo
de uma lg de programação
Um modelo genérico para criar variáveis
que armazenarão os objetos
correspondentes.
9. Notação UML para Classes
Identificação
da classe
Atributos
Métodos
<<entidade>>
Cliente
De Pacote Vendas
Atributos
Métodos
<<entidade>>
Cliente
De Pacote Vendas
10. Notação UML para Atributos
A maioria é opcional, seu uso vai depender
do tipo de visão no qual estamos trabalhando
e podem ser abstratos ou utilizar a notação
de uma lg de programação
[Visibili/d]Nome[Multiplici/d]:[Tipo]=[Valor][{Proprie/ds}]
11. Notação UML para Atributos -
Visibilidade
+ : visibilidade pública: o atributo ü
visível no exterior da classe.
- : visibilidade privada : o atributo é
visível somente por membros da classe.
# : visibilidade protegida: o atributo é
visível também por membros de classes
derivadas
12. Notação UML para Atributos -
Multiplicidade
Usada para especificar atributos que
são arranjos
Indica dimensão de vetores e matrizes
Ex: notas[10]
matrizDeValores[5,10]
13. Notação UML para Atributos -
Tipos
Indicam o formato do valores que o
atributo pode assumir
Na visão conceitual o tipo é abstrato
Ex: dataDaVenda: tipoData
Na visão de implementação utilizam-se
os tipos da lg de programação
Ex: salario: float
14. Notação UML para Atributos –
Valor Inicial e Propriedades
Pode-se indicar o valor ou conteúdo do
atributo imediatamente após a sua
criação, ou o seu valor default
Ex: resultado: int=0
As propriedades descrevem comentários
ou indicações sobre o atributo, podem
mostrar se ele é ou não opcional
Ex: dataDaVenda {valor constante}
15. Notação UML para Métodos
A notação e uso vai depender do tipo de
visão no qual estamos trabalhando e podem
ser abstratos ou utilizar a notação de uma
lg de programação
[Visibili/d]Nome(Parâmetros)]:[Retorno][{Proprie/ds}]
16. Notação UML para Métodos -
Parâmetros
Os parâmetros – dados de entrada e/ou
saída para o método são representados por
Nome-do-Parâmetro:Tipo=Valor-Padrão
Ex:
Visão conceitual
ImprimirData(data:TipoData)
Visão de implementação
ArmazenarDados(nome:char[30],salario:float=0.0)
17. Notação UML para Métodos –
Tipo de Retorno
O Valor-de-Retorno indica se o método
retorna algum valor ao término de sua
execução e qual o tipo de dado do valor
retornado.
Ex:
Visão Conceitual
CalcularValor(): TipoDinheiro
Visão de implementação
ArmazenarDados(nome:char[30]): bool
18. Notação UML para Métodos –
Visibilidade e Propriedades
Visibilidade – similar ao de atributo
Comentários ou restrições para os
métodos
Ex:
Area() {Área <=600}
Restringe a 600 unidades o valor máximo das
áreas a calcular
19. Notação UML para Métodos –
Propriedades
É útil distingüir operações de métodos. Operações
é algo que se evoca sobre um objeto (a chamada
do procedimento). Para realizar uma operação a
classe implementa um método (o corpo do
procedimento)
É útil distingüir operações que alteram ou não o
estado (atributos) de uma classe
Não alteram: query, métodos de obtenção,
getting methods
Alteram: modificadores, métodos de atribuição ou
fixação, setting methods
20. Exemplo de Uma Classe
Aluno
<<entidade>>
Aluno
DePacoteCadastro
nome:TipoNome
RA: TipoCódigo
-nome[30]:char
+RA: int {valorconstante}
calculaMédia():TipoNota
+calculaMédia():Double
Visão Conceitual
Visão de Implementação
21. Identificação das Classes –
Refinamentos Sucessivos
VisãoAbstrata detalhadamento (impl.)
Na visão conceitual: cada classe pode ser vista
como um conceito ou um tipo, e os métodos são
identificados numa fase posterior.
Na visão de implementação: os métodos aparecem
obrigatoriamente e consideramos aspectos de
controle, estereótipos, pacotes, etc.
Podem existir outras visões intermediárias
22. Identificação de Classes com
Estereótipos
Estereótipo é um classificador. Tipos:
• Entidade: representam conceitos do mundo
real e armazenam dados que os identificam
• Controle: controlam a execução de processos e
o fluxo de execução de todo ou de parte de
casos de uso e comandam outras classes
• Fronteira: realizam o interfaceamento com
entidades externas (atores), contém o protocolo
de comunicação com impressora, monitor,
teclado, disco, porta serial, modem, etc.
23. Exemplos no Sistema Posto
Comercial
<<identidade>>
Intens
<<controle>><<fronteira>>
ControleComprarItensInterfaceCliente
24. Identificando Classes
Entidades –Regras Úteis
É melhor especificar demais do que de menos
Não exclua entidades simplesmente porque os
requisitos não indicam a necessidade de
guardar informações sobre eles (comum em
projeto de BD)
Comece fazendo uma lista de entidades
candidatos a partir de uma lista
Considere os substantivos e frases nominais
nas descrições textuais do domínio do
problema como possíveis candidatos a
entidades ou atributos
25. Classes Entidades Típicas
Categoria
Especificação, projeto, ou
descrição de coisas
Especificação de produto
Descrição de vôo
Objeto físico ou tangível Terminal de ponto-de-venda
Avião
Lugares Loja
Aeroporto
Transações Venda, Pagamento
Reserva
Exemplos
Itens de transação Itens de venda
Parcelas de pagamento
Container de coisas Loja
Avião
Papéis de pessoas Operador
Piloto
26. Classes Entidades Típicas
Coisas em um container Item
Passageiro
Sistemas externos Serviço de crédito
Controle de tráfego aéreo
Nomes abstratos Fome
Aracnofobia
Eventos Venda, Assalto, Reunião
Vôo, Decolagem
Organizações Departamento de vendas
Companhia aérea
Regras e políticas Política de devolução
Política de cancelamento
Categoria Exemplos
27. Classes Entidades Típicas
Catálogos Catálogo de produtos
Catálogo de peças
Registros de finança, trabalho,
contrato, questões legais
Recibo, Contrato de trabalho
Registro de manutenção
Manuais, livros Manual do empregado
Manual de reparos
Instrumentos e serviços
financeiros
Linha de crédito
Ações
Categoria Exemplos
28. Identificando Entidades a
partir dos Casos de Uso
Usar com cuidado!
Linguagens naturais: imprecisão e ambigüidade
Ação do Ator Resposta do Sistema
1. Este caso de uso começa
quando um Cliente chega no
caixa com itens para comprar.
2. O Operador registra o identi-
ficador de cada item.
Se há mais de um do mesmo
item, o Operador também pode
informar a quantidade.
3. Determina o preço do item e
adiciona informação sobre o item
à transação de venda em anda-
mento.
Mostra a descrição e o preço do
item corrente.
29. Entidades Candidatas para o
Sistema Posto Comercial
Conceitos restritos ao caso de uso Comprar
Itens - Versão 1
StorePOST SaleItem
Payment
Sales
LineItem
Cashier Customer Manager
Product
Catalog
Product
Specification
30. Entidades de Relatório
Não incluir no modelo conceitual quando:
Toda informação contida no relatório é
derivada de outras fontes
Incluir no modelo conceitual quando:
Relatório tem um papel especial em termos
das regras de negócio
Ex.: Recibo de venda dá direito à devolução dos
itens comprados
31. Criando um Diagrama de
Classes-Perspectiva Conceitual
1. Liste os conceitos candidatos para os casos de
usos em questão usando a lista de categorias
comuns e identificação textual de nomes.
2. Desenhe-os em um modelo conceitual.
3. Adicione as associações necessárias para
registrar os relacionamentos para os quais é
preciso preservar alguma memória
4. Adicione os atributos necessários para cumprir
os requisitos de informação.
32. Estratégia do “fazedor de mapas”:
Usar nomes existentes no vocabulário do domínio
Incluir apenas conceitos pertinentes para os
requisitos (casos de uso) em questão
Excluir tudo que não há no domínio do problema
Erro comum: atributo em vez de entidade
Atributos normalmente correspondem a um texto
ou número no mundo real
Criando o Diagrama de
Classes-Perspectiva Conceitual
Vôo Aeroporto
nome
Vôo
destino
ou... ?
33. A especificação ou descrição de um
objeto deve ser representada como uma
entidade em separado
evita perda de informação quando o objeto é
deletado
reduz informações redundantes ou
duplicadas
Muito comum no domínio de produtos e
vendas
Ex.:
Entidades de Especificação ou
Descrição
Item
descrição
preço
número serial
UPC
Especificação-Produto
Item
Número serial
Descreve
1
*
descrição
preço
UPC
pior melhor
34. Entidades de Especificação ou
Descrição – Outro exemplo
pior
melhor
Vôo
data
número
hora
Aeroporto
nome
Voa-para
1
*
Vòo
data
hora
Descrição-Vôo
número
Aeroporto
nome
Descreve-vôo-para
Descrito-por
1
*
1
*
35. Identificação das Classes de
Controle
Definir pelo menos uma classe do tipo
controle para cada caso de uso de forma que
ela contenha a descrição e comando do
processo associado ao caso de uso.
Definir classes de controle auxiliares em
certos casos de uso que devido aà
complexidade requeiram a divisão de seu
processo em subprocessos. As classes
auxiliares seriam controladas pela classe de
controle principal
36. Identificação das Classes de
Controle
Suas principais características são:
Cria, ativa e anula objetos controlados
Controla a operação de objetos controlados
Controla a concorrência de pedidos de objetos
controlados
Em muitos casos corresponde a implementação de
um objeto intangível.
Gerente de Registro para o Caso de Uso
registrarAlunos
37. Identificação das Classes de
Fronteira
Definir uma classe do tipo fronteira para
cada ator que participe do caso de uso,
pois cada ator que pode exigir um
protocolo próprio para comunicação.
Uma classe para interface com o
usuário, uma classe para interface com
a impressora, uma classe para interface
com a porta serial, etc.
38. Identificação das Classes de
Fronteira
Exemplos: Interface tipo Janela,
Protocolo de Comunicação, Interface de
Impressão, Sensores, etc.
Classes: Formulário em Branco e
Sistema de Cobrança
39. Relacionamentos
Os relacionamentos entre as classes
representam a interação entre seus
objetos
Tipos:
Associação
Agregação
Generalização
Dependência e Refinamentos
40. Associações
Conexão entre classes/objetos
Relacionamento que descreve uma série
de ligações entre duplas de classes/
objetos
Uma ligação significa por exemplo que:
elas "conhecem uma a outra“
"estão conectadas com“
para cada X existe um Y
41. Associações Simples
O mais comum, com apenas uma
conexão, representada por uma linha
sólida e um nome (geralmente verbo)
Caixa Venda
registra
42. Associações
Pode possuir dois nomes, significando
um nome para cada sentido da
associação e os papéis de cada classe
43. Associações – Cardinalidade
(Multiplicidade)
Especifica o número de objetos de cada
classe envolvidos com a associação
A leitura da cardinalidade é diferente
para os diferentes sentidos da
associação
Caixa Venda
registra
0..*1
44. Associações - Cardinalidade
zero or more;
"many"
one or more
one to forty
exactly five
T
T
T
T
*
1..*
1..40
5
T
3, 5, 8 exactly three,
five or eight
45. Associações - Navegabilidade
Mostra a direção de navegação, ou seja
do canal de comunicação entre os
objetos e classes.
Uma associação é navegável da classe
A para a classe B, se, dado um objeto
de A, consegue-se obter de forma
direta os objetos relacionados da classe
B.
46. Associações - Navegabilidade
Empresa Mercadoria
fornece
Dada uma mercadoria pode-se identificar diretamente
a empresa fornecedora,mas a volta não é verdadeira
0..* 0..*
49. Associação Exclusiva
Restrição em duas ou mais associações,
especificando que objetos de uma classe
podem participar de no máximo uma das
associações ao mesmo tempo
50. Associação Ordenada
Especifica uma ordem entre os objetos
da associação. Ex: janelas de um
sistema têm que ser ordenadas na tela
(uma está no topo, uma está no fundo e
assim por diante).
Janela Top Janela Bottom
{ordenada}
51. Associações de Classe
Serve para adicionar informações
extras a uma associação existente,
quando essa possuir operações e
métodos (ela é uma classe)
53. Agregação
A agregação é um caso particular de
associação
Uma das classes é uma parte ou está
contida em outra.
Palavras chaves: consiste em, contém,
é parte de.
Dois casos: composição e
compartilhamento.
56. Generalização
Relacionamento entre uma classe geral
e outra mais específica (herança). A
classe mais específica pode ser usada
no lugar da mais geral.
Generalização normal
Generalização restrita: sobreposição,
disjuntiva, completa e incompleta
58. Generalização Restrita
Especifica restriçoes sobre a
generalização e herança
Sobreposição: nessa hierarquiva
subclasses herdam de uma superclasse
por sobreposição, ou seja, as sub-
classes dessas poderão herdar de mais
de uma sub-classe
Disjuntiva
59. Generalização Restrita –
Sobreposição e Disjuntiva
Sobreposição: nessa hierarquiva subclasses
herdam de uma superclasse por
sobreposição, ou seja, as sub-classes dessas
podem herdar de mais de uma sub-classe.
Disjuntiva: as subclasses herdam de mais de
uma superclasse, mas as sub-classes dessas
poderão herdar de apenas uma.
61. Generalização Completa e
Incompleta
Uma generalização está completa se já
foram especificadas todas as sub-
classes até aquele ponto e está
incompleta se exisitir a possibilidade de
uma outra generalização.
63. Refinamentos
Relacionamentos entre duas descrições de
uma mesma coisa, mas em níveis de
abstração diferentes
São usados em modelos de coordenação,
ou seja, modelos que mostram como os
modelos de diferentes fases se relacionam
64. Identificação dos
Relacionamentos
Na perspectiva conceitual representam-
se relacionamentos conceituais
As associações são estabelecidas
analisando-se os papéis.
A generalização representa a hierarquia
entre tipos e seus sub-tipos
A agregação entre um todo e suas
partes.
66. Associações Típicas
Categoria
A é uma parte lógica de B (*) Item de Venda - Venda
Escala - Vôo
A é uma parte física de B (*) Gaveta - POST
Asa - Avião
A está fisicamente contido em B (*) POST - Loja
Passageiro - Avião
A está logicamente contido em B (*) Descrição-Item - Catálogo
Vôo - Roteiro de Viagem
Exemplos
A é uma descrição de B Descrição-Item - Item
Descrição-Vôo - Vôo
A é conhecido/registrado/repor-
tado/capturado em B (*)
Venda - POST
Reserva - Terminal de Reserva
A é um item de uma transação ou
relatório B
Item de Venda - Venda
Opção de Reserva - Reserva
(*) Alta prioridade
67. Associações Típicas
Categoria
A é uma sub-unidade
organizacional de B
Departamento - Loja
Manutenção - Companhia Aérea
A é um membro de B Operador - Loja
Piloto - Companhia Aérea
A usa ou gerencia B Operador - POST
Piloto - Avião
A se comunica com B Cliente - Operador
Agente de Reserva - Passageiro
Exemplos
A está relacionado com uma
transação B
Cliente - Pagamento
Passageiro - Bilhete
A é possuído por B POST - Loja
Avião - Companhia Aérea
A é uma transação relacionada
com outra transação B
Pagamento - Venda
Reserva - Cancelamento
68. Identificando Associações
Regras úteis:
Focar nas associações cujo conhecimento deve ser
preservado
Usar nomes baseados em expressões verbais que
façam sentido quando lidas no contexto do modelo
Evitar mostrar associações deriváveis ou
redundantes
É mais importante identificar conceitos do que
associações
Associações demais tendem a confundir um modelo
ao invés de iluminá-lo
69. Adicionando Associações ao
Modelo Conceitual do Sistema
POST
Relacionamentos fundamentais
Venda Capturada-em POST
Para conhecer a venda corrente, calcular total e
imprimir recibo
Venda Paga-por Cliente
Para saber se a venda foi paga, calcular troco, e
imprimir recibo
Catálogo-Produto Contém Especificação-Item
Para obter a especificação de um item, dado um
UPC
70. Aplicando a Lista
Categoria
A é uma parte lógica de B Item de Venda - Venda
A é uma parte física de B N.A.
A está fisicamente contido em B POST - Loja
Item - Loja
A está logicamente contido em B Especificação-Produto - Catálogo
Catálogo - Loja
Exemplos
A é uma descrição de B Especificação-Produto - Item
A é conhecido/registrado/repor-
tado/capturado em B
Venda (corrente) - POST
Venda (completada) - Loja
A é um item de uma transação ou
relatório B
Item de Venda - Venda
71. Aplicando a Lista
Categoria
A é uma sub-unidade
organizacional de B
N.A.
A é um membro de B Operador - Loja
A usa ou gerencia B Operador - POST
Gerente - POST
A se comunica com B Cliente - Operador
Exemplos
A está relacionado com uma
transação B
Cliente - Pagamento
Operador - Pagamento
A é possuído por B POST - Loja
A é uma transação relacionada
com outra transação B
Pagamento - Venda
72. Eliminando Associações
Redundantes
Associação
Operador Registra-vendas-em POST Conhecimento não exigido nos
requisitos.
Venda Iniciada-por Operador Conhecimento não exigido nos
requisitos; derivável da associação
Operador Registra-vendas-em POST.
POST Inicializado-por Gerente Conhecimento não exigido nos
requisitos.
Venda Iniciada-por Cliente Conhecimento não exigido nos
requisitos.
Consideração
Loja Armazena Item Conhecimento não exigido nos
requisitos.
Item de Venda Registra-venda-de Item Conhecimento não exigido nos
requisitos.
73. Preservando Associações de
Compreensão
Preservar apenas associações de conhecimento
pode resultar num modelo que não transmite um
completo entendimento do domínio
Ex.: Venda Iniciada-por Cliente
Remoção deixa de fora um aspecto importante do domínio—
o fato de que um cliente gera uma venda
Regra geral:
Enfatizar associações de conhecimento, mas preservar
associações que enriquecem o entendimento do
domínio
74. Identificação dos
Relacionamentos
Na perspectiva de implementação
representa um canal de comunicação
entre duas classes
A necessidade desse canal é dada pelos
diagramas de interação. Sempre que
existir uma mensagem trocada entre dois
objetos nesses diagramas existirá uma
associação entre eles, que representa as
responsabilidades das classes.
75. Identificando Generalizações
Quando particionar em Sub-Classes
a sub-classe tem atributos adicionais de
interesse
a sub-classe tem associações adicionais de
interesse
a sub-classe será manipulada ou usada de
maneira diferente da super-classe ou das
outras sub-classes
a sub-classe se comporta diferente da super-
classe ou das outras sub-classes
76. Identificando Generalizações
Quando criar uma Super-Classe
as potenciais sub-classes representam
variações de um conceito similar
as sub-classes satisfazem 100% a regra
``is-a''
todas as sub-classes possuem um atributo
comum que poderá ser expresso na super-
classe
todas as sub-classes possuem uma
associação comum que poderá ser
relacionada à super-classe
78. Identificando Agregações
Verificar se algumas classes podem ser
agrupadas em algum composto:
elas são geralmente criadas/destruídas no
mesmo instante.
possuem relacionamentos comuns
79. Identificando Agregações
Verificar se alguma classe pode ser sub-
dividida em partes.
as partes possuem tempo de vida limitado
ao tempo de vida do composto
possuem relacionamentos particulares e de
interesse
80. Identificando Atributos
Atributos devem preferencialmente
representar tipos primitivos de dados ou
de valores simples
Ex.: Data, Número, Texto, Hora, Endereço,
etc.
Atributos não devem ser usados para:
Representar um conceito complexo
Relacionar conceitos (atributo “chave-
estrangeira”)
82. Um atributo deve ser de tipo não-primitivo
quando:
É composto de seções separadas
Ex.: endereço, data
Precisa ser analisado ou validado
Ex.: CPF, número de matrícula
Possui outros atributos
Ex.: Um preço promocional com prazo de validade
É uma quantidade com uma unidade
Ex.: valores monetários, medidas
Atributos de Tipo Não-
Primitivo
83. Adicionando Atributos ao
Sistema POST
Conceito
Especificação-Produto descrição—Para mostrar na tela e imprimir no recibo.
UCP—Para localizar especificação do item.
preço—Para calcular o total da venda.
Pagamento quantia—Para determinar se pagamento é suficiente
e calcular troco.
Venda data, hora—Para imprimir no recibo e registrar no log
de vendas.
Item de Venda quantidade—Para registrar a quantidade digitada
quando há mais de um do mesmo item.
Atributos e justificativa
Loja nome, endereço—Para imprimir no recibo.
84. Atributo Derivado
Um atributo “derivado” é um atributo
cujo valor pode ser deduzido a partir de
outras informações
Ex.: quantidade em Item de Venda—pode
ser deduzido a partir da multiplicidade da
associação entre Item de Venda e Item
SalesLineItem
/quantity
ItemRecords-sale-of0..1 1..*
derived attribute from
the multiplicity value
86. Identificação dos Métodos
Os métodos são acrescentados na
perspectiva de implementação e são
derivados a partir dos diagramas de
interação: colaboração e sequências.
É útil distingüir operações de métodos.
Operações é algo que se evoca sobre um
objeto (a chamada do procedimento). Para
realizar uma operação a classe implementa
um método (o corpo do procedimento)
87. Identificação dos Métodos
É útil distingüir operações que alteram
ou não o estado (atributos) de uma
classe
Não alteram: query, métodos de
obtenção, getting methods
Alteram: modificadores, métodos de
atribuição ou fixação, setting methods
89. Organização de Classes em
Pacotes Lógicos
Classes VB
Global
Classes de
fronteira
Classes de
Controle
Coleções
Entidades
Elementos
Entidades
Classes
Entidades