• Nenhum resultado encontrado

Conceitos Básicos

N/A
N/A
Protected

Academic year: 2021

Share "Conceitos Básicos"

Copied!
22
0
0

Texto

(1)

Análise e Projeto de Sistemas OO Análise e Projeto de Sistemas OO

Conceitos Básicos

Objetos: Objetos são entidades em um sistema de software que representam instâncias de entidades do mundo real e de algum sistema.

Características:

Objeto é um conceito, uma abstração ou uma coisa, com limites e significados bem definidos, em relação ao problema considerado.

Um objeto é geralmente identificado por um substantivo.

Um objeto contém estrutura e comportamento.

(2)

Conceitos Básicos

Classes são templates (formas) de objetos. Elas são usadas para criar objetos. (Classes podem herdar atributos e serviços de outras classes).

Classe é uma descrição de:

um grupo de objetos, que tem:

propriedades (atributos) semelhantes, comportamento (operações) comum e

os mesmos tipos de relacionamentos com outros objetos.

Obs: A escolha de uma classe é arbitrária e depende da aplicação emdesenvolvimento.

Objetos: Identificação

No domínio de solução de um problema de Eng. de Software:

esta tarefa é mais difícil...

Objetos são entidades em um sistema de software que representam instâncias de entidades do mundo real e de algum sistema.

Um objeto é uma entidade que possui um e define um conjunto de operações que modificam este estado.

O estado do objeto é representado por um conjunto de atributos

As operações associadas com o objeto provêm serviços para outros

objetos (clientes), os quais requisitam serviço quando alguma

computação é necessária. Tal requisição é feita através do envio de

mensagens entre os objetos.

(3)

Objetos no mundo real

Podem ser definidos como objetos, entidades individuais que tenham características e

comportamento;

Exemplo: Automóvel – Características:

cor=vermelha,

ano_fabricação=1999, potência=150 HP,...

– Comportamentos:

se movimentar para frente, se movimentar

para trás, ...

(4)

Objetos de um Programa Visual

Uma janela visual:

Tem tamanho, posição, cor de fundo (características).

Pode ser minimizada, maximizada, etc...

(comportamento)

Um Botão:

Tem tamanho, cor, texto, posição,..(características)

Pode ser ativado por click do mouse (comportamento)

Representação de objetos

No desenvolvimento de sistemas, começamos o desenvolvimento falando de objetos reais (notas fiscais, contratos, fichas cadastrais,etc..) e

terminamos falando de objetos de programa (janelas, listas, ...)

Independente da natureza do objeto, precisamos representa-los em nossos projetos de uma

maneira padronizada;

Esta maneira padronizada é a UML (Unified

Modeling Language).

(5)

Objetos: Identificação

Nome da classe

Atributos

Métodos

Entidades Externas (dispositivos, ...) Coisas (displays, ...)

Ocorrências ou Eventos (conclusões de tarefas, ...) Papéis funções (vendedor, ...)

Unidades Organizacionais (equipe, ...) Lugares (chão de fábrica, ...)

Estruturas (sensores, ...)

Objetos: Identificação

Entidades Externas: produzem ou consomem informações que são usadas por um sistema baseado em computador

Coisas: elementos que fazem parte do domínio de informação do problema, tais como relatórios, cartas, cartazes

Ocorrências ou Eventos: ocorrem durante o contexto de operação do sistema

Papéis: desempenhados por elementos que interagem com o sistema, tais como: vendedor, gerente, engenheiro

Unidades Organizacionais: pertencem à organização

Lugares: auxiliam na definição do contexto - ex: piso da fábrica

Estruturas: definem classes relacionadas com o sistema, ex:

sensores, veículos, computadores

(6)

Objetos: Identificação

geralmente, objetos não têm nome procedimental imperativo - ex.: rotação de imagem.

Um objeto é geralmente identificado por um substantivo.

Um objeto contém estrutura e comportamento.

Cada objeto tem sua identidade.

Dois objetos são distintos, mesmo que eles apresentem as mesmas características.

Exemplo: 1 dezena de automóveis Astra cada automóvel é um objeto!

todos tem a mesma característica!

Objetos: Identificação

Dicas:

sublinhar cada nome ou cláusula nominal;

separar objetos do domínio da solução de objetos do domínio do problema

após isolar os nomes, tentar identificar as maneiras relacionadas com os objetos possíveis

Uma definição de classe serve como forma (

para os objetos: Ela inclui declarações para todos os atributos e serviços que devem estar associados a um objeto daquela classe.

é Classes são

Comunicação entre Objetos

Mensagens:

elemento usado para prover a comunicação entre objetos Definem:

O nome do serviço requisitado

A informação necessária para a execução do serviço O nome do requisitante.

Na prática, mensagens são implementadas como ativações de uma função definida no objeto chamado, onde:

Nome é o nome da função.

Informação é a lista de parâmetros.

Requisitante é o objeto que realizou a chamada.

Objetos de Software

Propriedades Dados Variáveis

Comportamentos

Métodos

Procedimentos

(7)

Exemplo: objeto Automóvel

Potência Dimensões Preço

Mover

Parar Buzinar

Cor

Objetos de Software

Todo acesso aos dados ou propriedades de um objeto é feito através da sua interface, que expõe métodos e propriedades a outros objetos.

Propriedades do Objeto

Podemos dizer que as PROPRIEDADES de um objeto descrevem suas características,

e são nada mais do que a representação dos dados referentes ao que queremos

manipular.

Comportamentos do Objeto

Por outro lado, as ações que um objeto pode executar/sofrer são chamadas de

COMPORTAMENTO.

Na OO o comportamento de um objeto é chamado de MÉTODO. Um método descreve

“algoritmamente” as ações que o objeto pode

executar.

(8)

Propriedades e Métodos

Propriedades e métodos para uma pessoa:

Propriedades: nome, altura, peso, cor dos olhos, idade;

Métodos: respirar, andar, dormir, correr, amar, ouvir, falar;

Propriedades e Métodos

Para um sistema de folha de pagamento podemos ter:

Propriedades: Matrícula, nome, dt-nascimento, dt-admissão, salário.

Métodos: Calcular_pagamento, calcular_salário_família, etc.

Identidade dos Objetos

É o que permite que um objeto seja univocamente identificado;

Exemplo: O Jepp de placa JKP 1234;

A identidade pode vir de um nome ou número associado ao objeto, de um atributo

identificador (qualificador) ou de uma indicação explícita ao objeto.

Motivação para o uso de OO

Não é possível fazer conexões entre as funcionalidades e os dados de forma simplista utilizando programação

estruturada.

Em POO, tem-se a clareza dessas conexões através dos recursos nativos da própria linguagem orientada a objetos.

Vantagens da POO:

Ajuda na organização;

Menos tempo codificando e menos código;

Concentração de responsabilidades em pontos corretos e relevantes;

Encapsulamento da lógica de programação;

Ajuda a aproximar os problemas computacionais dos problemas do mundo

real.

(9)

Modelos

São representações simplificadas de objetos, pessoas, itens, tarefas, processos

São usados por pessoas no dia a dia, independente do uso de computadores.

Comumente contém operações e/ou procedimentos associados a eles.

Comumente operam sobre os dados referentes ao próprio modelo.

Modelos que não contenham operações são pouco usados.

Modelos que contenham apenas operações podem ser considerados bibliotecas de operações.

Modelos podem conter submodelos e ser parte de outros modelos.

A simplificação de modelos pode ser necessária dependendo do contexto

Modelos

Exemplo 1 (Pessoa como empregado de uma empresa.):

Dados:

Nome;

CPF;

Cargo;

Salário;

Horas extras trabalhadas;

Operações:

Validar CPF;

Calcular salário do mês;

Aumentar salário;

Modelos

Verificar obesidade - usaria por exemplo sexo, altura e peso;

Exemplo 2 (Pessoa como paciente de uma clínica médica.)

Dados:

Nome;

CPF;

Sexo;

Data Nascimento;

Idade;

Altura;

Peso;

Operações:

Validar CPF;

Calcular idade;

Modelos

Mostrar contato da empresa - que apresentaria o nome do contato de certa empresa;

Exemplo 3 (Pessoa como contato comercial.)

Dados:

Nome;

Telefone;

Cargo;

Empresa;

Operações:

Mostrar telefone - que apresentaria o telefone de certa pessoa;

OBS: Com os modelos apresentados nos exemplos seria difícil ou

impossível obter um supermodelo, apesar de todos representarem pessoas.

(10)

Programação Orientada a Objetos

Objetivo:

Tentar aproximar o mundo real do mundo virtual, com representação dos objetos do mundo real para os objetos da programação.

Envio de mensagens:

Papel principal do programador é especificar quais serão as mensagens que cada objeto pode receber, e também qual a ação que aquele objeto deve realizar ao receber aquela mensagem em específico.

Exemplo: domínio acadêmico, domínio médico, domínio jurídico, etc.

Programação Orientada a Objetos

É um paradigma de programação de computadores onde são usadas classes e objetos, criados a partir de modelos que descrevem os itens envolvidos na aplicação.

Programação Orientada a Objetos

A computação flui através de um mar de mensagens e não em uma sequencia de instruções.

O programa principal em OO apenas cria o objeto inicial e a primeira mensagem.

Propriedades dos objetos (atributos e métodos) são chamados (invocados) por objetos de classes diferentes.

Linguagens de programação orientadas a objeto

Permitem desenvolvimento de programas de computador utilizando componentes definidos no paradigma OO.

Exemplos de algumas linguagens OO:

C++; Object Pascal Delphi; Java;

Python; C# Lua;

Ruby; PHP, etc....

(11)

UML (Unified Modeling Language)

Linguagem gráfica padronizada para

representação de objetos, classes, diagramas, etc...;

Define os símbolos gráficos que devem ser utilizados e o significado de cada símbolo;

A primeira versão da norma UML foi publicada em setembro de 1997.

Norma disponível em www.omg.org;

A UML não é uma metodologia.

(12)

Classes

Quando desejamos falar de um conjunto de objetos semelhantes sem ter que falar de cada um individualmente; falamos da classe deste objeto;

Exemplo: A classe dos automóveis Corsa da GM;

Quando se fala da classe está se falando de toda uma categoria de possíveis objetos daquela classe.

Classes x Objetos

Todos os Corsa1.0 fabricados pela GM =>

Classe;

O Corsa_1.0 de nº de chassi BXW24579234567 => Objeto;

Copos plásticos são baratos => Classe;

O copo de café da copa => Objeto.

Representação de Classes Classes e Objetos

Objetos realizam aquilo que está definido na classe;

Classes são como “fôrmas” para geração de múltiplos objetos daquela classe;

Um objeto não herda características da

sua classe, mas sim, dá existência a estas

característica.

(13)

Classes

A classe é uma categoria de objetos semelhantes. Objetos que possuem os mesmos atributos e operações (funções), devem pertencer a mesma classe.

Estado dos Objetos

O estado atual de um objeto é definido pelas suas características atuais;

Exemplo: Um automóvel pode assumir os seguintes estados:

Parado, velocidade=0;

Se movimentando para frente, v>0 e marchas para frente engatadas;

Se movimentando para trás, v>0 e marcha a ré engatada.

Estado dos Objetos

O longo de sua “vida” um objeto assume diferentes estados dependendo dos

estímulos que o mesmo recebe;

Se houverem mudanças nas características do objeto que modifiquem a maneira como o objeto reage aos estímulos externos, dizemos que houve uma mudança no estado do objeto.

Objetos - Instância

Um objeto tem identidade, estado e comportamento;

A estrutura e comportamento dos objetos são definidos na sua classe;

Cada objeto de uma dada classe é chamado de instância da classe;

Podemos ter múltiplas instâncias de uma

única classe.

(14)

Classe x Instância de classe x Objeto

Uma instância é um elemento da classe, ou seja um objeto. Enquanto a classe representa genericamente um conjunto de objetos, a instância (ou objeto) é a representação de um objeto específico.

CLASSE INSTÂNCIA de

Propriedades Propriedades

Nome Marcos

Idade 26 anos

Método Método

Trabalhar Trabalhar

Uma instância é um elemento da classe, ou seja um objeto. Enquanto a classe representa genericamente um conjunto de objetos, a instância (ou objeto) é a representação de um objeto específico.

CLASSE INSTÂNCIA de

Propriedades Propriedades

Nome Marcos

Idade 26 anos

Método Método

Trabalhar Trabalhar

Atributos dos Objetos

As características dos objetos são representadas por seus atributos;

Atributos são características, variáveis ou constantes encapsuladas nos objetos;

Exemplo: Atributos do automóvel Cor, número de portas, potência, ...

Atributos dos Objetos

Todos os objetos de uma mesma classe têm as mesmas quantidades e tipos de atributos,mas os valores destes atributos nos diferentes objetos podem ser

diferentes ; Exemplo:

Todo automóvel tem o atributo cor, mas cada automóvel individual poderá ter uma cor diferente do outro.

Atributos na UML

(15)

Operações dos Objetos

Os procedimentos internos (ou rotinas) dos objetos são as operações dos mesmos;

As operações podem manipular os atributos internos de um objeto;

As operações podem ser ativadas por estímulos externos (usuário ou outro objeto) ou internos (operações do próprio objeto);

Operações definem o comportamento dos objetos.

Operações na UML

Visibilidade de atributos e operações

Atributos e operações dos objetos podem ser visíveis externamente, ou seja, outros objetos poderão acessar os atributos e operações destes objetos sem restrições.

Estes atributos e operações são ditos públicos;

Atributos e operações que só podem ser acessados por operações internas ao próprio objeto são ditos privados.

Visibilidade na UML

(16)

Interface da classe e seus objetos

As operações públicas de uma classe definem a interface da classe;

Deve ser definido o nome das operações, se tem tipo de retorno, e se recebe parâmetros.

A este conjunto de informações sobre a operação dá-se o nome de assinatura da operação.

Interface da Classe

(17)
(18)
(19)

Abstração

(20)

Abstração

Abstração o processo através qual detalhes são ignorados, para nos concentrarmos nas

características essenciais;

A abstração nos leva a representar os objetos de acordo com o ponto de vista e interesse de quem os representa.

Abstração (Exemplo)

Para descrevermos um automóvel (do ponto de vista de um observador externo) ,

identificamos a cor do mesmo, o número de portas, o tipo das rodas e pneus.

Quando identificamos o automóvel apenas a partir destas características externas

estamos fazendo uma abstração pois uma série de detalhes internos não estarão sendo descritos.

Abstração

A abstração na descrição de objetos depende do ponto de vista e objetivo de quem faz a descrição;

Se solicitarmos a um mecânico para fazer a descrição de um automóvel a partir do seu ponto de vista, teremos um resultado bem diferente da descrição de um observador comum.

Abstração

O conceito de abstração é importante para a análise de sistemas, pois só iremos representar nos sistemas que vamos criar, aquelas

características que nos interessam dos objetos reais;

Ex:

Ao ignorarmos algumas características não

relevantes em um determinado contexto, estamos

fazendo uma abstração.

(21)
(22)

Referências

Documentos relacionados

Entidade Contábil – Pessoa para quem é mantida a contabilidade, podendo ser pessoa jurídica ou física. Princípios Princípios

Essas correntes de magnetiza¸c˜ao s˜ao respons´aveis por gerar um campo magn´etico, al´em do campo magn´etico devido a outras

Desdobramento da interação significativa de densidade e massa seca de plantas daninhas no consórcio com Urochloa ruziziensis, equações de regressão e coeficientes de determinação

A Governança Climática está ligada a essas mudanças de comportamentos e de visões de mundo ao entender que os processos decisórios coletivos envolvendo questões

–   São variáveis que definem o estado de um objeto, ou seja, são entidades que caracterizam os objetos. –   Cada objeto possui seu próprio conjunto

Para a Geografia, o espaço pode ser definido como a parte da superfície terrestre onde se dão as interações entre o ser humano e o ambiente natural.. Mesmo que existam locais onde

Quando um mapa cadastral (e um conjunto de geo-objetos nele representado) é criado a partir da intersecção de geo-campos, cada geo-objeto resultante terá, como seus

No lugar da oferta da identificação, da inclusão do indivíduo em projetos e em programas especializados, segundo a lógica predicativa, trata-se, agora, mais ainda, de colocar