Análise e Projeto de Sistemas

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.
Princípios da Orientação a Objetos e a Linguagem UML
Engenharia Informática Programação I & Estruturas de Dados e Algoritmos 2001/ Capitulo 3 – Introdução às classes Capitulo 3 Introdução às classes.
Nome Data Matemática 1 Observa alguns frutos do Outono. Efectua as operações. 2 Observa Quantas patas temos nós ? R : _________________________. 3 Observa.
João Carlos Porto Orientadora: Prof.ª Dr.ª Junia Coutinho Anacleto 26/03/2010 Projeto de interceo.
UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho.
Orientação a Objetos: Encapsulamento e Classificação
Java: Pacotes e Modificadores de Visibilidade
Modelagem Orientada a Objetos
Orientação a Objetos: Encapsulamento e Classificação
Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos.
Análise de Requisitos Use Case Renata Araujo Ricardo Storino
Análise Orientada a Objetos
O Paradigma de Orientação a Objetos
Introdução a diagrama de classes e UML
AOO - Análise Orientado a Objetos
Professor: Rogério Lopes Disciplina: Engenharia de Software II Fortium Sistemas da Informação Engenharia de Software II.
Diagramas de Classes.
Linguagem de Programação II
ANÁLISE E PROJETO ORIENTADAS A OBJETOS (parte 2) UFRJ/IM/DCC Lab PSI mai/1999.
ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999.
Introdução à Modelagem Conceitual 1. Conceitos Básicos
Auditoria de Segurança da Informação
Programação Orientada a Objetos
Aula 8 Orientação à Objetos
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
1 MAC 413/5715 – Seminário Prof. Fabio Kon Self: The Power of Simplicity David Ungar and Randall B. Smith OOPSLA 1987 Cristina Fang Eduardo Miyoshi Kasa.
FES – Grupo 4 – Trabalho 4 – 2008/1 1 Grupo 4 Artur Figueira de Santana Carlos Wagner da Silva Fellipe Ribeiro Duarte Francisco Garrigó Departamento de.
Classes e objetos Modelagem
Herança e Polimorfismo
Herança P. O. O. Prof. Ângela e Grace.
Classes e objetos P. O. O. Prof. Grace.
Introdução a Programação Orientada a Objetos
Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.
TÉCNICAS DE PROGRAMAÇÃO II
DIAGRAMA DE COMPONENTES
Diagrama de Classes e Diagrama de Objetos
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Mapeamento de Objetos para o Modelo Relacional - Introdução
. Smalltalk HISTÓRICO . Década de 60 – POO . Dynabook (Alan Kay)
Salas de Matemática.
Programação Orientada à Objetos
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Aula 3 CoL, atividade Polimorfismo (late binding) Modificador final Modificador abstract Interfaces Herança múltipla Atribuição, Construtores, Destrutores,
Python – Orientação a Objetos
É u m e l e m e n t o f u n d a m e n t a l
Diagrama de Classes George Gomes Cabral.
GERENCIAMENTO DE REDES UTILIZANDO O PROTOCOLO SNMP
Projeto de Banco de Dados
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Grupo A – Azul Claro, Marrom, Laranja
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
Orientação a Objetos Parte I
Marcio de Carvalho Victorino
Rio Verde - Goiás - Brasil
Princípios de Análise e Projeto Orientados a Objetos com UML
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 5 Eduardo Silvestri
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Modelagem Orientada a Objeto - UML
SISTEMAS DISTRIBUIDOS Aula 4
Conceitos de Orientação a Objetos Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000.
Introdução a Orientação a Objetos
20/04/2017 Orientação a Objetos 1 1.
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Continuação Modelagem Orientada a Objetos Técnico Subsequente.
Características Cor Combustível Num_Portas Potencia Comportamentos Acelerar Feiar Acender farol Dar seta Buzinar Características Cor Combustível Num_Portas.
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
Visão Geral de Orientação a Objetos com UML Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes OO e UML | 2 Objetivos.
Transcrição da apresentação:

Análise e Projeto de Sistemas Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto de Sistemas Conceitos de Orientação a Objetos Renata Araujo Ricardo Storino

Objeto Definição: Propósito: Um conceito, uma abstração com significado específico em um contexto Propósito: Entidade de software que reflete de alguma forma o mundo real representar uma entidade do mundo real Objetos possuem: Identidade Conjunto de características que determinam seu estado Comportamento específico definido por um conjunto de ações

Exemplos Identidade: ‘Beija-flor Biju’ Identidade: ‘Pessoa Mário’ Características: penas azuis bico fino vôo rápido Características: olhos pretos nasceu em 16/02/70 pesa 70kg mede 1,70m Comportamento: voar piar Comportamento: andar falar comer rir

Exemplos Identidade: ‘Telefone da minha casa’ Características: azul número 576-0989 tone Identidade: ‘ônibus da escola’ Características: cor amarela placa LXY 7684 30 assentos a diesel Comportamento: tocar discar Comportamento: frear andar correr buzinar acelerar - Mais exemplos - Intergir com a turma, pedindo novos exemplos de objetos

Objeto Representação Serviços, Interface ou protocolo Mário Identidade Características (estado) Nome = Mário Sá Nasc = 16/02/70 Salário = 3.000 Funcionário_Mário Mário InformarSalário CalcularIdade Comportamento Os objetivos das diversas linguagens para modelagem de objetos está em representar suas características e comportamento dentro do sistema. Serviços, Interface ou protocolo

Objeto Implementação Interface Visível Parte encapsulada (escondida) Conjunto de operações Parte encapsulada (escondida) Estrutura de dados – Estado Implementação de suas operações - Métodos Estrutura de Dados (estado) A implementação de objetos segue o princípio do encapsulamento. Por este princípio, o estado dos objetos (valores que compõem suas características são implementados mas não permanecem visíveis para os demais objetos dentro do sistema. Informações sobre os objetos, bem como solicitação de realização de determinadas atividades devem ser feitas através de uma interface ou protocolo que indica quais as atividades que um determinado objeto pode realizar. Esta interface é implementada como funções do objeto. Serviços, Interface ou protocolo

Objeto Exemplo: Funcionário Mário Sá InformarSalário Nome = Mário Sá Nasc = 16/02/70 Salário = 3.000 InformarSalário Estrutura de Dados CalcularIdade Serviços, Interface ou protocolo

Classe Definiçã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” Objetos de uma classe são denominados “instâncias” Todos os objetos são instâncias de alguma classe Todos os objetos de uma classe são idênticos no que diz respeito a sua interface e implementação

Exemplo Pássaro Características: cor das penas Comportamento: voar formato do bico velocidade de vôo Comportamento: voar piar Pássaro Identidade: ‘Beija-flor Biju’ Identidade: ‘Minha pomba’ Características: cor das penas: azuis formato do bico: fino velocidade de vôo: rápida Características: cor das penas: cinza formato do bico: curto velocidade de vôo: média Comportamento: voar piar Comportamento: voar piar

Exemplo Telefone Características: cor Comportamento: tocar número discagem Comportamento: tocar discar Telefone Identidade: ‘Meu celular’ Identidade: ‘Telefone da minha casa’ Características: cor: azul número: 576-0989 discagem: tone Características: cor: preta número: 99193467 discagem: tone - Mais exemplos - Interagir com a turma, pedindo mais exemplos de classes e suas instâncias Comportamento: tocar discar Comportamento: tocar discar

Classe Classe Instâncias (objetos) Funcionário Nome Nasc Salário InformarSalário CalcularIdade Classe Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade Funcionário_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 InformarSalário CalcularIdade Instâncias (objetos)

Atributos 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 muda Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade Funcionário Nome Nasc Salário InformarSalário CalcularIdade Funcionário_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 InformarSalário CalcularIdade

Serviços/Métodos Representam o comportamento das instâncias de uma classe Correspondem ao protocolo ou ações das instâncias de uma classe Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade 4000 Funcionário Nome Nasc Salário InformarSalário CalcularIdade Funcionário_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 InformarSalário CalcularIdade 3000 Informar Salário?

Serviços/Métodos Um método é a implementação de uma operação Métodos só tem acesso aos dados da classe para a qual foram definidos Os dados de uma classe só podem ser manipulados por métodos da classe (pelo princípio do encapsulamento) Métodos possuem argumentos, variáveis locais , valor de retorno etc Alguns métodos especiais: Construtores – criam objetos de uma classe Destrutores – destroem objetos de uma classe

Mensagens Objetos são entidades independentes que necessitam se comunicar Troca de mensagens como paradigma de comunicação entre objetos Os dados de um objeto não podem ser manipulados ou vistos por outro objeto Para obter informações ou ativar o comportamento de objetos, é preciso enviar-lhes mensagens Objetos só reagem a mensagens que fazem parte das ações do protocolo de sua classe Ao receber uma mensagem, o objeto busca em seu protocolo um método que irá responder a tal mensagem

Mensagens ? ERRO! Informar Salário? 4000 Calcular Desconto? Funcionário Nome Nasc Salário InformarSalário CalcularIdade Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade 4000 Informar Salário? ? Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade Calcular Desconto? ERRO!

Polimorfismo Possibilidade de enviar uma mesma mensagem para objetos de classes diferentes Cada uma das classes implementa um método específico para responder à mensagem Definição de protocolos comuns

Polimorfismo CalcularÁrea() 12,68 CalcularÁrea() 6 CalcularÁrea() { área = pi * Raio * Raio; retorna área ; } Polimorfismo Círculo Coordenada X Coordenada Y Raio CalcularÁrea CírculoXpto Coordenada X = 10 Coordenada Y = 15 Raio = 2 CalcularÁrea CalcularÁrea() 12,68 Retângulo Coordenada X Coordenada Y Largura Altura CalcularÁrea ReatânguloXpto Coordenada X = 10 Coordenada Y = 15 Largura = 3 Altura = 2 CalcularÁrea CalcularÁrea() CalcularÁrea() { área = Largura * Altura; retorna área; } 6

Herança Conceito que expressa similaridades entre classes Estabelecem relacionamentos de generalização-especialização (“é-um”) entre classes Permitem estabelecer hierarquias de classificação

Herança Animal Vegetal Sapo Cururu é uma instância de Sapo Anfíbio ... Sapo Ex. Sapo Cururu Réptil Mamífero Roedor Rato Ex. Mickey Mouse Ave Vegetal Sapo Cururu é uma instância de Sapo Sapo Cururu “é um” Anfíbio Sapo Cururu “é um” Animal Mickey Mouse é uma instância de Rato Mickey Mouse “é um” Roedor Mickey Mouse “é um” Mamífero Mickey Mouse “é um” Animal Mickey Mouse mama Sapo Cururu NÃO mama Sapo Cururu e Mickey Mouse respiram e têm coração

Herança Funcionário Nome Nasc Salário InformarSalário CalcularIdade Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade Gerente Nome Nasc Salário Projeto InformarProjeto InformarSalário CalcularIdade Gerente_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 InformarSalário CalcularIdade Projeto = HelpCallCenter InformaProjeto

Herança Todo objeto Gerente “é um” objeto Funcionário Superclasse Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade Funcionário Nome Nasc Salário Superclasse (características comuns) Subclasse (características específicas) Gerente Projeto InformarProjeto Gerente_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 Projeto = HelpCallCenter InformarSalário CalcularIdade InformaProjeto - Mais exemplos - Interagir com a turma pedindo mais exemplos de herança Sugestão: Veículo Ônibus Carro Moto Van

Herança Polimorfismo Embora o serviço tenha o mesmo nome, Suponha que gerentes recebam um adicional de 5% do salário por gerenciar projetos... Funcionário Nome Nasc Salário InformarSalário CalcularIdade InformarSalário: retorna o valor contido no atributo ‘Salário’ Gerente Projeto InformarProjeto InformarSalário Embora o serviço tenha o mesmo nome, dependendo da classe, terá um comportamento distinto InformarSalário: retorna o valor contido no atributo ‘Salário’ adicionado com 5%

Herança Polimorfismo Informar Salário? 4000 3150 Informar Salário? Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade Informar Salário? 4000 Gerente_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 Projeto = HelpCallCenter InformarSalário CalcularIdade InformaProjeto 3150 Informar Salário?

Herança Herança Múltipla Exemplo: Classes herdam características de várias classes Exemplo: Numa empresa administradora de cartões de crédito, alguns de seus funcionários são também seus clientes...

Funcionário_Cliente_Zé Herança Cliente_Márcia Nome= Márcia Silva Endereço=Rua X, 201 Cartão = Credicard Débito = 1000 InformarCar~tão InformarDébito Cliente Nome Endereço Cartão Débito InformarCartão InformarDébito Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade Funcionário Nome Nasc Salário InformarSalário CalcularIdade Funcionário_Cliente_Zé Nome= Zé Pereira Nasc=16/02/1970 Salário = 3.000 Endereço= Rua Y casa 8 Cartão = Visa Débito = 3000 Desconto = 10% InformarSalário CalcularIdade InformarCartão InformarDébito InfromarDesconto - Mais exemplos - Interagir com a turma, solicitando mais exemplos de herança múltipla. Sugestão: ugestão: Veículo VeículoColetivo Ônibus Van VeículoParticular Automóvel Moto VeículoDeCarga Caminhão Caminhonete Funcionário_Cliente Herança Múltipla Desconto InformarDesconto InformarDébito

Classe Abstrata Representação de uma classe que não possui instâncias Utilizada com objetivo de: diminuir a complexidade auxiliar a classificação e organização da modelagem Indivíduo Nome Endereço Nasc InformarNome Classe sem instâncias Cliente Cartão Débito InformarCartão InformarDébito Funcionário Salário InformarSalário CalcularIdade

Relacionamentos Instâncias de classes podem manter relacionamentos com instâncias de outras classes Associações simples, com significado não definido previamente Associações com semântica pré-definida

Um supervisor supervisiona 1 ou vários (1,N) Funcionários Relacionamentos Associações Simples Um supervisor supervisiona 1 ou vários (1,N) Funcionários 1,N Cardinalidade Funcionário Supervisor supervisiona Semântica - Mais exemplos - Interagir com a turma pedindo novos exemplos de associações Sugestões: Livro e autor Turma e professor 0,N Cardinalidade Um Funcionário é supervisionado por nenhum ou vários (0,N) Supervisores

Relacionamentos Agregações Cardinalidade Semântica Cardinalidade Semântica pré-definida de composição Um Departamento contém 1 ou vários (1,N) Funcionários 1,N Cardinalidade Funcionário Departamento Semântica - Mais exemplos- Interagir com a turma, pedindo mais exemplos de relacionamentos de agregação Ex. Carro e suas partes Livro, capítulos, seções 1 Cardinalidade Todos os Funcionários pertencem a um Departamento

Cardinalidade 0..1 - nenhum ou apenas um 0..N - nenhum ou vários 1 - somente um 1..N - vários