SlideShare uma empresa Scribd logo
1 de 40
Métodos baseados em Classes para
Modelagem de Requisitos
Prof. CarlosAlberto
Sumário
1. Introdução
2. Análise Orientada a Objetos
3. Identificação de Classes
4. Classe
5. Relacionamento
6. Multiplicidade
7. Classe Associativa e Classe Intermediária
8. Restrição
9. Diagrama de Classe
10.Exercício
11.Conclusão
12.Referências
Introdução
O Que é?
Quem faz?
Por que é
importante?
Quais são os
passos?
Qual é o produto
do trabalho?
Como tenho certeza
de que fiz
corretamente?
Métodos baseados em Classes
para Modelagem de Requisitos
Análise Orientada a Objetos
Aprendemos a pensar de maneira Orientada a Objetos
Instanciação
Análise Orientada a Objeto
Abstração
 É a habilidade de concentrar nos aspectos essenciais
de um contexto qualquer, ignorando características
menos importantes.
Encapsulamento
 é a característica da OO capaz de ocultar partes
(dados e detalhes) de implementação interna de
classes do mundo exterior.
Herança
 É o mecanismo que permite a uma classe herdar todos
os atributos e métodos de outra classe.
 Ela permite definir a implementação de uma nova classe
na definição de uma classe previamente implementada.
Composição
 Composição é um mecanismo de reaproveitamento
(reutilização) de classes utilizado pela POO para
aumentar a produtividade e a qualidade no
desenvolvimento de software.
Polimorfismo
 É a capacidade que as classes derivadas de uma única
classe base são capazes de invocar os métodos que,
embora apresentem a mesma assinatura,
comportam-se de maneira diferente para cada uma
das classes derivadas.
Identificação de Classes
Ao olhar para uma sala de aula
É possível identificar um
conjunto de objetos
que são facilmente
identificados,
classificados,
e definidos (atributos e
operações)
Expande o espaço do problema
As classes e objetos
mais difíceis de compreender
Análise Sintática
Identificação de Classes
Examinar o contexto de
aplicação
Para identificar as classes
Identificação de Classes
 Entidades externas  outros sistemas, dispositivos
 Ocorrências ou eventos  movimentos de um robô
 Papéis  aluno, professor
 Unidades Organizacionais  UFRN e EAJ
 Estruturas  veículos de quatro rodas
As classes e suas categorias
Classe
 É uma descrição de um conjunto de objetos que
compartilham os mesmos atributos, operações,
relacionamentos e semântica;
 Representada por um retângulo que pode possuir
até três divisões:
Aluno
+ consultarPorNome()
+ consultarPorMatricula()
- Matrícula
- Nome
- CPF
 Nome da classe;
 Atributos da classe;
 Métodos da classe.
Classe
 Atributos
 Representam as características de uma classe
 Exemplo: Pessoa (matricula, nome, CPF, etc.)
 Métodos
 Representam as atividades que um objeto de uma classe
pode executar
 Exemplo: Aluno (consultarPorMatricula, cancelarContrato)
 Visibilidade
 Indica o nível de acessibilidade de um atributo ou método
 Tipos: Pública (+), Privada (-) e Protegida (#)
Relacionamento
 Permite compartilhar informações e colaborar com a
execução dos processos do sistema;
 Os tipos de relacionamentos são:
 Associação
 Agregação
 Composição
 Especialização/Generalização
 Dependência
Relacionamento
Associação
 Descreve os vínculos entre os objetos de uma ou mais
classes;
 Permitem compartilhar informações;
 Associação binária – quando há duas classes
envolvidas na associação de forma direta de uma para
outra;
 Associação unária – quando há um relacionamento de
uma classe consigo mesma.
Relacionamento
Associação binária
 Relacionamento entre duas classes;
 É o tipo de relacionamento mais comum;
 Podem possuir títulos para determinar o tipo de vínculo.
Relacionamento
Associação binária
Relacionamento
Associação unária
 Ocorre quando há um relacionamento de um objeto
de uma classe com objetos da mesma classe;
 No exemplo a seguir, percebe-se que um objeto da
classe Funcionário pode (ou não) supervisionar
outros objetos dessa mesma classe;
 Para o relacionamento ficar mais claro, pode-se
informar a sua multiplicidade.
Relacionamento
Associação unária
Multiplicidade
Multiplicidade Significado
0..1 No mínimo zero e no máximo um.
Os objetos não precisam estar
relacionados, porém se houver
relacionamento deve ser de no
máximo 1.
1..1 Um e somente um
0..* No mínimo nenhum e no máximo
muitos.
* Muitos
1..* No mínimo um e no máximo
muitos.
3..5 No mínimo 3 e no máximo 5.
Relacionamento
Agregação
 Tipo especial de associação que tenta demonstrar que
as informações de um objeto-todo precisam ser
complementadas pelas informações contidas em um
(ou mais) objetos-parte.
 A existência do objeto-parte faz sentido mesmo não
existindo o objeto-todo.
 A associação de agregação pode, em muitos casos, ser
substituída por uma associação binária simples,
dependendo da visão de quem faz a modelagem.
Relacionamento
Agregação
Pedido
- nro_pedido: long
- Dat_pedido: date
Produto
- qtd_item: double
- Val_item: double
possui
1..*
Relacionamento
Composição
 É uma variação da agregação e considerada mais
“forte”.
 O objeto-parte não pode existir sem o objeto-todo.
 Se o objeto-todo for destruído, o objeto-parte também
será.
Relacionamento
Composição
Edição
- nro_edicao: int
- vol_edicao: int
- Data_edicao: data
Artigo
- Tit_artigo: char[120]
contém
6..10
Especialização/Generalização
Especialização/Generalização
 Tem como objetivo identificar classes-mãe, denominadas de
gerais, e classes-filha chamadas de especializadas;
 São chamados de relacionamentos “é um tipo de”.
Relacionamento
 Especialização/Generalização
ContaComum
+ Saque()
- saldo: double
ContaEspecial
+ Saque()
- limite: double
ContaPoupanca
- Aniversario: date
Dependência
 Como o nome sugere, indica um grau de dependência
entre uma classe e outra.
 Uma dependência difere de uma associação porque a
conexão entre as classes é temporária.
 Representada por uma seta tracejada entre duas
classes.
Dependência
Classe Associativa
 Utilizada quando ocorrem associações que possuem
multiplicidade muitos para muitos em todas as suas
extremidades;
 Armazena os atributos transmitidos pela associação;
 Pode possuir seus próprios atributos;
 Representada por uma reta tracejada partindo do meio
da associação até uma classe.
Classe Associativa
Autor
- nome_autor: char[40]
- end_autor: char[40]
Artigo
- Tit_artigo: char[120]
1..* 1..*
Escreve
Classe intermediária
 Substitui as classes associativas;
 Apresenta, exatamente, a mesma função da classe
associativa;.
 Pode possuir seus próprios atributos;
Restrição
 Informações extras
 definem condições a serem validadas
 Representadas por textos limitados por chaves.
Diagrama de Classe
 Permite a visualização das classes utilizadas pelo
sistema como elas se relacionam.
 Apresenta uma visão estática de como as classes estão
organizadas a fim de definir sua estrutura lógica.
 Foi projetado para ser uma evolução (e não
substituição) do Modelo Entidade-Relacionamento do
Banco de Dados.
Diagrama de Classe
 Uma classe não corresponde, obrigatoriamente, a
uma tabela em um banco de dados.
 Eventualmente, os atributos de uma classe
correspondem aos atributos de uma tabela, porém
uma classe não é uma tabela.
Exercício
 Desenvolva um diagrama de classe para uma loja
on-line de pedidos de vendas de produtos.
Exercício
 Crie um diagrama de classe para um banco
Conclusão
 Pode-se afirmar que métodos baseados em classes
para modelagem de requisitos possibilitam criar uma
variedade de representações que mostram os requisitos
de software quanto à informação, função e
comportamento.
Referências
 Pressman, Roger S. Engenharia de Software. 6 ed.
São Paulo: MCGRAW-Hill, 2006.
 Guedes, Gilleanes T. A. UML 2: guia prático. São
Paulo: Novatec Editora, 2007
 FURLAN, José D. Fundamentos do Desenho
Orientado a Objeto com UML. São Paulo: Makron
Books, 2001.

Mais conteúdo relacionado

Semelhante a Aula sobre Diagrama Classe para a modelagem de requisitos.pptx

Aula classes abstratas 3º periodo uniao
Aula classes abstratas  3º periodo uniaoAula classes abstratas  3º periodo uniao
Aula classes abstratas 3º periodo uniaoMaria Alice Jovinski
 
Revisão 1º bimestre - Casos de Usos e Classes
Revisão 1º bimestre - Casos de Usos e ClassesRevisão 1º bimestre - Casos de Usos e Classes
Revisão 1º bimestre - Casos de Usos e ClassesMaria Alice Jovinski
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetosdanielrpgj30
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Vitor Hugo Melo Araújo
 
Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidOrientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidIury Teixeira
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoVinícius de Paula
 
Uml
UmlUml
Umllcbj
 
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfAPOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfpedrina4
 
Aula classe de associacao 3º periodo uniao
Aula classe de associacao 3º periodo uniaoAula classe de associacao 3º periodo uniao
Aula classe de associacao 3º periodo uniaoMaria Alice Jovinski
 
Apresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplosApresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplosmauroladeiafilho
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a pooSedu
 
Programação Orientada a Objeto(POO)
Programação Orientada a Objeto(POO)Programação Orientada a Objeto(POO)
Programação Orientada a Objeto(POO)Carlos Alberto
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosRamon Mayor Martins
 

Semelhante a Aula sobre Diagrama Classe para a modelagem de requisitos.pptx (20)

Relatório da uml
Relatório da umlRelatório da uml
Relatório da uml
 
Aula classes abstratas 3º periodo uniao
Aula classes abstratas  3º periodo uniaoAula classes abstratas  3º periodo uniao
Aula classes abstratas 3º periodo uniao
 
Revisão 1º bimestre - Casos de Usos e Classes
Revisão 1º bimestre - Casos de Usos e ClassesRevisão 1º bimestre - Casos de Usos e Classes
Revisão 1º bimestre - Casos de Usos e Classes
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetos
 
Aula 5 uml1 (1)
Aula 5   uml1 (1)Aula 5   uml1 (1)
Aula 5 uml1 (1)
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
 
Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidOrientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores Android
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de Projeto
 
Uml
UmlUml
Uml
 
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfAPOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
 
Aula classe de associacao 3º periodo uniao
Aula classe de associacao 3º periodo uniaoAula classe de associacao 3º periodo uniao
Aula classe de associacao 3º periodo uniao
 
Apresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplosApresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplos
 
[CEFET][ESw] Aula 5 - Diagrama de Classe
[CEFET][ESw] Aula 5 - Diagrama de Classe[CEFET][ESw] Aula 5 - Diagrama de Classe
[CEFET][ESw] Aula 5 - Diagrama de Classe
 
Sld 4
Sld 4Sld 4
Sld 4
 
Aula orientação a objetos
Aula orientação a objetosAula orientação a objetos
Aula orientação a objetos
 
Motivação
MotivaçãoMotivação
Motivação
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
Classes
ClassesClasses
Classes
 
Programação Orientada a Objeto(POO)
Programação Orientada a Objeto(POO)Programação Orientada a Objeto(POO)
Programação Orientada a Objeto(POO)
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
 

Aula sobre Diagrama Classe para a modelagem de requisitos.pptx

  • 1. Métodos baseados em Classes para Modelagem de Requisitos Prof. CarlosAlberto
  • 2. Sumário 1. Introdução 2. Análise Orientada a Objetos 3. Identificação de Classes 4. Classe 5. Relacionamento 6. Multiplicidade 7. Classe Associativa e Classe Intermediária 8. Restrição 9. Diagrama de Classe 10.Exercício 11.Conclusão 12.Referências
  • 3. Introdução O Que é? Quem faz? Por que é importante? Quais são os passos? Qual é o produto do trabalho? Como tenho certeza de que fiz corretamente? Métodos baseados em Classes para Modelagem de Requisitos
  • 4. Análise Orientada a Objetos Aprendemos a pensar de maneira Orientada a Objetos Instanciação
  • 6. Abstração  É a habilidade de concentrar nos aspectos essenciais de um contexto qualquer, ignorando características menos importantes.
  • 7. Encapsulamento  é a característica da OO capaz de ocultar partes (dados e detalhes) de implementação interna de classes do mundo exterior.
  • 8. Herança  É o mecanismo que permite a uma classe herdar todos os atributos e métodos de outra classe.  Ela permite definir a implementação de uma nova classe na definição de uma classe previamente implementada.
  • 9. Composição  Composição é um mecanismo de reaproveitamento (reutilização) de classes utilizado pela POO para aumentar a produtividade e a qualidade no desenvolvimento de software.
  • 10. Polimorfismo  É a capacidade que as classes derivadas de uma única classe base são capazes de invocar os métodos que, embora apresentem a mesma assinatura, comportam-se de maneira diferente para cada uma das classes derivadas.
  • 11. Identificação de Classes Ao olhar para uma sala de aula É possível identificar um conjunto de objetos que são facilmente identificados, classificados, e definidos (atributos e operações) Expande o espaço do problema As classes e objetos mais difíceis de compreender
  • 12. Análise Sintática Identificação de Classes Examinar o contexto de aplicação Para identificar as classes
  • 13. Identificação de Classes  Entidades externas  outros sistemas, dispositivos  Ocorrências ou eventos  movimentos de um robô  Papéis  aluno, professor  Unidades Organizacionais  UFRN e EAJ  Estruturas  veículos de quatro rodas As classes e suas categorias
  • 14. Classe  É uma descrição de um conjunto de objetos que compartilham os mesmos atributos, operações, relacionamentos e semântica;  Representada por um retângulo que pode possuir até três divisões: Aluno + consultarPorNome() + consultarPorMatricula() - Matrícula - Nome - CPF  Nome da classe;  Atributos da classe;  Métodos da classe.
  • 15. Classe  Atributos  Representam as características de uma classe  Exemplo: Pessoa (matricula, nome, CPF, etc.)  Métodos  Representam as atividades que um objeto de uma classe pode executar  Exemplo: Aluno (consultarPorMatricula, cancelarContrato)  Visibilidade  Indica o nível de acessibilidade de um atributo ou método  Tipos: Pública (+), Privada (-) e Protegida (#)
  • 16. Relacionamento  Permite compartilhar informações e colaborar com a execução dos processos do sistema;  Os tipos de relacionamentos são:  Associação  Agregação  Composição  Especialização/Generalização  Dependência
  • 17. Relacionamento Associação  Descreve os vínculos entre os objetos de uma ou mais classes;  Permitem compartilhar informações;  Associação binária – quando há duas classes envolvidas na associação de forma direta de uma para outra;  Associação unária – quando há um relacionamento de uma classe consigo mesma.
  • 18. Relacionamento Associação binária  Relacionamento entre duas classes;  É o tipo de relacionamento mais comum;  Podem possuir títulos para determinar o tipo de vínculo.
  • 20. Relacionamento Associação unária  Ocorre quando há um relacionamento de um objeto de uma classe com objetos da mesma classe;  No exemplo a seguir, percebe-se que um objeto da classe Funcionário pode (ou não) supervisionar outros objetos dessa mesma classe;  Para o relacionamento ficar mais claro, pode-se informar a sua multiplicidade.
  • 22. Multiplicidade Multiplicidade Significado 0..1 No mínimo zero e no máximo um. Os objetos não precisam estar relacionados, porém se houver relacionamento deve ser de no máximo 1. 1..1 Um e somente um 0..* No mínimo nenhum e no máximo muitos. * Muitos 1..* No mínimo um e no máximo muitos. 3..5 No mínimo 3 e no máximo 5.
  • 23. Relacionamento Agregação  Tipo especial de associação que tenta demonstrar que as informações de um objeto-todo precisam ser complementadas pelas informações contidas em um (ou mais) objetos-parte.  A existência do objeto-parte faz sentido mesmo não existindo o objeto-todo.  A associação de agregação pode, em muitos casos, ser substituída por uma associação binária simples, dependendo da visão de quem faz a modelagem.
  • 24. Relacionamento Agregação Pedido - nro_pedido: long - Dat_pedido: date Produto - qtd_item: double - Val_item: double possui 1..*
  • 25. Relacionamento Composição  É uma variação da agregação e considerada mais “forte”.  O objeto-parte não pode existir sem o objeto-todo.  Se o objeto-todo for destruído, o objeto-parte também será.
  • 26. Relacionamento Composição Edição - nro_edicao: int - vol_edicao: int - Data_edicao: data Artigo - Tit_artigo: char[120] contém 6..10
  • 27. Especialização/Generalização Especialização/Generalização  Tem como objetivo identificar classes-mãe, denominadas de gerais, e classes-filha chamadas de especializadas;  São chamados de relacionamentos “é um tipo de”.
  • 28. Relacionamento  Especialização/Generalização ContaComum + Saque() - saldo: double ContaEspecial + Saque() - limite: double ContaPoupanca - Aniversario: date
  • 29. Dependência  Como o nome sugere, indica um grau de dependência entre uma classe e outra.  Uma dependência difere de uma associação porque a conexão entre as classes é temporária.  Representada por uma seta tracejada entre duas classes.
  • 31. Classe Associativa  Utilizada quando ocorrem associações que possuem multiplicidade muitos para muitos em todas as suas extremidades;  Armazena os atributos transmitidos pela associação;  Pode possuir seus próprios atributos;  Representada por uma reta tracejada partindo do meio da associação até uma classe.
  • 32. Classe Associativa Autor - nome_autor: char[40] - end_autor: char[40] Artigo - Tit_artigo: char[120] 1..* 1..* Escreve
  • 33. Classe intermediária  Substitui as classes associativas;  Apresenta, exatamente, a mesma função da classe associativa;.  Pode possuir seus próprios atributos;
  • 34. Restrição  Informações extras  definem condições a serem validadas  Representadas por textos limitados por chaves.
  • 35. Diagrama de Classe  Permite a visualização das classes utilizadas pelo sistema como elas se relacionam.  Apresenta uma visão estática de como as classes estão organizadas a fim de definir sua estrutura lógica.  Foi projetado para ser uma evolução (e não substituição) do Modelo Entidade-Relacionamento do Banco de Dados.
  • 36. Diagrama de Classe  Uma classe não corresponde, obrigatoriamente, a uma tabela em um banco de dados.  Eventualmente, os atributos de uma classe correspondem aos atributos de uma tabela, porém uma classe não é uma tabela.
  • 37. Exercício  Desenvolva um diagrama de classe para uma loja on-line de pedidos de vendas de produtos.
  • 38. Exercício  Crie um diagrama de classe para um banco
  • 39. Conclusão  Pode-se afirmar que métodos baseados em classes para modelagem de requisitos possibilitam criar uma variedade de representações que mostram os requisitos de software quanto à informação, função e comportamento.
  • 40. Referências  Pressman, Roger S. Engenharia de Software. 6 ed. São Paulo: MCGRAW-Hill, 2006.  Guedes, Gilleanes T. A. UML 2: guia prático. São Paulo: Novatec Editora, 2007  FURLAN, José D. Fundamentos do Desenho Orientado a Objeto com UML. São Paulo: Makron Books, 2001.

Notas do Editor

  1. Entidades externas – outros sistemas