INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Introdução à modelagem Introdução à modelagem orientada a objetosorientada a objetos
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
RoteiroRoteiro
O que é modelagem orientada a objetos Quais as vantagens de modelar Que conhecimentos precisam ser adquiridos
para aprender a modelar
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
O que é modelagem orientada O que é modelagem orientada a objetos?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
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Para que modelagem Para que modelagem orientada a objetos?orientada a objetos?
Não seria esforço dobrado modelar e depois codificar?
Não seria fazer a mesma coisa duas vezes?
• É preciso compreender que as respostas para as duas perguntas é “Não”
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Para que modelagemPara que modelagem orientada a objetos? orientada a objetos?
• Para auxiliar a concepção de uma solução• Exemplo das engenharias:
Todo empreendimento complexo demanda um esforço de planejamento antes da construção
Exemplos: edificações, estradas, veículos, equipamentos eletrônicos etc.
Ninguém constrói um edifício
partindo diretamente para o
assentamento de tijolos
(sem planejamento prévio)
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Para que modelagemPara que modelagem orientada a objetos? orientada a objetos?
• Exemplos das engenharias mostram que situações complexas exigem tratamento diferente de situações não complexas Construção de um edifício de 20 andares: necessidade de
projeto prévio Construção de uma casa de cachorro:
martelo, pregos e mãos-à-obra
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Para que modelagemPara que modelagem orientada a objetos? orientada a objetos?
• Software complexo exige planejamento antes da construção Planejamento: modelagem orientada a objetos Construção: codificação
Técnico Subsequente
Produto de Software
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Vantagens da modelagem Vantagens da modelagem orientada a objetosorientada a objetos
• Descrição mais facilmente compreensível Mais próxima da forma como as pessoas pensam Não é natural “pensar” em linguagem de programação
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Vantagens da modelagemVantagens da modelagem orientada a objetos orientada a objetos
• Proporciona diferentes pontos de vista Descrição dos elementos que
compõem um programa (estrutura)
Possibilidade de visão global Possibilidade de atenção a
detalhes
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Evolução histórica dasEvolução histórica das Linguagens Orientadas a Objetos Linguagens Orientadas a Objetos
• 1966 – SIMULA;
• 1986 – C++ (OBJECTIVE-C);
• 1989 – TURBO PASCAL 5.5;
• 1995 – JAVA;
• 2001 – C#;
• 2002 - VB.NET
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
O que aprender para modelar?O que aprender para modelar?
• 4 questões devem ser tratadas Conhecer os conceitos referentes a modelagem Conhecer uma linguagem de modelagem Saber que passos seguir Avaliar o que for produzido
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Conhecer uma Conhecer uma linguagem de modelagemlinguagem de modelagem
• UML, segunda versão• Os quatorzes diagramas de UML• Para que serve cada diagrama
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Compromisso de Compromisso de chegar ao código...chegar ao código...
• Modelar é um meio e não um fim• Objetivo final é um programa que compile e execute
sem erros e que cumpra os requisitos estabelecidos• A geração de código é uma das etapas do processo• Código gerado subsidia o aperfeiçoamento da
modelagem
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
• “Paradigma é a forma de abordar um problema”• Princípios:
1. Qualquer coisa é um objeto
2. Objetos realizam tarefas através da requisição de serviços a outros objetos
3. Cada objeto pertence a uma classe
4. A classe é um repositório para comportamento associado ao objeto
5. Classes são organizadas em hierarquias
Paradigma da Paradigma da Orientação a ObjetosOrientação a Objetos
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
EXERCÍCIO EM SALAEXERCÍCIO EM SALA
• Observe a imagem abaixo, e diga quais objetos você consegue identificar?
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
ObjetoObjeto
• 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.
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
ObjetoObjeto
• Exemplo: Uma fatura; Uma organização; Um vôo de avião; Uma pessoa; Um lugar.
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
18
• Observe um objeto e pergunte:
Quais os possíveis estados que esse objeto pode estar?
Quais os possíveis comportamentos que ele pode executar?
ObjetoObjeto
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
• 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.
AbstraçãoAbstração
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Visão do ProjetoVisão do Projeto
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
ClassesClasses
• 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.
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Classe PessoaClasse Pessoa
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Classe BancoClasse Banco
Atributos
Métodos
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Atributos da ClasseAtributos 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 daclasse Animal
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Métodos da ClasseMé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.
Andar() e Grunir() sãométodos da classe
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
InstânciaInstância
• Representa cada ocorrência de um objeto formados a partir de uma classe.
• É o mesmo que criar o objeto a partir da classe
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Exercício em salaExercício em sala
• Preencha as palavras cruzadas conforme o enunciado:1. Representa cada ocorrência de um objeto;
2. Habilidade de visualizarem os problemas do mundo real com detalhes;
3. Qualquer coisa do mundo real com limite e identifidade bem definido;
4. Conjunto de objetos do mundo real que possuem tipos de características e de comportamentos em comum;
5. Uma característica particular de uma ocorrência da classe;
6. Linguagem de Modelagem Unificada;
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Palavra CruzadaPalavra Cruzada
Técnico Subsequente
11
66
22
33
44
55
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Palavra CruzadaPalavra Cruzada
Técnico Subsequente
11
66
22
33
44
55
INSTANCIA
UML
A B T R A Ç Ã O O B J E O C L S S E
A T R B T O
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Evento ou gatilhosEvento ou gatilhos
• Um Evento é uma especificação de uma ocorrência significativa que tem uma localização no tempo e no espaço. (Booch, 2000).
Técnico Subsequente
Exemplo virtual: Evento que muda o status do skype de online para ausente...
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
MensagensMensagens
• Mecanismo de invocação de uma operação. É a forma de conseguir executar um método;
• Um evento ao ser disparado, envia uma mensagem a uma operação do objeto.
Técnico Subsequente
Evento Abrir
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
EstadosEstados
• É a forma com que um objeto de uma classe se encontra em um determinado momento.
• Estado Fechado Estado Aberto
• Exemplo: Estado Pendente, matriculado, aprovado, reprovado.
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Exercícios em salaExercícios em sala
• Qual o conceito de orientação a objeto você aplicaria para esta imagem, onde tem uma pessoa parada e depois passou a caminhar?
a) Mensagem;
b) Evento;
c) Objeto;
d) Estado;
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
EncapsulamentoEncapsulamento
• Capacidade do objeto de ocultar seus dados, deixando visíveis operações que manipulam os dados. Tal recurso propicia segurança e diminuição do trabalho de manutenção.
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
HerançaHerança
• Uma das características mais poderosas e importantes da Orientação a Objetos;
• Permite o reaproveitamento de atributos e de métodos otimizando, assim, o tempo de construção do código;
• Trabalha com os conceitos de superclasse e subclasse:
• Superclasse – também chamada de “classe mãe”, possui classes derivadas dela que são chamadas de subclasses;
• Subclasse – também chamada de “classe filha”, herda os métodos e os atributos da sua “classe mãe”.
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
PolimorfismoPolimorfismo
• Seu conceito está associado ao de Herança;
• Trabalha com a redeclaração de métodos previamente
herdados por uma classe; • Os métodos, apesar de semelhantes,
diferem de alguma forma • da implementação utilizada na
superclasse. Assim, é necessário a implementação na subclasse:
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Atividade em salaAtividade em sala
• Observando as imagens abaixo, qual classe é possível abstrair?
a. Engenheiro;
b. Profissão;
c. Esporte;
d. Paciente;
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Atividade em salaAtividade em sala
• Qual(is) classe(s) você consegue abstrair observando a imagem abaixo?
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Engenharia de software orientada a objetos
39
Uma linguagem visual utilizada para modelar sistemas de
informação baseado no paradigma Orientação a Objetos; Oferece visualização, especificação, construção e documentação de artefatos de
sistema; Tem como objetivo auxiliar: Requisitos Comportamento Estrutura lógica Dinâmica dos processos Necessidades físicas da implantação A UML tornou-se uma norma industrial para o desenvolvimento de softwares OO; Observação: A UML não é uma linguagem de programação e sim uma linguagem
de modelagem.
UMLUML – Linguagem de – Linguagem de Modelagem UnificadaModelagem Unificada
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
REFERÊNCIA BIBLIOGRÁFICAREFERÊNCIA BIBLIOGRÁFICA
• SILVA, Ricardo P. e. UML 2 em modelagem orientada a objetos. Florianópolis, SC: Visual Books, 2007. 232p.
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Trabalho AvaliativoTrabalho Avaliativo
• Faça uma pesquisa sobre UML (História, principais diagramas) enviar no email até o dia 01/08/2014 - Valor: 4,0 pontos.
Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Exercícios – Exercícios – Valor: 3,0 pontosValor: 3,0 pontos
1. Defina o conceito de MOO.
2. Escreva os principais benefícios da Modelagem Orientada a Objetos.
3. Descreva o que são objetos.
4. Cite 4 exemplos de objetos do mundo real. Identifique atributos e comportamentos para esses objetos. Agrupe esses objetos nas suas respectivas classes.
5. Descreva classes e atributos.