UALG/FCT/DEEI Análise e Modelação de Sistemas Informáticos

Tamanho: px
Começar a partir da página:

Download "UALG/FCT/DEEI Análise e Modelação de Sistemas Informáticos"

Transcrição

1 UALG/FCT/DEEI Análise e Modelação de Sistemas Informáticos 7. UML, A vista da estrutura: as Classes P. Serendero

2 A vista da Estrutura do sistema Documenta os aspectos estáticos do sistema. Os elementos intervenientes assim como as suas ligações Na abordagem OO isto implica a identificação das classes e as suas relações UML permite uma abordagem mais simples e geral para a fase de Análise e uma mais específica para a fase de Desenho 2

3 UML Meta-modelo O meta-modelo do UML contém 3 categorias de elementos: Classificadores, eventos e comportamentos Classificador: Descreve um conjunto de objetos Uma cosa no sistema com um estado e uma relação com outros objetos. Tem estrutura e dados Evento: Descreve um conjunto de ocorrências possíveis Ocorrência: Algo que acontece com repercussão no sistema Execução: A realização dum algoritmo de acordo com um conjunto de regras. Comportamento: possíveis. Descreve um conjunto de execuções 3

4 UML: sobre modelos Os modelos não contém objetos, ocorrências e execuções porque elas são o sujeito dos modelos e não o seu conteúdo São as classes, eventos e comportamentos que modelam o conjunto de objetos, ocorrências e execuções com propriedades semelhantes. 4

5 Classificador Uma meta-classe abstracta. Redefinível Define um tipo.. Define características de tipo e estrutura Pode ter generalizações e desta maneira pode definir relações de generalização com outros classificadores Representa uma classificação de instâncias que tem atributos e características comuns Classificadores gerais são classificadores referenciados por relações de generalização. Não são instanciáveis. Classificador: Classes, Tipos de dados (datatypes), Máquinas de Estado, Casos de Utilização, interfaces, outros componentes. 5

6 Classificador Loja Fazer Compra Exemplo dum classificador proprietário dum Caso de Utilização Praticamente todos os objetos e artefactos definidos no UML são classificadores: meta definição de instâncias. Ver por exemplo taxinomia de classificadores na pág. 705 no manual da super estrutura. 6

7 Diagramas da Estrutura do sistema Diagramas de Classes Diagramas de Componentes Diagramas de Instalação Estes são os diagramas utilizados pelo UML utilizados para modelar a estrutura do sistema 7

8 Classes: : classificadores de objetos Um classificador de objetos que partilham os mesmos propriedades, restrições e semântica. Uma classe fornece e encapsula a implementação duma certa funcionalidade de negócio do sistema. 8

9 Classes A classe (ou descritor) representa um conceito no interior do sistema modelado: um objeto abstracto O propósito das classes é especificar a classificação dos objetos, assim como especificar a estrutura e comportamento destes objetos Os objetos duma classe devem ter valores de atributos que pertençam a dita classe, de acordo com as características do atributo: tipo e multiplicidade por exemplo. objeto? Pessoas, lugares, coisas, conceitos, relatórios, 9

10 Classes O símbolo da classe é o símbolo dum classificador, o mais utilizado em UML Aluno Aluno atributos Operações Nome estrutura métodos 10

11 Classes Aluno Nome: string Endereço: string Idade: integer string Criar(); Actualizar(); Apagar(); 11

12 Classes Atributos: Locação com um nome ao interior dum classificador que descreve um intervalo de valores que podem ter as suas instâncias Método: Implementação duma operação. Algoritmo ou procedimento para obter os resultados duma operação 12

13 Classes: Atributos e Métodos 13

14 Classes Rectângulo p1: Point p2: Point <<constructor>> Rectangulo(p1:Point, p2: Point) <<query>> Area(): Real Aspect(): Real... <<update>> Move(delta: Point) Scale(ratio: Real); Estereótipos aplicados a grupos de elementos: <<constructor>> <<query>> <<update>> <<create>> <<destroy>> 14

15 Classes Encomenda Data entregue: Date - Numero: Integer -# Num Cliente: Integer - Total: currency - Completa: Boolean #CalcularTotal(): currency # CalcularIVA(tipo: Real): currency - GetIVAcalc() {visibility: implementation}

16 Classes: visibilidade dos Atributos 16

17 Relações nas Classes Ligação entre dois elementos: Associação Generalização Dependência Realização 17

18 Classes: Associações Uma associação descreve um conjunto de tuplas cujos valores caracterizam instâncias com tipo. Representada por uma linha a cheio Aluno 1..* inscrito numa 1 regular obrigatória Disciplina Tem pelo menos dois extremos representados por propriedades Cada uma ligada ao extremo correspondente: pode mostrar o nome Uma instância duma associação é chamada um link Os objetos num extremo da associação reconhecem os objetos no Outro extremos e podem enviar sinais o mensagens a eles. A associação tem: Nome: inscrito numa Papel (rol) regular, obrigatória Multiplicidade 1..*, 1, 0..*, 1..20, etc. String de Propriedade 18

19 Classes: Associações Funcionário 1..* lecciona 1 Docente regular Aluno Associação Navegável: uni-direccional Multiplicidade: Definição dum intervalo inclusivo de inteiros não negativos que começam num limite inferior e terminam com um limite superior (se calhar infinito) 1, *, 0..*, 1..*, 0..1, (3), (2..4), 1..3, Disciplina Associação reflexiva: Uma classe com relação estrutural consigo própria. objetos desempenham vários papeis 19

20 Associações reflexivas bancário * 1..5 Pessoa líder 1 Equipa \ lidera banqueiro membro 1..7 Neste caso os dois extremos são distintos lidera é o nome da associação lider e membro são os nomes de ambos dois extremos O \ ao frente do nome da associação indica uma associação derivada: herança 20

21 Classes e associações Navigável: As instâncias que participam num link no tempo de execução (instâncias da associação) podem ser acedidas eficientemente por instâncias participando nos outros links da associação. (uma seta aberta no extremo) Se um extremo não é navegável, acesso pelo outro extremo poderia ou não ser possível. Se é, poderia não ser eficiente. (UML não impede este tipo de navegabilidade) (uma pequena x no extremo) Quando um extremo numa associações é ordenado, indica que os links levam esta informação ao extremo da associação 21

22 Associações de agregação Factura 1 1..* LinhaFactura A relação do todo e as suas partes: agregação simples e composta Faz parte de... Um objeto formado por outros objetos Só associações binárias podem ser agregações Agregação simples: um ou mais elementos do elemento componente podem ser apagados sem alterar a classe composta. 22

23 Associações de agregação composta Window Cabeçalho Painel Régua O todo é o único dono das suas partes. As partes podem incluir classes e associações Os objetos compostos têm responsabilidade pela existência e armazenamento dos objetos componentes 23

24 Associações de agregação composta Avião 1 1..* Componente 0..* 0..* Uma agregação composta é uma forma forte de agregação: requer que uma instância da parte seja incluída numa composição. Se a composição é apagada, todas as suas partes são normalmente apagadas com ela. Uma parte pode ser apagada duma composição antes da composição ser apagada 24 peças

25 Associações ternárias Associações podem ligar mais que dois classificadores. Ano época * Equipa * Associação ternária * * AnoJogou ano Associação Binária ordem Jogador de leitura 25

26 Restrições nas Associações Pessoa * membro de * { subconjunto} 1 Presidente de * Comité As restrições podem ser escritas na linguagem O.C.L. ou em linguagem natural { ordenado, FIFO} Aluna 0..* lista de espera 1 Residência As alunas esperam obter residência. Estão em fila de espera, conforme o critério de primeira chegada primeira servida 26

27 Associação com propriedade Indicada por uma string no interior de chavetas Podem-se aplicar vários tipos a um extremo da associação {subsets <nome da propriedade>} o extremo é um subconjunto da propriedade chamada <nome da propriedade> {redefines <end-name>} o extremo redefine aquele chamado <end name>. {union} o extremo é derivado representando a união dos seus subconjuntos. {ordered} o extremo representa um conjunto ordenado. {bag} o extremo representa uma coleção que permite ao mesmo elemento aparecer mais que uma vez. {sequence} ou {seq} o extremos representa uma coleção (bag) ordenada Repare que por defeito uma associação representa um conjunto 27

28 Associações Um ponto no extremo indica que este é da propriedade do classificador onde este faz a ligação (opcional) A ExtremoA ExtremoB * Associação binária AB * Associações qualificadas B Banco numeroconta 1 1..* Cliente Qualificador: seu valor serve para partilhar o conjunto de instâncias associadas com outra instância numa associação. Encomenda NumProduto LinhaEncomenda *

29 Associação X-OR Uma entre várias associações potenciais é possível de ser instanciada num momento para uma instância. Utiliza uma linha tracejada ligando duas ou mais associações as quais tem que ter um classificador comum com a string de restrição x-or Aluno {xor} regular trabalhadorestudante 29

30 Classes Abstractas Classe Abstracta ou metaclasse: não podem ser directamente instanciadas Generalization set constrains {complete, disjoint} Pessoa {abstract} Classificador abstracto Italica; Estereótipo opcional {incomplete, disjoint} Mulher Homem Empregado Uma classe abstracta é por exemplo uma acção existem tipos específicos de acções 30

31 Relações nas Classes Ligação entre dois elementos: Associação Generalização Dependência Realização 31

32 Relação de Generalização Corresponde ao conceito de herança: uma classe pai ou super classe e umas classes filhas, que são instâncias da super classe Animal Vertebrados Invertebrados 32

33 Relação de Generalização Uma relação taxionómica entre um elemento mais geral (pai) e um elemento mais específico (filha) que é completamente consistente com o primeiro elemento e que agrega informação adicional Os links numa generalização pertencem a uma colecção de subconjuntos aos quais esta generalização pertence: Conjunto de generalização Todos os links que partilha um classificador geral estão divididos nestes conjuntos. Cada um deles representa uma dimensão única de especialização do classificador geral Exemplos: disjoint, incomplete, overlapping, covering 33

34 Notação para Conjuntos de Generalização {complete, disjoint} O conjunto de generalização cobre todas as hipóteses. Os classificadores não tem instâncias comuns. {incomplete, disjoint} O conjunto de generalização não cobre todas as hipóteses. Os classificadores não tem instâncias comuns. - *. {complete, overlapping} - O conjunto de generalização cobre todas as hipóteses. Os classificadores tem instâncias comuns. {incomplete, overlapping} - O conjunto de generalização não cobre todas as hipóteses. Os classificadores tem instâncias comuns. * Opção por defeito é: {incomplete, disjoint} 34

35 Relação de Generalização Complete: Todos os filhos foram especificados. Não se esperam filhos adicionais. Não há mais tipos de filhos para Pessoa neste conjunto de generalização Generalization set Conjunto de generalização Pessoa {complete } Gerente Supervisor Funcionário 35

36 Relação de Generalização Incomplete: A lista está incompleta. Há mais filhos não mostrados no modelo Árvore { incomplete } Azinheira Sobreiro Oliveira 36

37 Relação de Generalização Overlapping:{true, false} o classificador geral partilha instâncias em comum Vehiculo { overlapping : true } Veiculo eólico Veiculo Com motor Veiculo terrestre Veiculo aquático 37

38 Classes: Generalização Pessoa { disjoint : true } Aluna Professor Disjoint: especifica se o conjunto de generalização dum classificador tem ou não instâncias em comum Se verdadeiro: a intersecção entre os filhos está vazia Ex.: Uma Pessoa só pode ser Aluna ou Professor 38

39 39 Classes: Generalização Pessoa {disjoint: false} Gerente Vendedor {disjoint:false} : Há instâncias de Pessoa que podem ser Gerente e Vendedor ao mesmo tempo

40 Classes: Generalização Pessoa {covering: true} Sexo Femenino Sexo Masculino covering: True. Cada instância de Pessoa pertence (no mínimo) ao sexo feminino ou masculino Cada instância do classificador geral (Pessoa) é pelo menos também uma instância no seu conjunto de generalização 40

41 Classes: Generalização Representante {covering: false} Eurodiputado Membro Assambleia Regional covering: false: Há instâncias de parlamentário para as quais nenhum estes classificadores no seu conjunto de generalização aplica-se: ex.: Vereador Municipal 41

42 Classificadores e Power Type: agrupar objetos por categorias Classificador: classifica instâncias de acordo com as suas características A ideia de Power Type (Tipo de Poder) está associada com a ideia de Conjunto de Poder: aquele cujas instâncias são subconjuntos. Portanto, um Tipo de Poder é uma classe cujas instâncias são subclasses dum outro classificador. Ex.:As instâncias de Espécie de Árvore são subtipos de Árvore árvore espécies 1 Espécie de Árvore * Árvore :Especies Florestais {incomplete, disjoint} locação 1 * * Localização geográfica 1 1 Padrão folha Carvalheiro Oliveira Azinheiro Alfarrobeira 42

43 Relações nas Classes Ligação entre dois elementos: Associação Generalização Dependência Realização 43

44 Relações de Dependência Um elemento ou um conjunto deles requer de outros elementos para a sua especificação ou implementação A semântica do elemento dependente é estruturalmente dependente do elemento fornecedor Uma relação Cliente/Fornecedor A semântica do cliente não está completa sem o Fornecedor Ex.: Encomenda depende de GeradorAutomático de números de encomenda GeradorAutomático Números NovoNumero() Encomenda 44

45 Relações de Dependência Relação entre 2 classes na qual uma alteração numa delas poderia obrigar mudanças na outra, mesmo que não há associação explicita entre elas Representada por uma linha dirigida e tracejada Elemento que especifica Sensor Temperatura T: real; Valor: Real; Inicializar() DefinirAlarme() Temperatura Elemento que implementa 45

46 Relações de Dependência Ex. Uma encomenda está definida pelo seu número. Mais este pode estar definido numa outra classe Ex.: Uma classe é amiga duma outra Uma classe depende do interface duma outra Uma classe contem uma operação GeradorAutomático Que toma um objeto duma outra como valor Números Uma classe que acede um objeto global Duma outra classe NovoNumero() Encomenda 46

47 Relações de Dependência Quando devemos modelar dependências? Quando a relação entre os classificadores é transitória.. Não é persistente Acontece quando um dos objetos envolvidos na relação é transitório ele próprio ou bem é uma classe. <<controlador>> AgendarEntregue GeradorAutomático Classe transitória NovoNumero() Faz calendário da entregue de encomendas Encomenda 47

48 Relação de Realização: (de dependência) Uma realização significa que o conjunto de elementos são uma implementação do conjunto da classe, que serve como especificação. Universidade A classe Universidade é realizada pela combinação de Aluno, Docente e Funcionário Aluno Docente Funcionário 48

49 Relação de Realização: realização de dependência encontramos realização frequentemente nos interfaces Ou em componentes complexos <<componente>> Clientes Implementa Cliente Coleção Clientes Definição Clientes 49

50 Tipos de relações existentes nos diagramas de estrutura 50

51 Classes associativas ou Classes de associação Um elemento de modelação que tem as características duma associação e duma classe simultaneamente Pode ser vista como uma associação que tem propriedades duma classe, ou como uma classe que tem propriedades duma associação Representada pelo símbolo duma classe + linha tracejada Inscrição Ano: CalcMédia() Lembram-se dos atributos nas relações do modelo relacional? Aluno Curso 51

52 Classes de Associação A linha de associação e a Classe de associação formam um só elemento de modelação que tem um só nome Uma associação com os seus próprios atributos Jogador 0..* contrato 1 empregado empregador Equipa Contrato Duração: Ordenado: Actualizar() Rescindir() O nome pode ser colocado na associação quando só tem atributos Caso contrário, colocado na caixa da associação para enfatizar a sua natureza de classe 52

53 Classes de Associação A linha de associação e a Classe de associação formam um só elemento de modelação o qual tem um só nome Só pode existir uma classe associação por cada par de classificadores relacionados. Universidade 1 emprego 1..* Pessoa Data: Categoria: Ordenado: A associação está qualificada com atributos. Estes formam um todo com a relação: emprego O nome pode ir colocado num ou no outro elemento 53 ou em ambos dois

54 Classes de Associação Como instância da classe associação, há só uma instância dos classificadores associados em cada extremo da associação. Elemento de modelação, resolvido na fase de desenho Aluno 1 Inscrição 1..* ano: nota: média: Disciplina Nome Númeo Curso Inscrever() Actualizar() Apagar() 54

55 Atributos vs. Associações Uma propriedade que designa um objeto duma classe presente no modelo, deve ser modelada como associação e não como atributo Cidade 1..* pertence à capital Pais Nome capital Capital está definida como propriedade, mas já existe objeto Cidade que permite instanciar cidades que são também capitais 55

56 UALG/FCT/DEEI Análise e Modelação de Sistemas Informáticos 7. UML, A vista da estrutura: as Classes P. Serendero 1

57 A vista da Estrutura do sistema Documenta os aspectos estáticos do sistema. Os elementos intervenientes assim como as suas ligações Na abordagem OO isto implica a identificação das classes e as suas relações UML permite uma abordagem mais simples e geral para a fase de Análise e uma mais específica para a fase de Desenho 2 2

58 UML Meta-modelo O meta-modelo do UML contém 3 categorias de elementos: Classificadores, eventos e comportamentos Classificador: Descreve um conjunto de objetos Uma cosa no sistema com um estado e uma relação com outros objetos. Tem estrutura e dados Evento: Descreve um conjunto de ocorrências possíveis Ocorrência: Algo que acontece com repercussão no sistema Execução: A realização dum algoritmo de acordo com um conjunto de regras. Comportamento: possíveis. Descreve um conjunto de execuções 3 3

59 UML: sobre modelos Os modelos não contém objetos, ocorrências e execuções porque elas são o sujeito dos modelos e não o seu conteúdo São as classes, eventos e comportamentos que modelam o conjunto de objetos, ocorrências e execuções com propriedades semelhantes. 4 4

60 Classificador Uma meta-classe abstracta. Redefinível Define um tipo.. Define características de tipo e estrutura Pode ter generalizações e desta maneira pode definir relações de generalização com outros classificadores Representa uma classificação de instâncias que tem atributos e características comuns Classificadores gerais são classificadores referenciados por relações de generalização. Não são instanciáveis. Classificador: Classes, Tipos de dados (datatypes), Máquinas de Estado, Casos de Utilização, interfaces, outros componentes. 5 5

61 Classificador Loja Fazer Compra Exemplo dum classificador proprietário dum Caso de Utilização Praticamente todos os objetos e artefactos definidos no UML são classificadores: meta definição de instâncias. Ver por exemplo taxinomia de classificadores na pág. 705 no manual da super estrutura. 6 6

62 Diagramas da Estrutura do sistema Diagramas de Classes Diagramas de Componentes Diagramas de Instalação Estes são os diagramas utilizados pelo UML utilizados para modelar a estrutura do sistema 7 7

63 Classes: : classificadores de objetos Um classificador de objetos que partilham os mesmos propriedades, restrições e semântica. Uma classe fornece e encapsula a implementação duma certa funcionalidade de negócio do sistema. 8 8

64 Classes A classe (ou descritor) representa um conceito no interior do sistema modelado: um objeto abstracto O propósito das classes é especificar a classificação dos objetos, assim como especificar a estrutura e comportamento destes objetos Os objetos duma classe devem ter valores de atributos que pertençam a dita classe, de acordo com as características do atributo: tipo e multiplicidade por exemplo. objeto? Pessoas, lugares, coisas, conceitos, relatórios, 9 9

65 Classes O símbolo da classe é o símbolo dum classificador, o mais utilizado em UML Aluno Aluno atributos Operações Nome estrutura métodos 10 10

66 Classes Aluno Nome: string Endereço: string Idade: integer string Criar(); Actualizar(); Apagar(); 11 11

67 Classes Atributos: Locação com um nome ao interior dum classificador que descreve um intervalo de valores que podem ter as suas instâncias Método: Implementação duma operação. Algoritmo ou procedimento para obter os resultados duma operação 12 12

68 Classes: Atributos e Métodos 13 13

69 Classes Rectângulo p1: Point p2: Point <<constructor>> Rectangulo(p1:Point, p2: Point) <<query>> Area(): Real Aspect(): Real... <<update>> Move(delta: Point) Scale(ratio: Real); Estereótipos aplicados a grupos de elementos: <<constructor>> <<query>> <<update>> <<create>> <<destroy>> 14 14

70 Classes Encomenda Data entregue: Date - Numero: Integer -# Num Cliente: Integer - Total: currency - Completa: Boolean #CalcularTotal(): currency # CalcularIVA(tipo: Real): currency - GetIVAcalc() {visibility: implementation}

71 Classes: visibilidade dos Atributos 16 16

72 Relações nas Classes Ligação entre dois elementos: Associação Generalização Dependência Realização 17 17

73 Classes: Associações Uma associação descreve um conjunto de tuplas cujos valores caracterizam instâncias com tipo. Representada por uma linha a cheio Aluno 1..* inscrito numa 1 regular obrigatória Disciplina Tem pelo menos dois extremos representados por propriedades Cada uma ligada ao extremo correspondente: pode mostrar o nome Uma instância duma associação é chamada um link Os objetos num extremo da associação reconhecem os objetos no Outro extremos e podem enviar sinais o mensagens a eles. A associação tem: Nome: inscrito numa Papel (rol) regular, obrigatória Multiplicidade 1..*, 1, 0..*, 1..20, etc. String de Propriedade 18 18

74 Classes: Associações Funcionário 1..* lecciona 1 Docente regular Aluno Associação Navegável: uni-direccional Multiplicidade: Definição dum intervalo inclusivo de inteiros não negativos que começam num limite inferior e terminam com um limite superior (se calhar infinito) 1, *, 0..*, 1..*, 0..1, (3), (2..4), 1..3, Disciplina Associação reflexiva: Uma classe com relação estrutural consigo própria. objetos desempenham vários papeis 19 19

75 Associações reflexivas bancário * 1..5 Pessoa líder 1 Equipa \ lidera banqueiro membro 1..7 Neste caso os dois extremos são distintos lidera é o nome da associação lider e membro são os nomes de ambos dois extremos O \ ao frente do nome da associação indica uma associação derivada: herança 20 20

76 Classes e associações Navigável: As instâncias que participam num link no tempo de execução (instâncias da associação) podem ser acedidas eficientemente por instâncias participando nos outros links da associação. (uma seta aberta no extremo) Se um extremo não é navegável, acesso pelo outro extremo poderia ou não ser possível. Se é, poderia não ser eficiente. (UML não impede este tipo de navegabilidade) (uma pequena x no extremo) Quando um extremo numa associações é ordenado, indica que os links levam esta informação ao extremo da associação 21 21

77 Associações de agregação Factura 1 1..* LinhaFactura A relação do todo e as suas partes: agregação simples e composta Faz parte de... Um objeto formado por outros objetos Só associações binárias podem ser agregações Agregação simples: um ou mais elementos do elemento componente podem ser apagados sem alterar a classe composta

78 Associações de agregação composta Window Cabeçalho Painel Régua O todo é o único dono das suas partes. As partes podem incluir classes e associações Os objetos compostos têm responsabilidade pela existência e armazenamento dos objetos componentes 23 23

79 Associações de agregação composta Avião 1 1..* Componente 0..* Uma agregação composta é uma forma forte de agregação: requer que uma instância da parte seja incluída numa composição. Se a composição é apagada, todas as suas partes são normalmente apagadas com ela. Uma parte pode ser apagada duma composição antes da composição ser apagada * peças 24

80 Associações ternárias Associações podem ligar mais que dois classificadores. Ano época * Equipa * Associação ternária * * AnoJogou ano Associação Binária ordem Jogador de leitura 25 25

81 Restrições nas Associações Pessoa * membro de * { subconjunto} 1 Presidente de * Comité As restrições podem ser escritas na linguagem O.C.L. ou em linguagem natural { ordenado, FIFO} Aluna 0..* lista de espera 1 Residência As alunas esperam obter residência. Estão em fila de espera, conforme o critério de primeira chegada primeira servida 26 26

82 Associação com propriedade Indicada por uma string no interior de chavetas Podem-se aplicar vários tipos a um extremo da associação {subsets <nome da propriedade>} o extremo é um subconjunto da propriedade chamada <nome da propriedade> {redefines <end-name>} o extremo redefine aquele chamado <end name>. {union} o extremo é derivado representando a união dos seus subconjuntos. {ordered} o extremo representa um conjunto ordenado. {bag} o extremo representa uma coleção que permite ao mesmo elemento aparecer mais que uma vez. {sequence} ou {seq} o extremos representa uma coleção (bag) ordenada Repare que por defeito uma associação representa um conjunto 27 27

83 Associações Um ponto no extremo indica que este é da propriedade do classificador onde este faz a ligação (opcional) A ExtremoA ExtremoB * Associação binária AB * Associações qualificadas B Banco numeroconta 1 1..* Cliente Qualificador: seu valor serve para partilhar o conjunto de instâncias associadas com outra instância numa associação. Encomenda NumProduto LinhaEncomenda * 28

84 Associação X-OR Uma entre várias associações potenciais é possível de ser instanciada num momento para uma instância. Utiliza uma linha tracejada ligando duas ou mais associações as quais tem que ter um classificador comum com a string de restrição x-or Aluno {xor} regular trabalhadorestudante 29 29

85 Classes Abstractas Classe Abstracta ou metaclasse: não podem ser directamente instanciadas Generalization set constrains {complete, disjoint} Pessoa {abstract} Classificador abstracto Italica; Estereótipo opcional {incomplete, disjoint} Mulher Homem Empregado Uma classe abstracta é por exemplo uma acção existem tipos específicos de acções 30 30

86 Relações nas Classes Ligação entre dois elementos: Associação Generalização Dependência Realização 31 31

87 Relação de Generalização Corresponde ao conceito de herança: uma classe pai ou super classe e umas classes filhas, que são instâncias da super classe Animal Vertebrados Invertebrados 32 32

88 Relação de Generalização Uma relação taxionómica entre um elemento mais geral (pai) e um elemento mais específico (filha) que é completamente consistente com o primeiro elemento e que agrega informação adicional Os links numa generalização pertencem a uma colecção de subconjuntos aos quais esta generalização pertence: Conjunto de generalização Todos os links que partilha um classificador geral estão divididos nestes conjuntos. Cada um deles representa uma dimensão única de especialização do classificador geral Exemplos: disjoint, incomplete, overlapping, covering 33 33

89 Notação para Conjuntos de Generalização {complete, disjoint} O conjunto de generalização cobre todas as hipóteses. Os classificadores não tem instâncias comuns. {incomplete, disjoint} O conjunto de generalização não cobre todas as hipóteses. Os classificadores não tem instâncias comuns. - *. O conjunto de generalização cobre todas as hipóteses. Os classificadores tem instâncias comuns. O conjunto de generalização não cobre todas as hipóteses. Os classificadores tem instâncias comuns. {complete, overlapping} - O conjunto de {incomplete, overlapping} - O conjunto de * Opção por defeito é: {incomplete, disjoint} 34 34

90 Relação de Generalização Complete: Todos os filhos foram especificados. Não se esperam filhos adicionais. Não há mais tipos de filhos para Pessoa neste conjunto de generalização Generalization set Conjunto de generalização Pessoa {complete } Gerente Supervisor Funcionário 35 35

91 Relação de Generalização Incomplete: A lista está incompleta. Há mais filhos não mostrados no modelo Árvore { incomplete } Azinheira Sobreiro Oliveira 36 36

92 Relação de Generalização Overlapping:{true, false} o classificador geral partilha instâncias em comum Vehiculo { overlapping : true } Veiculo eólico Veiculo Com motor Veiculo terrestre Veiculo aquático 37 37

93 Classes: Generalização Pessoa { disjoint : true } Aluna Professor Disjoint: especifica se o conjunto de generalização dum classificador tem ou não instâncias em comum Se verdadeiro: a intersecção entre os filhos está vazia Ex.: Uma Pessoa só pode ser Aluna ou Professor 38 38

94 Classes: Generalização Pessoa {disjoint: false} Gerente Vendedor {disjoint:false} : Há instâncias de Pessoa que podem ser Gerente e Vendedor ao mesmo tempo 39 39

95 Classes: Generalização Pessoa {covering: true} Sexo Femenino Sexo Masculino covering: True. Cada instância de Pessoa pertence (no mínimo) ao sexo feminino ou masculino Cada instância do classificador geral (Pessoa) é pelo menos também uma instância no seu conjunto de generalização 40 40

96 Classes: Generalização Representante {covering: false} Eurodiputado Membro Assambleia Regional covering: false: Há instâncias de parlamentário para as quais nenhum estes classificadores no seu conjunto de generalização aplica-se: ex.: Vereador Municipal 41 41

97 Classificadores e Power Type: agrupar objetos por categorias Classificador: classifica instâncias de acordo com as suas características A ideia de Power Type (Tipo de Poder) está associada com a ideia de Conjunto de Poder: aquele cujas instâncias são subconjuntos. Portanto, um Tipo de Poder é uma classe cujas instâncias são subclasses dum outro classificador. Ex.:As instâncias de Espécie de Árvore são subtipos de Árvore árvore espécies 1 Espécie de Árvore * Árvore :Especies Florestais {incomplete, disjoint} locação 1 * * Localização geográfica 1 1 Padrão folha Carvalheiro Oliveira Azinheiro Alfarrobeira 42 42

98 Relações nas Classes Ligação entre dois elementos: Associação Generalização Dependência Realização 43 43

99 Relações de Dependência Um elemento ou um conjunto deles requer de outros elementos para a sua especificação ou implementação A semântica do elemento dependente é estruturalmente dependente do elemento fornecedor Uma relação Cliente/Fornecedor A semântica do cliente não está completa sem o Fornecedor Ex.: Encomenda depende de GeradorAutomático de números de encomenda GeradorAutomático Números NovoNumero() Encomenda 44 44

100 Relações de Dependência Relação entre 2 classes na qual uma alteração numa delas poderia obrigar mudanças na outra, mesmo que não há associação explicita entre elas Elemento Representada por uma linha dirigida e tracejada que especifica Sensor Temperatura T: real; Valor: Real; Inicializar() DefinirAlarme() Temperatura Elemento que implementa 45 45

101 Relações de Dependência Ex. Uma encomenda está definida pelo seu número. Mais este pode estar definido numa outra classe Ex.: Uma classe é amiga duma outra Uma classe depende do interface duma outra Uma classe contem uma operação GeradorAutomático Que toma um objeto duma outra como valor Números Uma classe que acede um objeto global Duma outra classe NovoNumero() Encomenda 46 46

102 Relações de Dependência Quando devemos modelar dependências? Quando a relação entre os classificadores é transitória.. Não é persistente Acontece quando um dos objetos envolvidos na relação é transitório ele próprio ou bem é uma classe. <<controlador>> AgendarEntregue GeradorAutomático Classe transitória Faz calendário da entregue de encomendas Encomenda NovoNumero() 47 47

103 Relação de Realização: (de dependência) Uma realização significa que o conjunto de elementos são uma implementação do conjunto da classe, que serve como especificação. Universidade A classe Universidade é realizada pela combinação de Aluno, Docente e Funcionário Aluno Docente Funcionário 48 48

104 Relação de Realização: realização de dependência encontramos realização frequentemente nos interfaces Ou em componentes complexos <<componente>> Clientes Implementa Cliente Coleção Clientes Definição Clientes 49 49

105 Tipos de relações existentes nos diagramas de estrutura 50 50

106 Classes associativas ou Classes de associação Um elemento de modelação que tem as características duma associação e duma classe simultaneamente Pode ser vista como uma associação que tem propriedades duma classe, ou como uma classe que tem propriedades duma associação Representada pelo símbolo duma classe + linha tracejada Inscrição Ano: CalcMédia() Lembram-se dos atributos nas relações do modelo relacional? Aluno Curso 51 51

107 Classes de Associação A linha de associação e a Classe de associação formam um só elemento de modelação que tem um só nome Uma associação com os seus próprios atributos Jogador 0..* contrato 1 empregado empregador Equipa Contrato Duração: Ordenado: Actualizar() Rescindir() O nome pode ser colocado na associação quando só tem atributos Caso contrário, colocado na caixa da associação para enfatizar a sua natureza de classe 52 52

108 Classes de Associação A linha de associação e a Classe de associação formam um só elemento de modelação o qual tem um só nome Só pode existir uma classe associação por cada par de classificadores relacionados. Universidade 1 emprego 1..* Pessoa Data: Categoria: Ordenado: A associação está qualificada com atributos. Estes formam um todo com a relação: emprego O nome pode ir colocado num ou no outro elemento 53 ou em ambos dois 53

109 Classes de Associação Como instância da classe associação, há só uma instância dos classificadores associados em cada extremo da associação. Elemento de modelação, resolvido na fase de desenho Aluno 1 Inscrição 1..* ano: nota: média: Disciplina Nome Númeo Curso Inscrever() Actualizar() Apagar() 54 54

110 Atributos vs. Associações Uma propriedade que designa um objeto duma classe presente no modelo, deve ser modelada como associação e não como atributo Cidade 1..* pertence à capital Pais Nome capital Capital está definida como propriedade, mas já existe objeto Cidade que permite instanciar cidades que são também capitais 55 55

UALG/FCT/DEEI Análise e Modelação de Sistemas Informáticos. 8. Diagramas de Classes, Diagramas de objetos, Interfaces

UALG/FCT/DEEI Análise e Modelação de Sistemas Informáticos. 8. Diagramas de Classes, Diagramas de objetos, Interfaces UALG/FCT/DEEI Análise e Modelação de Sistemas Informáticos 8. Diagramas de Classes, Diagramas de objetos, Interfaces P. Serendero, 2007 Diagramas de Classes Uma vista gráfica do modelo semântico dos objetos

Leia mais

Diagramas de Classe. Sumário. Introdução aos Diagramas de Classe

Diagramas de Classe. Sumário. Introdução aos Diagramas de Classe 38 Diagramas de Classe Sumário Introdução aos Diagramas de Classe Notação base Classes Níveis de modelação Relações entre as classes Decorações Extensões 39 Génese Use Cases Permitem modelar a captura

Leia mais

DIAGRAMAS DE CLASSE UML

DIAGRAMAS DE CLASSE UML DIAGRAMAS DE CLASSE UML Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Antes de mais nada... Calendário de Reposições Aula 1: 27/10/2017, 8h-10h, Sala 8 Aula 2: A verificar Aula 3: A verificar

Leia mais

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro A importância da UML para projetar sistemas. Principais características do diagrama de classes e de sequência.

Leia mais

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F. Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO. Prof. Angelo Augusto Frozza, M.Sc.

PROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO. Prof. Angelo Augusto Frozza, M.Sc. PROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 4. Técnicas de Orientação a Objetos Classes e objetos Herança Métodos Subscritos

Leia mais

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão Sumário Introdução à UML BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Humberto Mossri de Almeida hmossri_cursos@yahoo.com.br Marcelo Nassau Malta nassau_cursos@yahoo.com.br

Leia mais

Introdução à UML. Prof. Jesus José de Oliveira Neto

Introdução à UML. Prof. Jesus José de Oliveira Neto Introdução à UML Prof. Jesus José de Oliveira Neto UML Linguagem de Modelagem Unificada Linguagem visual utilizada para modelar softwares baseados no paradigma de orientação a objetos UML não é uma linguagem

Leia mais

Programação Orientada a Objetos Relacionamentos entre classes

Programação Orientada a Objetos Relacionamentos entre classes Programação Orientada a Objetos Relacionamentos entre classes Prof. Vicente Paulo de Camargo RELACIONAMENTO ENTRE CLASSES Interface agregação Dependencia composição generalização associação RELACIONAMENTO

Leia mais

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves Tópicos Apresentação Entidade, Atributo e Relacionamento Cardinalidade Representação simbólica Generalizações / Especializações Agregações Apresentação O Modelo Entidade-Relacionamento tem o objetivo de

Leia mais

UML. Diagrama de Classe

UML. Diagrama de Classe UML Diagrama de Classe Em UML as classes são representadas por um retângulo dividido em três compartimentos: o compartimento de nome, que conterá apenas o nome da classe modelada, o de atributos, que possuirá

Leia mais

PROGRAMAÇÃO ORIENTADA A

PROGRAMAÇÃO ORIENTADA A PROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO Prof. Angelo Augusto Frozza, MS M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 4. Técnicas de Orientação a Objetos Classes e objetos Herança Métodos Subscritos

Leia mais

DS: notação. Falta-nos apenas dar exemplos de DSS que contenham a criação de objectos temporários e sua posterior destruição.

DS: notação. Falta-nos apenas dar exemplos de DSS que contenham a criação de objectos temporários e sua posterior destruição. DS: notação Falta-nos apenas dar exemplos de DSS que contenham a criação de objectos temporários e sua posterior destruição. Martins 2008 147 DS: notação Martins 2008 148 DS: notação Mensagem condicional

Leia mais

UML Diagramas de Classes

UML Diagramas de Classes UML Diagramas de Classes (versão reduzida) João Pascoal Faria UML Diagramas de Classes v.1.2, João Pascoal Faria, Outubro de 2002 1 Índice Objectivo dos diagramas de classes Objectos, classes, atributos

Leia mais

UML LINGUAGEM DE MODELAGEM UNIFICADA Diagrama de Classes

UML LINGUAGEM DE MODELAGEM UNIFICADA Diagrama de Classes UML LINGUAGEM DE MODELAGEM UNIFICADA Diagrama de Classes O diagrama de classe é a essência de qualquer modelagem orientada a objeto. Ele tem por objetivo descrever, segundo uma visão estática, o escopo

Leia mais

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago Diagramas de Classes Conceitos Básicos O caso de uso fornece uma perspectiva do sistema de um ponto de vista externo (do ator) Internamente os objetos colaboram para atender às funcionalidades do sistema

Leia mais

Itens estruturais/caso de uso. Itens estruturais/classe ativa. Itens estruturais/componente. Itens estruturais/artefatos. Itens comportamentais

Itens estruturais/caso de uso. Itens estruturais/classe ativa. Itens estruturais/componente. Itens estruturais/artefatos. Itens comportamentais Objetivos da UML Introdução a UML cbraga@ic.uff.br Uma linguagem para: Visualizar Especificar Construir Documentar... e analisar. Desenvolvimento dirigido a modelos 2 Construções básicas Organizadas em

Leia mais

Introdução ao Modelo Relacional

Introdução ao Modelo Relacional INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Introdução ao Modelo Relacional Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 19/05/2016 Sumário Instalação do

Leia mais

INTRODUÇÃO AO MODELO RELACIONAL

INTRODUÇÃO AO MODELO RELACIONAL INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO AO MODELO RELACIONAL Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 26/06/2013 SUMÁRIO Instalação do

Leia mais

Diagrama de Classes. Classes. Relacionamentos. Atributos Métodos. Associação. Generalização Dependência Realização. Agregação Composição

Diagrama de Classes. Classes. Relacionamentos. Atributos Métodos. Associação. Generalização Dependência Realização. Agregação Composição Diagrama de Classes Diagrama de Classes Classes Atributos Métodos Relacionamentos Associação Agregação Composição Generalização Dependência Realização Sobre Classes São o elemento mais importante de qualquer

Leia mais

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos Programação para Games II Professor Ariel da Silva Dias Orientação a Objetos Pacotes Pacotes são um modo de organizar classes e interfaces Um programa pode ser formado por centenas de classes individiduais;

Leia mais

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

Engenharia de Software. Prof. Me. Clodoaldo Brasilino Engenharia de Software Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu.br Acompanhamento da Disciplina 1. Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Metodologia Ágil

Leia mais

Diagrama de Classes 2017

Diagrama de Classes 2017 2017 Visa permitir a visualização das classes que comporão o sistema junto com os respectivos atributos e métodos, bem como mostrar como as classes se relacionam, complementam e transmitem informações

Leia mais

PCS3413 Engenharia de Software e Banco de Dados

PCS3413 Engenharia de Software e Banco de Dados PCS3413 Engenharia de Software e Banco de Dados Aula 7 Escola Politécnica da Universidade de São Paulo 1 Diagramas de Interação Diagramas de Sequência Diagrama de Comunicação 2 Solange N. A. de Souza Principais

Leia mais

Projeto Banco de Dados

Projeto Banco de Dados Projeto Banco de Dados Principais Fases do Processo Projeto Conceitual Projeto Lógico Projeto Físico 32 Projeto Banco de Dados Projeto Conceitual Modelagem de dados em alto nível Foco no domínio do problema

Leia mais

Modelagem Conceitual com OntoUML Tipos de Objetos

Modelagem Conceitual com OntoUML Tipos de Objetos Modelagem Conceitual com OntoUML Tipos de Objetos Ricardo de Almeida Falbo Engenharia de Ontologias Departamento de Informática Universidade Federal do Espírito Santo Agenda UFO Unified Foundational Ontology

Leia mais

UML Diagrama de Classes

UML Diagrama de Classes CBSI Curso de Bacharelado em Sistemas de Informação UML Diagrama de Classes Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br www.ufpa.br/srbo Análise e Projeto de Sistemas Faculdade de Computação

Leia mais

12/03/16. Generalização. Associação. Agregação UML Relações. entre Classes. Composição. Prof.Dr. Enzo Seraphim. Dependência

12/03/16. Generalização. Associação. Agregação UML Relações. entre Classes. Composição. Prof.Dr. Enzo Seraphim. Dependência 12/03/16 Generalização Associação Agregação UML Relações Composição entre Classes Dependência Prof.Dr. Enzo Seraphim 12/03/16 Generalização Associação Agregação UML Relações Composição entre Classes Dependência

Leia mais

Project-Based Learning TADS MS Diagrama de Classes

Project-Based Learning TADS MS Diagrama de Classes Bagé, 05 de abril de 2018 Project-Based Learning TADS - 01 2018 MS Diagrama de Classes Leandro Camargo Professor EBTT www.leandrocamargo.com.br (53)984012416 As classes são representadas por retângulos

Leia mais

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça Introdução Universidade Federal de Uberlândia Programação Orientada a Objetos Prof. Fabiano Dorça Introdução Definições iniciais: classe, objeto, métodos, atributos. Introdução Ao escrever um programa

Leia mais

EA975 - Laboratório de Engenharia de Software

EA975 - Laboratório de Engenharia de Software EA975 - Laboratório de Engenharia de Software Turmas K/L - 2017 Aula 8 Vamos inicialmente especificar com mais detalhes o termo "recurso" utilizado no estilo arquitetural REST. Em REST, recursos são uma

Leia mais

Análise e Projeto de Software Parte I. Marcos Dósea

Análise e Projeto de Software Parte I. Marcos Dósea Análise e Projeto de Software Parte I Marcos Dósea marcosdosea@gmail.com Agenda Apresentação do professor Apresentação da disciplina Metodologia e avaliação Apresentação do professor Marcos Barbosa Dósea

Leia mais

Diagrama de Classes (Notação) - Aula 11 (parte 2)

Diagrama de Classes (Notação) - Aula 11 (parte 2) Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Diagrama de Classes (Notação) - Aula 11 (parte 2) Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela

Leia mais

PUC-Rio. Tópico 3: Diagramas de Classes C E. Luiz Antônio M. Pereira. 1/80

PUC-Rio. Tópico 3: Diagramas de Classes C E. Luiz Antônio M. Pereira. 1/80 PU-Rio Tópico 3: E Diagramas de lasses Luiz Antônio M. Pereira lpereira@uninet.com.br 1/80 PU-Rio E Pedido datarecebido: date épre-pago: boolean número: string preço: money expedir() encerrar() 1 * Linha

Leia mais

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer BANCO DE DADOS I Prof. Luiz Antônio Vivacqua C. Meyer Projeto de Banco de Dados Etapas do Desenvolvimento de um Projeto de Sistemas: 1. Levantamento de Requisitos a. Requisitos Funcionais b. Requisitos

Leia mais

MODELAGEM DE SISTEMAS Unidade 4 Modelo de Classes de Projeto. Luiz Leão

MODELAGEM DE SISTEMAS Unidade 4 Modelo de Classes de Projeto. Luiz Leão Unidade 4 Modelo de Classes de Projeto Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático Definição da Visibilidade entre Objetos Adição de Operações às Classes de Projeto Adição

Leia mais

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo DCC / ICEx / UFMG Primeiro Diagrama de Classes Diagrama de Classes Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Professor Aluno matricula Outro Diagrama de Classes Diagrama de Classes Serve de

Leia mais

Linguagem Algorítmica OO. Linguagem Algorítmica

Linguagem Algorítmica OO. Linguagem Algorítmica UFSC-CTC-INE INE5384 - Estruturas de Dados Linguagem Algorítmica OO Prof. Ronaldo S. Mello 2002/2 Linguagem Algorítmica Independente de linguagem de programação OO Utilizada para: Exemplificar os algoritmos

Leia mais

PROJETO DE DADOS PROJETO ARQUITETURAL BÁSICO. Projeto de Programas PPR0001

PROJETO DE DADOS PROJETO ARQUITETURAL BÁSICO. Projeto de Programas PPR0001 1 PROJETO DE DADOS PROJETO ARQUITETURAL BÁSICO Projeto de Programas PPR0001 2 Atividades Envolvidas Preliminar Realizar a organização dos dados considerando a tecnologia que será utilizada em módulos (exemplo:

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS I -TÉCNICAS DE OO. Prof. Angelo Augusto Frozza, M.Sc.

PROGRAMAÇÃO ORIENTADA A OBJETOS I -TÉCNICAS DE OO. Prof. Angelo Augusto Frozza, M.Sc. PROGRAMAÇÃO ORIENTADA A OBJETOS I -TÉCNICAS DE OO Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Técnicas de Orientação a Objetos Classes e objetos Métodos Subscritos Métodos Sobrecarregados

Leia mais

Diagramas de Classes e O Paradigma da Orientação a Objetos usando UML. Prof. Ricardo A. Ramos

Diagramas de Classes e O Paradigma da Orientação a Objetos usando UML. Prof. Ricardo A. Ramos Diagramas de Classes e O Paradigma da Orientação a Objetos usando UML Prof. Ricardo A. Ramos Engenharia de Software II 207. 04/07/207 UML Unified Modeling Language É uma linguagem para especificação, construção,

Leia mais

Os diagramas de use case capturam os requisitos funcionais do sistema.

Os diagramas de use case capturam os requisitos funcionais do sistema. 109/166 Diagramas de Classe Sumário Colaborações Orientação aos Objectos Diagramas de Classe I conceitos base Diagramas de Classe II conceitos avançados Relações conceitos avançados Diagramas de objectos

Leia mais

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42 Diagrama de Classes Régis Patrick Silva Simão Régis Simão Diagrama de Classes 1/42 Agenda Introdução Objetos Classes Atributos Operações & Métodos Relacionamentos Relacionamento: Associação Nome de Relacionamento

Leia mais

Exemplo: Campeonato de futebol

Exemplo: Campeonato de futebol Exemplo: Campeonato de futebol Um campeonato é constituído por 34 jornadas, é identificado por uma época e possui um campeão e um melhor marcador. Cada jornada é identificada por um número e é constituída

Leia mais

Revisão Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula

Revisão Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula Revisão Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula 1 Mostra um conjunto de classes e seus relacionamentos. É o diagrama central da modelagem orientada a objetos.

Leia mais

Banco de dados. Conteúdo: Modelo relacional Prof. Patrícia Lucas

Banco de dados. Conteúdo: Modelo relacional Prof. Patrícia Lucas Banco de dados Conteúdo: Modelo relacional Prof. Patrícia Lucas Composição de um BD Relacional 1 Um banco de dados relacional é composto de tabelas ou relações. Tabelas = Relações Tabelas 2 Uma tabela

Leia mais

XML Schema. Um XML schema descreve a estrutura de um documento XML.

XML Schema. Um XML schema descreve a estrutura de um documento XML. XML Schema Um XML schema descreve a estrutura de um documento XML. XML Schema é uma linguagem que também costuma ser designada por XML Schema Definition (XSD). XML Schema é uma alternativa aos DTDs. 1

Leia mais

Análise de Sistemas 4º Bimestre (material 3)

Análise de Sistemas 4º Bimestre (material 3) Análise de Sistemas 4º Bimestre (material 3) Permite a visualização das classes que irão compor o sistema com seus respectivos atributos e métodos, bem como demonstrar como elas se relacionam, complementam

Leia mais

Análise de Sistemas 3º Bimestre (material 2)

Análise de Sistemas 3º Bimestre (material 2) Análise de Sistemas 3º Bimestre (material 2) Professor: José Ronaldo Leles Júnior Turma: 2º ano do curso de Sistemas de Informação UEG Universidade Estadual de Goiás Campus Posse POO Paradigma Orientado

Leia mais

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; Tudo no mundo real pode ser representado por meio do conceito de "objeto": uma planta, uma mesa, uma pessoa, um sentimento,

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 7: Interfaces LEEC@IST Java 1/31 Interfaces revisão (1) Uma interface é um conjunto de protótipos de métodos (sem implementações) que especifica um serviço bem definido:

Leia mais

IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli

IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli Um dos diagramas mais importantes da UML; Permite visualizar as classes que comporão o sistema, seus atributos e métodos; Demonstra como as classes do diagrama se relacionam e transmitem informações entre

Leia mais

Simbolos/Componentes desse diagrama:

Simbolos/Componentes desse diagrama: DIAGRAMA DE CASO DE USO Simbolos/Componentes desse diagrama: ATORES CASOS DE USO LINHAS: Associações (Associam os casos de usos a outros casos de uso e também a atores) Especialização / Generalização (características

Leia mais

ENGENHARIA DE SOFTWARE. Aula 10 Introdução ao Diagrama de Classes

ENGENHARIA DE SOFTWARE. Aula 10 Introdução ao Diagrama de Classes ENGENHARIA DE SOFTWARE Aula 10 Introdução ao Diagrama de Classes OBJETIVOS Apresentar o conceito de Diagrama de Classes Apresentar um texto introdutório sobre o diagrama Explicar os elementos que compõem

Leia mais

7.8 DIAGRAMA DE CLASSES

7.8 DIAGRAMA DE CLASSES 7.8 DIAGRAMA DE CLASSES O diagrama de classes representa a estrutura do sistema, recorrendo ao conceito de classe e suas relações. O modelo de classes resulta de um processo de abstracção onde são identificados

Leia mais

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES. MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES lucelia.com@gmail.com Externamente ao sistema, os atores visualizam resultados de cálculos, relatórios produzidos, confirmações de requisições solicitadas,

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br O que é?? 2 A UML

Leia mais

Bases de Dados 2013/2014 Modelo Entidade-Associação (EA) Helena Galhardas 2013 IST. Bibliografia

Bases de Dados 2013/2014 Modelo Entidade-Associação (EA) Helena Galhardas 2013 IST. Bibliografia Bases de Dados 2013/2014 Modelo Entidade-Associação (EA) Helena Galhardas Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 2 1 1 Concepção de uma Base de Dados príncipios básicos Especificação

Leia mais

Análise e projeto de sistemas

Análise e projeto de sistemas Conteúdo: Análise e projeto de sistemas Modelagem de classes Prof. Patrícia Lucas Modelagem de classes 01 O modelo de casos de uso fornecem uma perspectiva do sistema a partir de um ponto de vista externo.

Leia mais

UML Relacionamentos. Relacionamento é uma conexão entre itens A maioria dos itens relacionam-se entre si. Quatro tipos de relacionamentos:

UML Relacionamentos. Relacionamento é uma conexão entre itens A maioria dos itens relacionam-se entre si. Quatro tipos de relacionamentos: Relacionamentos Relacionamento é uma conexão entre itens A maioria dos itens relacionam-se entre si. Quatro tipos de relacionamentos: Dependência Generalização Associação Realização Relacionamentos - Dependência

Leia mais

Diagrama de Classes (Análise de casos de uso)

Diagrama de Classes (Análise de casos de uso) Diagrama de Classes (Análise de casos de uso) Prof. Cesar Augusto Tacla Diagrama de classes Estrutura do sistema (classes) Representação estática da colaboração (relações) Relações associação (mais comum)

Leia mais

Diagramas de Use Case

Diagramas de Use Case 86/170 Diagramas de Use Case Sumário Definição de requisitos. Diagramas de Use Case I conceitos base Diagramas de Use Case II conceitos avançados Resumo Exercícios Definição de Requisitos 87/170 Definição

Leia mais

Contexto. Motivação. variabilidade. variabilidade

Contexto. Motivação. variabilidade. variabilidade Representação de Variabilidades em Componentes de Negócio no Contexto da Engenharia de Domínio Regiane Oliveira Ana Paula Blois Aline Vasconcelos Claudia Werner Roteiro Contexto Motivação Variabilidade

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 5: Associações LEEC@IST Java 1/32 Associação revisão Uma associação representa uma referência entre objectos. Numa associação são definidos: Identificador termo descritivo

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

Leia mais

Diagrama de Classes (Análise de casos de uso) Prof. Cesar Augusto Tacla

Diagrama de Classes (Análise de casos de uso) Prof. Cesar Augusto Tacla Diagrama de Classes (Análise de casos de uso) Prof. Cesar Augusto Tacla Diagrama de classes Estrutura do sistema (classes) Representação estática da colaboração (relações) Relações associação (mais comum)

Leia mais

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1/64

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1/64 IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1/64 Projeto Conceitual de BD Modelo Conceitual Entidade e Relacionamento Por: Robson do Nascimento Fidalgo rdnf@cin.ufpe.br IF685 Gerenciamento

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/50 Herança revisão (1) A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse

Leia mais

Polimorfismo. O que é polimorfismo?

Polimorfismo. O que é polimorfismo? O que é polimorfismo? Polimorfismo Significa que variáveis podem referenciar mais do que um tipo. Não é um conceito novo e várias linguagens de programação aplicam. Funções são polimórficas quando seus

Leia mais

Introdução a UML e seus diagramas

Introdução a UML e seus diagramas Introdução a UML e seus diagramas A Unified Modelling Language (UML) é uma linguagem ou notação de diagramas para especificar, visualizar e documentar modelos de software orientados por objetos. O UML

Leia mais

Banco de Dados I 2007 Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 1) Clodis Boscarioli

Banco de Dados I 2007 Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 1) Clodis Boscarioli Banco de Dados I 2007 Módulo II: Modelagem Entidade- Relacionamento versus Relacional (Aula 1) Clodis Boscarioli Conteúdo do Módulo: Conceituação Objetivos; Problemas; Chaves; Restrições; Regras de Integridade;

Leia mais

Modelo Entidade-Associação (EA)

Modelo Entidade-Associação (EA) Sistemas de Informação e Bases de Dados 2012/2013 Modelo Entidade-Associação (EA) Alberto Sardinha Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 2 1 Sumário Modelo Entidade-Associação

Leia mais

Aula 15 Modelagem de Classes de Análise. Análise de Sistemas Prof. Filipe Arantes Fernandes

Aula 15 Modelagem de Classes de Análise. Análise de Sistemas Prof. Filipe Arantes Fernandes Aula 15 Modelagem de Classes de Análise Análise de Sistemas Prof. Filipe Arantes Fernandes filipe.arantes@ifsudestemg.edu.br Outline O paradigma da OO Classes e objetos Mensagens O papel da abstração Encapsulamento

Leia mais

Modelo Comportamental

Modelo Comportamental MEDIDA 2.2 - Cursos de Educação e Formação de Adultos Modelo Comportamental Documento de apoio 3 Diagrama Entidade Relação Curso de Educação e Formação de Adultos Turma de Qualificação Escolar de Nível

Leia mais

FastCube 2.0 Programmer Manual

FastCube 2.0 Programmer Manual FastCube 2.0 Programmer Manual I FastCube 2.0 Programmer Manual Table of contents Chapter I Arquitetura do FastCube 2 2 Chapter II Utilizaçã o dos componentes do FastCube 5 1 Salvar... e carregar um cubo

Leia mais

Uma colagem de diagramas UML. LES/PUC-Rio

Uma colagem de diagramas UML. LES/PUC-Rio Diagramas UML Uma colagem de diagramas UML LES/PUC-Rio Diagramas São representações gráficas de um conjunto de elementos. São desenhados para visualizar um sistema de diferentes perspectivas. São geralmente

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 3 Modelo de Classes de Software Navegação 1 Programa Capítulo 3 Modelo de Classes

Leia mais

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 3ª Parte Prof. Sandra Pais Soares

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 3ª Parte Prof. Sandra Pais Soares Curso Profissional de Gestão e Programação de Sistemas Informáticos Programação e Sistemas de Informação Módulo 1 3ª Parte Prof. Sandra Pais Soares Fundamentos de Programação 1. Palavras Reservadas 2.

Leia mais

Programação Orientada a Objetos Flávio de Oliveira Silva 144

Programação Orientada a Objetos Flávio de Oliveira Silva 144 HERANÇA Herança é a capacidade de uma subclasse de ter acesso as propriedades da superclasse(também chamada classe base) relacionada a esta subclasse. Dessa forma os atributos e métodos de uma classe são

Leia mais

Aula 4 POO 1 Análise OO. Profa. Elaine Faria UFU

Aula 4 POO 1 Análise OO. Profa. Elaine Faria UFU Aula 4 POO 1 Análise OO Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

Abordagem ER. Capítulo 2

Abordagem ER. Capítulo 2 Abordagem ER Capítulo 2 1 Abordagem Entidade-Relacionamento Técnica para construir modelos conceituais de bases de dados Técnica de modelagem de dados mais difundida e utilizada 2 Criada em 1976 por Peter

Leia mais

Modelo do Mundo Real. Abstração. Interpretação

Modelo do Mundo Real. Abstração. Interpretação Modelo do Mundo Real Mundo Real Abstração Interpretação Sistema de Software Modelo Algoritmo Abstração: O modelo precisa capturar apenas as características do mundo real que são importantes para o sistema

Leia mais

RAD Desenvolvimento de Sistemas de Informação

RAD Desenvolvimento de Sistemas de Informação RAD1604 - Desenvolvimento de Sistemas de Informação Adaptado da aula do Prof. Ildeberto A. Rodello Slides adaptados a partir dos originais. Todos os direitos de WAZLAWICK, 2004. Referência WAZLAWICK, R.

Leia mais

Visibilidade e Encapsulamento

Visibilidade e Encapsulamento Visibilidade e Encapsulamento Professor: Ricardo Luis dos Santos IFSUL 2016 Agenda Pacotes Visibilidade Encapsulamento Hands-On 2 Pacotes Em Java, a visibilidade ou grau de acesso a um determinado atributo

Leia mais

INF1404 MODELAGEM DE SISTEMAS

INF1404 MODELAGEM DE SISTEMAS INF1404 MODELAGEM DE SISTEMAS Bacharelado em Sistemas de Informação Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 4 Classes e Diagrama de Classes Associações Exercícios 1 Programa Capítulo 4

Leia mais

Biomatemática - Prof. Marcos Vinícius Carneiro Vital (ICBS UFAL) - Material disponível no endereço

Biomatemática - Prof. Marcos Vinícius Carneiro Vital (ICBS UFAL) - Material disponível no endereço Universidade Federal de Alagoas Instituto de Ciências e Biológicas e da Saúde BIOB-003 Biomatemática Prof. Marcos Vinícius Carneiro Vital 1. Como prever a natureza? (ou: apresentando uma função) 1.1. Visão

Leia mais

Com base nos slides vistos em sala de aula resolva os seguintes exercícios:

Com base nos slides vistos em sala de aula resolva os seguintes exercícios: Com base nos slides vistos em sala de aula resolva os seguintes exercícios: 1. Dê ao menos cinco exemplos de cada um dos conceitos básicos da abordagem ER apresentados nesta aula: entidade, relacionamento,

Leia mais

Banco de Dados Modelagem de Dados. Prof. Joel da Silva

Banco de Dados Modelagem de Dados. Prof. Joel da Silva Banco de Dados Modelagem de Dados Prof. Joel da Silva Modelagem É o processo de transformar aspectos do mundo real (fatos) em um modelo formal igualmente representativo. A modelagem conceitual do BD independe

Leia mais

1.1. Declaração do Problema e Limitações dos Trabalhos Relacionados Um Framework Conceitual para SMAs

1.1. Declaração do Problema e Limitações dos Trabalhos Relacionados Um Framework Conceitual para SMAs 1 Introdução Os sistemas multiagentes (SMAs) estão tendo cada vez mais aceitação no setor da engenharia de software e no meio acadêmico como um paradigma para o desenvolvimento e a criação de sistemas

Leia mais

Modelagem de Dados com UML. Modelagem de Dados com UML. Modelagem de Dados com UML. Modelagem de Dados com UML. Diagrama de Classes

Modelagem de Dados com UML. Modelagem de Dados com UML. Modelagem de Dados com UML. Modelagem de Dados com UML. Diagrama de Classes Diagrama de Classes! Representação dos dados manipulados e armazenados pelos programas de acordo com os conceitos de Orientação a Objetos! Notação fortemente baseada no Diagramas Entidade-Relacionamento

Leia mais

BANCO DE DADOS I/MODELAGEM DE DADOS Prof. Ricardo Rodrigues Barcelar

BANCO DE DADOS I/MODELAGEM DE DADOS Prof. Ricardo Rodrigues Barcelar - Aula 5 - ABORDAGEM RELACIONAL 1. INTRODUÇÃO A abordagem relacional é muito próxima do modelo lógico é uma descrição de um banco de dados no nível de abstração visto pelo usuário do SGBD. Assim, o modelo

Leia mais

UML - Linguagem de Modelagem Unificada

UML - Linguagem de Modelagem Unificada UML - Linguagem de Modelagem Unificada Aula #9.1. EBS 211 POO e UML Prof. Luiz Fernando S. Coletta luizfsc@tupa.unesp.br Campus de Tupã Engenharia de Software Fases do processo de software 1. Levantamento

Leia mais

Modelagem com UML. Fabio Perez Marzullo. IEEE Body of Knowledge on Services Computing Committee on Services Computing, IEEE Computer Society

Modelagem com UML. Fabio Perez Marzullo. IEEE Body of Knowledge on Services Computing Committee on Services Computing, IEEE Computer Society Modelagem com UML Fabio Perez Marzullo IEEE Body of Knowledge on Services Computing Sponsored by Technical Committee on Services Computing, IEEE Computer Society Modelagem Estática (Visão Lógica) Casos

Leia mais

Normalização de dados

Normalização de dados 1 Normalização de dados Vantagens da normalização A normalização permite: Agrupar os atributos de uma entidade de forma a reduzir o número de dependências funcionais existentes entre os dados numa base

Leia mais

Modelo Relacional. Banco de Dados 2º trimestre Prof. Patrícia Lucas

Modelo Relacional. Banco de Dados 2º trimestre Prof. Patrícia Lucas Modelo Relacional Banco de Dados 2º trimestre Prof. Patrícia Lucas Composição de um BD Relacional Um banco de dados relacional é composto de tabelas ou relações. Tabelas = Relações Tabelas Umatabelaéumconjuntonãoordenadodelinhas

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA PÁTIO DE MATERIAIS Discente: Nielson Soares Disciplina: Algoritmo e Estrutura de Dados INTRODUÇÃO Orientação a objetos. Linguagem de programação JAVA. Pátio de matérias

Leia mais

MDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases)

MDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases) MDS II Aula 04 Concepção Requisitos Diagrama de Casos de Uso (Use Cases) 55 DIAGRAMA DE CASOS DE USO BENEFÍCIOS DOS CASOS DE USO ILUSTRAR POR QUE O SISTEMA É NECESSÁRIO OS REQUISITOS DO SISTEMA SÃO COLOCADOS

Leia mais

Análise e Projeto Orientados a Objetos

Análise e Projeto Orientados a Objetos Análise e Projeto Orientados a Objetos Selma Shin Shimizu Melnikoff Escola Politécnica Universidade de São Paulo Modelo de Objetos Modelo de Objetos Diagrama de Objetos s e Objetos Associação e Ligação

Leia mais