Você está na página 1de 36

Paradigmas de Programao

Aula 8
Paradigma Orientado a Objetos
Baseado no material : Texto Programao OO Apostila Embrapa Mtodo de Desenvolvimento de sistemas OO

Prof.: Edilberto M. Silva


http://www.edilms.eti.br
Prof. Edilberto Silva / edilms.eti.br

Orientao ao objeto
Extenso natural da programao modular Incio da dcada de 70, originrio da Simula Linguage, concebida na Noruega no incio da dcada de 60, criada para fazer simulao SIMULA e depois Smalltalk - criada pela XEROX foram as primeiras linguagens a implementarem os conceitos de OO Foi utilizada para diminuir os custos de manuteno corretiva de sistemas A tcnica utilizar objetos existentes (reuso e modularidade)
PP - Prof. Edilberto Silva - http://edilms.eti,br

Definio de objeto
Um ente ativo dotado de certas caractersticas que o tornam inteligente a ponto de tomar certas decises. Uma unidade dinmica, composta por um estado interno privativo (estrutura de dados) e um comportamento (conjunto de operaes) Um objeto em particular como um processador com memria prpria e independente de outros objetos (Price) Objeto um bloco da dados privados envolvidos por cdigos ( ente encapsulado descrito atravs de rotina)

PP - Prof. Edilberto Silva - http://edilms.eti,br

Conceitos bsicos
Abstrao - habilidade de modelar caractersticas do mundo real do problema a ser resolvido (mesa - no interessa se de vidro, madeira,etc) Encapsulamento - base da abordagem OO - Um dado esta encapsulado quando envolvido por cdigo de forma que, s visvel na rotina onde foi criado. Por outro lado, a rotina encapsulada, suas operaes internas so invisveis s outras rotinas. No interessa saber como o funcionamento interno da classe e sim sua funo (ex: a tecla de replay de vdeo, no interessa como funciona internamente mas sim de que para qualquer marca sua funo ser de leitura da fita).
PP - Prof. Edilberto Silva - http://edilms.eti,br

Conceitos bsicos
Herana - um mecanismo que permite alto grau de reutilizao de cdigo. Conjunto de instncias criadas a partir de um outro com caractersticas semelhantes e os elementos desse subconjunto herdam todas as caractersticas do conjunto original. Define novas classes a partir de uma j existente (propriedades e mtodos da classe me). Ex: (manter a matriz ser humano mudando as suas vestimentas e adornos).

PP - Prof. Edilberto Silva - http://edilms.eti,br

Herana
Herana possibilita a criao de uma nova classe de modo que essa classe denominada subclasse herda as caractersticas da classe-me denominada superclasse ou primitiva. Define um relacionamento entre classes onde uma classe compartilha a estrutura e/ou comportamento (atributos, operaes e relacionamentos) de uma outra. um conjunto de instncias criadas a partir de um outro conjunto com caractersticas semelhantes, e os elementos desse subconjunto herdam todas as caractersticas do conjunto original Instncia - sucesso de aes que um sistema executa e leva a um resultado particular. Ex: professor substituto herda os atributos do professor
PP - Prof. Edilberto Silva - http://edilms.eti,br

Conceitos bsicos
Polimorfismo - do grego quer dizer vrias formas. No conceito de OO definido como sendo um cdigo que possui vrios comportamentos, ou seja, um cdigo que pode ser aplicado vrias classes de objetos. Ex: Cdigo moer carne (moedor de carne) no importa o tipo de classe (carne) o resultado ser sempre carne moda.

PP - Prof. Edilberto Silva - http://edilms.eti,br

Diagrama de classes de objetos


Descreve a estrutura esttica das classes e seus relacionamentos Uma classe de objetos descreve um grupo de objetos com propriedades similares (atributos), comportamento comum (operaes), relacionamentos comuns com outros objetos (associao e agregao) e semnticas idnticas. Um atributo uma propriedade dos objetos de uma classe. Uma operao uma ao aplicada aos objetos da classe. Cada objeto de uma classe denominado instncia.

PP - Prof. Edilberto Silva - http://edilms.eti,br

Exemplo dos conceitos


Um objeto membro de uma classe muito maior de objetos. Ex: cadeira (objeto) uma instncia de uma classe mobilirio. Um conjunto de atributos pode ser associado a cada objeto da classe mobilirio: custo, dimenses, peso, cor. Esses atributos podem ser aplicados a mesa, sof, armrio..etc. Cadeira herda todos atributos definidos p/ a classe mobilirio.
PP - Prof. Edilberto Silva - http://edilms.eti,br

Diagrama de classes de objetos


A sua elaborao envolve as seguintes atividades: Identificar as classes de objetos Desenhar diagrama de classes de objetos Identificar relacionamentos entre classes de objetos Identificar atributos de classes de objetos Identificar operaes Organizar e simplificar classes de objetos utilizando herana Verificar os caminhos de acesso existentes para consultas Validar o diagrama com os usurios Refinar o diagrama de classes de objetos e definir pacotes.
PP - Prof. Edilberto Silva - http://edilms.eti,br

Identificar classes de objetos


As classes de objetos devem ser identificadas a partir da anlise dos casos de uso e dos cenrios desenvolvidos para o sistema. Uma classe representada por um retngulo dividido em trs sees: 1 seo - nome da classe 2 seo - atributos (estrutura) 3 seo - operaes (comportamento) - se houver necessidade
PP - Prof. Edilberto Silva - http://edilms.eti,br

Herana de classe para objeto

Classe: Mobilirio Custo Dimenses Peso Localizao Cor

O objeto herda todos atributos da classe

Objeto: Cadeira Custo Dimenses Peso Localizao Cor

PP - Prof. Edilberto Silva - http://edilms.eti,br

O objeto herda todos atributos e operaes da classe


Classe: Mobilirio Custo Dimenses Peso Localizao Cor Comprar Vender Pesar

Objeto: Mesa Custo Dimenses Localizao Cor Comprar Vender PP - Prof. Edilberto Pesar Silva - http://edilms.eti,br

Objeto: Cadeira Custo Dimenses Peso Localizao Cor Comprar Vender Pesar

Tipos de Objetos
Entidades externas-sistemas, dispositivos, pessoas que produzem ou consomem informaes a serem usadas por um sistema baseado em computador. Coisas - relatrios, displays, cartas que fazem parte do domnio de informaes do problema. Ocorrncias ou eventos - transferncia de problemas ou a concluso de uma srie de movimentos que ocorre dentro de um contexto de operao do sistema. Papis - gerente, engenheiro, vendedor, pessoas que interagem com o sistema. Unidades organizacionais - grupos, equipes que so pertinentes a organizao.
PP - Prof. Edilberto Silva - http://edilms.eti,br

Objetos
Estruturas - definem uma classe de objetos ou classes relacionadas de objetos
Coisas Ocorrncias Entidades externas Papeis Lugares Estruturas Unidades organizacionais
Nome do objeto Atributos Operaes
PP - Prof. Edilberto Silva - http://edilms.eti,br

Objeto de dados
Um objeto de dados pode ser entidades externas, coisas, ocorrncias, eventos, papeis, unidades organizacionais, lugares ou estruturas O objeto de dados pode ser representado como uma tabela. O corpo da tabela representa instncias especficas do objeto de dados. Ex: Pessoa e um carro podem ser considerados como um objeto de dados sendo definidos por conjunto de atributos. Uma pessoa pode possuir carro, onde o relacionamento possuir uma conexo especfica entre pessoa e carro.
PP - Prof. Edilberto Silva - http://edilms.eti,br

Anlise de requisitos
Compe-se dos seguintes diagramas Diagrama de casos de uso Diagrama de seqncia Diagrama de colaborao Para realizar a anlise de requisitos, deve-se: Identificar objetivo e caractersticas do sistema Identificar os requisitos essenciais Descrever as necessidades do usurio Elaborar diagrama de caso de uso, de seqncia e de colaborao
PP - Prof. Edilberto Silva - http://edilms.eti,br

Objetivo e caracterstica do sistema


Deve ser elaborada em conjunto com os usurios solicitar ao grupo de usurios que descreva o problema Questes bsicas para formulao do objetivo:
O que voc espera que o sistema automatizado faa? Por que informatizar as atividades relacionadas ? Quais os benefcios esperados? Aonde deseja utiliza-lo? (local de uso)

PP - Prof. Edilberto Silva - http://edilms.eti,br

Objetivo e caracterstica do sistema


Para obter as principais caractersticas, pergunte: Quais informaes gostaria de controlar? Como pretende utiliz-las p/ conduzir o negcio? Como simplificar as suas atividades? O que fazer para ajud-lo a conduzir o negcio? Que tipo de anlise de resultados pode aumentar eficientemente o seu negcio? Com quais outros sistemas voc trabalha e se interage? O processo de trabalho est bem definido? Relacione necessidades especficas?
PP - Prof. Edilberto Silva - http://edilms.eti,br

Objetivo esistema caracterstica do


Discutir e validar a descrio do problema e do processo de negocio O grupo de anlise deve buscar outras fontes de informao, tais como: Planejamento estratgico formulrios, normas e manuais regimentos internos Documentao de especificao do problema Literatura relevante sobre o domnio do problema Sistemas j existentes que possam interagir
PP - Prof. Edilberto Silva - http://edilms.eti,br

Descrio de um processo de identificao de eventos


Nome do sistema: Sistema de matrcula Origem: secretaria da universidade Objetivo: fornecer os cursos oferecidos pela Universidade p/ semestre p/ subsidiar a matrcula do aluno Envolvidos no evento: alunos, professores e secretaria Pr-condies para realizao do evento: existncia do curso oferecido p/ o semestre Dados de entrada: matrcula, semestre, ano e turno
PP - Prof. Edilberto Silva - http://edilms.eti,br

Descrio de requisio de informao


Nome do sistema: Sistema de matrcula Consulta ou relatrio: emitir catlogo de cursos Origem: Secretaria da universidade Objetivo: emitir um catlogo de cursos oferecidos num determinado semestre para aluno solicitante Participantes: secretaria e alunos Dados de entrada:
matricula do aluno, semestre e ano e turno

Derivao: cadastramento dos cursos oferecidos Sada: Catlogo impresso dos cursos oferecidos
PP - Prof. Edilberto Silva - http://edilms.eti,br

Diagrama de caso de uso


um modelo das funes pretendidas de um sistema e sua periferia (atores). a seqncia de transaes realizadas num sistema O papel do diagrama comunicar a funcionalidade e o comportamento do sistema p/ o cliente. Benefcios:
Proporciona um aceite do sistema Assegura um entendimento mtuo s/ os requisitos Identificar quem far interao com o sistema Se todos os requisitos foram identificados

PP - Prof. Edilberto Silva - http://edilms.eti,br

Representao de um caso de uso de acordo com UML


uses Uses usado para representar um comportamento ou ao relacionados. Matricular em curso

Calcular dgito verificador A elaborao do diagrama de caso de uso envolve as seguintes atividades: .Analisar as informaes coletadas .Identificar atores e casos de uso .Desenhar e documentar o diagrama de caso de uso .Definir o fluxo de evento para cada caso de uso .Validar os casos de uso identificados.
PP - Prof. Edilberto Silva - http://edilms.eti,br

Identificar atores Questes bsicas


Quem est interessado nesse evento? Onde o sistema ser utilizado? Quem vai fornecer, utilizar ou excluir informao? Quem vai utilizar? O sistema utiliza algum recurso externo? Que atores so requeridos pelo caso de uso? Algum ator desempenha mais de um papel? Diversos atores desempenham o mesmo papel?
Neste caso computado como apenas um ator.
PP - Prof. Edilberto Silva - http://edilms.eti,br

Exemplo de diagrama de caso de uso do sistema de matrcula Calcular dgito verificador Requerer escala Sistema de de curso cobrana Professor uses

Matricular em curso Manter inf. de professor Aluno Universitrio

Selecionar curso a lecionar Manter inf. Curso

extends Mante inf. de aluno Oficial de matrcula Gerar catlogo de curso

PP - Prof. Edilberto Silva - http://edilms.eti,br

FORNECEDORES

ENTRADA

PROCESSO

SADAS

CLIENTES

Psgraduando

Insumos p/ confeco da carta Carta elaborada e norma de PG Parecer indeferido ao atendimento Parecer deferido dados p/ clculo

Solicita;o de pedido de benefcio Anlise do pedido de benefcio Orientao de Procedimento

Carta elaborada

DGP/CEC

DGP/CEC

Parecer elaborado Solicitao reformulada

DGP/CEC

DGP/CEC

Ps-graduando

DGP/CEC

Clcular valor do benefcio

valor clculado

DGP/SIRH

DGP/SIRH

dados clculados se pagamento no pas Valor calculado se pagamento no exterior FAP

Incluir na folha de pagamento e arquivar Preenchimento e encaminhamento de FAP Pagamento e Arquivamento

Documentos arquivados

DGP/CEC

DGP/CEC

FAP Documento pago e arquivado

DAF

DAF

DAF

PP - Prof. Edilberto Silva - http://edilms.eti,br

Diagrama de seqncia
Representa as mensagens trocadas por um conjunto de objetos durante um cenrio. Um objeto possui estado, comportamento e identidade nica. O estado de um objeto uma das possveis condies nas quais um objeto pode existir. Mensagem uma chamada de operao sobre um objeto, compreendendo um nome de operao. As mensagens entre objetos so representadas por uma seta que parte de um objeto origem para o objeto destino.
PP - Prof. Edilberto Silva - http://edilms.eti,br

Diagrama de seqncia
Identificar as mensagens trocadas entre os objetos Nesta etapa, devem ser identificadas as mensagens existentes entre objetos As mensagens representam as interaes entre objetos Desenho do diagrama de seqncia
uma forma de visualizar um cenrio na ordem em que ele acontece em determinado tempo. Objetos so desenhados com retngulos A linha de vida representada por uma linha vertical ligada ao objeto. Mensagens so identificadas pelas setas horizontais que interagem aos objetos.
PP - Prof. Edilberto Silva - http://edilms.eti,br

Diagrama de seqncia

aluno

matrcula

Horrio

Curso

Registro

Cobrana

1-fornece informaes

2-valida

3-informa semestre 4-mostra 5-recupera

6-seleciona

7-processa

8-recupera 9-Requisitos satisfeitos

11-matricula aluno

10-adiciona aluno Envia p/ o sistema de cobrana

PP - Prof. Edilberto Silva - http://edilms.eti,br

Diagrama de colaborao
Mostra as mensagens trocadas por um conjunto de objetos durante um cenrio. Contm: Objetos - representados por retngulos Ligaes entre objetos, representadas p/ uma linha de conexo Mensagens trocadas entre objetos numa seqncia ordenada Fluxo de dados entre objetos, se houver.
PP - Prof. Edilberto Silva - http://edilms.eti,br

Diagrama de Colaborao 2. Valida matrcula 1.fornece matrcula 3.informa semestre 4.cria novo horrio

Formulrio de matrcula 12.matrcula completa 5.mostra 7.seleciona 8.processa 6.recupera cursos

Cursos disponveis

Formulrio horrio Um curso 9.recupera 10.pr-requisito satisfeito

Reg. de aluno

11.seleciona aluno 14.envia p/ sist. de cobrana 13.imprime horrio Lista de curso horrio PP - Prof. Edilberto Silva - http://edilms.eti,br

Informao cobrana

Classe de ligao
usada para conter a informao que pertence ligao entre objetos. So freqentemente usadas em associao muitos-para-muitos.

Aluno nome data nasc. matrcula

Participa

Curso nome horrio 1...*

0..*

Nota

PP - Prof. Edilberto Silva - http://edilms.eti,br

Atributos de classe de objetos


Os atributos so propriedades da classe de objetos. Ex: nome, peso, idade so atributos da classe de objetos pessoa Cada atributo possui um valor para cada instncia da classe de objetos. Ex: idade tem valor 25 para o objeto Joo Relacione os atributos relevantes e elimine os desnecessrios e incorretos

PP - Prof. Edilberto Silva - http://edilms.eti,br

Exemplo da superclasse mamfero e subclasse


Superclasse: mamfero Subclasses: homem,co e Gato Comunicar herdado pelas subclasses polimorfismo: falar para o homem, latir p/ co e miar p/ os gatos.

Mamferos Nome Idade aleitar Comunicar

Homem Casado Rir Falar

Co cauda Morder Latir

Gato Cauda Arranhar Miar

PP - Prof. Edilberto Silva - http://edilms.eti,br

Diagrama de classes do sistema de matrcula


Horrio 1 Cria 1 Oficial de Matrcula Inclui estudante 1 Aluno nome data-nasc matrcula Participa Curso nome horrio 1 Acesse Registro de Aluno

Nota
PP - Prof. Edilberto Silva - http://edilms.eti,br

Você também pode gostar