A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Modelagem Orientada a Objeto - UML

Apresentações semelhantes


Apresentação em tema: "Modelagem Orientada a Objeto - UML"— Transcrição da apresentação:

1 Modelagem Orientada a Objeto - UML

2 Objetivo A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um sistema de software. O funcionamento deste sistema se dá através do relacionamento e troca de mensagens entre estes objetos.

3 Estruturada x Essencial x Orientada a Objeto
Nos métodos de análise estruturada e essencial, o comportamento do sistema e seus dados são considerados separadamente. Na orientação a objetos, comportamento e dados são integrados, encapsulando detalhes internos de um objeto.

4 Estruturada x Essencial x Orientada a Objeto

5 Análise Orientada a Objetos
Enxerga o mundo como objetos com estrutura de dados e comportamentos; O objetivo é desenvolver uma série de modelos de análise, satisfazendo um conjunto de requisitos definidos pelo cliente.

6 Análise Orientada a Objetos
A abordagem OO se preocupa: Identificar os objetos a partir do domínio da aplicação; Encaixar os funções “ao redor” destes objetos, comportamentos; conceitos de OO podem ser aplicados em todo o ciclo de vida do desenvolvimento do sistema.

7 Introdução Programação Orientada a Objetos:
Criado por Alan Kay, autor da linguagem de programação Smalltalk; Em 1967, conceitos de OO já eram aplicado através da linguagem Simula. Orientação a objetos apesar de antiga não era utilizada por falta de pessoas treinadas, interesse em manter a cultura adquirida.

8 Introdução O mundo real é composto por objetos. Cada objeto tem propriedades e comportamentos. Segundo Yourdon, “Um sistema construído usando um método Orientado a Objetos é aquele cujos componentes são partes encapsuladas de dados e funções, que podem herdar atributos e comportamentos de outros componentes da mesma natureza, e cujos componentes comunicam-se entre si por meio de mensagens.”

9 Introdução Objetos como entidades do mundo real;
Dificuldades em fazer alterações nas estruturas de dados nas abordagens tradicionais. “Se eu alterar a definição desse dado, quais programas serão afetados?” Trabalha com conceitos já conhecidos - Modularidade, Abstração, Encapsulamento, etc.

10 Introdução Um programa é uma coleção de objetos dizendo uns aos outros o que fazer. Para fazer uma requisição a um objeto você “manda uma mensagem” para este objeto. Mensagem = Procedimento = Função (pertencente a um objeto em particular)

11 Introdução Um objeto pode ser composto por vários outros objetos;
Você pode criar um novo tipo de objeto empacotando objetos existentes; Todo objeto tem um tipo. Cada objeto é uma instância de uma classe, onde classe é um sinônimo de tipo.

12 Conceitos fundamentais
Abstração Classe Objetos Atributo Herança Encapsulamento Polimorfismo

13 Abstração Uma abstração é qualquer modelo que inclui os aspectos relevantes de alguma coisa, ao mesmo tempo em que ignora os menos importantes.

14 Abstração Ex: Entidade Pessoa - Sistema Folha de Pagamento
Atributo: Cor dos olhos e nome(toda pessoa tem) Porém, cor dos olhos não é relevante para o sistema.

15 Abstração: exemplo Telefone 2.4 GHz tone discar
Identidade:: número Características: azul 2.4 GHz tone Comportamento: tocar discar

16 Abstração: exemplo Ônibus 30 assentos a diesel andar correr buzinar
Identidade: placa LXY 7684 Características: cor amarela 30 assentos a diesel Comportamento: frear andar correr buzinar acelerar

17 Conceitos fundamentais
Encapsulamento: Processo de ocultamento de partes internas da implementação de um objeto e permissão de acesso ao estado do objeto somente através de uma interface bem definida. proíbe-nos de mexer diretamente nos dados internos de um objeto. Assim, todas as comunicações com os objetos são feitas através do envio de mensagens.

18 Conceitos fundamentais
Encapsulamento Vantagem: toda parte encapsulada pode ser modificada sem que os usuários da classe em questão sejam afetados; protege o acesso direto (referência) aos atributos de uma instância fora da classe onde estes foram declarados.

19 Encapsulamento Uma interface pode ter várias formas de implementação.
Princípio: a implementação de um serviço no objeto servidor não importa para o objeto cliente. (O cliente confia em interfaces e não em implementações)

20 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”

21 Classe: exemplo classe instância da classe (objeto)
Identidade::o beija-flor que vem ao meu jardim Características: cor das penas: azuis formato do bico: fino velocidade de vôo: rápida instância da classe (objeto) Comportamento: voar piar

22 Classe Subclasse é uma nova classe que herda características de sua(s) classe(s) pai

23 Classes Classe Instâncias (objetos)

24 Objeto Objeto: “instâncias” em tempo de execução de uma classe. Um objeto pode ser real ou abstrato; Todos os objetos de uma classe são idênticos no que diz respeito a sua interface e implementação (o que difere um objeto de outro é seu estado e sua identidade).

25 Objeto Um objeto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos.

26 Objeto Representação Serviços ou Interface Mário Identidade
Características (estado) Mário Comportamento Serviços ou Interface

27 Exercício Identifique as classes e objetos:
Na escola Fucapi é realizado processo de matrícula de alunos. Um aluno se desloca a secretaria da instituição. O aluno solicita a realização da matrícula à secretária. O aluno informa o curso(nome) e disciplinas(nome, carga horária, professor).

28 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_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 InformarSalário CalcularIdade

29 Serviços/Operações/Métodos
Representam o comportamento das instâncias de uma classe Correspondem as 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_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 InformarSalário CalcularIdade 3000 Informar Salário?

30 Método Bidu é uma instância da classe Cachorro: latir, implementada através do método latir(); Um método em uma classe é apenas uma definição; A ação só ocorre quando o método é invocado através do objeto, no caso Bidu; Dentro do programa, a utilização de um método deve afetar apenas um objeto em particular. Todos os cachorros podem latir, mas você quer que apenas Bidu dê o latido.

31 Modos de Visibilidade/Acesso
Pode-se controlar a manipulação de atributos e operações (membros); Modificadores:

32 Modificador private Um membro qualificado como private somente é acessível a partir de métodos da própria classe à qual pertence o membro.

33 Modificador public Um membro qualificado como public é acessível a partir de qualquer operação de qualquer classe, independentemente de subclasse e de pacote.

34 Modificador protected
Um membro qualificado como protected é acessível a partir de qualquer operação de qualquer classe, exceto se a classe de acesso estiver em pacote distinto e não for subclasse da classe à qual pertence o membro.

35 Herança Subclasse herda a estrutura e/ou comportamento de uma ou mais superclasses; Relação entre Classes de Objetos, e não uma relação entre instância das Classes. Ex. Mamífero Cachorro Gato

36 Herança Para que serve a herança? Considere a criação de uma classe ClasseB; Que métodos estão disponíveis através de uma referência para a ClasseB (isto é, um objeto)?

37 Herança Suponha agora que a classe ClasseB herda de ClasseA;
Que métodos estão agora disponíveis para uma referência da ClasseB (um objeto) ?

38 Herança Poderoso mecanismo para o reaproveitamento de código;
O objeto objB tem agora disponíveis os métodos da ClasseA sem ser necessário reescrevê-los na ClasseB Um objeto da ClasseB também é um objeto da ClasseA. Facilita a manutenção do código: Os métodos não são replicados. Se for necessário alterar o código do método m3, basta alterá-lo em ClasseA. ClasseB pode "recusar" parte da herança reimplementando os métodos herdados

39 Herança Tipos de Herança
Herança simples é quando uma subclasse herda estrutura e/ou comportamento de uma única superclasse. Herança múltipla é quando uma subclasse herda estrutura e/ou comportamento de mais de uma superclasse.

40 Herança Refatoração Superclasse (características comuns)
Subclasses (características específicas)

41 Herança Uma subclasse herda: Atributos, Operações, Relacionamentos.
Uma subclasse pode: Adicionar novos atributos, operações e relacionamentos. Redefinir operações herdadas.

42 Herança Classes ancestrais: classes das quais as outras dependem.
Classes descendentes: as classes originadas a partir de outra.

43 Classes Abstratas Classes Abstratas(pura): classes cujos objetos nunca são instanciados diretamente, mas sempre por uma classe descendente dela. Não possuem um comportamento.

44 Classes Abstratas

45 Generalização Capacidade de se criar superclasses que encapsulam estrutura e/ou comportamento comuns a várias subclasses.

46 Generalização Relacionamento entre uma classe e uma ou mais versões refinadas ou especializadas da classe. Especialização: relacionamento inverso; Superclasse: versão mais abstrata de outra classe, a subclasse; Subclasse: versão mais refinada de outra classe, a superclasse.

47 Conceitos fundamentais
Generalização Automóvel Automóvel esportivo Porsche Especificação

48 Conceitos fundamentais
Polimorfismo: princípio relacionado com as diferentes formas de um objeto. Onde se pode instanciar o objeto de várias formas:

49 Polimorfismo Assume muitas formas;
A subclasse redefine a implementação de uma operação herdada da superclasse; Onde se espera uma instância de um certa classe pode aparecer uma instância de qualquer subclasse daquela classe.

50 Polimorfismo Trata objetos na mesma hierarquia de classes como se todos fossem objetos da superclasse; Tornam o programa extensível: Facilidade para adicionar novas classes Invoca os métodos das subclasses usando referências para a superclasse.

51 Polimorfismo Conceito Chave Objetos das subclasses podem ser tratados como objetos da superclasse A classe B É UMA classe A  Um objeto da classe B pode ser usado em qualquer lugar onde um objeto A é esperado. B A

52 Identificando Objetos
Geralmente identificado por um substantivo; Contém estrutura e comportamento; Dois objetos são distintos, mesmo que eles apresentem as mesmas características. Ex: 1 dezena de automóveis Astra Cada automóvel é um objeto! Todos tem a mesma característica! Classes são fábricas de objetos.

53 UML: definição UML Linguagem visual para especificação (modelagem) de sistemas orientados a objetos.

54 UML Fornece representação gráfica para os elementos essenciais do paradigma orientado a objetos; Usada para visualizar, especificar, documentar e construir os artefatos de um sistema.

55 + O que é UML ? UML Metodologia : . LINGUAGEM GRÁFICA . MÉTODO
UML diz o que pode ser feito mas não diz como deve ser feito. É independente de processo.

56 UML Não está presa a uma etapa do desenvolvimento de software: Análise
Projeto Implementação Testes

57 UML Não está presa a um Processo de Desenvolvimento de Software
Ciclo de Vida em Cascata Incremental Processo Unificado

58 UML Privilegia a descrição de um sistema segundo três perspectivas:
Dados (estrutural) Diagrama de Classes Operações (funcional) Diagrama de Caso de Uso Eventos (temporal) Diagrama de Seqüência, Atividades, de Transição, de Estados.

59 Diagramas: Notação da UML
gráficos que descrevem o conteúdo em uma visão.

60 Modelagem de estruturas estáticas:
UML - Diagramas Modelagem de estruturas estáticas: Diagrama de Casos de Uso; Diagrama de Classes; Diagrama de Objetos; Diagrama de Componente; Diagrama de Implantação

61 Modelagem de estruturas Dinâmicas:
UML - Diagramas Modelagem de estruturas Dinâmicas: Diagramas de Interação Diagrama de Seqüência. Diagrama de Colaboração. Diagramas de Estado. Diagramas de Atividade.

62 UML: ferramentas CASE Ferramentas Licensa 1 Rational Rose proprietária
2 TogetherSoft ControlCenter 3 Argo UML livre 4 Poseidon 5 Jude Proprietária/livre 6 Outras


Carregar ppt "Modelagem Orientada a Objeto - UML"

Apresentações semelhantes


Anúncios Google