Introdução a Orientação a Objetos UML

Tamanho: px
Começar a partir da página:

Download "Introdução a Orientação a Objetos UML"

Transcrição

1 Introdução a Orientação a Objetos UML Baseado nos materiais dos profs: Prof.: Edilberto M. Silva Edna Canedo Mario Massakuni Kubo Sandro de Paula Mendonça Brasília-DF, jul/2006

2 Bibliografia Recomendada Fowler, M. and Scott, K., UML Distilled - Applying the Standard Object Modeling Language, Addison-Wesley, Quatrani, T., Modelagem Visual com Rational Rose 2000 e UML, Ciência Moderna, Page-Jones, M., Fundamentos do Desenho Orientado a Objeto com UML, Makron Books, Larman, C., Utilizando UML e Padrões, Editora Bookman, Jacobson, I., Booch, G., Rumbaugh, J., Unified Software Development Process, Addison Wesley, Embley, D.W., Kurtz, B. D., Woodfield S.N., Object-Oriented Systems Analysis, Yourdon Press, Shlaer, S., Mellor, S.J., Object-Oriented Systems Analysis, Yourdon Press, Martin J., Odell, J.J., Object-Oriented Analysis and Design, Prentice- Hall,1992. Jacobson, I., Ericsson, M., Jacobson, A., The Object Advantage: Business Process Reengineering with Object Technology., Addison- Wesley, Prof. Edilberto Silva - 2

3 O que é um modelo??? Casa do Cachorro Sua Casa Prédio Empresa O que você consegue construir sozinho??? Prof. Edilberto Silva - 3

4 Importância da Modelagem Um modelo é uma simplificação da realidade; Possibilita a visualização e o controle da arquitetura do sistema; Facilita o entendimento do sistema sendo construído; Possibilita a identificação de oportunidades para a simplificação e a reutilização; Possibilita a especificação da estrutura e do comportamento do sistema; Possibilita a documentação das decisões tomadas. Prof. Edilberto Silva - 4

5 Importância da Modelagem Podemos concluir que: Uma empresa bem sucedida é aquela que fornece software de qualidade e capaz de atender as necessidades dos respectivos usuários; A modelagem é uma parte central de todas as atividades que levam a implantação de um bom software. Prof. Edilberto Silva - 5

6 Modelagem não Orientada a Objetos Raízes associadas às linguagens de terceira geração; Sistemas são decompostos em módulos; Módulos são decompostos em funções; Funções e dados são tratados em separado; Funções são ativas e dados são passivos; Funções precisam conhecer as estruturas dos dados; É problemático modificar estruturas dos dados; Dados fluem entre as funções. Prof. Edilberto Silva - 6

7 Modelagem Orientada a Objetos Comportamento e dados são mantidos integrados; Suportam classe, objeto e herança; Sugerem como identificar as classes; Sugerem como identificar responsabilidades; Classes agrupadas em hierarquias; Sugerem como identificar interações entre objetos. Prof. Edilberto Silva - 7

8 O que é um Sistema OO? Um sistema OO é modelado, implementado e efetivamente funciona como um conjunto de objetos que interagem entre si. Obj 2 Obj 3 Obj 1 Obj 4 Prof. Edilberto Silva - 8

9 Resumo do Funcionamento Os menores componentes do sistema são os objetos, onde são guardadas todas as informações. Os objetos se comunicam através de mensagens. As mensagens acionam os métodos dos objetos visando efetuar as ações e manipular as informações. Prof. Edilberto Silva - 9

10 Mundo Computacional Mundo Real ESPAÇO DE PROBLEMAS Gap Semântico ESPAÇO DE SOLUÇÕES Aspectos mais importantes do mundo real para fins de representação no computador

11 DADOS Objetos e Operações do mundo real ESPAÇO DE PROBLEMAS Algoritmo do mundo real RESULTADOS Objetos do mundo real Mapeamento do domínio de soluções Interpretação Humana dos resultados Objetos e Operações abstratas ESPAÇO DE SOLUÇÕES Algoritmo computacional Dados de Saída

12 Mundo Computacional Mundo Real ESPAÇO DE PROBLEMAS ESPAÇO DE SOLUÇÕES Mapeamento Processo de Identificação de Abstrações Se essas abstrações não tiverem uma expressão direta (ou próxima) do mundo computacional, a complexidade da solução será aumentada

13 Modelagem Conceitual Tarefa mais importante de um processo de desenvolvimento de software realiza-se a análise do domínio da aplicação e a modelagem das entidades e fenômenos desse domínio que o projetista considera importante, independentemente da implementação A tarefa de modelagem conceitual envolve dois mecanismos: Abstração Representação Prof. Edilberto Silva

14 Modelagem Conceitual Operação mental para observar um domínio e capturar sua estrutura ABSTRAÇÃO Refere-se às convenções de representação REPRESENTAÇÃO Objeto Observado Objeto Representado Notação gráfica, linguagem de programação Avião Prof. Edilberto Silva

15 Orientação a Objetos - Abreviações Orientação a Objetos - OO Análise Orientada a Objetos - AOO Projeto Orientado a Objetos - POO Implementação Orientada a Objetos - IOO Prof. Edilberto Silva

16 Paradigma de Orientação a Objetos Surgiu na tentativa de solucionar problemas existentes no desenvolvimento de Softwares Complexos e Confiáveis com baixo custo de desenvolvimento e manutenção; Mundo Real é formado por objetos que se interagem; Representar esses objetos em um software é mais natural e permanente do que representar a sua funcionalidade (decomposição funcional), pois essa é mutável; Prof. Edilberto Silva

17 Paradigma de Orientação a Objetos Idéia básica Nós percebemos o mundo como uma coleção de objetos que interagem entre si Maneira de ver as coisas, uma nova maneira de pensar Permite que objetos do mundo real sejam mapeados em Objetos no computador; Visão do DOMÍNIO da aplicação é composto por OBJETOS que se comunicam através de MENSAGENS; Paradigma de OO = objetos + classificação + herança + comunicação (Coad e Yourdon, 1990); Modelo de Objetos Objetos, Mensagens e Métodos Prof. Edilberto Silva

18 Paradigma de Orientação a Objetos Tradicionalmente Softwares são formados por dados e procedimentos independentes Paradigma OO Softwares são formados, principalmente, por: Objetos parte interna (define o comportamento do objeto, ou seja, especifica os métodos associados ao objeto) parte externa (interface - maneira que o objeto se apresenta para outros objetos) Mensagens Diminuir o gap semântico Prof. Edilberto Silva

19 Paradigma de Orientação a Objetos O desenvolvimento orientado a objetos evoluiu no sentido PROGRAMAÇÃO ANÁLISE Conceitos desse paradigma foram introduzidos com o surgimento da linguagem Smalltalk; Em seguida, surgiram métods de projeto para dar suporte à implementação de sistemas orientados a objetos; Recentemente, propostas de métodos para análise e projeto vêm emergindo. Prof. Edilberto Silva

20 Benefícios Principais Reusabilidade Redução da Complexidade Garantia de Integridade Prof. Edilberto Silva

21 Processo de Construção de Sistemas Reusabilidade transforma o processo de construção de sistemas. antes Processo semi-artesanal. Prof. Edilberto Silva

22 Processo de Montagem Reutilização de componentes já testados existentes em uma Biblioteca de Classes. depois Processo de montagem semelhante ao da indústria mecânica. Prof. Edilberto Silva

23 Ganhos Decorrentes da Reusabilidade Aumento de produtividade uso de bibliotecas de classes; mecanismos de herança. Aumento de qualidade uso de componentes testados e aprovados. Prof. Edilberto Silva

24 Redução de Complexidade Maior facilidade de transição entre as fases mesmo paradigma desde a análise até a implementação; não existe necessidade de conversões de modelos a cada fase. Prof. Edilberto Silva

25 Redução de Complexidade Facilidade de modularização delimitação clara e precisa das fronteiras entre os objetos. Facilidade de manutenção operações residem em um único lugar, não estando espalhadas e repetidas pelos programas. Prof. Edilberto Silva

26 Garantia de Integridade Estruturas de dados só podem ser usadas por suas próprias operações. Prof. Edilberto Silva

27 Paradigma de Orientação a Objetos 27

28 OO - Paradigma Enfoque, que representa o mundo real com objetos e suas interações. Coisas do mundo real: mesas, papéis, animais Objetos têm propriedade Mesa Feita de madeira Tem uma altura Tem uma localização É possível exercer ações sobre objetos Criar, destruir, mudar a localização Prof. Edilberto Silva

29 O que se ganha com Objetos?? O comportamento do objeto é independente da representação interna dos dados; Dados são protegidos contra acesso indevido; Acesso, checagem de erro, etc., são concentrados em um único lugar; Extensibilidade, mudança de representação e adição de novo funcionamento pode ser feito de maneira incremental e com mínimo distúrbio no sistema como um todo. Prof. Edilberto Silva

30 O que é Software OO?? Software organizado como uma coleção de objetos interdependentes cada um fornecendo um serviço específico através de sua interface; Objetos são entidades comuns do domínio da aplicação; Sistemas modelam diretamente a interação entre estes objetos no ambiente computacional. Prof. Edilberto Silva

31 OO - Benefícios Os conceitos de OO: Facilitam a reutilização de código; Forçam a modularização dos sistemas e; Oferecem suporte a dados complexos e programação baseada em eventos. Prof. Edilberto Silva

32 OO - Terminologia A programação OO apoia-se basicamente nos princípios de: Objeto Abstração ] Mensagem Polimorfismo Herança Classe Encapsulamento Método Instancia Prof. Edilberto Silva

33 Abstração Mecanismo utilizado na análise de um domínio Através dela, o indivíduo observa a realidade e dela abstrai entidades, ações, etc. consideradas essenciais para uma aplicação, excluindo todos os aspectos julgados irrelevantes Exemplo: Fotografia por satélite (imagem da realidade), despida de alguns aspectos (por exemplo, cor, movimento) Da foto, pode-se abstrair um mapa, que elimina diversas propriedades da foto (detalhes particulares de um edifício ou praça) O mapa pode ser a base para abstrair um grafo Prof. Edilberto Silva

34 Abstração a beleza está nos olhos de quem a vê O resultado de uma operação mental de abstração depende não tanto do fenômeno observado, mas do interesse do observador Prof. Edilberto Silva

35 Abstração a beleza está nos olhos de quem a vê Diferentes abstrações a partir de um mesmo objeto do mundo real I, II, Cardinalidade do conjunto Maça Peso cor da casca format CATEGORIA Receita AÇÃO 3 ATRIBUTO

36 Operações de Abstração relevantes para a modelagem conceitual Classificação (Instanciação) categorização dos objetos em grupos e/ou classes (categoria), com base em algum conjunto de propriedades comuns Generalização (Especialização) a partir de duas categorias abstrai-se uma categoria mais genérica sub-categorias satisfazem todas as propriedades das categorias de que elas constituem especializações deve existir pelo menos uma propriedade que distingue duas categorias especializadas Prof. Edilberto Silva

37 Operações de Abstração relevantes para a modelagem conceitual Agregação (Decomposição) composição de uma nova categoria como um agregado de categorias pré-existentes instâncias de uma categoria (Estudante) são compostas por instâncias de outras categorias (Nome, Endereço) Prof. Edilberto Silva

38 Classificação/Instanciação CATEGORIA Estudante de Graduação CLASSIFICAÇÃO INSTANCIAÇÃO José Maria INDIVÍDUO (Objeto) Prof. Edilberto Silva

39 Classificação/Instanciação CATEGORIA Membro do Coral Estudante de Graduação CLASSIFICAÇÃO INSTANCIAÇÃO José Maria INDIVÍDUO (Objeto) Prof. Edilberto Silva

40 Generalização/Especialização CATEGORIA Estudante GENERALIZAÇÃO Estudante de Graduação Estudante de Pós- Graduação ESPECIALIZAÇÃO (herança) CATEGORIA Prof. Edilberto Silva

41 Generalização/Especialização CATEGORIA Atributos sangue quente vertebrado vivíparo Mamífero GENERALIZAÇÃO Atributos Habitat: mar Tempo médio de vida: 200 anos Baleia CATEGORIA ESPECIALIZAÇÃO (herança) Prof. Edilberto Silva

42 Agregação/Decomposição CATEGORIA Porta Casa Parede CATEGORIA/COMPONENTE AGREGAÇÃO (composição - síntese) DECOMPOSIÇÃO (refinamento - análise) Prof. Edilberto Silva

43 Aspectos OO Modelo de Objetos Objeto Mensagem Método Classe Atributo Protocolo Classificação Herança Encapsulamento/Ocultamento de Informação Polimorfismo Prof. Edilberto Silva

44 Objeto Tudo em Orientação Objeto é OBJETO; Objeto, no mundo físico, é tipicamente um produtor e consumidor de itens de informação máquina, comandos, arquivos, pessoas, sinais. Definição (mundo do sofware): Qualquer coisa, real ou abstrata, a respeito da qual armazenamos dados e métodos que os manipulam Martin, Odell (1995); Abstração de uma entidade do mundo real de modo que essa entidade possue várias características; Exemplo: objetos cachorro e casa. Prof. Edilberto Silva

45 Raça cor pedigree CACHORRO CASA

46 Objeto OBJETO: Entidade independente, composta por um conjunto de elementos que a caracterizam (domínio) e as ações que agem sobre esse domínio (operações); OBJETO Visão implementacional (Takahashi, 1990) entidade composta por: DOMÍNIO + OPERAÇÕES ESTADO INTERNO: é onde os valores podem ser armazenados e modificados ao longo da vida do objeto, caracterizando seu domínio; COMPORTAMENTO: é o conjunto de ações pré-definidas (denominadas métodos) através das quais o objeto responderá a demanda de processamento por parte de outros objetos. Objeto é algo DINÂMICO: é criado por alguém, tem uma vida, e morre ou é morto por alguém; Pode ter vida temporária (como a execução de um programa) ou persistente (persistirá até que seu desaparecimento seja explicitamente ordenado). Prof. Edilberto Silva

47 Objeto Abstração Mapeamento Implementação ABSTRAÇÃO DOMÍNIO + OPERAÇÕES IMPLEMENTAÇÃO ATRIBUTOS (Dados) + MÉTODOS (Procedimentos) <Nome do Objeto> <Atributos> <Métodos> Prof. Edilberto Silva

48 Objeto Resumindo: Pacote de informações (atributos) e a descrição de suas operações (métodos), de modo que elas são intrínsecas ao seu domínio e este é formado pelos elementos que o caracterizam Exemplo: Objeto: Pessoa Atributos: Nome, Data de Nascimento, Cor Métodos: Acordar, Comer, Beber Dormir Objeto: Pessoa Nome Data Nasc. Cor Acordar Comer Beber Dormir Prof. Edilberto Silva

49 Objeto Exemplo uma Pessoa e um Carro podem ser considerados como um objeto de dados no sentido de que qualquer um deles pode ser definido em termos de um conjunto de atributos e operações Objetos podem relacionar-se um com o outro; Uma Pessoa pode possuir Carro, onde o relacionamento possuir define uma conexão específica entre Pessoa e Carro. Prof. Edilberto Silva

50 Objeto Objeto = Atributos (Dados) + Métodos (Funcionalidade) + Encapsulamento Prof. Edilberto Silva

51 Exemplos de Objeto Uma fatura Uma organização Uma tela com a qual o usuário interage Um desenho de engenheiro Um avião Um vôo de avião Uma reserva num avião Um processo de atendimento de pedidos Um computador Um ser humano neurrótico pode ser estereotipado como um objeto: possui memória em que valores podem ser armazenados e que condicionarão seu comportamento Prof. Edilberto Silva

52 Atributos Representam um conjunto de informações, ou seja, elementos de dados que caracterizam um objeto; Descrevem as informações que ficam escondidas em um objeto para serem exclusivamente manipulado pelas operações daquele objeto; São variáveis que definem o estado de um objeto, ou seja, são entidades que caracterizam os objetos; Cada objeto possue seu próprio conjunto de atributos; Exemplos: Objeto Pessoa Atributos: Nome, Cor, Data de Nascimento Objeto Empregado Atributos: No do empregado, nome, nome do departamento, salário, endereço, dependentes Prof. Edilberto Silva

53 Objeto Dicionário Objeto do mundo Real Objeto: Dicionário Estrutura de Dados Adicionar Palavra Eliminar Palavra Encontrar Palavra Imprimir definição Prof. Edilberto Silva

54 Atributo Um valor armazenado pelos objetos da classe PESSOA: nome, idade, peso, cor CARRO: cor, peso, ano, modelo Cada atributo possui um valor para cada instância João tem 24 anos e Maria tem 40 Não se deve explicitar identificadores (características de programação - não têm significado intrínseco) Não confunda identificadores internos com atributos do mundo real O número do seguro social, número da chapa do carro, número do telefone, RG não são identificadores internos. ELES são atributos, pois têm significado no mundo real. ATRIBUTOS LEGÍTIMOS Prof. Edilberto Silva

55 Identificação de Objetos O processo de análise para identificação dos objetos e classes DIFÍCIL Basicamente a mesma tarefa realizada na análise e no projeto de sistemas (Análise Estruturada) Os domínios de aplicação que naturalmente refletem entidades concretas do mundo real se beneficiam da abordagem OO Prof. Edilberto Silva

56 Identificação de Objetos Objetos podem ser: Entidades Externas que produzem ou consomem informações (outros sistemas, pessoas) Coisas que fazem parte do domínio (relatórios, displays, cartas) Eventos que ocorrem no contexto do sistema (transferência de propriedade) Papéis desempenhados por pessoas (gerente, engenheiro, vendedor) Unidades organizacionais (grupo, equipe) Lugares que estabelecem o contexto do problema (piso de fábrica, área de descarga) Prof. Edilberto Silva

57 Classificação Categorização em Classes; Quando estamos modelando um domínio, observamos que há várias entidades similares que podem ser abstraídas em um conceito único que engloba esta similaridade; Operação de abstração das Similaridades; O POO incorporou esta operação através da abstração dos atributos e dos métodos que caracterizam objetos semelhantes, especificando-os na CLASSE; Exemplo: Classificação de espécies em Zoologia. Prof. Edilberto Silva

58

59 Classe Objeto: abstração de uma entidade do mundo real, através dos atributos e operações; Classe: abstração de um conjunto de objetos similares do mundo real; Agrupamento de objetos similares. Descreve a estrutura de dados, e o comportamento de objetos similares Todo objeto é uma instância de uma Classe; Todas as instâncias de uma classe têm valores próprios para os atributos especificados na classe; Os objetos representados por determinada classe diferenciamse entre si pelos valores de seus atributos; Sistema puramente OO, Classe é também um Objeto. Prof. Edilberto Silva

60 Classe Conjunto de objetos que possuem propriedades semelhantes (ATRIBUTOS), o mesmo comportamento (MÉTODOS), os mesmos relacionamentos com outros objetos e a mesma semântica PESSOA, CARRO, CASA, VEÍCULO EMPRESA, PAÍS, SERES HUMANOS, HOMENS, MULHERES, MEIO DE TRANSPORTE Prof. Edilberto Silva

61 Classe Similar a um TAD (Tipo-Abstrato-de-Dados): pode ser usado como base para a criação de objetos que sejam entidades executáveis com atributos e operações (métodos) da classe. Sua especificação é uma especificação da interface na qual as partes visíveis da entidade são expostas. Os objetos criados podem ter outros atributos e procedimentos privativos não aparecem na especificação Prof. Edilberto Silva

62 Classe Livro Bíblia Relatório Dicionário Prof. Edilberto Silva

63 Classe Reformar Limpar Pintar Mobiliar CASA Portas Salas Cozinha Quartos Localização Telhado Prof. Edilberto Silva

64 Características Exemplo de objeto do mundo real a coisa em que você está sentado agora Cadeira É membro - (instância) de uma classe maior de objetos Mobiliário Prof. Edilberto Silva

65 Peso Cor Classe Mobiliário Comprado Dimensões Localização Vendido Modificado Custo Atributos (Propriedades) Cadeira herda Operações (Serviços e Métodos)

66 Classe O Objeto Cadeira é um membro (INSTÂNCIA) de uma CLASSE maior de objetos - MOBILIÁRIO CLASSE de objetos descreve um conjunto de objetos que possuem propriedades semelhantes (ATRIBUTOS) mesmo comportamento (MÉTODOS) mesmos relacionamentos com outros objetos mesma semântica Atributos GENÉRICOS da classe MOBILIÁRIO custo, dimensões, peso, localização, cor Atributos se aplicam a todos os objetos da classe MOBILIÁRIO: mesa, cadeira, sofá, armário Prof. Edilberto Silva

67 Classe Uma vez que o objeto CADEIRA é um membro da classe MOBILIÁRIO, HERDA todos os atributos definidos para a classe Todo objeto da classe MOBILIÁRIO pode ser manipulado de diversas maneiras (OPERAÇÕES) comprado vendido, pesado modificado (pintar de roxo, serrar uma perna) Cada uma dessas operações (SERVIÇOS ou MÉTODOS) modificará um ou mais atributos do objeto Prof. Edilberto Silva

68 Classe: Mobiliário Custo Dimensões Peso Cor Localização Comprar Vender Pesar Modificar O objeto herda todos os atributos e as operações da classe Classe: Camesa Custo Dimensões Peso Cor Localização Comprar Vender Pesar Modificar Classe: Cadeira Custo Dimensões Peso Cor Localização Comprar Vender Pesar Modificar

69 Classe <Nome da classe> <Atributos> <Operações> Prof. Edilberto Silva

70 Classe O objeto CADEIRA e outros da mesma classe ENCAPSULA dados (os valores dos atributos que definem a cadeira) operações (as ações aplicadas para mudar os atributos da cadeira) Prof. Edilberto Silva

71 Generalização Reformar Limpar Pintar Mobiliar CASA Portas Quartos Salas Localização Cozinha Telhado (Superclasse) PRAIA FAVELA MANSÃO (Subclasse) Limpar Piscina Contratar Criadagem Piscina Quadras Especialização

72 Animal superclasse Selvagem Doméstico subclasse Hierarquia de Classes Gato Cão De Raça Vira-Lata Objeto Rex instância da classe Vira-Lata Rex

73 Herança Seres Humanos Nome Data_Nascimento RG Homens Certif_Reservista Mulher Data_Último_Parto Prof. Edilberto Silva

74 Veículo Véiculo de Rodas Veículo à Motor Veículo Aéreo Bicicleta Caminhão Vapor Avião Planador Caminhão VW Caminhão Ford Caminhão GM

75 G E N E R A L I Z A Ç Ã O Herança - Exemplo (Classe Base) Veículos (Classes Derivadas) Terrestres Aéreos Aquáticos Carro Avião Iate Moto Helicop Lancha E S P E C I A L I Z A Ç Ã O (Objetos) Prof. Edilberto Silva

76 Herança Mecanismo que permite definir uma nova classe (subclasse) a partir de uma classe já existente (superclasse) Ao se estabelecer uma Especialização (subclasse) de uma classe, a subclasse herda as características comuns da superclasse, isto é, a especificação dos atributos e dos métodos da superclasse passam a fazer parte da especificação dos atributos e dos métodos da subclasse A subclasse pode adicionar novos métodos, como também reescrever métodos herdados Habilidade de um objeto derivar seus atributos (dados) e métodos (funcionalidade) automaticamente de outro objeto Prof. Edilberto Silva

77 Herança Classes podem ser construídas a partir de outras já existentes; facilita extensibilidade Quando uma mensagem é enviada para um objeto A procura do método correspondente começa pela classe do objeto Se o método não for encontrado, a procura continua na superclasse A Herança pode ser de dois tipos: Herança Simples: quando uma classe é subclasse de somente uma superclasse Herança Múltipla: quando uma classe é subclasse de várias superclasses e conseqüentemente herda as características de cada uma delas Prof. Edilberto Silva

78 Exemplo: Sistema de Administração Universitária Pessoa Nome, Data de Nasc. RG Nascer, Comer, Dormir, Morrer RGM (registro) Cursar Estudante Docente Funcionário Graduação Pós-Graduação Assistente Herança Múltipla

79 Mensagem É o mecanismo através do qual os objetos se comunicam, invocando as operações desejadas Especificação de uma operação do objeto É composta por Seletor: nome simbólico que descreve o tipo da operação descreve O QUE o objeto que envia quer que seja invocado, não como deveria ser invocado o objeto recebedor da mensagem contém a descrição de COMO a operação deveria ser executada Parâmetros: argumentos que uma mensagem pode conter que faz parte da operação e requer uma ordem única Prof. Edilberto Silva

80 Pessoa Coma cogumelos! Animal Comer Objeto que envia EMISSOR Determina o que deve ser manipulado e aguarda o retorno do objeto que foi Objeto: Animal Mensagem: COMA COGUMELOS Seletor: COMA Parâmetros: COGUMELOS Objeto que recebe RECEPTOR Determina como manipular

81 Mensagem Um objeto (Emissor) envia uma mensagem a outro (Receptor) que executará o serviço Métodos são invocados por Mensagens Exemplo A chamada de um procedimento/função em LP é uma aproximação inicial de uma mensagem, como em P(10,20), onde P é o seletor e os valores 10 e 20 são os parâmetros Diferença: a ação da mensagem a ser ativada depende essencialmente do objeto que receber a mensagem Prof. Edilberto Silva

82 Método Origem: LP Smalltalk Quando um objeto é mapeado dentro do domínio do software, os processos que podem mudar a sua estrutura de dados são denominados Operações ou Métodos Métodos são invocados por Mensagens Cada objeto possue seu próprio conjunto de métodos Definições: São procedimentos definidos e declarados que atuam sobre um objeto ou sobre uma classe de objetos Descrição de uma sequência de ações a serem executadas por um objeto Através dos métodos que especifica-se a um objeto COMO FAZER alguma coisa São intrínsecos aos objetos e não podem ser separados Prof. Edilberto Silva

83 Interface (Protocolo) Objetos se comunicam através de Mensagens, que invocam os Métodos desejados Parte Privada do Objeto (Visão Interna) Métodos Atributos Parte Compartilhada do Objeto ou Interface corresponde à parte externa do objeto, isto é, àquela que é vista por outros objetos com a finalidade de invocar os métodos que o objeto realiza agrupa um conjunto de mensagens que o objeto pode responder as mensagens especificam quais operações sobre o objeto podem ser realizadas, mas não como a operação será executada Prof. Edilberto Silva

84 Estrutura de um Objeto (classe) <Nome do Objeto> <Métodos> Interface <Atributos> Parte Privada <Métodos> Prof. Edilberto Silva

85 Ocultamento de Informação (Information Hiding) Característica que visa esconder detalhes de implementação É alcançado em OO, visto que o objeto, quando implementado, possui uma parte privada (atributos e métodos) e uma parte compartilhada (interface) Detalhes de implementação ficam escondidos na parte privada Programadores podem introduzir mudanças na implementação de um método sem afetar o comportamento externo desse método Prof. Edilberto Silva

86 Encapsulamento de Dados Objetos encapsulam suas estruturas de dados (atributos) Os atributos de um objeto só podem ser manipulados pelos próprios métodos do objeto Restringe a visibilidade do objeto mas facilita o reuso Os DADOS e os MÉTODOS são empacotados sob um nome e podem ser reusados como uma especificação ou componente de programa Prof. Edilberto Silva

87 Polimorfismo Ao receber uma mensagem para efetuar uma Operação, é o objeto quem determina como a operação deve ser efetuada, pois ele tem o comportamento próprio Como a responsabilidade é do Receptor e não do Emissor, pode acontecer que uma mesma mensagem ative métodos diferentes, dependendo da classe de objeto para onde é enviada a mensagem Permite a criação de várias classes com interfaces idênticas, porém objetos e implementações diferentes Capacidade de uma mensagem ser executada de acordo com as características do objeto que está recebendo o pedido de execução do serviço Prof. Edilberto Silva

88 Polimorfismo Por exemplo, a operação < pode ser definida em várias classes de números: inteiro (método de comparação interia), string (método da ordem lexicográfica) É comum em LPOOs Prof. Edilberto Silva

89 Analogia dos conceitos principais no POO e no paradigma tradicional de programação Linguagens Orientadas a Objetos Linguagens Tradicionais Objeto Classe Mensagem Método Interface Valor Tipo (TAD) Chamada de Procedimento Procedimento ou Função Conjunto de nomes e funções para um fim específico Prof. Edilberto Silva

90 Efetuar uma "análise gramatical" sobre a narrativa de processamento que descreva a bolha Isolar nomes (e locuções nominais), verbos (e locuções verbais) Os nomes e os verbos que são sinônimos ou que não tem nenhuma relação com o processo de modelagem são omitidos Todos os nomes são classes ou atributos (itens de dados) Todos os verbos são operações (métodos) - relacionamento entre classes Prof. Edilberto Silva

Conceitos de Orientação a Objetos. Objeto Atributo Classe Método

Conceitos de Orientação a Objetos. Objeto Atributo Classe Método Conceitos de Orientação a Objetos Objeto Atributo Classe Método Objeto Tudo em Orientação Objeto é OBJETO Objeto, no mundo físico, é tipicamente um produtor e consumidor de itens de informação máquina,

Leia mais

Fundamentos, Conceitos e Aplicações do Paradigma de Orientação a Objetos

Fundamentos, Conceitos e Aplicações do Paradigma de Orientação a Objetos Fundamentos, Conceitos e Aplicações do Paradigma de Orientação a Objetos Prof. Dr. Marcelo Augusto Santos Turine Profa. Dra. Rosane Minghim Paradigma de Orientação a Objetos Surgiu na tentativa de solucionar

Leia mais

Introdução à Orientação a Objetos. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Introdução à Orientação a Objetos. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Introdução à Orientação a Objetos SSC 121 - Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Conteúdo Histórico de OO Vantagens de OO Linguagens OO Conceitos Básicos de OO

Leia mais

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Notas de Aula 03: Introdução a Orientação a Objetos e a UML Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas

Leia mais

Conceitos de Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos Conceitos de Programação Orientada a Objetos flavio@facom.ufu.br 80 Por que a Orientação a Objetos? As abstrações podem corresponder às "coisas" do domínio do problema, facilitando o entendimento Esta

Leia mais

Introdução a Orientação a Objetos e UML

Introdução a Orientação a Objetos e UML UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Introdução a Orientação a Objetos e UML 879SCC Projeto e Desenvolvimento

Leia mais

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental Orientação a Objetos (OO) LPG II - Java Orientação a Objetos (OO) Roberto Vedoato vedoato@joinville.udesc.br Programação Procedimental x Orientada a Objetos Objetivos e Benefícios da Orientação a Objetos

Leia mais

Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de Orientação a Objetos (OO) Roberto Vedoato vedoato@joinville.udesc.br Programação Procedimental x Orientada a Objetos Objetivos e Benefícios

Leia mais

Requisitos de sistemas

Requisitos de sistemas Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento

Leia mais

Orientação a Objetos (OO)

Orientação a Objetos (OO) CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 04 APRESENTAÇÃO: Hoje vamos discutir os conceitos de Orientação a Objetos.

Leia mais

INTRODUÇÃO À ORIENTAÇÃO A OBJETOS E UML

INTRODUÇÃO À ORIENTAÇÃO A OBJETOS E UML Universidade de São Paulo, Instituto de Ciências Matemáticas e de Computação INTRODUÇÃO À ORIENTAÇÃO A OBJETOS E UML SSC 621: Análise e Projeto Orientados a Objetos Prof. Dr. Lucas Bueno R. Oliveira 2º

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Curso Profissional de Gestão e Programação de Sistemas Informáticos Disciplina: Programação e Sistemas de Informação Programação Orientada a Objetos Módulos 9/10/11 POO 2016/2017 História A OO surgiu no

Leia mais

Orientação a objetos. Objetos ou Instâncias I

Orientação a objetos. Objetos ou Instâncias I Orientação a objetos Objetos ou Instâncias Métodos ou Mensagens Encapsulamento Classes Variáveis da Classe X Variáveis da Instância Métodos da Classe X Métodos da Instância Relacionamentos Identificando

Leia mais

Prof: Ricardo Quintão Site:

Prof: Ricardo Quintão   Site: Prof: Ricardo Quintão email: rgquintao@gmail.com Site: www.rgquintao.com.br Fundamentos da Programação Orientada a Objetos A Orientação a Objetos é uma tecnologia que enxerga os sistemas como sendo coleção

Leia mais

Modelo do Mundo Real. Abstração. Interpretação

Modelo do Mundo Real. Abstração. Interpretação Modelo do Mundo Real Mundo Real Abstração Interpretação Sistema de Software Modelo Algoritmo Abstração: O modelo precisa capturar apenas as características do mundo real que são importantes para o sistema

Leia mais

2. Introdução à Programação e Análise. Orientada a Objetos

2. Introdução à Programação e Análise. Orientada a Objetos Programação Orientada a Objetos em C++ Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br 2. Introdução à Programação e Análise.......... Orientada a Objetos 2.1. Introdução

Leia mais

Complexidade do Software

Complexidade do Software Complexidade do Software Sistemas de software são complicados Os requisitos modernos tendem a complicálo cada vez mais: Alta confiabilidade; Alto desempenho; Desenvolvimento rápido e barato Precisamos

Leia mais

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago Diagramas de Classes Conceitos Básicos O caso de uso fornece uma perspectiva do sistema de um ponto de vista externo (do ator) Internamente os objetos colaboram para atender às funcionalidades do sistema

Leia mais

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos UEG - Universidade Estadual de Goiás (Câmpus Posse) Disciplina: Análise e Projeto de Sistemas II Turma: 4 Semestre Ano: 2016 Professor: José Ronaldo Leles Júnior O que é? É uma forma de abordar um problema.

Leia mais

Introdução à Orientação a Objetos e UML

Introdução à Orientação a Objetos e UML Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação SSC 124: Análise e Projeto Orientados a Objetos Introdução à Orientação a Objetos e UML Profa. Dra. Elisa Yumi Nakagawa 2º semestre

Leia mais

Aula 1 Introdução à Orientação a Objetos (OO) e UML

Aula 1 Introdução à Orientação a Objetos (OO) e UML Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 1 Introdução à Orientação a Objetos (OO) e UML Responsável Prof. Seiji Isotani (sisotani@icmc.usp.br)

Leia mais

ACH2002. Orientação a Objetos

ACH2002. Orientação a Objetos ACH2002 Orientação a Objetos Professores: Delano Medeiros Beder Fátima L. S. Nunes EACH USP O que é abstração? Abstração s.f. Operação do espírito, que isola de uma noção um elemento, negligenciando os

Leia mais

Daniel Wildt

Daniel Wildt Orientação a Objetos 1 Daniel Wildt http://danielwildt.blogspot.com Agenda 2 Orientação a Objetos Classe x Objeto Representação classe Atributos / operações Construtores e Destrutores Liberando memória

Leia mais

Diagramas de Classes e O Paradigma da Orientação a Objetos usando UML. Prof. Ricardo A. Ramos

Diagramas de Classes e O Paradigma da Orientação a Objetos usando UML. Prof. Ricardo A. Ramos Diagramas de Classes e O Paradigma da Orientação a Objetos usando UML Prof. Ricardo A. Ramos Engenharia de Software II 207. 04/07/207 UML Unified Modeling Language É uma linguagem para especificação, construção,

Leia mais

Introdução ao Java. Prof. Herbert Rausch Fernandes

Introdução ao Java. Prof. Herbert Rausch Fernandes Introdução ao Java Prof. Herbert Rausch Fernandes Orientação a Objetos Programação Orientada por Objetos: é a construção de sistemas de software como uma coleção estruturada de implementações de tipos

Leia mais

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc. Orientação a Objetos Revisão Conceitos CLASSE CLASSIFICAÇÃO GENERALIZAÇÃO ESPECIALIZAÇÃO HERANÇA INTERFACES POLIMORFISMO SOBRECARGA ENCAPSULAMENTO ABSTRAÇÃO MODULARIZAÇÃO 9 CLASSE Classe é um agrupamento

Leia mais

O PARADIGMA ORIENTADO POR OBJETOS

O PARADIGMA ORIENTADO POR OBJETOS O PARADIGMA ORIENTADO POR OBJETOS A idéia básica do paradigma orientado a objetos é imaginar que programas simulam o mundo real: um mundo povoado de objetos. Dessa maneira, linguagens baseadas nos conceitos

Leia mais

UML (Unified Modelling Language)

UML (Unified Modelling Language) UML (Unified Modelling Language) Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide

Leia mais

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F. Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio

Leia mais

2. Introdução à Programação e Análise. Orientada a Objetos. Programação Orientada a Objetos em C O que é a Programação Orientada a Objetos?

2. Introdução à Programação e Análise. Orientada a Objetos. Programação Orientada a Objetos em C O que é a Programação Orientada a Objetos? Programação Orientada a Objetos em C++ Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br 2. Introdução à Programação e Análise.......... Orientada a Objetos 2.1. O que

Leia mais

Introdução. Diagramas de Interação. Introdução. Introdução. Introdução. Introdução. Os modelos de análise não respondem a algumas perguntas:

Introdução. Diagramas de Interação. Introdução. Introdução. Introdução. Introdução. Os modelos de análise não respondem a algumas perguntas: Diagramas de Interação Os modelos de análise não respondem a algumas perguntas: Como as operações do sistema são executadas internamente? A que classes estas operações internas pertencem? Quais objetos

Leia mais

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo Ciência da Computação Análise e Projeto Orientado a Objetos UML Anderson Belgamo 1 Evolução do Software O rápido crescimento da capacidade computacional das máquinas resultou na demanda por sistemas de

Leia mais

Princípios de Análise e Projeto Orientados a Objetos com UML

Princípios de Análise e Projeto Orientados a Objetos com UML Princípios de Análise e Projeto Orientados a Objetos com UML Eduardo Bezerra Editora CAMPUS Copyright 2002, 2003 Eduardo Bezerra 1 Capítulo 1 Visão Geral Um modelo é uma simplificação da realidade que

Leia mais

Engenharia de Software II e III - Introdução ao Diagrama de Classe

Engenharia de Software II e III - Introdução ao Diagrama de Classe 1-Orientação a Objetos ANÁLISE ESTRUTURADA X ANÁLISE O.O. Enfoque Tradicional: Conjunto de programas que executam processos sobre dados. Enfoque Baseado em Objetos: Conjunto de coisas que tem características

Leia mais

Análise de Sistemas 3º Bimestre (material 2)

Análise de Sistemas 3º Bimestre (material 2) Análise de Sistemas 3º Bimestre (material 2) Professor: José Ronaldo Leles Júnior Turma: 2º ano do curso de Sistemas de Informação UEG Universidade Estadual de Goiás Campus Posse POO Paradigma Orientado

Leia mais

Introdução. Lições da década de 80. Realidade atual

Introdução. Lições da década de 80. Realidade atual Introdução No final da década de 60 surge a disciplina Engenharia de software para atacar os problemas gerados pela Crise do software. Porém as várias técnicas desenvolvidas nos anos 70 e 80 não resolveram

Leia mais

Engenharia de Software II e III - Material para estudo Diagrama de Classe

Engenharia de Software II e III - Material para estudo Diagrama de Classe 1-Orientação a Objetos ANÁLISE ESTRUTURADA X ANÁLISE O.O. Enfoque Tradicional: Conjunto de programas que executam processos sobre dados. Enfoque Baseado em Objetos: Conjunto de coisas que tem características

Leia mais

Linguagem de Programação I Apresentação da Disciplina

Linguagem de Programação I Apresentação da Disciplina Linguagem de Programação I Apresentação da Disciplina Apresentação da Disciplina Conteúdo: 1) Orientação a Objetos - Características da OO - Reutilização de código 2) Introdução à Linguagem Java - Histórico

Leia mais

Introdução. Introdução. Introdução. Planejamento da disciplina. Modelagem de Processos de Negócio. Prof.: Clarindo Isaías Pereira da Silva e Pádua

Introdução. Introdução. Introdução. Planejamento da disciplina. Modelagem de Processos de Negócio. Prof.: Clarindo Isaías Pereira da Silva e Pádua Modelagem de Processos de Negócio Prof.: Clarindo Isaías Pereira da Silva e Pádua Gestus Departamento de Ciência da Computação - UFMG Bibliografia Eriksson, H-E; Penker, M. Business Modeling with UML:

Leia mais

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos Linguagem de Programação II Programação Orientada a Objetos Orientação a Objetos Prof. Alessandro Borges 2 Tópicos Introdução à Programação Orientada a Objetos Conceitos Objetivos Classes e Objetos Atributos

Leia mais

Linguagem de Modelagem Unificada UML

Linguagem de Modelagem Unificada UML Linguagem de Modelagem Unificada UML Parte 1 Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Tópicos abordados Paradigma Orientado a Objetos Linguagem UML e seus principais diagramas Diagramas

Leia mais

Requisitos de Sistemas

Requisitos de Sistemas Requisitos de Sistemas Unidade II - Processos de Negócio Identificação Conceitos Modelagem - BPM - UML Processos x Requisitos 1 Processo de negócio CONCEITO Um processo de negócio, processo organizacional

Leia mais

Banco de Dados Orientados a Objeto

Banco de Dados Orientados a Objeto Banco de Dados Orientados a Objeto Agenda Revisão de Modelagem Noções de OO SGBD OO ODMG UML Modelo OR SGBD OR Oracle OR PostGreSql OR SQL 1999 Referências Bibliográficas "The Object Database Standard:

Leia mais

Modelagem Orientada a Objeto

Modelagem Orientada a Objeto UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Modelagem Orientada a Objeto Engenharia de Software 2o. Semestre de

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Conceitos Básicos de POO Professor: Charles Leite Motivação Na Programação OO, um OBJETO é considerado a entidade central de um programa Assim, o desenvolvimento de

Leia mais

RUP Unified Process. Profª Jocelma Rios

RUP Unified Process. Profª Jocelma Rios RUP Unified Process Profª Jocelma Rios Nov/2012 O que pretendemos: Reforçar os aspectos que caracterizam o processo iterativo e incremental Identificar como atingir os objetivos dos projetos de software

Leia mais

Introdução à Orientação a Objetos

Introdução à Orientação a Objetos Introdução à Orientação a Objetos 11/04/2006 Prof. Vítor Souza Análise e Projeto Orientado a Objetos Departamento de Informática Univ. Federal do Espírito Santo Licença para uso e distribuição Este material

Leia mais

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42 Diagrama de Classes Régis Patrick Silva Simão Régis Simão Diagrama de Classes 1/42 Agenda Introdução Objetos Classes Atributos Operações & Métodos Relacionamentos Relacionamento: Associação Nome de Relacionamento

Leia mais

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010 1 1 Introdução 1.1 Teoria dos Sistemas 1.2 Constituição dos sistemas 1.3 Natureza dos sistemas 1.4 Parâmetros do sistema 1.5 Descrição de sistemas 1.6 Desafios enfrentados no desenvolvimento 1.7 Perfil

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO Santa Maria, 08 de Novembro de 2013. Contextualização Nas próximas aula iremos começar a modelar e projetar sistemas

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Universidade Federal de Uberlândia Prof. Fabiano Dorça - O que é um paradigma? É uma forma de abordar um problema, segundo um conjunto de procedimentos, valores ou conceitos

Leia mais

Televisao tamanho tela emitirsom. conectarperifericos

Televisao tamanho tela emitirsom. conectarperifericos 1 - Introdução a Programação Orientada a Objeto Para tentar solucionar o problema do baixo reaproveitamento de código, surgiu a idéia da Programação Orientada a Objeto (POO). A POO não é nova, sua formulação

Leia mais

Introdução a orientação a objetos

Introdução a orientação a objetos 2 Introdução a orientação a objetos Introdução 2 Linguagens procedimentais 2 Um pouco de história 2 Idéias básicas da POO 2 Classe, atributo e método 2 Herança 3 Polimorfismo 3 Vantagens e desvantagens

Leia mais

Aula II Orientação a Objetos. Pedro Baesse Alves Pereira

Aula II Orientação a Objetos. Pedro Baesse Alves Pereira Aula II Orientação a Objetos Pedro Baesse Alves Pereira pbaesse@ifrn.edu.br Programação Orientada a Objetos x Estruturada Origem Conceito Objetos Atributos Métodos Classes Herança Visibilidade Exercícios

Leia mais

A modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos:

A modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos: Módulo 6 Análise Orientada a Objeto É interessante observar como a análise orientada a objeto utiliza conceitos que aprendemos há muito tempo: objetos, atributos, classes, membros, todos e partes. Só não

Leia mais

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Introdução à UML Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin Machado UFMS/FACOM Introdução

Leia mais

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs Programação Orientada a Objetos Professor: André Luis Meneses Silva andreluis.ms@gmail.com br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Programação Orientada a Objetos 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: -cada vez mais próximas da percepção humana - e que

Leia mais

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 4.1. Aplicações utilizando Programação Estruturada e Programação Orientada a Objeto.

Leia mais

Capítulo 2. Orientação a Objetos

Capítulo 2. Orientação a Objetos Capítulo 2 Orientação a Objetos Princípios da Orientação a Objetos Os princípios da orientação a objetos afetam todo o processo de desenvolvimento de software: Seres humanos pensam em termos de substantivos

Leia mais

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo DCC / ICEx / UFMG Primeiro Diagrama de Classes Diagrama de Classes Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Professor Aluno matricula Outro Diagrama de Classes Diagrama de Classes Serve de

Leia mais

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso. Engenharia de Software Aula 07 Tópicos da Aula Introdução à UML e Introdução a UML Visão geral de alguns diagramas Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 28 Março 2012 A

Leia mais

Análise de Sistemas. Visão Geral - Orientação a Objetos. Prof. José Honorato Ferreira Nunes

Análise de Sistemas. Visão Geral - Orientação a Objetos. Prof. José Honorato Ferreira Nunes Análise de Sistemas Visão Geral - Orientação a Objetos Prof. José Honorato Ferreira Nunes Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br Resumo: VISÃO GERAL: Modelagem de sistemas

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos PMR2300 Escola Politécnica da Universidade de São Paulo Proposta O mundo real é composto de entidades que interagem entre si para realizar tarefas (objetos). Objetos podem representar entidades concretas

Leia mais

Aula 15 Modelagem de Classes de Análise. Análise de Sistemas Prof. Filipe Arantes Fernandes

Aula 15 Modelagem de Classes de Análise. Análise de Sistemas Prof. Filipe Arantes Fernandes Aula 15 Modelagem de Classes de Análise Análise de Sistemas Prof. Filipe Arantes Fernandes filipe.arantes@ifsudestemg.edu.br Outline O paradigma da OO Classes e objetos Mensagens O papel da abstração Encapsulamento

Leia mais

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão Sumário Introdução à UML BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Humberto Mossri de Almeida hmossri_cursos@yahoo.com.br Marcelo Nassau Malta nassau_cursos@yahoo.com.br

Leia mais

ANÁLISE ORIENTADA À OBJETO Conceitos do Paradigma de Orientação a Objetos

ANÁLISE ORIENTADA À OBJETO Conceitos do Paradigma de Orientação a Objetos ANÁLISE ORIENTADA À OBJETO Conceitos do Paradigma de Orientação a Objetos FMR Faculdade Marechal Rondon Gestão de Sistemas de Informação Prof. Ms. Elvio Gilberto da Silva http://www.elvio.pro.br elvio@fmr.edu.br

Leia mais

Introdução a UML (Unified Modeling Language)

Introdução a UML (Unified Modeling Language) Introdução a UML (Unified Modeling Language) O que é a UML? Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário

Leia mais

Curso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br

Curso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br Curso teórico: Orientação a Objetos Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br Objetivos Conhecer os conceitos fundamentais de orientação a objetos; Aprender a criar e utilizar

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Herança e Polimorfismo Msc. Paulo de Tarso F. Júnior 1 Projeto Orientado a Objetos O que desejam? Produção de projetos conceitualmente simples o bastantes para serem entendidos

Leia mais

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos. AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa

Leia mais

Engenharia de Software Projeto de software

Engenharia de Software Projeto de software Instituto Federal de Minas Gerais Campus Ponte Nova Engenharia de Software Projeto de software Professor: Saulo Henrique Cabral Silva MODELANDO UM SOFTWARE 2 Uma figura vale por mil palavras Em construções

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br O que é?? 2 A UML

Leia mais

Introdução à Análise e Projeto de Sistemas

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

Leia mais

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos Profa. Juliana Santiago Teixeira Disciplina: Programação Orientada a Objetos I Tema da aula Introdução ao paradigma de programação: Orientado a Objetos Paradigma Paradigma é a filosofia adotada na construção

Leia mais

Introdução à Modelagem Conceitual 1. Conceitos Básicos

Introdução à Modelagem Conceitual 1. Conceitos Básicos Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação Introdução à Modelagem Conceitual 1. Conceitos Básicos Luiz A M Palazzo Agosto, 2010 Roteiro A disciplina Noção

Leia mais

Programação Orientada a Objetos JAVA - NETBEANS

Programação Orientada a Objetos JAVA - NETBEANS Programação Orientada a Objetos JAVA - NETBEANS Agenda Programação Orientada a Objeto (POO) Conceitos sobre POO Pilares da POO Objeto Classe Construtores Troca de Mensagens Pilares da POO Encapsulamento

Leia mais

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Visão Geral da UML SSC 121 - Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Conteúdo Introdução Ferramentas de Apoio Diagramas da UML Elementos Genéricos Material sobre UML

Leia mais

Marcelo Henrique dos Santos

Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Negócios em Mídias Digitais (em andamento) MBA em Marketing e Vendas Especialista em games Bacharel em Sistema de Informação marcelosantos@outlook.com AULA 01

Leia mais

FORMULÁRIO DE REGISTRO DE PLANO DE CURSO 2013.I

FORMULÁRIO DE REGISTRO DE PLANO DE CURSO 2013.I INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA BAIANO Campus Senhor do Bonfim I N S T I T U T O F E D E R A L D E E D U C A Ç Ã O, C I Ê N C I A E T E C N O L O G I A B A I A N O C a m p u s S E N

Leia mais

Orientação a Objetos e UML

Orientação a Objetos e UML Orientação a Objetos e UML Aula #4.1. EBS 211 POO e UML Prof. Luiz Fernando S. Coletta luizfsc@tupa.unesp.br Campus de Tupã Roteiro Programação Orientada a Objetos (POO); Comparação com Linguagem Estruturada;

Leia mais

MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)

MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) g BREVE HISTÓRICO g CARACTERÍSTICAS g CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS g MODELAGEM DE ANÁLISE E DE PROJETO 1 I. BREVE HISTÓRICO Em fins dos anos

Leia mais

Conceitos de Orientação a Objetos

Conceitos de Orientação a Objetos Conceitos de Orientação a Objetos I. Histórico A orientação a objetos (OO) foi concebida na década de 70. Origem na linguagem SIMULA-67 (década de 60 - Noruega), que já implementava alguns conceitos da

Leia mais

UML Diagrama de Atividades Diagrama de Caso de Uso. ENG1518/3VB Sistemas de Informação Gerenciais Prof. Marcos Villas

UML Diagrama de Atividades Diagrama de Caso de Uso. ENG1518/3VB Sistemas de Informação Gerenciais Prof. Marcos Villas Diagrama de Atividades Diagrama de Caso de Uso ENG1518/3VB Sistemas de Informação Gerenciais Prof. Marcos Villas villas@puc-rio.br 1 - Conceitos 2 UML é uma linguagem para: Especificar Visualizar Construir...

Leia mais

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Prof. Dr. Daniel Caetano 2014-1 DISCUSSÃO Visão Geral dos Paradigmas Quais os paradigmas mais comuns? Do que é composto um programa

Leia mais

Introdução à Orientação a Objetos

Introdução à Orientação a Objetos Introdução à Orientação a Objetos Paradigmas de programação Objetos Classes Paradigma não é só uma palavra bonita! Lógico - tudo é assertiva lógica: Prolog, Mercury; Funcional tudo são listas e funções:

Leia mais

Introdução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Introdução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto Introdução Parte 01 Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 1. Introdução i. Paradigmas de ii. Motivação da OO iii. Desafio das novas tecnologias iv. Ambientes de Desenvolvimento Modernos v. OO

Leia mais

MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL

MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL 0 UNIDADE V: MAPEAMENTO OBJETO RELACIONAL Paradigma da Orientação a Objetos: Este paradigma parte do princípio que existem diversos

Leia mais

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Projeto Banco de Dados

Projeto Banco de Dados Projeto Banco de Dados Principais Fases do Processo Projeto Conceitual Projeto Lógico Projeto Físico 32 Projeto Banco de Dados Projeto Conceitual Modelagem de dados em alto nível Foco no domínio do problema

Leia mais

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos DCC / ICEx / UFMG Pensar Orientado a Objetos Projeto Orientado a Objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Onde quer que você olhe no mundo real, você vê objetos Pessoas, animais, plantas,

Leia mais

Conceitos de Programação Orientada por Objectos. Rui Camacho Programação 2

Conceitos de Programação Orientada por Objectos. Rui Camacho Programação 2 Conceitos de Programação Orientada por Objectos Um Problema Problema: Existem, hoje em dia, aplicações complexas e de grande dimensão que é preciso desenvolver e manter de modo eficiente utilizando equipas

Leia mais

Análise de Sistemas 4º Bimestre (material 3)

Análise de Sistemas 4º Bimestre (material 3) Análise de Sistemas 4º Bimestre (material 3) Permite a visualização das classes que irão compor o sistema com seus respectivos atributos e métodos, bem como demonstrar como elas se relacionam, complementam

Leia mais

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro MODELAGEM DE SISTEMAS Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Modelagem de Sistemas: A modelagem de um sistema auxilia o analista a entender a funcionalidade

Leia mais

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Introdução Alguns conceitos importantes Orientação a Objetos Alguns conceitos importantes Programação Estruturada X Programação OO Classes Objetos Construtores e Destrutores

Leia mais

Programação Orientada a Objetos. Prof. MsC Sílvio Bacalá Júnior

Programação Orientada a Objetos. Prof. MsC Sílvio Bacalá Júnior Programação Orientada a Objetos Prof. MsC Sílvio Bacalá Júnior Princípios básicos de OO Abstração Encapsulamento Modularidade Herança 2013 POO - Bacalá 2 Abstração Concentração nas características essenciais,

Leia mais

Classes e Objetos. Sintaxe de classe em Java

Classes e Objetos. Sintaxe de classe em Java Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados

Leia mais