Enviar pesquisa
Carregar
Diagrama de Classes
•
0 gostou
•
2,134 visualizações
Rafael Kleestadt da Cruz
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 46
Baixar agora
Baixar para ler offline
Recomendados
Diagrama de Classes
Diagrama de Classes
Andre de Carvalho
8 02
8 02
Luciano Almeida
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de Projeto
Vinícius de Paula
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento web
Rodrigo Rodrigues
Aula 06 - Diagrama de classes
Aula 06 - Diagrama de classes
Leinylson Fontinele
Engenharia de Requisitos
Engenharia de Requisitos
Cloves da Rocha
Programação Orientada a objetos em Java
Programação Orientada a objetos em Java
Denis L Presciliano
Diagrama sequencia
Diagrama sequencia
Diego Alves Pereira
Recomendados
Diagrama de Classes
Diagrama de Classes
Andre de Carvalho
8 02
8 02
Luciano Almeida
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de Projeto
Vinícius de Paula
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento web
Rodrigo Rodrigues
Aula 06 - Diagrama de classes
Aula 06 - Diagrama de classes
Leinylson Fontinele
Engenharia de Requisitos
Engenharia de Requisitos
Cloves da Rocha
Programação Orientada a objetos em Java
Programação Orientada a objetos em Java
Denis L Presciliano
Diagrama sequencia
Diagrama sequencia
Diego Alves Pereira
Aula 1 - Introdução a POO
Aula 1 - Introdução a POO
Daniel Brandão
07 diagrama de classes de análise
07 diagrama de classes de análise
Filipe Soares
Aula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de Atividade
Alberto Simões
UML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
Rodrigo Cascarrolho
A Linguagem UML
A Linguagem UML
Nécio de Lima Veras
UML
UML
Roberto Grande
Diagrama de sequência
Diagrama de sequência
Honório Júnior
Aula 10 - Diagrama de Sequencia.pdf
Aula 10 - Diagrama de Sequencia.pdf
IvanFontainha
Curso de ReactJS
Curso de ReactJS
Gustavo Lopes
Uml Diagramas Estruturais
Uml Diagramas Estruturais
thaisedd
Diagramas de casos de uso
Diagramas de casos de uso
Sergio Chaves
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para Web
Daniel Brandão
Aula8 diagrama sequencia
Aula8 diagrama sequencia
Computação Depressão
Aula 7 diagramas_classes2
Aula 7 diagramas_classes2
Portal_do_estudante_ADS
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
Daniel Brandão
Mapeamento do modelo conceitual para o lógico - Banco de Dados
Mapeamento do modelo conceitual para o lógico - Banco de Dados
info_cimol
Uml diagrama de sequencia
Uml diagrama de sequencia
Italo Costa
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos Básicos
Fabio Moura Pereira
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e Servlets
Eduardo Mendes
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling Language
Cloves da Rocha
Diagrama de Classes (8).pdf
Diagrama de Classes (8).pdf
Jean440975
Si diagrama de classes
Si diagrama de classes
Andreia Gonçalves
Mais conteúdo relacionado
Mais procurados
Aula 1 - Introdução a POO
Aula 1 - Introdução a POO
Daniel Brandão
07 diagrama de classes de análise
07 diagrama de classes de análise
Filipe Soares
Aula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de Atividade
Alberto Simões
UML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
Rodrigo Cascarrolho
A Linguagem UML
A Linguagem UML
Nécio de Lima Veras
UML
UML
Roberto Grande
Diagrama de sequência
Diagrama de sequência
Honório Júnior
Aula 10 - Diagrama de Sequencia.pdf
Aula 10 - Diagrama de Sequencia.pdf
IvanFontainha
Curso de ReactJS
Curso de ReactJS
Gustavo Lopes
Uml Diagramas Estruturais
Uml Diagramas Estruturais
thaisedd
Diagramas de casos de uso
Diagramas de casos de uso
Sergio Chaves
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para Web
Daniel Brandão
Aula8 diagrama sequencia
Aula8 diagrama sequencia
Computação Depressão
Aula 7 diagramas_classes2
Aula 7 diagramas_classes2
Portal_do_estudante_ADS
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
Daniel Brandão
Mapeamento do modelo conceitual para o lógico - Banco de Dados
Mapeamento do modelo conceitual para o lógico - Banco de Dados
info_cimol
Uml diagrama de sequencia
Uml diagrama de sequencia
Italo Costa
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos Básicos
Fabio Moura Pereira
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e Servlets
Eduardo Mendes
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling Language
Cloves da Rocha
Mais procurados
(20)
Aula 1 - Introdução a POO
Aula 1 - Introdução a POO
07 diagrama de classes de análise
07 diagrama de classes de análise
Aula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de Atividade
UML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
A Linguagem UML
A Linguagem UML
UML
UML
Diagrama de sequência
Diagrama de sequência
Aula 10 - Diagrama de Sequencia.pdf
Aula 10 - Diagrama de Sequencia.pdf
Curso de ReactJS
Curso de ReactJS
Uml Diagramas Estruturais
Uml Diagramas Estruturais
Diagramas de casos de uso
Diagramas de casos de uso
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para Web
Aula8 diagrama sequencia
Aula8 diagrama sequencia
Aula 7 diagramas_classes2
Aula 7 diagramas_classes2
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
Mapeamento do modelo conceitual para o lógico - Banco de Dados
Mapeamento do modelo conceitual para o lógico - Banco de Dados
Uml diagrama de sequencia
Uml diagrama de sequencia
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos Básicos
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e Servlets
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling Language
Semelhante a Diagrama de Classes
Diagrama de Classes (8).pdf
Diagrama de Classes (8).pdf
Jean440975
Si diagrama de classes
Si diagrama de classes
Andreia Gonçalves
[CEFET][ESw] Aula 5 - Diagrama de Classe
[CEFET][ESw] Aula 5 - Diagrama de Classe
Universidade Federal de Minas Gerais
Diagrama de classe aula 02 PDF para UML.
Diagrama de classe aula 02 PDF para UML.
NunoVieira83
Diagrama de classe
Diagrama de classe
Suissa
Apresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplos
mauroladeiafilho
Apostila de uml
Apostila de uml
audiclerio
Diagrama classes
Diagrama classes
Gabriel Faustino
Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdf
Celestino24
Paradigma Orientado a Objetos
Paradigma Orientado a Objetos
Álvaro Farias Pinheiro
[CRASHCOURSE] Orientação a Objeto e UML
[CRASHCOURSE] Orientação a Objeto e UML
Christopher Cerqueira
Sistema acadêmico
Sistema acadêmico
Leinylson Fontinele
UMLIntro.pptx
UMLIntro.pptx
RicardoMarciano5
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e Relacionamentos
Cláudio Amaral
Metodologia orientado a objetos
Metodologia orientado a objetos
Gabriel Faustino
Padrões de projetos
Padrões de projetos
Gustavo Souza
Introdução à linguagem UML
Introdução à linguagem UML
Nécio de Lima Veras
Aula sobre Diagrama Classe para a modelagem de requisitos.pptx
Aula sobre Diagrama Classe para a modelagem de requisitos.pptx
Carlos Albuquerque
Aula 1 - Linguagem III
Aula 1 - Linguagem III
Juliano Weber
Trabalho de análise e projeto 2
Trabalho de análise e projeto 2
Meire Dos Santos Aguiar
Semelhante a Diagrama de Classes
(20)
Diagrama de Classes (8).pdf
Diagrama de Classes (8).pdf
Si diagrama de classes
Si diagrama de classes
[CEFET][ESw] Aula 5 - Diagrama de Classe
[CEFET][ESw] Aula 5 - Diagrama de Classe
Diagrama de classe aula 02 PDF para UML.
Diagrama de classe aula 02 PDF para UML.
Diagrama de classe
Diagrama de classe
Apresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplos
Apostila de uml
Apostila de uml
Diagrama classes
Diagrama classes
Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdf
Paradigma Orientado a Objetos
Paradigma Orientado a Objetos
[CRASHCOURSE] Orientação a Objeto e UML
[CRASHCOURSE] Orientação a Objeto e UML
Sistema acadêmico
Sistema acadêmico
UMLIntro.pptx
UMLIntro.pptx
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e Relacionamentos
Metodologia orientado a objetos
Metodologia orientado a objetos
Padrões de projetos
Padrões de projetos
Introdução à linguagem UML
Introdução à linguagem UML
Aula sobre Diagrama Classe para a modelagem de requisitos.pptx
Aula sobre Diagrama Classe para a modelagem de requisitos.pptx
Aula 1 - Linguagem III
Aula 1 - Linguagem III
Trabalho de análise e projeto 2
Trabalho de análise e projeto 2
Último
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
2m Assessoria
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
Danilo Pinotti
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
2m Assessoria
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
Danilo Pinotti
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
2m Assessoria
Último
(6)
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
Diagrama de Classes
1.
UML: Diagrama de
Classes
2.
© LES/PUC-Rio UML –
Diagrama de Classes • Introdução – Diagrama de classes • Elementos do diagrama de classes • Exemplo: Sistema de matrícula
3.
© LES/PUC-Rio Introdução -
Diagrama de Classes • Mostra um conjunto de classes e seus relacionamentos. • É o diagrama central da modelagem orientada a objetos. Aluno nome: Texto matrícula: Inteiro definirNome(nome) obterNome() definirMatricula(matricula) obterMatricula Turma código: Texto sala: Texto horario: Horario estaAberta() definirProfessor(professor) incluirAluno(aluno) está-matriculado-em Professor nome: Texto titulação: Texto definirNome(nome) obterNome() definirTitulacao(titulo) obterTitulacao é-ministrada-por
4.
© LES/PUC-Rio Elementos –
Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
5.
© LES/PUC-Rio Elementos –
Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
6.
© LES/PUC-Rio Elementos –
Diagrama de Classes Classes • Graficamente, as classes são representadas por retângulos incluindo nome, atributos e métodos. • Devem receber nomes de acordo com o vocabulário do domínio do problema. • É comum adotar um padrão para nomeá-las Ex: todos os nomes de classes serão substantivos singulares com a primeira letra maiúscula Nome_da_classe atributo1 atributo2 ... metodo1 metodo2 metodo3 ...
7.
© LES/PUC-Rio Elementos –
Diagrama de Classes Classes • Atributos – Representam o conjunto de características (estado) dos objetos daquela classe – Visibilidade: + público: visível em qualquer classe de qualquer pacote # protegido: visível para classes do mesmo pacote - privado: visível somente para classe Exemplo: + nome : String
8.
© LES/PUC-Rio Elementos –
Diagrama de Classes Classes • Métodos – Representam o conjunto de operações (comportamento) que a classe fornece – Visibilidade: + público: visível em qualquer classe de qualquer pacote # protegido: visível para classes do mesmo pacote - privado: visível somente para classe Exemplo: - getNome() : String
9.
© LES/PUC-Rio Elementos –
Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
10.
© LES/PUC-Rio Elementos –
Diagrama de Classes Relacionamentos • Os relacionamentos possuem: – Nome: descrição dada ao relacionamento (faz, tem, possui,...) – Sentido de leitura – Navegabilidade: indicada por uma seta no fim do relacionamento – Multiplicidade: 0..1, 0..*, 1, 1..*, 2, 3..7 – Tipo: associação (agregação, composição), generalização e dependência – Papéis: desempenhados por classes em um relacionamento
11.
© LES/PUC-Rio Elementos –
Diagrama de Classes Pessoa Empresa 1..* Tipo: associação multiplicidade *trabalha para empregado papéis empregador sentido de leitura • Relacionamentos E a navegabilidade? nome
12.
© LES/PUC-Rio Elementos –
Diagrama de Classes • Relacionamentos • O cliente sabe quais são seus endereços, mas o endereço não sabe a quais clientes pertence EndereçoCliente reside 1 * navegabilidade
13.
© LES/PUC-Rio Elementos –
Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
14.
© LES/PUC-Rio Elementos –
Diagrama de Classes Relacionamentos: Associação • Uma associação é um relacionamento estrutural que indica que os objetos de uma classe estão vinculados a objetos de outra classe. • Uma associação é representada por uma linha sólida conectando duas classes. Pessoa Empresa associação
15.
© LES/PUC-Rio Elementos –
Diagrama de Classes Relacionamentos: Associação • Indicadores de multiplicidade: – 1 Exatamente um – 1..* Um ou mais – 0..* Zero ou mais (muitos) – * Zero ou mais (muitos) – 0..1 Zero ou um – m..n Faixa de valores (por exemplo: 4..7) Pessoa Empresa 1..* associação multiplicidade *trabalha para
16.
© LES/PUC-Rio Relacionamentos: Associação Relacionamentos:
Associação Exemplo: • Um Estudante pode ser um aluno de uma Disciplina e um jogador da Equipe de Futebol • Cada Disciplina deve ser cursada por no mínimo 1 aluno • Um aluno pode cursar de 0 até 8 disciplinas
17.
© LES/PUC-Rio Elementos –
Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
18.
© LES/PUC-Rio Elementos –
Diagrama de Classes • Relacionamento: Agregação – É um tipo especial de associação – Utilizada para indicar “todo-parte” – um objeto “parte” pode fazer parte de vários objetos “todo” ItemPedido 1 1..* agregação todo parte
19.
© LES/PUC-Rio Elementos –
Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
20.
© LES/PUC-Rio Elementos –
Diagrama de Classes • Relacionamento: Composição – É uma variante semanticamente mais “forte” da agregação – Os objetos “parte” só podem pertencer a um único objeto “todo” e têm o seu tempo de vida coincidente com o dele – Quando o “todo” morre todas as suas “partes” também morrem TecladoNotebook FrameWindow 1 1 1 0..* 1..* 0..* errado
21.
© LES/PUC-Rio Elementos –
Diagrama de Classes • Relacionamento: Composição Ex: Janela Scroll Título Corpo 1 0..12 1 Empresa Departamento Escritório 1 1..*1..* 0..1 *
22.
© LES/PUC-Rio Elementos –
Diagrama de Classes • Agregação X Composição Andar Edifício1..n MesaSala 1..n 11 1..n 1..n
23.
© LES/PUC-Rio Elementos –
Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
24.
© LES/PUC-Rio Elementos –
Diagrama de Classes • Relacionamento: Generalização • É um relacionamento entre itens gerais (superclasses) e itens mais específicos (subclasses) “é um” “é um tipo de” superclasse subclasse Veículo Terrestre Aéreo
25.
© LES/PUC-Rio Elementos –
Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
26.
© LES/PUC-Rio Elementos –
Diagrama de Classes • Relacionamento: Dependência • Representa que a alteração de um objeto (o objeto indepedendente) pode afetar outro objeto (o objeto dependente) Ex: Obs: • A classe cliente depende de algum serviço da classe fornecedor • A mudança de estado do fornecedor afeta o objeto cliente • A classe cliente não declara nos seus atributos um objeto do tipo fornecedor • Fornecedor é recebido por parâmetro de método cliente fornecedor
27.
© LES/PUC-Rio Elementos –
Diagrama de Classes Import java.awt.Graphics; class HelloWorld extends java.applet.Applet { public void paint (Graphics g) g.drawString(“Hello, world!”, 10, 10); } HelloWorld Graphics paint(Graphics g) Applet
28.
© LES/PUC-Rio Elementos –
Diagrama de Classes • Classe de associação – Usada quando uma associação entre duas classes contiver atributos da associação • Atributos farão parte da classe de associação • C existe para todo relacionamento de A com B – C possui referência para A e para B • Não existem dois objetos C e C’que referenciam a mesma tupla A,B, isto é, não existe c(a,b,x) e c’(a,b,x’) onde a e b são objetos de A e B, respectivamente, e x e x’ são valores de um atributo de C. – d(a,b,x) e d(a,b,x’) existem A B C A D B
29.
© LES/PUC-Rio Elementos –
Diagrama de Classes PessoaEmpresa Emprego descrição salário atributos do relacionamento 1..*0..* trabalha PessoaEmpresa Pedido 10..*1 0..* fazpertence itemPedido • Não existe uma pessoa com dois empregos na mesma empresa • Uma pessoa pode fazer mais de um pedido na mesma empresa • Classe de associação
30.
© LES/PUC-Rio Exemplo: O
Blog • Um blog tem um título e uma data de criação e além disso é um conjunto de conteúdos. • Estes conteúdos (mensagens) podem ser notas ou comentários sobre as notas. Tanto notas quanto comentários têm características comuns como o texto e a data de sua criação. • Todo usuário possui: – E-mail (deve ser único, ou seja, não há mais de um usuário com o mesmo e-mail)
31.
© LES/PUC-Rio Blog: o
sistema deve... • Permitir a criação de blogs • Permitir a utilização de blogs – Qualquer usuário pode ler conteúdos – Somente o dono do blog pode criar notas – Qualquer usuário pode criar comentários. Para criar um comentário o usuários precisa ler as notas. – Somente o dono do blog pode remover conteúdos. Para remover um conteúdo ele precisará ler o conteúdo. Caso ele remova um comentário, o autor do comentário deve ser notificado por e-mail.
32.
© LES/PUC-Rio Blog: Casos
de uso blogSystem Criar Comentario Ler Conteudo Remover Conteudo Remover Nota Remover Comentario Criar Blog Ler Comentario Ler Nota Criar Nota Usuario Dono do blog <<include>> <<include>> <<include>>
33.
© LES/PUC-Rio Blog: Diagrama
de Classes 0..* 1 autor 0..* 0..* 1 dono 0..* 1 usuario 0..* usaUsuarioBlog -email:String +notificarExclusao:void Conteudo -dtCriacao:Date -texto:String -autor:UsuarioBlog +Conteudo +exibirConteudo:void Blog -dtCriacao:Date -titulo:String -dono:UsuarioBlog -conteudos:Vector +criarNota:void +exibirConteudo:void +comentar:void +lerComentarios:Vector +removerConteudo:void +lerNotas:Vector +Blog Nota -comentarios:Vector -attribute1:int +comentar:void +lerComentarios:Vector +finalize:void Comentario +finalize:void
34.
© LES/PUC-Rio Exemplo: Sistema
de Matrícula A Universidade XYZ deseja informatizar seu sistema de matrículas: • A universidade oferece vários cursos. • O Coordenador de um curso define as disciplinas que serão oferecidas pelo seu curso num dado semestre. • Várias disciplinas são oferecidas em um curso. • Várias turmas podem ser abertas para uma mesma disciplina, porém o número de estudantes inscritos deve ser entre 3 e 10. • Estudantes selecionam 4 disciplinas. • Quando um estudante matricula-se para um semestre, o Sistema de Registro Acadêmico (SRA) é notificado. • Após a matrícula, os estudantes podem, por um certo prazo, utilizar o sistema para adicionar ou remover disciplinas. • Professores usam o sistema para obter a lista de alunos matriculados em suas disciplinas. O Coordenador também. • Todos os usuários do sistema devem ser validados. Descrição
35.
© LES/PUC-Rio Exemplo: Sistema
de Matrícula Diagrama de Casos de Uso
36.
© LES/PUC-Rio Exemplo: Sistema
de Matrícula Descrição do Caso de Uso “Matricular em Disciplina” • Esse caso de uso se inicia quando o Estudante de Curso inicia uma sessão no sistema e apresenta suas credenciais. • O sistema verifica se a credencial é válida. • O sistema solicita que o estudante realize sua matrícula, selecionando 4 disciplinas. • O estudante preenche um formulário eletrônico de matrícula e o submete para uma análise de consistência. • O sistema analisa as informações contidas no formulário. – Se as informações são consistentes, o estudante é incluído em turmas abertas de 4 disciplinas, iniciando pelas preferenciais. – Se as informações não são consistentes, o sistema informa o motivo da inconsistência e solicita que o formulário seja alterado.
37.
© LES/PUC-Rio Exemplo: Sistema
de Matrícula Professor Coordenador Estudante TurmaUniversidade Disciplina FormularioMatricula Curso AnalisadorMatricula SistemaRegistroAcademico ListaAlunos Diagrama de Classes: identificando as classes
38.
© LES/PUC-Rio Exemplo: Sistema
de Matrícula • Exemplos de candidatos a relacionamentos: – A é parte física ou lógica de B. – A está contido fisicamente ou logicamente em B. – A é uma descrição de B. – A é membro de B. – A é subunidade organizacional de B. – A usa ou gerencia B. – A se comunica/interage com B. – A está relacionado com uma transação B. – A é possuído por B. – A é um tipo de B. Diagrama de Classes: identificando os relacionamentos
39.
© LES/PUC-Rio Exemplo: Sistema
de Matrícula • O formulário de matrícula é processado por um analisador de matrícula • O analisador de matrícula gerencia a disciplina FormularioMatricula AnalisadorMatricula é-processado-por 10..* Disciplina FormularioMatricula AnalisadorMatricula é-processado-por 10..* 1 0..* Diagrama de Classes: identificando os relacionamentos
40.
© LES/PUC-Rio Exemplo: Sistema
de Matrícula Professor Coordenador Estudante Turma Disciplina FormularioMatricula AnalisadorMatricula é-preenchido-por está-matriculado-em é-processado-por é-ministrada-por é-definida-por aluno gerencia 1 1 10..* 1 0..* 11..* 1 1..* 10..33..10 4 Diagrama de Classes
41.
© LES/PUC-Rio Exemplo: Sistema
de Matrícula – Os atributos podem ser encontrados examinando-se as descrições dos casos de uso e também pelo conhecimento do domínio do problema. – Cada turma oferecida possui um código, uma sala e um horário. Turma código sala horário Diagrama de Classes: identificando os atributos
42.
© LES/PUC-Rio Exemplo: Sistema
de Matrícula Coordenador FormularioMatricula AnalisadorMatricula é-preenchido-por está-matriculado-em é-processado-por é-ministrada-por é-definida-por aluno gerencia 1 1 10..* 1 0..* 11..* 1 1..* 10..33..10 4 Turma código sala horário Professor nome titulação Estudante nome matricula Disciplina nome numCréditos Diagrama de Classes
43.
© LES/PUC-Rio Exemplo: Sistema
de Matrícula SIM submeterFormulario(formulario) AnalisadorMatricula adicionar(aluno, disciplina) : SIM : AnalisadorMatricula 2: adicionar(a,d ) 1: submeterFormulario(f) Diagrama de Classes: identificando os métodos
44.
© LES/PUC-Rio Exemplo: Sistema
de Matrícula • E a navegabilidade? public class Turma { private String codigo; private String sala; private Estudante alunos[]; ... } Diagrama de Classes: public class Estudante { private String nome; private String matricula; ... } OBS: Turma não aparece como atributo de Estudante! TurmaEstudante 3..10 está-matriculado-em 3..10 4
45.
© LES/PUC-Rio Exemplo: Sistema
de Matrícula • Acrescentando generalizações: – Atributos, operações e/ou relacionamentos comuns podem ser movidos para uma classe mais geral. Estudante matricula : Inteiro definirMatricula(matricula) obterMatricula() Usuario nome : Texto definirNome(nome) obterNome() Professor titulacao : Texto definirTitulacao(titulacao) obterTitulacao() Diagrama de Classes:
46.
© LES/PUC-Rio Exemplo: Sistema
de Matrícula SIM Usuario nome : Texto definirNome(nome) obterNome() FormularioMatricula obterEstudante() : Estudante obterNomeDIsciplina(i : Inteiro) : Texto Estudante matricula : Inteiro definirMatricula(matricula) obterMatricula() 1 1 é-preenchido-por 1 1-aluno Professor titulacao : Texto definirTitulacao(titulacao) obterTitulacao() AnalisadorMatricula adicionar(aluno, disciplina) 1 11 1 usa 10..* 10..* é-processado-por Disciplina nome : Texto numCreditos : Inteiro estaCompleta() adicionar(aluno : Estudante) 0..* 1 0..* 1 gerencia Turma codigo : Texto sala : Texto horario : Horario numAlunos : Inteiro completa : Booleano estaCompleta() : Booleano 3..10 4 3..10 4 está-matriculado-em 0..3 10..3 1 responsável-por 1..* 11 1..*
Baixar agora