Questões Comentadas APOO, OO, Coesão e Acoplamento
|
|
|
- Sérgio Sabrosa Botelho
- 9 Há anos
- Visualizações:
Transcrição
1 2012 Questões Comentadas APOO, OO, Coesão e Acoplamento LhugoJr Versão /11/2012
2 Introduça o Vale ressaltar que alguns comentários sobre as questões foram retiradas das seguintes fontes: TECNOLOGIA DA INFORMAÇÃO - QUESTÕES COMENTADAS CESPE/UNB - Provas de TI Também foram usadas outras fontes, como livros, comentários do site Questões de Concursos, etc. Os comentários são sempre feitos colocando as fontes encontradas, algumas questões são mais difíceis de encontrar as fontes, podendo assim ser retiradas da internet, de sites como wikipedia e outros. Espero que ajude. Abraços. Notas da Versa o Essa é a versão 0.8, sendo a maioria das questões da banca CESPE, com o tempo espero acrescentar muito mais questões. Nesta versão ainda não coloquei questões sobre coesão e acoplamento, e existem poucas questões sobre projeto orientado a objetos, em breve serão colocadas essas questões. Caso encontre algum erro nesta versão pode mandar um para [email protected], colocando o número da questão e o erro encontrado. Versão LhugoJr 1
3 1 Análise e Projeto Orientado a Objetos 1) (SERPRO/Analista/Desenvolvimento de Sistemas/2008) Na área de projeto de software, também conhecida como design de software, o software começa a ser implementado e validado pelos programadores. O professor Marcio Victorino, comenta esta questão da seguinte maneira: O projeto inicia-se com o planejamento da solução. Já a implementação é que se ocupa das atividades de construção do código. Portanto a questão está errada. 2) (CESPE Banco da Amazônia - Técnico Científico - Análise de Sistemas) O projeto foca na solução, consistindo em atividades de criação de um produto, enquanto a análise focaliza o problema. Na análise orientada a objetos, descrevem-se objetos ou conceitos como livros e usuários, que possuem atributos e responsabilidades. Vamos usar esta questão para definir os conceitos: Projeto Foca na solução consistindo em atividade de criação de um produto. Análise Descrevem-se objetos ou conceitos como livros e usuários que possuem atributos. 3) (PETROBRAS CESPE 2007) Em um modelo de análise, as classes de fronteira modelam interações entre o sistema e os atores. Cada classe de fronteira deve estar relacionada a um ou mais atores. Pode-se também ter classes de entidade, as quais tipicamente modelam dados persistentes. Vamos usar o material do professor Pedrosa: Classe de Fronteira o Utilizadas para modelar a interação entre um ator e o sistema. o Para cada ator, é identificada pelo menos uma classe de fronteira para permitir sua interação com o sistema. o Dependem do ambiente (visão). Classe de Controle - Objetos responsáveis por controlar a lógica de execução correspondente a cada caso de uso Classe de Entidade o Representam a informação que é manipulada ou processada pelo caso de uso o Vêm do domínio do negócio o Normalmente armazenam informações persistentes Portanto a questão está correta 4) (ANATEL CESPE 2006) Uma classe na análise orientada a objeto representa uma abstração que pode ser mapeada para mais de uma classe no projeto. As classes na análise podem ser fronteiras, controladoras ou entidades. Uma fronteira modela interações entre o sistema e atores, uma entidade modela apenas objetos persistentes e uma controladora só pode controlar interações entre instâncias de uma mesma classe. O erro da questão é que diz que a classe de entidade modela APENAS objetos persistentes, e uma controladora só pode controlar interações entre instâncias de uma mesma classe. Versão LhugoJr 2
4 Na verdade vamos as definições dada na questão anterior: Classe de Entidade o Representam a informação que é manipulada ou processada pelo caso de uso o Vêm do domínio do negócio Normalmente armazenam informações persistentes Controlador - intermediam objetos de classe de fronteira com o objeto de controle Cadastro Portanto a questão está errada. 5) (TSE CESPE 2006) Acerca da análise e do projeto orientados a objetos assinale a opção correta. a) Um modelo de análise é menos abstrato que um de projeto e as classes em um modelo de análise não podem ser conceituais. As classes na análise podem modelar objetos persistentes, mas não transientes. b) Uma importante responsabilidade da análise é definir a arquitetura do sistema, dividindo-o em subsistemas. Um subsistema expõe serviços via interfaces, que devem ser especificadas na análise. c) Uma classe descreve objetos com as mesmas responsabilidades, relacionamentos, operações, atributos e semântica. As instâncias de uma classe têm, portanto, os mesmos valores para os seus atributos. d) Um modelo de análise pode realizar casos de uso. A realização de um caso de uso descreve interações entre objetos. Na UML, essas realizações podem ser documentadas via diagramas de colaboração. Segundo o professor Pedrosa: (A) O modelo de análise é MAIS abstrato que um de projeto, e as classes SÃO conceituais. Portanto item errado. (B) Item errado. A definição da arquitetura está associada a Projeto e não Análise. (C) Item errado. As instâncias de uma classe podem NÃO ter os mesmo valores para seus atributos. (D) CERTO. Vamos nos aprofundar um pouco mais: Modelo de análise o É um modelo de objetos que descreve a realização dos casos de uso e que funciona como uma abstração do Modelo de Design o Contém as classes de análise (Modelo de Classes) e qualquer artefato associado o O Modelo de Classes evolui durante as iterações do projeto, incrementando novos detalhes às classes 2 Orientação a Objetos 6) (Correios/Analista de Correios/Desenvolvimento de Sistemas/2011) Por meio do encapsulamento, para impedir o acesso direto ao atributo de um objeto, são disponibilizados externamente apenas os métodos que alteram esse objeto. Por exemplo, não é preciso conhecer todos os detalhes dos circuitos de uma câmera digital para utilizá-la; a parte externa da câmera encapsula os detalhes, provendo para o usuário uma interface mais amigável. Questão pegadinha, usando o comentário do professor Marcio Victorino: A parte da afirmação... são disponibilizados externamente apenas os métodos que alteram esse objeto... é falsa, pois pode-se disponibilizar métodos que processam informações sem que seja necessário alterar o Versão LhugoJr 3
5 objeto e mesmo assim ainda caracteriza o encapsulamento. Portanto a questão está errada. 7) (TRE9-BA/Analista Judiciário/Análise de Sistemas/2009) Em programação orientada a objetos, as propriedades que definem a estrutura e o comportamento de um objeto são especificadas para a classe da qual o objeto é instância e são válidas para todos os objetos dessa classe. Questão um pouco mais simples, a única parte que poderia gerar duvida é são válidas para todos os objetos dessa classe. Mas essa parte também está correta. Portanto temos: Questão correta. Propriedades que definem a estrutura e o comportamento são válidas para todos os objetos dessa classe. 8) (TRE9-BA/Analista Judiciário/Análise de Sistemas/2009) Todo objeto tem um identificador único que varia com o tempo de vida do objeto. A questão erra ao dizer que o identificador único varia com o tempo, na verdade o identificador do objeto não varia. 9) (TCU/Auditor Federal de Controle Externo/Tecnologia da Informação/2010) Uma classe pode ser vista como uma descrição generalizada de uma coleção de objetos semelhantes. Questão boa para aprender com ela. Então vamos lá. A questão está correta. 10) (ABIN/Oficial Técnico de Inteligência/Desenvolvimento e Manutenção de Sistemas/2010) Classes são constituídas por interfaces e nelas definidas. O nome de uma classe deve ser único e tem escopo dentro da interface na qual é declarado. Classes e interfaces são dos termos diferentes, a questão fez uma salada com esses termos. Questão errada. 11) (ABIN/Oficial Técnico de Inteligência/Desenvolvimento e Manutenção de Sistemas/2010) Um objeto apresenta três características básicas, o estado, a identidade e o comportamento. A parte de dados de um objeto é definida por um conjunto de mensagens, e a porção funcional, por um conjunto de atributos. A questão trocou a definição na ultima frase, vamos reescrever ela para poder fixar o conteúdo: Versão LhugoJr 4
6 Um objeto apresenta três características básicas, o estado, a identidade e o comportamento. A parte de dados de um objeto é definida por um conjunto de atributos, e a porção funcional por um conjunto de mensagens. 12) (ABIN/Oficial Técnico de Inteligência/Desenvolvimento e Manutenção de Sistemas/2010) Polimorfismo permite estabelecer uma interface comum que define os atributos que um objeto pode receber em um grupo de classes criadas por herança. Assim, ao longo de uma hierarquia de classes, uma operação pode ter o mesmo nome compartilhado, e cada pacote, uma implementação diferente. Vamos ao comentário do professor Marcio Victorino. A questão não tem sentido, mas é possível reconhecer o erro quando ela afirma que...polimorfismo permite estabelecer uma interface comum que define os atributos que um objeto..., pois polimorfismo é em relação a métodos e não atributos. Portanto questão errada. 13) (ABIN/Oficial Técnico de Inteligência/Desenvolvimento e Manutenção de Sistemas/2010) Mensagem é uma solicitação entre classes para invocar certa operação, particularmente quando ocorre polimorfismo. Identidade é uma propriedade de um objeto que o distingue de todos os demais, sendo preservada até mesmo quando o estado do objeto muda completamente. Vamos reescrever a questão, dando ênfase aos erros: Mensagem é uma solicitação entre OBJETOS para invocar certa operação, INDEPENDE da ocorrência de polimorfismo. Identidade é uma propriedade de um objeto que o distingue de todos os demais, sendo preservada até mesmo quando o objeto muda completamente. Portanto a questão erra no primeiro período. 14) (ABIN/Oficial Técnico de Inteligência/Desenvolvimento e Manutenção de Sistemas/2010) Herança é um mecanismo de reutilização de classes e atributos definidos em classes gerais por classes mais específicas que pode ser utilizado para expressar tanto associações quanto generalizações. Em herança linear múltipla, ocorrem múltiplas superclasses para uma mesma subclasse. As superclasses irão se comportar como classes concretas somente para o objeto instanciado na subclasse de herança múltipla, permanecendo abstratas para instâncias regulares. Essa questão é um pouco mais difícil. Vamos aos comentários do professor Márcio: Herança é um mecanismo de reutilização de métodos e atributos definidos em classes gerais por classes mais específicas que pode ser utilizado para expressar apenas generalizações/especializações. Outro erro é que herança múltipla é não-linear. Portanto a questão está errada. Herança expressa generalizações/especializações Herança múltipla é não-linear Versão LhugoJr 5
7 15) (STJ/Analista Judiciário/Informática/2008) Se uma classe abstrata declara uma interface, essa classe tipicamente contém declarações de métodos, mas não corpos de métodos; a interface não pode ser implementada por classes que herdem da classe abstrata. Em diagramas UML, a classe abstrata pode ser identificada colocando-se seu nome em itálico, e relacionamentos de dependência podem ser representados por setas tracejadas entre clientes da interface e a classe abstrata. Vamos direto a solução: Uma classe abstrata que implementa ou não uma interface, PODE ter métodos com corpos definidos. A interface PODE ser implementada por classes que herdam da classe abstrata. O segundo período da questão está correto, vamos reescreve-lo para fixação: Em diagramas UML, a classe abstrata pode ser identificada colocando-se seu nome em itálico, e relacionamentos de dependência podem ser representados por setas tracejadas entre clientes da interface e a classe abstrata. 16) (TST/Analista Judiciário/Análise de Sistemas/2008) Uma das consequências do polimorfismo é que objetos de classes diferentes podem receber mensagens idênticas para ativar operações das respectivas classes, embora o processamento real a ser realizado seja diferente em cada classe. Mais uma boa questão para aprender. Vamos a ela: Objetos de classes diferentes podem receber mensagens idênticas para ativar operações das respectivas classes. Questão correta. 17) (CESPE MPE-PI - Analista Ministerial - Informática - Cargo 6) Em um programa orientado a objetos, em que as tarefas são definidas como comportamento de objetos, cada objeto é criado a partir da instanciação de uma classe onde os seus métodos estão implementados. Essa questão é muito polêmica, o gabarito foi dado com errado, ninguém achou o erro conclusivamente, mas vamos aos possíveis erros: No QC falaram que o erro pode estar: "uma classe onde os seus métodos estão implementados" => os métodos de um objeto podem estar na classe ou em qualquer classe ascendente na hierarquia. Ou ainda o erro pode estar em falar que as tarefas são definidas como comportamento de objetos, onde na bibliografia o termo mais correto seria métodos no lugar de tarefas. Concluindo, se esta questão cair de novo deve-se marcar errada. 18) (CESPE MPE-RR - Analista de Sistemas) Um encapsulamento é uma organização lógica para um conjunto de computações relacionadas; em um encapsulamento, há subprogramas e dados por eles manipulados. Uma abstração é uma representação de uma entidade que inclui somente os atributos de importância em um contexto particular. Versão LhugoJr 6
8 Mais uma daquelas questões para aprender, vamos definir os termos: Encapsulamento Organização lógica para um conjunto de computações relacionadas; em um encapsulamento, há subprogramas e dados por eles manipulados. Abstração Representação de uma entidade que inclui somente os atributos de importância em um contexto particular. Questão correta. Vamos ainda a definição de encapsulamento dada pelo professor Pedrosa: Encapsulamento - É o mecanismo da OO para esconder os detalhes internos de implementação dos objetos do mundo externo. 19) (CESPE MPE-RR - Analista de Sistemas) Há linguagens orientadas a objetos em que mensagens podem ser dinamicamente vinculadas a métodos usando-se variáveis polimórficas capazes de referenciar objetos de uma classe pai ou de suas subclasses. Nessas linguagens, quando se chama, via uma variável polimórfica, um método que foi definido na classe pai e sobreposto nas suas subclasses, a chamada é vinculada dinamicamente ao método. Vamos a definição de polimorfismo dinâmico dado pelo professor Pedrosa: Sobreposição ou Sobrescrita (override) Acontece na herança, quando a subclasse sobrepõe o método original. O método é escolhido em tempo de execução e não em tempo de compilação (Ligação Dinâmica) A escolha depende do tipo do objeto que recebe a mensagem Não obstante, a questão está correta. 20) (CESPE TRE-ES - Analista - Análise de Sistemas Específicos) Objetos de software interagem e comunicam-se com os outros por meio de mensagens. Por exemplo, quando o objeto A deseja que o objeto B execute um de seus métodos, envia a este uma mensagem. Algumas vezes, o objeto receptor precisa de mais informação para que saiba exatamente o que deve fazer, de modo que essa informação seja transmitida juntamente com a mensagem por meio de parâmetros. Vamos mais uma vez usar como referência o professor Pedrosa: Objetos se comunicam através de mensagens. Uma mensagem é uma operação que um objeto realiza em outro. Na prática, significa um objeto invocando um método de outro. Objetos devem se comunicar apenas através de mensagens (boa prática). Questão correta. O último período da questão está se referindo a os parâmetros exigidos do método, que são passados na mensagem. 21) (CESPE DETRAN-ES - Analista de Sistemas) De acordo com a programação orientada a objetos, Versão LhugoJr 7
9 por meio da qual o objeto é dividido em métodos e propriedades, ocorre polimorfismo em situações em que apenas os aspectos externos do objeto são visíveis, o que possibilita que as alterações na implementação do programa mantenham a característica física do objeto, sem alterar sua forma e interface. Vamos mais uma vez as definições de encapsulamento, polimorfismo, segundo professor Pedrosa: Encapsulamento - É o mecanismo da OO para esconder os detalhes internos de implementação dos objetos do mundo externo. Polimorfismo - Denota uma situação na qual um objeto pode se comportar de maneiras diferentes ao receber uma mensagem. A questão portanto está errada, ela trocou encapsulamento por polimorfismo. 22) (CESPE MPU - Técnico de Informática) Em uma hierarquia de classes, denomina-se polimorfismo a especialização do comportamento de uma classe em suas subclasses. Questão polêmica. Vamos aos comentários dado pelo professor Pedrosa: "À primeira vista eu também achei que fosse herança. Mas lendo com calma, ele fala da especialização do "comportamento" das classes mães nas classes filhas. Traduzindo: sobrescrita (override) de método, e isso configura polimorfismo dinâmico. Herança seria se ele falasse apenas em especialização da própria classe, como um todo. Neste caso mais genérico, não poderíamos garantir que há polimorfismo, mas apenas herança." Portanto questão correta. Vamos mais uma vez decorar isso para nunca mais errar esta questão. Polimorfismo - especialização do comportamento de uma classe em suas subclasses. 23) (CESPE MPU - Técnico de Informática) Os elementos que compõem uma classe representam a estrutura e o comportamento das instâncias dessa classe. Assim, para atribuir valores a quaisquer atributos, é necessária a instanciação dos objetos da referida classe O erro desta questão está em afirmar que para atribuir valores a QUAISQUER atributos, é necessária a instanciação dos objetos da referida classe. Na verdade temos atributos estáticos onde não é preciso instanciar objetos para atribuir valores. 24) (CESPE ABIN - OFICIAL TÉCNICO DE INTELIGÊNCIA - ÁREA DE SUPORTE A REDE DE DADOS) O princípio de abstração possui dois tipos fundamentais: a abstração de processos, que está diretamente ligada à programação orientada a objetos; e a abstração de dados, relacionada à utilização de subprogramas. Um conceito diretamente relacionado a ambos os tipos de abstração é o encapsulamento, que consiste no fornecimento de serviços bem definidos, sem necessariamente esclarecer como esses serviços são executados. Vamos a definição dos conceitos: Versão LhugoJr 8
10 Abstração de processos, relacionada à utilização de subprogramas. Abstração de dados, está diretamente ligada à programação orientada a objetos. Portanto a questão trocou as definições, questão errada. A segundo parte da questão está correta: Encapsulamento, consiste no fornecimento de serviços bem definidos, sem necessariamente esclarecer como esses serviços são executados 25) (CESPE ABIN - OFICIAL TÉCNICO DE INTELIGÊNCIA - ÁREA DE SUPORTE A REDE DE DADOS) Sobrecarga e sobreposição de métodos são implementações específicas de polimorfismo, já que, em ambos os casos, a decisão sobre o método a ser chamado é realizada em tempo de execução. Talvez essa seja a questão mais polêmica sobre este assunto. Vamos a definição dada pelo professor Pedrosa: Sobreposição ou Sobrescrita (override) / Polimorfismo Dinâmico Acontece na herança, quando a subclasse sobrepõe o método original. O método é escolhido em tempo de execução e não em tempo de compilação (Ligação Dinâmica) A escolha depende do tipo do objeto que recebe a mensagem Sobrecarga (overload) / Polimorfismo estático A mesma operação implementada várias vezes na mesma classe A escolha depende da assinatura dos métodos sobrecarregados Portanto a questão poderia esta errada, porque sobrecarga seria em tempo de compilação. Mas a banca Cespe considerou a questão correta, segue sua justificativa: Sobrecarga é também chamada polimorfismo ad-hoc, e sobreposição é polimorfismo universal. Em ambos os casos, a ligação é dinâmica e feita em tempo de execução. Devido ao exposto, opta-se pela alteração do gabarito de ERRADO para CERTO. Caso essa questão caia de novo deve-se levar em consideração essa questão. 26) (CESPE DETRAN-DF - Analista - Análise de Sistemas) Uma classe ou componente poderá realizar apenas alguns tipos de interfaces. As classes possuem a característica exclusiva de poder participar de relacionamentos de generalização, associação e dependência. A questão erra ao dizer EXCLUSIVA. E também erra ao dizer que classes podem realizar apenas alguns tipos de interfaces. Vamos ao comentário do colega encontrado no QC: Relacionamentos: 1. Entre classes: o Dependência. o Generalização(extends). o Associações: Simples. Versão LhugoJr 9
11 Agregação (parte/todo). Composição (parte/todo com deleção das partes). Entre Classes e Interfaces: o Dependência. o Associação. o Realização (implements). Entre Interfaces: o Generalização(extends). 27) (CESPE Banco da Amazônia - Técnico Científico - Tecnologia da Informação - Análise de Sistemas) Ao se instanciar uma classe, cria-se novo objeto, que contém todas as variáveis definidas na classe. Todas essas variáveis guardam valores individuais para cada objeto Na orientação a objeto existem os atributos estáticos, que são compartilhados entre todos os objetos da classe. Portanto a questão está errada. 3 Coesão e Acoplamento Em breve. Versão LhugoJr 10
Exercícios Comentados UML e Casos de Uso
2012 Exercícios Comentados UML e Casos de Uso LhugoJr Versão 1.0 01/01/2012 Introduça o Vale ressaltar que alguns comentários sobre as questões foram retiradas das seguintes fontes: TECNOLOGIA DA INFORMAÇÃO
DIAGRAMAS DE CLASSE UML
DIAGRAMAS DE CLASSE UML Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Antes de mais nada... Calendário de Reposições Aula 1: 27/10/2017, 8h-10h, Sala 8 Aula 2: A verificar Aula 3: A verificar
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.
Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio
POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos
UEG - Universidade Estadual de Goiás (Câmpus Posse) Disciplina: Análise e Projeto de Sistemas II Turma: 4 Semestre Ano: 2016 Professor: José Ronaldo Leles Júnior O que é? É uma forma de abordar um problema.
Classes e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Curso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br
Curso teórico: Orientação a Objetos Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br Objetivos Conhecer os conceitos fundamentais de orientação a objetos; Aprender a criar e utilizar
Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus
Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis
Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira
Engenharia de Software Aula 10 Representação dos Conceitos de Orientação a Objetos Prof. Me. Rogério Ferreira 2 Roteiro Representação dos Conceitos OO Mensagens Navegabilidade Pacotes Encapsulamento Herança
Requisitos de sistemas
Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento
Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42
Diagrama de Classes Régis Patrick Silva Simão Régis Simão Diagrama de Classes 1/42 Agenda Introdução Objetos Classes Atributos Operações & Métodos Relacionamentos Relacionamento: Associação Nome de Relacionamento
O PARADIGMA ORIENTADO POR OBJETOS
O PARADIGMA ORIENTADO POR OBJETOS A idéia básica do paradigma orientado a objetos é imaginar que programas simulam o mundo real: um mundo povoado de objetos. Dessa maneira, linguagens baseadas nos conceitos
UNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGIA
LPOO - Linguagem de Programação Orientada a Objetos Prof. Msc. Célio R. Castelano Página 1 de 7 Curso Ciência da Computação Professor Célio Ricardo Castelano UNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO
Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs
Programação Orientada a Objetos Professor: André Luis Meneses Silva [email protected] br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância
MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro
MODELAGEM DE SISTEMAS Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Modelagem de Sistemas: A modelagem de um sistema auxilia o analista a entender a funcionalidade
Capítulo 2. Orientação a Objetos
Capítulo 2 Orientação a Objetos Princípios da Orientação a Objetos Os princípios da orientação a objetos afetam todo o processo de desenvolvimento de software: Seres humanos pensam em termos de substantivos
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO Santa Maria, 08 de Novembro de 2013. Contextualização Nas próximas aula iremos começar a modelar e projetar sistemas
Modelagem Orientada a Objeto
UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Modelagem Orientada a Objeto Engenharia de Software 2o. Semestre de
Programação Orientada a Objetos
Curso Profissional de Gestão e Programação de Sistemas Informáticos Disciplina: Programação e Sistemas de Informação Programação Orientada a Objetos Módulos 9/10/11 POO 2016/2017 História A OO surgiu no
Capítulo 5 Modelação do Sistema 1
Capítulo 5 Modelação do Sistema Capítulo 5 Modelação do Sistema 1 Assuntos abordados Modelos de contexto Modelos de interação Modelos estruturais Modelos comportamentais Engenharia orientada a modelos
Introdução ao Java. Prof. Herbert Rausch Fernandes
Introdução ao Java Prof. Herbert Rausch Fernandes Orientação a Objetos Programação Orientada por Objetos: é a construção de sistemas de software como uma coleção estruturada de implementações de tipos
TÉCNICAS DE ORIENTAÇÃO A OBJETOS
TÉCNICAS DE ORIENTAÇÃO A OBJETOS APLICAÇÃO EM: C# E JAVA Sumário INTRODUÇÃO... 4 PARADIGMAS DE PROGRAMAÇÃO... 5 PROGRAMAÇÃO PROCEDURAL... 5 PROGRAMAÇÃO ESTRUTURADA... 5 PROGRAMAÇÃO ORIENTADA A OBJETOS...
Orientação a objetos. Objetos ou Instâncias I
Orientação a objetos Objetos ou Instâncias Métodos ou Mensagens Encapsulamento Classes Variáveis da Classe X Variáveis da Instância Métodos da Classe X Métodos da Instância Relacionamentos Identificando
Orientação a Objetos (OO)
CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 04 APRESENTAÇÃO: Hoje vamos discutir os conceitos de Orientação a Objetos.
Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago
Diagramas de Classes Conceitos Básicos O caso de uso fornece uma perspectiva do sistema de um ponto de vista externo (do ator) Internamente os objetos colaboram para atender às funcionalidades do sistema
Fundamentos de Orientação à objetos
Fundamentos de Orientação à objetos Prof. Gustavo Willam Pereira ENG10082 Programação II Créditos: Prof. Clayton Vieira Fraga Filho Objeto Um objeto, como um substantivo, pode ser uma pessoa, local ou
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE Nickerson Fonseca Ferreira [email protected] O que é?? 2 A UML
Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto
Suporte para Programação Orientada a Objeto Cristiano Lehrer Categoria das Linguagens que Suportam POO Suporte a POO acrescentado a uma linguagem já existente: C++ (também suporta programação procedural
Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão
Sumário Introdução à UML BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Humberto Mossri de Almeida [email protected] Marcelo Nassau Malta [email protected]
Modelo do Mundo Real. Abstração. Interpretação
Modelo do Mundo Real Mundo Real Abstração Interpretação Sistema de Software Modelo Algoritmo Abstração: O modelo precisa capturar apenas as características do mundo real que são importantes para o sistema
Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.
Orientação a Objetos Revisão Conceitos CLASSE CLASSIFICAÇÃO GENERALIZAÇÃO ESPECIALIZAÇÃO HERANÇA INTERFACES POLIMORFISMO SOBRECARGA ENCAPSULAMENTO ABSTRAÇÃO MODULARIZAÇÃO 9 CLASSE Classe é um agrupamento
15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo
DCC / ICEx / UFMG Primeiro Diagrama de Classes Diagrama de Classes Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Professor Aluno matricula Outro Diagrama de Classes Diagrama de Classes Serve de
Modelagem de Sistemas. Análise de Requisitos. Modelagem
Modelagem de Sistemas Teoria Geral de Sistemas TADS 2. Semestre Prof. André Luís Para abordarmos de forma mais profunda os conceitos de Modelagem de Sistemas de Informação, precisamos também falar na Engenharia
Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental
Orientação a Objetos (OO) LPG II - Java Orientação a Objetos (OO) Roberto Vedoato [email protected] Programação Procedimental x Orientada a Objetos Objetivos e Benefícios da Orientação a Objetos
15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos
DCC / ICEx / UFMG Pensar Orientado a Objetos Projeto Orientado a Objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Onde quer que você olhe no mundo real, você vê objetos Pessoas, animais, plantas,
Introdução a UML (Unified Modeling Language)
Introdução a UML (Unified Modeling Language) O que é a UML? Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário
Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios
Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana
Factory Pattern. SISMO - Sistemas e Mobilidade Junho de Departamento de Informática / UFMA
Factory Pattern SISMO - Sistemas e Mobilidade http://www.sismo.deinf.ufma.br Departamento de Informática / UFMA Junho de 2008 Do que vamos tratar? Criação de objetos não é simplesmente usar o operador
Programação Orientada a Objetos
Programação Orientada a Objetos Introdução Alguns conceitos importantes Orientação a Objetos Alguns conceitos importantes Programação Estruturada X Programação OO Classes Objetos Construtores e Destrutores
Conceitos de Programação Orientada a Objetos
Conceitos de Programação Orientada a Objetos [email protected] 80 Por que a Orientação a Objetos? As abstrações podem corresponder às "coisas" do domínio do problema, facilitando o entendimento Esta
27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema:
Modelos de Ciclo de Vida e Metodologias de Software 33) No SCRUM, uma iteração que segue um ciclo (PDCA) e entrega incremento de software pronto é denominada: A) Backlog. B) Sprint. C) Daily scrum. D)
Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos
Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){
MODELAGEM DE SISTEMAS Unidade 4 Modelo de Classes de Projeto. Luiz Leão
Unidade 4 Modelo de Classes de Projeto Luiz Leão [email protected] http://www.luizleao.com Conteúdo Programático Definição da Visibilidade entre Objetos Adição de Operações às Classes de Projeto Adição
Herança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos
e Ligação Dinâmica Programação Orientada a Objetos e Polimorfismo A é a contribuição original do paradigma de programação orientado a objetos Fundamentos chave do paradigma OO: Abstração de Dados A herança
SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS
SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Prof. Dr. Daniel Caetano 2014-1 DISCUSSÃO Visão Geral dos Paradigmas Quais os paradigmas mais comuns? Do que é composto um programa
Unidade IV MODELAGEM DE. Prof. Daniel Arthur Gennari Junior
Unidade IV MODELAGEM DE SISTEMAS DE INFORMAÇÃO Prof. Daniel Arthur Gennari Junior Sobre esta aula Análise Orientada a Objetos Análise, Definição e Especificação de Requisitos Modelagem de Casos de Uso
Levantamento, Análise e Gestão Requisitos. Aula 03
Levantamento, Análise e Gestão Requisitos Aula 03 Agenda Paradigma da Orientação a Objetos Classes e objetos Abstração Encapsulamento Herança e polimorfismo Associação de objetos Coesão e acoplamento Levantamento
Análise de Sistemas 4º Bimestre (material 3)
Análise de Sistemas 4º Bimestre (material 3) Permite a visualização das classes que irão compor o sistema com seus respectivos atributos e métodos, bem como demonstrar como elas se relacionam, complementam
UML (Unified Modelling Language)
UML (Unified Modelling Language) Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide
Definição. Em POO, a abstração é o processo de esconder os detalhes de implementação de uma aplicação.
Abstração JAVA Definição Em POO, a abstração é o processo de esconder os detalhes de implementação de uma aplicação. Em Java, a abstração é alcançada através de classes abstratas e interfaces. Classes
Análise. Orientada a Objetos Modelo Funcional, Modelo Estrutural e Modelo Comportamental. Linguagens: Java, C++, etc.
Análise Estruturada Modelo Essencial ou Lógico constitui-se de dois sub-modelos (Modelo Ambiental e Modelo Comportamental) e um Dicionário de Dados. Linguagens: Fortran, Cobol, C, etc. Orientada a Objetos
UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos
UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos [email protected] Roteiro A importância da UML para projetar sistemas. Principais características do diagrama de classes e de sequência.
Análise de Sistemas 3º Bimestre (material 2)
Análise de Sistemas 3º Bimestre (material 2) Professor: José Ronaldo Leles Júnior Turma: 2º ano do curso de Sistemas de Informação UEG Universidade Estadual de Goiás Campus Posse POO Paradigma Orientado
Linguagem de Programação III
Linguagem de Programação III Aula-7 Reutilização de Classes Prof. Esbel Tomás Valero Orellana Até Aqui Introdução a POO e sua implementação em Java Atributos, métodos e encapsulamento dos mesmos Trabalhando
Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes
Engenharia de Software Aula 09 Tópicos da Aula Projeto de Software Revisão de orientação a objetos Projeto orientado a objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 04
Análise Orientada a Objetos. Análise Orientada a Objetos; O Paradigma de Objetos; A UML.
ESPECIALIZAÇÃO EM GESTÃO DE TECNOLOGIAS DA INFORMAÇÃO Análise Orientada a Objetos AULA 03 Análise Orientada a Objetos; O Paradigma de Objetos; A UML. Prof. Sandrerley R. Pires Goiânia, agosto de 2003 Conceitos
Visões Arquiteturais. Visões Arquiteturais
Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade
AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.
AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos
Notas de Aula 03: Introdução a Orientação a Objetos e a UML
Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas
Introdução à Análise e Projeto de Sistemas
Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise
Polimorfismo. O que é polimorfismo?
O que é polimorfismo? Polimorfismo Significa que variáveis podem referenciar mais do que um tipo. Não é um conceito novo e várias linguagens de programação aplicam. Funções são polimórficas quando seus
Como Modelar com UML 2
Ricardo Pereira e Silva Como Modelar com UML 2 Visual Books Sumário Prefácio... 13 1 Introdução à Modelagem Orientada a Objetos... 17 1.1 Análise e Projeto Orientados a Objetos... 18 1.2 Requisitos para
Programação Java (nível intermediário) 4. Polimorfismo
Programação Java (nível intermediário) 4 Polimorfismo Introdução Uma linguagem orientada a objetos nos permite definir novos tipos para variáveis Nós definimos um novo tipo através de uma classe Este tipo
Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )
ELEMENTOS BÁSICOS DA LINGUAGEM JAVA Patricia Della Méa Plentz INE-CTC-UFSC E-Mail: [email protected] URL: http://moodle.ufsc.br INE5605-Turma 0238B Sumário 2.1 Classes e Objetos na POO 2.2 2 Revisão da
Conceitos de Programação Orientada a Objetos
Conceitos de Programação Orientada a Objetos Tatyana Bitencourt Com as técnicas de orientação a objeto, é possível obter resultados considerados impossíveis pensando de maneira estruturada. Como Java não
Classe Abstrata e Interface
Orientação a objetos com Java Classe Abstrata e Interface Byron Leite [email protected] 1 Herança Agenda Geral Parte 04 Encapsulamento Pacotes Modificadores de Acesso private, default, protected, public
UML. Diagrama de Classe
UML Diagrama de Classe Em UML as classes são representadas por um retângulo dividido em três compartimentos: o compartimento de nome, que conterá apenas o nome da classe modelada, o de atributos, que possuirá
Diagramas. Abordaremos agora cada um destes tipos de diagrama: 1. Diagrama Use-Case. 2. Diagrama de Colaboração. 3. Diagrama de Sequência
Diagramas Os diagramas utilizados pela UML são compostos de nove tipos: diagrama de use case, de classes, de objecto, de estado, de sequência, de colaboração, de actividade, de componente e o de instalação/execução.
Daniel Wildt
Orientação a Objetos 1 Daniel Wildt http://danielwildt.blogspot.com Agenda 2 Orientação a Objetos Classe x Objeto Representação classe Atributos / operações Construtores e Destrutores Liberando memória
Aula 2 Princípios Básicos da Orientação a Objetos (Parte II)
Aula 2 Princípios Básicos da Orientação a Objetos (Parte II) Introdução à Programação Orientada a Objetos Prof. Mayk Choji UniSALESIANO Araçatuba 12 de agosto de 2016 Sumário 1. Métodos 2. Mensagens 3.
Programação por Objectos. Java
Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/50 Herança revisão (1) A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse
RUP Unified Process. Profª Jocelma Rios
RUP Unified Process Profª Jocelma Rios Nov/2012 O que pretendemos: Reforçar os aspectos que caracterizam o processo iterativo e incremental Identificar como atingir os objetivos dos projetos de software
Linguagem de Programação I Apresentação da Disciplina
Linguagem de Programação I Apresentação da Disciplina Apresentação da Disciplina Conteúdo: 1) Orientação a Objetos - Características da OO - Reutilização de código 2) Introdução à Linguagem Java - Histórico
AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos
Câmpus Santa Helena Curso: Ciência da Computação Disciplina: Programação Orientada a Objetos AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos Tema
Programação Orientada a Objectos - P. Prata, P. Fazendeiro
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos
Programação para Games II Professor Ariel da Silva Dias Orientação a Objetos Pacotes Pacotes são um modo de organizar classes e interfaces Um programa pode ser formado por centenas de classes individiduais;
Modelagem de Classes. Mestrado em Engenharia de Produção e Sistemas Computacionais. Profa. Adriana Pereira de Medeiros
Modelagem de Classes Mestrado em Engenharia de Produção e Sistemas Computacionais Profa. Adriana Pereira de Medeiros [email protected] Resumo Introdução Conceitos em Orientação a Objetos Diagrama
Java para Desktop. Programação Orientada à Objetos 2 JSE
Java para Desktop Programação Orientada à Objetos 2 JSE Encapsulamento significa "ocultar informações, ele define que cada objeto contém todos os detalhes de implementação necessários sobre como ele funciona
Desenvolvimento de Aplicações Desktop
Desenvolvimento de Aplicações Desktop Conceitos Básicos de POO Professor: Charles Leite Motivação Na Programação OO, um OBJETO é considerado a entidade central de um programa Assim, o desenvolvimento de
Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli
Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; Tudo no mundo real pode ser representado por meio do conceito de "objeto": uma planta, uma mesa, uma pessoa, um sentimento,
Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces
Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Professora Sheila Cáceres Polimorfismo Polimorfismo Polimorfismo é a característica única de linguagens orientadas
CONCEITOS BÁSICOS E MODELO DE PROJETO
CONCEITOS BÁSICOS E MODELO DE PROJETO Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Na aula passada... Abstração Arquitetura Padrões de Projeto Separação por interesses (por afinidades) Modularidade
9 Classes Abstractas e Interfaces
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo
Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula
