Introdução à modelagem orientada a objetos

Slides:



Advertisements
Apresentações semelhantes
Orientação a objetos identidade abstração classificação encapsulamento
Advertisements

Análise e Projeto Orientado a Objetos
Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.
Princípios da Orientação a Objetos e a Linguagem UML
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Engenharia de Software
Análise e Projeto de Sistemas
Projeto de Sistemas de Software
SISTEMA É UMA ENTIDADE QUE MANTEM SUA EXISTÊNCIA ATRAVÉS DA INTERAÇÃO DE SUAS PARTES ( Bertalanffy ) Interação Mútua Diferente duma simples.
Introdução ao paradigma de programação: Orientado a Objetos
Professor: Rogério Lopes Disciplina: Engenharia de Software II Fortium Sistemas da Informação Engenharia de Software II.
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
Tecnologia da Informação Orientação a Aspectos
Programação Orientada a Objetos
Introdução Visão Geral do Método.
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Classes e objetos Modelagem
Orientação a Objetos.
TÉCNICAS DE PROGRAMAÇÃO II
DIAGRAMA DE COMPONENTES
Sejam bem-vindos à atividade PROGRAMAÇÃO I 2009 Professor Gilberto IRAJÁ Müller.
Análise Orientada a Objetos
Polimorfismo em C#.
Princípios de Orientação à Objetos
Técnicas e Projeto de Sistemas
Introdução UML, Diagrama de Classes e Comunicação/Colabaração
Projeto de Sistemas de Software
PROGRAMAÇÃO ORIENTADA À OBJETOS
. Smalltalk HISTÓRICO . Década de 60 – POO . Dynabook (Alan Kay)
Análise e Projeto de Sistemas
Linguagem de Programação II
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Oberdan Bitencourt Ferreira
Diagramas de Atividade
Técnicas e Projeto de Sistemas
Professor: Márcio Amador
Orientação a Objetos Parte I
Programação Orientada a Objetos - Java
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 5 Eduardo Silvestri
SISTEMAS DISTRIBUIDOS Aula 4
© Ricardo Pereira e Silva
O Processo Unificado (UP)
Banco de Dados Aplicado ao Desenvolvimento de Software
POO Aula 03 Projeto OO com UML Eduardo Figueiredo 11 de Março de 2010.
Utilizando UML e Padrões Prof. Fábio Botelho, MSc Redes e Sistemas Distribuídos Recife, Março de 2010.
Técnicas e Projeto de Sistemas
Análise e Projeto de Sistemas
Paradigmas da Programação – Semestre 2 – Aula 1 Professores: Fábio de Paula Santos Eduardo Mantovani
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos Professor: Cheli Mendes Costa Introdução a Programação Orientada.
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros
Linguagem de Modelagem Unificada
LINQ e Entity Framework
Introdução a Orientação a Objetos
Introdução à modelagem orientada a objetos
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
20/04/2017 Orientação a Objetos 1 1.
Projeto de Banco de Dados
Módulo II Capítulo 1: Orientação a Objetos
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Banco de Dados I Aula 3 - Projeto Conceitual de Banco de Dados
Engenharia de Requisitos Prof. Fábio Botelho, MSc Redes e Sistemas Distribuídos Recife, Agosto de 2012.
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
Características Cor Combustível Num_Portas Potencia Comportamentos Acelerar Feiar Acender farol Dar seta Buzinar Características Cor Combustível Num_Portas.
O que é modelagem orientada a objetos?
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.
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
Engenharia de Software Orientada a Objetos Professor: Guilherme Timóteo Aula 3: – Modelagem de Classes (parte 2)
Análise Orientada a Objetos Por Patrícia Braga Centro Universitário Jorge Amado.
Transcrição da apresentação:

Introdução à modelagem orientada a objetos Técnico Subsequente

Roteiro O que é modelagem orientada a objetos Quais as vantagens de modelar Que conhecimentos precisam ser adquiridos para aprender a modelar Técnico Subsequente

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

Para que modelagem 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

Para que modelagem 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

Para que modelagem 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

Para que modelagem orientada a objetos? Software complexo exige planejamento antes da construção Planejamento: modelagem orientada a objetos Construção: codificação Produto de Software Técnico Subsequente

Vantagens da modelagem orientada 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

Vantagens da modelagem 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

Evolução histórica das 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

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

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

Compromisso de 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

Paradigma da Orientação a Objetos “Paradigma é a forma de abordar um problema” Princípios: Qualquer coisa é um objeto Objetos realizam tarefas através da requisição de serviços a outros objetos Cada objeto pertence a uma classe A classe é um repositório para comportamento associado ao objeto Classes são organizadas em hierarquias

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 Observe um objeto e pergunte: Quais os possíveis estados que esse objeto pode estar? 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

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. 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 Técnico Subsequente

Exercício em sala Preencha as palavras cruzadas conforme o enunciado: Representa cada ocorrência de um objeto; Habilidade de visualizarem os problemas do mundo real com detalhes; Qualquer coisa do mundo real com limite e identifidade bem definido; Conjunto de objetos do mundo real que possuem tipos de características e de comportamentos em comum; Uma característica particular de uma ocorrência da classe; Linguagem de Modelagem Unificada; Técnico Subsequente

Palavra Cruzada 1 2 3 4 6 5 Técnico Subsequente

Palavra Cruzada I N S T A C A B T R A Ç Ã O O B J E O C L S S E 1 I N S T A C 2 A B T R A Ç Ã O 3 O B J E O C L S S E 4 6 A T R B T O U M L 5 Técnico Subsequente

Evento 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). Exemplo virtual: Evento que muda o status do skype de online para ausente... Técnico Subsequente

Mensagens Evento Abrir 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. Evento Abrir Mensagem Técnico Subsequente

Estados É 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

Exercí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? Mensagem; Evento; Objeto; Estado; Técnico Subsequente

Encapsulamento 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

Heranç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

Polimorfismo 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

Atividade em sala Observando as imagens abaixo, qual classe é possível abstrair? Engenheiro; Profissão; Esporte; Paciente; Técnico Subsequente

Atividade em sala Qual(is) classe(s) você consegue abstrair observando a imagem abaixo? Técnico Subsequente

UML – Linguagem de Modelagem Unificada 06/04/2017 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. Engenharia de software orientada a objetos

REFERÊNCIA BIBLIOGRÁFICA SILVA, Ricardo P. e. UML 2 em modelagem orientada a objetos. Florianópolis, SC: Visual Books, 2007. 232p. Técnico Subsequente

Trabalho 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

Exercícios – Valor: 3,0 pontos Defina o conceito de MOO. Escreva os principais benefícios da Modelagem Orientada a Objetos. Descreva o que são objetos. Cite 4 exemplos de objetos do mundo real. Identifique atributos e comportamentos para esses objetos. Agrupe esses objetos nas suas respectivas classes. Descreva classes e atributos.