O que é modelagem orientada a objetos?

Slides:



Advertisements
Apresentações semelhantes
Um pouco mais de cardinalidade e Relacionamentos
Advertisements

Princípios da Orientação a Objetos e a Linguagem UML
MER – Modelo de Entidade Relacionamento
Modelagem de Classes do Domínio
UML Modelando um sistema.
UML – Visões Parte 1 Modelando um sistema.
Diagrama de Classes.
UML - Diagrama de Classes e objetos
UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho.
Análise e Projeto de Sistemas
UML: Diagrama de Classes
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
Introdução a diagrama de classes e UML
Diagrama de Classes.
Diagramas de Classes.
(Linguagem de Modelagem Unificada)
Paradigmas da Programação – Semestre 1 – Aula 5
Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.
O.O.H.D.M. Modelagem Conceitual
TÉCNICAS DE PROGRAMAÇÃO II
Diagrama de Classes e Diagrama de Objetos
SQL Server 2012 Introdução a Modelagem de Dados
Diagrama de Classes e Colaboração
DIAGRAMA DE CLASSE Modelagem de Software
Diferenças entre DER e Engenharia de Informações
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Diagrama de Classes George Gomes Cabral.
Profª Daniela TLBD.
Introdução à modelagem orientada a objetos
Marcio de Carvalho Victorino
Análise e Projeto de Sistemas
Modelagem Visual de Objetos Com UML
Programação Orientada a Objetos Curso de Engenharia da Computação Parte 03 – Conceitos Básicos III Prof. Fabricio Mota Oliveira
UML Diagrama de classes.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Classes e Objetos em Java.
Ceça Moraes Diagrama de Classes.
UML: Diagrama de Classes
DIAGRAMA DE CLASSE Médio Integrado.
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Objetivos Apresentar de forma breve a Metodologia de Modelagem Orientada a Objetos (OMT). A partir de um modelo de objetos de um sistema de informação.
Projeto Orientado aos Objetos Prof. Wolley W. Silva
Modelagem Visual de Objetos Com UML
Análise Orientado aos Objetos Prof. Wolley W. Silva
Banco de Dados Aplicado ao Desenvolvimento de Software
PROGRAMAÇÃO ORIENTADA A OBJETOS
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
POO Aula 03 Projeto OO com UML Eduardo Figueiredo 11 de Março de 2010.
Laboratório de Programação
Técnicas e Projeto de Sistemas
Análise e Projeto de Sistemas
Orientação a Objetos com UML
Introdução a Orientação a Objetos
Introdução à modelagem orientada a objetos
Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|
20/04/2017 Orientação a Objetos 1 1.
Projeto de Banco de Dados
Banco de Dados I Aula 3 - Projeto Conceitual de Banco de Dados
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Continuação Modelagem Orientada a Objetos Técnico Subsequente.
Engenharia de Software Orientada a Objetos
4 Projeto de Banco de Dados Carlos Alberto Heuser.
Professora: Kelly de Paula Cunha
Diagrama de Classes Herança Dependências.
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Análise e Design de Software Site:
Diagrama de Classes Modelagem e Programação Orientada a Objetos Curso Superior de Tecnologia em Sistemas para Internet Prof. Cristiano Stüpp Nunes
Modelagem Entidade-Relacionamento (MER)
Engenharia de Software Orientada a Objetos Professor: Guilherme Timóteo Aula 3: – Modelagem de Classes (parte 2)
Análise e Projeto de Sistemas Análise & modelagem conceitual Prof. Edjandir Corrêa Costa
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

O que é modelagem orientada a objetos? Descrição diagramática de algo a ser (ou que já foi) implementado em linguagem de programação Utilizam notações gráfica e textuais. Representam as partes essenciais de um sistema. Técnico Subsequente

Conhecer uma linguagem de modelagem UML, segunda versão Os quatorzes diagramas de UML Para que serve cada diagrama Técnico Subsequente

Exemplos de Modelos Orientados a Objetos Diagrama de Caso de Uso Técnico Subsequente

Exemplos de Modelos Orientados a Objetos Diagrama de Classes Técnico Subsequente

EXERCÍCIO EM SALA Observe a imagem abaixo, e diga quais objetos você consegue identificar? Técnico Subsequente

Objeto Um objeto pode ser real ou abstrato. Os objetos possuem informações (contém dados) e desempenham ações (possuem funcionalidade). No software OO: Um objeto é qualquer coisa, real ou abstrata, a respeito da qual armazenamos dados e os métodos que os manipulam. Identificar os atributos e o comportamento de objetos do mundo real é o primeiro passo para começar a pensar em programação OO.

Objeto Exemplo: Uma fatura; Uma organização; Um vôo de avião; Uma pessoa; Um lugar.

Objeto Analise os seguintes objeto e pergunte: Quais as características que esse objeto pode ter? Quais os possíveis comportamentos que ele pode executar?

Abstração Habilidade mental que permite os seres humanos visualizarem os problemas do mundo real com vários graus de detalhes, dependendo do contexto corrente do problema.  Nós aprendemos a abstrair desde pequenos, criamos conceitos, assumimos verdades, entendemos o mundo de acordo com a nossa capacidade intelectual.

Visão do Projeto

Classes Uma classe é uma implementação de um tipo de objeto. Uma classe especifica uma estrutura de dados e os métodos operacionais permissíveis que se aplicam a cada um de seus objetos. As classes de programação são projetos de um objeto, aonde têm características e comportamentos, ou seja, permite armazenar propriedades e métodos dentro dela.

Classe Pessoa Técnico Subsequente

Classe Banco Atributos Métodos

Idade e Peso são atributos da Atributos da Classe Atributos identificam características da classe, ou seja, “o que a classe tem”, por exemplo, todo animal possui uma idade e peso. São os elementos que definem a estrutura de uma classe, ou seja suas características. Idade e Peso são atributos da classe Animal public $valor1; public $valor2;

Métodos da Classe • Métodos são as ações que a classe será capaz de realizar, podemos relacionar os métodos ao “o que o objeto da classe pode fazer”. Por exemplo, um animal pode andar, grunir, etc... Os métodos determinam o comportamento dos objetos de uma classe. Os métodos são similares às funções e procedures do universo da programação estruturada. function soma(){ echo 'Soma:'.$this->valor1 += $this->valor2. "<br> "; } Andar() e Grunir() são métodos da classe

Instância Representa cada ocorrência de um objeto formados a partir de uma classe. É o mesmo que criar o objeto a partir da classe Exemplo PHP OO $calcular = new Operacoes(); $calcular->valor1=50; $calcular->valor2=100; Técnico Subsequente

DIAGRAMA DE CLASSE Médio Integrado

Diagrama de Classes Revisando... Introdução – Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula © LES/PUC-Rio

Introdução – Diagrama de Classes Mostra um conjunto de classes e seus relacionamentos. É o diagrama central da modelagem orientada a objetos. Turma código: Texto sala: Texto horario: Horario estaAberta() definirProfessor(professor) incluirAluno(aluno) está-matriculado-em é-ministrada-por Aluno nome: Texto matrícula: Inteiro definirNome(nome) obterNome() definirMatricula(matricula) obterMatricula Professor nome: Texto titulação: Texto definirNome(nome) obterNome() definirTitulacao(titulo) obterTitulacao © 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 © 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 © LES/PUC-Rio

Elementos – Diagrama de 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 © LES/PUC-Rio

Elementos – Diagrama de 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 Funcionario codigo: int +nome:String cpf: int #salario: float + Gravar() + Alterar() + Excluir() © LES/PUC-Rio

Elementos – Diagrama de 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 © LES/PUC-Rio

Atividade... Possuímos 2 classes, ClasseA e ClasseB. Ambas estão com as operações(métodos) definidas como pública. O que significa isso? Qual visibilidade devemos definir para que a operação2 e a operação3 fiquem visíveis apenas para a própria classe? Qual visibilidade (diferente de pública) devemos definir para que a operação1 fique visível para a ClasseC? ClasseA atributo1:int atributo2:int + operacao1( ) + operacao2( ) ClasseA atributo1:int atributo2:int + operacao1( ) + operacao3( ) ClasseC

Exercício Avaliativo – 2,0 pontos Represente, por meio de um diagrama de classes, o fato de uma empresa possuir diversos departamentos, em cada um destes estão lotados diversos funcionários. Cada departamento possui um chefe que também deve ser lotado no respectivo departamento.

Exemplo prático Técnico Subsequente

Técnico Subsequente

Elementos – Diagrama de Classes Elementos de um diagrama de classes Classes Relacionamentos Associação Agregação Composição Generalização Dependência © LES/PUC-Rio

Elementos – Diagrama de Classes Relacionamentos Os relacionamentos possuem: Nome: descrição dada ao relacionamento (faz, tem, possui,...) Sentido de leitura 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 © LES/PUC-Rio

Elementos – Diagrama de Classes (Multiplicidade) Especifica o número de objetos de cada classe envolvidos com a associação Relacionamentos nome multiplicidade sentido de leitura Pessoa 1..* trabalha para * Empresa empregado empregador Tipo: associação papéis © 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 © 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 © 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) * muitos 0..1 Zero ou um m..n Faixa de valores (por exemplo: 4..7) (Multiplicidade) Especifica o número de objetos de cada classe envolvidos com a associação multiplicidade Aluno 0..* Estuda apenas em 0..1 Curso associação © LES/PUC-Rio

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 © 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 © LES/PUC-Rio

Elementos – Diagrama de Classes Relacionamento: Agregação É um tipo especial de associação, onde uma classe faz parte da outra Utilizada para indicar “todo-parte” um objeto “parte” pode fazer parte de vários objetos “todo” todo parte 1 Item Pedido 1..* agregação © 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 © LES/PUC-Rio

Elementos – Diagrama de Classes Relacionamento: Composição É uma variante semanticamente mais “forte” da agregação A composição não vive sem o todo Exemplo Dependentes é parte de pessoa Pessoa Nome Fone Email listaEmprego():String Emprego Nome Area Salário calculaBonus():String Dependentes Nome Data de nascimento * 1 1 * Composição Agregação © 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 © LES/PUC-Rio

Elementos – Diagrama de Classes Relacionamento: Generalização É um relacionamento entre itens gerais (superclasses) e itens mais específicos (subclasses) Veículo superclasse “é um” “é um tipo de” Terrestre Aéreo subclasse © 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 © 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 cliente fornecedor © LES/PUC-Rio

Exercício Avaliativo – Represente, por meio de um diagrama de classes, o fato de uma empresa possuir diversos departamentos, em cada um destes estão lotados diversos funcionários. Cada departamento possui um chefe que também deve ser lotado no respectivo departamento.

Exercício Avaliativo – 3,0  Uma loja que vende roupas possui um sistema capaz de controlar a venda e o estoque. Cada roupa possui um código de barras, um tamanho e o número de exemplares que a loja possui daquela roupa.  Os clientes da loja são cadastrados pelo nome  Faça um diagrama de classe. Técnico Subsequente

Exercício Avaliativo – 2,0 pontos Desenvolva o Diagrama de Classes para um sistema de cursos de informática equivalente ao módulo de matrícula de acordo com os seguintes fatos: Um curso pode ter muitas turmas, no entanto, uma turma se relaciona exclusivamente com um único curso. Uma turma pode ter diversos alunos matriculados, no entanto uma matrícula refere-se exclusivamente a uma determinada turma. Cada turma tem um número mínimo de matrículas para iniciar o curso. Um aluno pode realizar muitas matrículas, mas cada matrícula refere-se exclusivamente a uma turma específica e a um único aluno.

Técnico Subsequente