1 / 43

Orientação Objeto – UML (introdução básica)

Orientação Objeto – UML (introdução básica). As ferramentas de modelagem de dados fornece ao engenheiro de software a habilidade de modelar todos os elementos de um sistema baseado em computador. Ferramentas baseadas em OO e UML. Describe ( www.embarcadeiro )

marcos
Download Presentation

Orientação Objeto – UML (introdução básica)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Orientação Objeto – UML (introdução básica) As ferramentas de modelagem de dados fornece ao engenheiro de software a habilidade de modelar todos os elementos de um sistema baseado em computador.

  2. Ferramentas baseadas em OO e UML • Describe (www.embarcadeiro) • Rational XDE e Rose (www.rational.com) • Real-Time Studio (www.artisanw.com) • TelelogicTau (www.telelogic.com) Juliana JennyKolb

  3. Classes de Objetos • Uma classe representa uma categoria e os objetos os membros ou exemplos desta categoria. • Uma classe é representada por um retângulo que pode possuir até três divisões: Nome da Classe Carro Atributos Cor Características de uma classe. Atividade que um objeto de uma classe pode executar Métodos Transportar Pessoas() Juliana JennyKolb

  4. Classes de Objetos • Visibilidade: • Pública: (+), significa que o atributo ou método pode ser utilizado por qualquer classe; • Protegida: (#), determina que somente a classe possuidora do atributo ou método ou suas sub-classes podem ter acesso ao mesmo; • Privado: (-), significa que somente a classe possuidora do atributo ou método poderá utilizá-lo. Juliana JennyKolb

  5. Classes de Objetos • Herança: • Permite o reaproveitamento de atributos e de métodos; • Trabalha com o conceito de superclasses (classe mãe) e sub-classes (classe filha); • As sub-classes herdam da superclasse suas características (atributos e métodos); Animal +Locomove() Mamífero Ave +Mamar() +PorOvo() Juliana JennyKolb

  6. Classes de Objetos • Polimorfismo: • Está associado à Herança; • Trabalha com a redeclaração de métodos previamente herdados por uma classe, estes métodos, embora semelhantes, diferem de alguma forma da implementação da superclasse; • Declara-se o método com o mesmo nome declarado na superclasse; Juliana JennyKolb

  7. Classes de Objetos • Polimorfismo: • Exemplo: Conta Comum #Cod: long #Saldo: long +Abertura(Cod:long) Conta Especial Conta Poupança #Limite: double +Rendimento (Data: date) +Abertura(Cod:long, Limite:double Juliana JennyKolb

  8. Classes de Objetos • Encapsulamento: • Significa separar o programa em partes, o mais isoladas possível. A idéia é tornar o software mais flexível, fácil de modificar e de criar novas implementações. • 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. Esta proteção consiste em se usar modificadores de acesso mais restritivos sobre os atributos definidos na classe. Depois devem ser criados métodos para manipular de forma indireta os atributos da classe. • Encapsular atributos também auxilia a garantir que o estado e o comportamento de um objeto se mantenha coeso. Juliana JennyKolb

  9. Diagramas • Diagrama de Caso de Uso; • Diagrama de Classe; • Diagrama de Objetos; • Diagrama de Estrutura Composta; • Diagrama de Sequencia; • Diagrama de Colaboração (Comunicação); • Diagrama de Estados; • Diagrama de Atividades; • Diagrama de Componentes; • Diagrama de Implantação (Deployment); • Diagrama de Pacotes; • Diagrama de Tempo; Juliana JennyKolb

  10. Juliana JennyKolb

  11. 1. Diagrama de Caso de Uso • Visão geral do comportamento do sistema; • Utilizado principalmente no início da modelagem do sistema, nas etapas de levantamento e análise de requisitos; • Objetivo: apresentar uma visão geral das funções e serviços que o sistema deverá oferecer aos usuários, sem se preocupar como essas funções serão implementadas; • Identifica os tipos de usuários que irão interagir com o sistema, quais papéis esses usuários irão assumir e quais funções serão requisitadas por cada um; Juliana JennyKolb

  12. 1. Diagrama de Caso de Uso • 1.1. Atores (Pessoas, equipamento, sistemas); • 1.2. Casos de Uso (serviços, tarefas ou funções); • 1.3. Documentação; • Relacionamentos: • 1.4. Associações; • 1.5. Especialização / Generalização; • 1.6. Inclusão; • 1.7. Extensão; Juliana JennyKolb

  13. 1. Diagrama de Caso de Uso • 1.4. Associações: • Interações entre: • Atores; • Atores e Casos de Uso; • Casos de Uso e outro Caso de Uso; • Relacionamento entre Casos de Uso recebem nomes especiais: Inclusão, Extensão e Generalização; • Pode ocorrer que as extremidades da reta tenham setas, apontando a navegabilidade da associação. • Se não tiver, as informações navegam em ambas as direções. • Pode ter uma descrição própria. Abertura de Conta Cliente Juliana JennyKolb

  14. 1. Diagrama de Caso de Uso • 1.5. Especialização/Generalização: • Utilizado em Heranças e Polimorfismos; • Também pode ser usada com atores; Conta Comum Conta Especial Conta Poupança Juliana JennyKolb

  15. 1. Diagrama de Caso de Uso • 1.6. Inclusão • Utilizada quando existe um serviço situação ou rotina comum a mais de um Caso de Uso; • Indicam obrigatoriedade, a execução do primeiro obriga a execução do segundo; • A seta indica o Caso de Uso incluído. Saque <<include>> Registrar Movimento Depósito <<include>> Juliana JennyKolb

  16. 1. Diagrama de Caso de Uso • 1.6. Extensão • Utilizada para descrever cenários opcionais; Encerrar Conta <<extend>> <<extend>> Depósito Saque Juliana JennyKolb

  17. Exemplos <<include>> << <<extend>> <<extend>> Juliana JennyKolb

  18. Exemplos Herança <<include>> Sub-Classes Herança << <<extend>> <<extend>> <<extend>> Superclasse <<include>> Juliana JennyKolb

  19. 2. Diagrama de Classes • Relacionamentos: • 2.1. Associações; • Agregação; • Composição; • Dependência; • 2.2. Especialização / Generalização; Juliana JennyKolb

  20. 2. Diagrama de Classes • 2.1. Associações: • Agregação: • É uma forma especializada de associação na qual um todo é relacionado com suas partes. Também conhecida como relação de conteúdo. • É representada como uma linha de associação com um diamante junto à Classe agregadora. • Indica que uma das classes do relacionamento é uma parte, ou está contida em outra classe. As palavras chaves usadas para identificar uma agregação são: "consiste em", "contém", "é parte de". Marinha Navio Juliana JennyKolb

  21. 2. Diagrama de Classes • 2.1. Associações: • Composição: • É uma agregação onde uma classe que está contida na outra "vive" e constitui a outra. Se o objeto da classe que contém for destruído, as classes da agregação de composição serão destruídas juntamente, já que as mesmas fazem parte da outra. • É representada como uma linha de associação com um diamante preenchido junto à Classe agregadora. Revista Edição Juliana JennyKolb

  22. 2. Diagrama de Classes • 2.1. Associações: • Dependência: • Uma dependência indica a ocorrência de um relacionamento semântico entre dois ou mais elementos do modelo, onde uma classe cliente é dependente de alguns serviços da classe fornecedora. • Por exemplo: Uma mudança no elemento independente irá afetar o modelo dependente. • Por exemplo: Uma mudança no elemento independente irá afetar o modelo dependente. Sistema Pessoa Juliana JennyKolb

  23. 2. Diagrama de Classes • Diagrama mais importante e utilizado da UML; • Serve de apoio para a maioria dos outros diagramas; • Define a estrutura das classes utilizadas pelo sistema, determinando os atributos e métodos possuídos por cada classe, além de estabelecer como as classes se relacionam e trocam informações entre si. Agregação Herança ? Polimorfismo ? Juliana JennyKolb

  24. 5. Diagrama de Sequência • Preocupa-se com a ordem temporal em que as mensagens são trocadas entre os objetos envolvidos em um determinado processo; • Em geral, baseia-se em um Caso de Uso e apóia-se no Diagrama de Classes para determinar os objetos das classes envolvidas; • Determina como o processo deve se desenrolar e ser concluído por meio da chamada de métodos disparados por mensagens enviadas entre os objetos; Juliana JennyKolb

  25. 7. Diagrama de Estados • Procura acompanhar as mudanças sofridas por um objeto dentro de um determinado processo; • Em geral, baseia-se em um Caso de Uso e apóia-se no Diagrama de Classes para determinar os objetos das classes envolvidas; • Utilizado para acompanhar os estados por que se passa uma instância de uma classe ou para representar os estados de um caso de uso ou mesmo estados gerais de um sub-sistema. Juliana JennyKolb

  26. 8. Diagrama de Atividades • Preocupa-se em descrever os passos a serem percorridos para a conclusão de uma atividade específica; • Geralmente representa um método com um certo grau de complexidade; • Concentra-se na representação do fluxo de controle de uma atividade. Juliana JennyKolb

  27. 10. Diagrama de Implantação (deployment) • Determina as necessidades de hardware do sistema, as características físicas como servidores, estações, topologias e protocolos de comunicação; • Esta bastante associado ao Diagrama de Componentes. Juliana JennyKolb

  28. Questões 1. Assinale a alternativa que caracteriza uma classe: (Copel,2009) a) Ações realizadas por um objeto b) Herda todos os comportamentos e estados possíveis de outra classe. c) Vínculo que permite que objetos se relacionem. d) Estrutura que abstrai um conjunto de objetos com características similares. e) Elemento que define a estrutura de um objeto. 2. A UnifiedModelingLanguage (UML) é uma linguagem de modelagem cujos objetivos são: especificação, documentação e estruturação para a visualização lógica do desenvolvimento completo de um sistema de informação. Ela possui vários diagramas e o diagrama responsável por representar a estrutura e as relações e que serve como base para os demais diagramas é denominado diagrama de: (Copel,2009) a) objetos. b) interação. c) transição. d) atividade. e) classe. X X Juliana Jenny Kolb

  29. 3. Princípio da programação orientada a objetos que permite que as classes compartilhem atributos e operações baseados em um relacionamento. (Copel,2009) a) Polimorfismo b) Encapsulamento c) Abstração d) Herança e) Classe 4. Em uma análise orientada a objetos, é comum o uso de UML para modelar o sistema. O diagrama que dá ênfase a ordenação temporal em que as mensagens são trocadas entre os objetos de um sistema. Entende-se por mensagens os serviços solicitados de um objeto a outro, e as respostas desenvolvidas para as solicitações. Essas são características do diagrama: (Copel,2009) a) Diagrama de objetos b) Diagrama de componentes c) Diagrama de Caso de Uso d) Diagrama de sequência e) Diagrama de atividade. X X Juliana Jenny Kolb

  30. X 5. O mecanismo que possibilita restringir o acesso ao comportamento interno de um objeto é denominado (ANA,2009) a) encapsulamento. b) herança. c) polimorfismo. d) atributo. e) método. 6. Em UML, o relacionamento utilizado para expressar herança entre classes e interfaces é a (ANA,2009) a) multiplicidade. b) dependência. c) agregação. d) associação. e) generalização. X Juliana Jenny Kolb

  31. 7. A restrição UML aplicada a um conjunto de generalizações, especificando que uma instância pode ter apenas um dos subtipos determinados como tipo daquela instância, é conhecida como (ANA, 2009) a) Associação. b) Auto. c) Global. d) Local. e) Disjunção. 8. Na linguagem de modelagem unificada (UML), existem diagramas que descrevem situações do ponto de vista dinâmico ou comportamental, e diagramas que descrevem situações do ponto de vista estático. Acerca desse assunto, julgue os itens subseqüentes. Entre os diagramas comportamentais incluem-se os de atividade, os de seqüência, os de comunicação e os de tempo. Entre os diagramas estáticos incluem-se os de classes, os de estrutura, os de pacotes e os de objetos. X V V Juliana Jenny Kolb

  32. 9. Uma classe ClasseA de determinada aplicação possuía um método calculeAlgo() em que testes (instruções de desvio condicional) eram utilizados para se determinar que algoritmo deveria ser adotado para efetuar o cálculo. Foi criada uma nova hierarquia de classes, iniciando na classe abstrata ClasseB, que declara o método abstrato calcule(). Este método é implementado por cada classe concreta da hierarquia, sendo cada uma delas correspondente a um dos algoritmos previstos no método calculeAlgo() original. ClasseA passou a ter um atributo do tipo ClasseB e métodos de acesso ao mesmo, e calculeAlgo() teve seu código substituído por uma simples chamada ao método calcule() do objeto armazenado no novo atributo. O conceito OO (Orientação a Objetos) predominante na descrição acima é a(o)  (A) sobrecarga de atributo. (B) sobrecarga de método. (C) herança múltipla. (D) polimorfismo. (E) acesso externo direto a atributo. 10. Um exemplo de diagrama previsto na UML é o Diagrama de (A) Fluxo de Dados. (B) Entidades e Relacionamentos. (C) Atividade. (D) Gantt. (E) Causa e Efeito. X X Juliana Jenny Kolb

  33. X 11. Um caso de uso (use case) pode ser representado por: a) uma elipse. b) um retângulo. c) um quadrado. d) um triângulo. 12. Qual a linguagem mais expressiva para a modelagem de sistemas orientados a objetos: a) SQL. b) MER. c) DFD. d) UML. 13. Assinale a melhor definição abaixo para Diagrama de Classe: a) é a representação da estrutura dos objetos e suas heranças. b) é a representação das relações das classes e suas agregações. c) é a representação da estrutura e relações das classes. d) é a representação das relações das instâncias e suas heranças. X X Juliana Jenny Kolb

  34. X 14. A herança, na notação UML, é mostrada no sentido: a) ascendente, ou seja, da classe que herda atributos e operações para as classes superiores. b) descendente, ou seja, da classe que herda atributos e operações para as classes inferiores. c) à direita, ou seja, da classe que herda atributos e operações para as classes a sua direita. d) à esquerda, ou seja, da classe que herda atributos e operações para as classes a sua esquerda. 15. O diagrama UML mais indicado para representar o passo a passo do fluxo de eventos principal de um caso de uso de um software orientado a objetos é o diagrama de (A) casos de uso. (B) atividades. (C) eventos e transições. (D) classes. (E) componentes. X Juliana Jenny Kolb

  35. 16. Considere o relacionamento de “todo-parte” ilustrado no diagrama UML abaixo. É correto afirmar que (A) um objeto da classe InfoCliente pode participar de mais de um relacionamento de composição desempenhando o papel de “parte”. (B) um objeto da classe ItemPedido pode participar de mais de um relacionamento de composição desempenhando o papel de “parte”. (C) uma instância da classe InfoCliente pode existir antes mesmo que a instância da classe Pedido com que se relacionará tenha sido criada. (D) o relacionamento ilustrado acima é ternário. (E) a cardinalidade do pedido no relacionamento com ItemPedido igual a 1 não precisaria ser apresentada, uma vez que não poderia assumir outro valor. X Juliana Jenny Kolb

  36. 17. Valendo-se dos conceitos de Orientação a Objetos, complete a frase abaixo e assinale a alternativa correspondente: Sabendo-se que “Mesa” é uma Classe muito maior de Objetos, à qual denominamos “Mobiliário”, pode-se afirmar que “Mesa” ___________ todos os atributos definidos para “Mobiliário”. Assinale a alternativa que completa corretamente a frase anterior: A) Copia B) Absorve C) Herda D) Jamais possuirá E) É um Use-Case (caso de uso) de 18. Em qual dos diagramas empregados pela UML a modelagem do diagrama é uma técnica usada para descrever e definir os requisitos funcionais de um sistema? A) Classes. B) Objetos. C) Use-case. D) Estado. E) Colaboração. X X Juliana Jenny Kolb

  37. 19. Como é denominado o relacionamento entre um elemento geral e outro específico em que o elemento mais específico possui (adquire) todas as características do elemento geral e ainda contém outras particularidades? A) Associação. B) Pacotes. C) Dependência e refinamento. D) Generalização. E) Controle de Classes. 20. Na UML, entidades externas ao sistema são chamadas de: A) Classes. B) Pacotes. C) Objetos. D) Atores Externos ou simplesmente Atores. E) Visões ou simplesmente Visões. X X Juliana Jenny Kolb

  38. 21. A Linguagem de Modelagem Unificada (UML) apresenta os conceitos de caso de uso base e os relacionamentos de include e extend, bem como a sintaxe associada a cada um desses conceitos. Analise o diagrama de caso de uso a seguir: (CELEPAR, 2009). a) O caso de Uso A é chamado de Caso de Uso base. Existe um relacionamento include entre os Casos de Uso A e C e um relacionamento extend entre os Casos de Uso A e B. b) Os casos de Uso B e C são chamados de Caso de Uso base. Existe um relacionamento include entre os Casos de Uso B e A e um relacionamento extend entre os Casos de Uso C e A. c) O caso de Uso A é chamado de Caso de Uso base. Existe um relacionamento include entre os Casos de Uso A e C e entre os Casos de Uso A e B. d) O caso de Uso A é chamado de Caso de Uso base. Existe um relacionamento include entre os Casos de Uso A e B e um relacionamento extend entre os Casos de Uso A e C. e) O caso de Uso A é chamado de Caso de Uso base. Existe um relacionamento extend entre os Casos de Uso A e C e entre os Casos de Uso A e B. X Juliana Jenny Kolb

  39. 22. É um diagrama definido pela Linguagem de Modelagem Unificada (UML) e complementa o caso de uso fornecendo uma representação gráfica do fluxo de interação em um cenário específico. Em outras palavras, representa os fluxos conduzidos por processamentos. Assinale a alternativa que indica o diagrama UML descrito anteriormente. (CELEPAR, 2009). a) Diagrama de Sequência. b) Diagrama de Comunicação. c) Diagrama de Transição de Estados. d) Diagrama de Classes. e) Diagrama de Atividade. 23. Uma das vantagens dos métodos de análise e projeto orientado a objetos é o aumento do gap conceitual entre os artefatos produzidos nas fases de análise, projeto e implementação. (SERPRO, 2005) X F Juliana Jenny Kolb

  40. 24. Objetos são instâncias de classes que determinam qual informação um objeto contém e como ele pode manipular essa informação. Sobre Orientação a Objetos é correto afirmar: (CELEPAR, 2009) I. Herança é um mecanismo que permite que características comuns a diversas classes sejam fatoradas em uma superclasse. A partir de uma classe base, outras classes podem ser especificadas. Cada subclasse apresenta as características (estrutura e métodos) da classe base, acrescidas do que for definido de particularidade para ela. II. Atributos são características de um objeto, basicamente a estrutura de dados que vai representar a classe. Métodos definem as habilidades dos objetos. III. Encapsulamento é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação (assinatura), mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da superclasse. IV. Polimorfismo consiste na separação de aspectos internos e externos de um objeto. Este mecanismo é utilizado amplamente para impedir o acesso direto ao estado de um objeto (seus atributos), disponibilizando externamente apenas os métodos que alteram estes estados. a) Somente as afirmativas I e II são corretas. b) Somente as afirmativas I e IV são corretas. c) Somente as afirmativas III e IV são corretas. d) Somente as afirmativas I, II e III são corretas. e) Somente as afirmativas II, III e IV são corretas. X Juliana Jenny Kolb

  41. 25. Analise o Diagrama de Caso de Uso a seguir: (CELEPAR, 2009) Com base na análise feita, considere F (falso) ou V (verdadeiro) para as seguintes afirmativas: ( ) Os Casos de Uso 3 e 4 são Casos de Uso generalizados do Caso de Uso 2 por meio de uma herança de Caso de Uso. ( ) Tanto o Ator A como o Ator C iniciam o Caso de Uso 1. ( ) O Ator A dispara o Caso de Uso 2. ( ) O Caso de Uso 6 é um caso de uso obrigatório. ( ) O Ator B dispara o Caso de Uso 1. Assinale a alternativa que contém, de cima para baixo, a sequência correta. a) F, F, V, F e V. b) F, V, F, V e F. c) F, V, V, F e V. d) V, F, F, V e V. e) V, F, V, F e F. X Juliana Jenny Kolb

  42. 26. Dado o esboço do diagrama de classe a seguir, os números 1 e 2 significam, respectivamente: (CELEPAR, 2009 ) a) Agregação e Composição. b) Composição e Agregação. c) Herança simples e Herança múltipla. d) Associação e Generalização. e) Composição e Dependência. X Juliana Jenny Kolb

  43. F 27. Um método é uma notação ou conjunto de notações suportadas por um processo que guia a aplicação das notações. Nesse sentido, é correto afirmar que a UML (unifiedmodelinglanguage) é um método de desenvolvimento orientado a objetos. (SERPRO, 2005) 28. A UML formalizou um conjunto de conceitos composto por elementos (classes, interfaces e componentes), relacionamentos (associação, generalização e dependências) e tipos de diagramas, que permitiu a unificação nos modelos de diagramas usados nas metodologias de análise tradicional, análise estruturada e análise essencial, facilitando o uso de ferramentas visuais e interoperáveis para desenvolvimento de software. (SERPRO, 2005) 29. A UML incorpora uma linguagem de especificação formal e textual chamada Z. (SERPRO, 2005) 30. Com o advento da UML, o uso dos termos modelagem funcional e modelagem de dados foi substituído pelo uso dos termos modelagem estrutural e modelagem comportamental, respectivamente. Diagramas UML que permitem a expressão de propriedades comportamentais são os de classe, de componente e de instalação. Diagramas UML estruturais são os de colaboração e de estados. (SERPRO, 2005) V F F Juliana Jenny Kolb

More Related