Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta...
Transcript of Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta...
![Page 1: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/1.jpg)
Modelagem Orientada a Modelagem Orientada a Objeto - UMLObjeto - UML
![Page 2: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/2.jpg)
A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um sistema de software.
O funcionamento deste sistema se dá através do relacionamento e troca de mensagens entre estes objetos.
ObjetivoObjetivo
![Page 3: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/3.jpg)
Estruturada x Essencial x Orientada a Estruturada x Essencial x Orientada a Objeto Objeto
Nos métodos de análise estruturada e essencial, o comportamento do sistema e seus dados são considerados separadamente.
Na orientação a objetos, comportamento e dados são integrados, encapsulando detalhes internos de um objeto.
![Page 4: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/4.jpg)
Estruturada x Essencial x Orientada Estruturada x Essencial x Orientada a Objeto a Objeto
![Page 5: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/5.jpg)
Análise Orientada a Análise Orientada a ObjetosObjetosEnxerga o mundo como objetos
com estrutura de dados e comportamentos;
O objetivo é desenvolver uma série de modelos de análise, satisfazendo um conjunto de requisitos definidos pelo cliente.
![Page 6: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/6.jpg)
Análise Orientada a Análise Orientada a ObjetosObjetosA abordagem OO se preocupa:
◦ Identificar os objetos a partir do domínio da aplicação;
◦ Encaixar os funções “ao redor” destes objetos, comportamentos;
conceitos de OO podem ser aplicados em todo o ciclo de vida do desenvolvimento do sistema.
![Page 7: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/7.jpg)
IntroduçãoIntroduçãoProgramação Orientada a Objetos:
◦Criado por Alan Kay, autor da linguagem de programação Smalltalk;
◦Em 1967, conceitos de OO já eram aplicado através da linguagem Simula.
Orientação a objetos apesar de antiga não era utilizada por falta de pessoas treinadas, interesse em manter a cultura adquirida.
![Page 8: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/8.jpg)
IntroduçãoIntrodução
O mundo real é composto por objetos. Cada objeto tem propriedades e comportamentos.
Segundo Yourdon, “Um sistema construído usando um método Orientado a Objetos é aquele cujos componentes são partes encapsuladas de dados e funções, que podem herdar atributos e comportamentos de outros componentes da mesma natureza, e cujos componentes comunicam-se entre si por meio de mensagens.”
![Page 9: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/9.jpg)
IntroduçãoIntrodução
Objetos como entidades do mundo real;
Dificuldades em fazer alterações nas estruturas de dados nas abordagens tradicionais. “Se eu alterar a definição desse dado, quais programas serão afetados?”
Trabalha com conceitos já conhecidos - Modularidade, Abstração, Encapsulamento, etc.
![Page 10: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/10.jpg)
IntroduçãoIntroduçãoUm programa é uma coleção de objetos
dizendo uns aos outros o que fazer.
Para fazer uma requisição a um objeto você “manda uma mensagem” para este objeto.
Mensagem = Procedimento = Função (pertencente a um objeto em particular)
![Page 11: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/11.jpg)
IntroduçãoIntrodução Um objeto pode ser composto por vários
outros objetos;
Você pode criar um novo tipo de objeto empacotando objetos existentes;
Todo objeto tem um tipo.
Cada objeto é uma instância de uma classe, onde classe é um sinônimo de tipo.
![Page 12: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/12.jpg)
Conceitos fundamentaisConceitos fundamentaisAbstraçãoClasse Objetos AtributoHerança EncapsulamentoPolimorfismo
![Page 13: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/13.jpg)
AbstraçãoAbstração Uma abstração é qualquer modelo que inclui
os aspectos relevantes de alguma coisa, ao mesmo tempo em que ignora os menos importantes.
![Page 14: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/14.jpg)
Ex:
Entidade Pessoa - Sistema Folha de Pagamento
Atributo: Cor dos olhos e nome(toda pessoa tem) Porém, cor dos olhos não é relevante para o sistema.
AbstraçãoAbstração
![Page 15: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/15.jpg)
Abstração: exemploAbstração: exemploTelefone
Identidade:: número 2576-0989
Características:azul2.4 GHztone
Comportamento:tocardiscar
![Page 16: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/16.jpg)
Abstração: exemploAbstração: exemploÔnibus
Identidade: placa LXY 7684
Características:cor amarela30 assentos
a diesel
Comportamento:frearandarcorrerbuzinaracelerar
![Page 17: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/17.jpg)
Encapsulamento: Processo de ocultamento de partes
internas da implementação de um objeto e permissão de acesso ao estado do objeto somente através de uma interface bem definida.
proíbe-nos de mexer diretamente nos dados internos de um objeto. Assim, todas as comunicações com os objetos são feitas através do envio de mensagens.
Conceitos fundamentaisConceitos fundamentais
![Page 18: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/18.jpg)
Conceitos fundamentaisConceitos fundamentais
Encapsulamento Vantagem:
◦toda parte encapsulada pode ser modificada sem que os usuários da classe em questão sejam afetados;
◦protege o acesso direto (referência) aos atributos de uma instância fora da classe onde estes foram declarados.
![Page 19: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/19.jpg)
EncapsulamentoEncapsulamento Uma interface pode
ter várias formas de implementação.
Princípio: a implementação de um serviço no objeto servidor não importa para o objeto cliente. (O cliente confia em interfaces e não em implementações)
![Page 20: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/20.jpg)
ClasseClasseDefinição:
◦Abstrações utilizadas para representar um conjunto de objetos com características e comportamento idênticos
Uma classe pode ser vista como uma “fábrica de objetos”
![Page 21: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/21.jpg)
Classe: exemploClasse: exemplo
Características:cor das penas: azuisformato do bico: finovelocidade de vôo: rápida
Comportamento:voarpiar
Identidade::o beija-flor que vem ao meu jardim
classe
instância da classe (objeto)
![Page 22: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/22.jpg)
ClasseClasse
Subclasse é uma nova classe que herda características de sua(s) classe(s) pai
![Page 23: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/23.jpg)
ClassesClasses
Classe
Instâncias(objetos)
![Page 24: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/24.jpg)
Objeto: “instâncias” em tempo de execução de uma classe. Um objeto pode ser real ou abstrato;
Todos os objetos de uma classe são idênticos no que diz respeito a sua interface e implementação (o que difere um objeto de outro é seu estado e sua identidade).
ObjetoObjeto
![Page 25: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/25.jpg)
ObjetoObjetoUm objeto é capaz de
armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos.
![Page 26: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/26.jpg)
ObjetoObjetoRepresentação
Mário
Características(estado)
Comportamento
Identidade
Serviços ou Interface
![Page 27: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/27.jpg)
ExercícioExercício
Identifique as classes e objetos:
Na escola Fucapi é realizado processo de matrícula de alunos. Um aluno se desloca a secretaria da instituição. O aluno solicita a realização da matrícula à secretária. O aluno informa o curso(nome) e disciplinas(nome, carga horária, professor).
![Page 28: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/28.jpg)
AtributosAtributos Descrevem as características das instâncias de uma
classe Seus valores definem o estado do objeto O estado de um objeto pode mudar ao longo de sua
existência A identidade de um objeto, contudo, nunca mudaFuncionário_Helena
Nome=Helena ReisNasc=28/01/1965Salário = 4.000
InformarSalárioCalcularIdade
Funcionário_Helena
Nome=Helena ReisNasc=28/01/1965Salário = 4.000
InformarSalárioCalcularIdade
Funcionário_Mário
Nome=Mário SáNasc=16/02/1970Salário = 3.000
InformarSalárioCalcularIdade
Funcionário_Mário
Nome=Mário SáNasc=16/02/1970Salário = 3.000
InformarSalárioCalcularIdade
![Page 29: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/29.jpg)
Serviços/Operações/Serviços/Operações/MétodosMétodos Representam o comportamento das instâncias de
uma classe Correspondem as ações das instâncias de uma classe
Funcionário_Helena
Nome=Helena ReisNasc=28/01/1965Salário = 4.000
InformarSalárioCalcularIdade
Funcionário_Helena
Nome=Helena ReisNasc=28/01/1965Salário = 4.000
InformarSalárioCalcularIdade
Funcionário_Mário
Nome=Mário SáNasc=16/02/1970Salário = 3.000
InformarSalárioCalcularIdade
Funcionário_Mário
Nome=Mário SáNasc=16/02/1970Salário = 3.000
InformarSalárioCalcularIdade
4000
3000
Informar Salário?
![Page 30: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/30.jpg)
Bidu é uma instância da classe Cachorro: latir, implementada através do método latir();
Um método em uma classe é apenas uma definição;
A ação só ocorre quando o método é invocado através do objeto, no caso Bidu;
Dentro do programa, a utilização de um método deve afetar apenas um objeto em particular. Todos os cachorros podem latir, mas você quer que apenas Bidu dê o latido.
MétodoMétodo
![Page 31: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/31.jpg)
Modos de Modos de Visibilidade/AcessoVisibilidade/AcessoPode-se controlar a manipulação de
atributos e operações (membros);
Modificadores:
![Page 32: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/32.jpg)
Modificador Modificador privateprivate
Um membro qualificado como private somente é acessível a partir de métodos da própria classe à qual pertence o membro.
![Page 33: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/33.jpg)
Modificador Modificador publicpublic
Um membro qualificado como public é acessível a partir de qualquer operação de qualquer classe, independentemente de subclasse e de pacote.
![Page 34: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/34.jpg)
Modificador Modificador protectedprotected
Um membro qualificado como protected é acessível a partir de qualquer operação de qualquer classe, exceto se a classe de acesso estiver em pacote distinto e não for subclasse da classe à qual pertence o membro.
![Page 35: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/35.jpg)
Subclasse herda a estrutura e/ou comportamento de uma ou mais superclasses;
Relação entre Classes de Objetos, e não uma relação entre instância das Classes.Ex.
HerançaHerança
![Page 36: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/36.jpg)
HerançaHerançaPara que serve a herança?
Considere a criação de uma classe ClasseB;
Que métodos estão disponíveis através de uma referência para a ClasseB (isto é, um objeto)?
![Page 37: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/37.jpg)
HerançaHerançaSuponha agora que a
classe ClasseB herda de ClasseA;
Que métodos estão agora disponíveis para uma referência da ClasseB (um objeto) ?
![Page 38: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/38.jpg)
HerançaHerança Poderoso mecanismo para o
reaproveitamento de código;
O objeto objB tem agora disponíveis os métodos da ClasseA sem ser necessário reescrevê-los na ClasseB
Um objeto da ClasseB também é um objeto da ClasseA.
Facilita a manutenção do código: Os métodos não são replicados. Se for necessário alterar o código do método m3, basta alterá-lo em ClasseA.
ClasseB pode "recusar" parte da herança reimplementando os métodos herdados
![Page 39: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/39.jpg)
HerançaHerança
Tipos de HerançaHerança simples é quando uma
subclasse herda estrutura e/ou comportamento de uma única superclasse.
Herança múltipla é quando uma
subclasse herda estrutura e/ou comportamento de mais de uma superclasse.
![Page 40: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/40.jpg)
HerançaHerançaRefatoração
Superclasse(características comuns)
Subclasses(características específicas)
![Page 41: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/41.jpg)
HerançaHerança
Uma subclasse herda: Atributos, Operações, Relacionamentos.
Uma subclasse pode: ◦Adicionar novos atributos, operações
e relacionamentos.◦Redefinir operações herdadas.
![Page 42: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/42.jpg)
Classes ancestrais: classes das quais as outras dependem.
Classes descendentes: as classes originadas a partir de outra.
HerançaHerança
![Page 43: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/43.jpg)
Classes Abstratas(pura): classes cujos objetos nunca são instanciados diretamente, mas sempre por uma classe descendente dela. Não possuem um comportamento.
Classes AbstratasClasses Abstratas
![Page 44: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/44.jpg)
Classes AbstratasClasses Abstratas
![Page 45: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/45.jpg)
GeneralizaçãoGeneralização
Capacidade de se criar superclasses que encapsulam estrutura e/ou comportamento comuns a várias subclasses.
![Page 46: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/46.jpg)
GeneralizaçãoGeneralizaçãoRelacionamento entre uma classe e
uma ou mais versões refinadas ou especializadas da classe.
Especialização: relacionamento inverso;
Superclasse: versão mais abstrata de outra classe, a subclasse;
Subclasse: versão mais refinada de outra classe, a superclasse.
![Page 47: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/47.jpg)
Automóvel
Automóvelesportivo
Porsche
Generalização
Especificação
Conceitos fundamentaisConceitos fundamentais
![Page 48: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/48.jpg)
Polimorfismo: princípio relacionado com as diferentes formas de um objeto. Onde se pode instanciar o objeto de várias formas:
Conceitos fundamentaisConceitos fundamentais
![Page 49: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/49.jpg)
PolimorfismoPolimorfismoAssume muitas formas;
A subclasse redefine a implementação de uma operação herdada da superclasse;
Onde se espera uma instância de um certa classe pode aparecer uma instância de qualquer subclasse daquela classe.
![Page 50: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/50.jpg)
PolimorfismoPolimorfismoTrata objetos na mesma hierarquia
de classes como se todos fossem objetos da superclasse;
Tornam o programa extensível:◦ Facilidade para adicionar novas classes
Invoca os métodos das subclasses usando referências para a superclasse.
![Page 51: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/51.jpg)
PolimorfismoPolimorfismoConceito Chave
Objetos das subclasses podem ser tratados como objetos da superclasse ::Project2
A
m1(...)m2(...)
B
m1(...)m3(...)
A classe B É UMA classe A Um objeto da classe B pode ser usado em qualquer lugar onde um objeto A é esperado.
B A
![Page 52: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/52.jpg)
Geralmente identificado por um substantivo;
Contém estrutura e comportamento;
Dois objetos são distintos, mesmo que eles apresentem as mesmas características.
Ex: 1 dezena de automóveis Astra Cada automóvel é um objeto! Todos tem a mesma característica!
Classes são fábricas de objetos.
Identificando ObjetosIdentificando Objetos
![Page 53: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/53.jpg)
UML: definiçãoUML: definição
UML◦ Linguagem visual para especificação (modelagem) de sistemas orientados a objetos.
![Page 54: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/54.jpg)
Fornece representação gráfica para os elementos essenciais do paradigma orientado a objetos;
Usada para visualizar, especificar, documentar e construir os artefatos de um sistema.
UMLUML
![Page 55: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/55.jpg)
O que é UML ?O que é UML ?
Metodologia :
. LINGUAGEM . LINGUAGEM GRÁFICAGRÁFICA. MÉTODO. MÉTODO++ UMLUML
UML diz o que pode ser feito mas não diz como deve ser feito.
É independente de processo.
UML diz o que pode ser feito mas não diz como deve ser feito.
É independente de processo.
![Page 56: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/56.jpg)
Não está presa a uma etapa do desenvolvimento de software:
◦Análise
◦Projeto
◦Implementação
◦Testes
UMLUML
![Page 57: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/57.jpg)
Não está presa a um Processo de Desenvolvimento de Software
◦Ciclo de Vida em Cascata◦Incremental◦Processo Unificado
UMLUML
![Page 58: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/58.jpg)
Privilegia a descrição de um sistema segundo três perspectivas: ◦Dados (estrutural)
Diagrama de Classes
◦Operações (funcional) Diagrama de Caso de Uso
◦Eventos (temporal) Diagrama de Seqüência, Atividades, de
Transição, de Estados.
UMLUML
![Page 59: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/59.jpg)
Notação da UMLNotação da UML
Diagramas:◦gráficos que descrevem o conteúdo em uma visão.
![Page 60: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/60.jpg)
UML - DiagramasUML - Diagramas
Modelagem de estruturas estáticas:◦Diagrama de Casos de Uso;◦Diagrama de Classes;◦Diagrama de Objetos;◦Diagrama de Componente;◦Diagrama de Implantação
![Page 61: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/61.jpg)
UML - DiagramasUML - Diagramas
Modelagem de estruturas Dinâmicas:◦Diagramas de Interação Diagrama de Seqüência. Diagrama de Colaboração.
◦Diagramas de Estado.◦Diagramas de Atividade.
![Page 62: Modelagem Orientada a Objeto - UML. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc15f497959413d8e7906/html5/thumbnails/62.jpg)
UML: ferramentas CASEUML: ferramentas CASE
Ferramentas Licensa
1 Rational Rose proprietária
2 TogetherSoft ControlCenter proprietária
3 Argo UML livre
4 Poseidon livre
5 Jude Proprietária/livre
6 Outras