Baixe o app para aproveitar ainda mais
Prévia do material em texto
Projeto Orientado a Objetos Unidade 4 – Tecnologias para projetos orientado a objetos Seção 1 – Linguagens de programação 1.1 – Linguagens orientadas a objeto Mesmo paradigma, inclusive a linguagem de programação; Objetos para construir programas de computador; Deve implementar a abstração de dados, possuir tipos de dados derivados de classes e lidar com o conceito de herança; Deve atender aos requisitos estabelecidos na fase de análise. Padrões de projeto 1) documentar boas soluções para problemas, reutilizarem problemas semelhantes; (nível de estrutura das classes) 2) nomear padrões; Paradigma da orientação a objetos > padrão. 1.3 – Estrutura de um padrão Descritos com informações mínimas relativas à estrutura de classes; Devem incluir uma descrição ao problema resolvido. Nome > descrever o padrão de maneira conveniente; Descrição > descreve o problema a ser solucionado; Consequências > prevê resultados e compensações. 1.4 - Singleton Muitas vezes é necessário que em um programa um objeto derivado de uma classe deva possuir uma única instância; Assegura a criação única desta instância e fornece acesso unificado a ela; Ex: Em Java > construtor privado > não pode ser acessado fora da classe. 1.5 – Outros tipos de padrão de objeto MVC (Model-View-Cotroller) > Java e .NET > baseado em camadas > lógica do negócio resida entre três camadas físicas; M > dados de aplicação e regras de negócio > acessar as funcionalidades da aplicação; V > renderiza o conteúdo de uma parte particular do modelo e encaminha para o controlador as ações do usuário; C > define o comportamento da aplicação, interpretando as ações do usuário mapeando-as para chamadas do modelo. Atividades de aprendizagem Na fase de implementação de um projeto orientado a objetos as linguagens de programação aplicadas nesta etapa devem: Obrigatoriamente ser orientadas a objetos “puras”. Possuir todas as outras características além de abstração de dados, definir tipos de objetos e carregar o conceito da herança. Possuir mecanismos de conversão para outros paradigmas. Possuir ao menos as características de abstração de dados e definir tipos de objetos e carregar o conceito da herança. Ser compatíveis somente com sistemas de banco de dados também orientado a objetos. O padrão de projeto Singleton é usado para restringir: Classes de atributos complexos. Relações entre classes e objetos. A instanciação de uma classe para apenas um objeto. A instanciação de classes concretas. A quantidade de classes do programa. Seção 2 – Modelagem de dados Usada em aplicações de banco de dados; Objetos de dados > relacionam-se uns com os outros; Objeto de dados > tabela > título da tabela > atributos. 2.2 – Mapeamento objeto-relacional 2.3 – Mapeamento para classes relacionadas por generalização Completa e disjuntiva > classes filhas definidas; Completa e há sobreposição; Incompleta. 2.4 - Frameworks Necessidade de utilizar códigos previamente construídos; Padrões de projetos; Componentes utilizáveis; Linguagem Java: Hibernate: transformação da classe em Java para tabelas de dados > SQL; Spring MVC: implementação para padrões de inversão de controle > injeção de dependência. Atividades de aprendizagem O mapeamento objeto-relacional é um mecanismo utilizado para permitir a utilização de banco de dados relacionais em conjunto com linguagens de programação orientadas a objetos. O objetivo principal deste mecanismo é: Mudar o paradigma relacional dos sistemas de banco de dados para o paradigma OO. Realizar uma relação direta entre classes e entidades. Incluir uma camada extra de programação para traduzir todos os objetos da programação OO em objetos relacionais. Diminuir a impedância da programação orientada a objetos e permitir a utilização do banco de dados relacional Incluir uma camada extra de programação para traduzir todos os objetos relacionais em objetos da programação OO. Framework pode ser definido como: Uma especificação de requisitos de um sistema. Um armazenamento persistente de informações sobre itens de dados encontrados em um diagrama de classes. Uma combinação de componentes que simplifica a construção de aplicações e pode ser conectada em uma aplicação. Um conceito abstrato que deve ser implementado através de alguma linguagem de programação. Uma descrição dos principais recursos de um produto de software. Seção 3 – Arquitetura de software 3.1 - Projeto de arquitetura Organização do sistema quanto a sua estrutura geral; Primeiro estágio no processo de projeto de software; Componentes individuais > requisitos funcionais do sistema; Requisitos não funcionais > dependem da arquitetura do sistema; Influência dominante; 3.2 – Decisões de projeto de arquitetura Desempenho; Proteção; Segurança; Disponibilidade; Manutenção. 3.3. – Padrões de arquitetura 3.4 – Arquitetura em camadas 3.5 – Arquitetura cliente-servidor Atividades de aprendizagem (Fundação La Salle, 2017, SUSEPE-RS, Agente Penitenciário) O modelo cliente/servidor é bastante utilizado tanto no contexto da intranet, quanto do acesso à internet nas empresas. Sobre este modelo, analise as assertivas: I - É um modelo composto por, pelo menos, dois equipamentos interligados em rede. II- O cliente envia a solicitação ao servidor que executa o que foi solicitado ou procura a informação solicitada e retorna ao cliente. III - O servidor é sempre responsável por iniciar uma comunicação, sendo que o cliente trabalha de forma reativa, respondendo às requisições do servidor. Apenas I. Apenas III. Apenas I e II. Apenas II e III. I, II e III. (CESPE, 2016, TRE-PE, Técnico Judiciário – Operação de Computadores) Tendo em vista que a arquitetura cliente-servidor pode ser modelada em três camadas, apresentação, domínio e fonte de dados, assinale a opção correta: Na arquitetura em questão, a ligação entre a camada de apresentação e a de armazenamento de dados não é realizada de forma direta. A camada de apresentação trata da interação entre o usuário e o software, como uma interface gráfica em um navegador. A solicitação dos usuários pode ser tratada pela camada de apresentação ou pela camada de domínio, como, requisições HTTP e chamadas em linhas de comando, respectivamente. Traduzir comandos do usuário em ações sobre o domínio é uma função de fontes de dados. A lógica de negócio está mais bem relacionada à camada de fonte de dados do que à de domínio. (COPESE - UFPI, 2017, UFPI, Analista de Tecnologia da Informação) O conceito de programação orientada a objeto foi amplamente difundido a partir da evolução da linguagem de programação Smalltalk, em sua versão 80. Sobre o paradigma de programação orientada a objetos, assinale a opção INCORRETA. Os tipos de dados abstratos em linguagens orientadas a objeto usualmente são chamados de classes. Uma classe definida pela herança de outra é comumente chamada de classe derivada ou subclasse. Uma mensagem consiste de uma chamada a um objeto para invocar um de seus métodos. Toda e qualquer linguagem orientada a objetos suporta encapsulamento e herança múltipla. O polimorfismo é definido como o uso de um ponteiro ou referência polimórfica, para acessar um método cujo nome é sobreposto na hierarquia de classes. (FGV, 2011, SEFAZ-RJ, Auditor Fiscal da Receita Estadual) Para que um sistema de informação possa ser útil e confiável, deve ser fundamentado na modelagem de dados, para posterior análise do processo. A modelagem de dados se baseia nos seguintes elementos: Fluxos de dados, atributos e requisitos. Fluxos de dados, diagramas e requisitos. Classes de dados, métodos e componentes. (COPESE - UFPI, 2017, UFPI, Analista de Tecnologia da Informação) O conceito de programação orientada a objeto foi amplamente difundido a partir da evolução da linguagem de programação Smalltalk, em sua versão 80. Sobre o paradigma de programação orientada a objetos, assinale a opção INCORRETA.Os tipos de dados abstratos em linguagens orientadas a objeto usualmente são chamados de classes. Uma classe definida pela herança de outra é comumente chamada de classe derivada ou subclasse. Uma mensagem consiste de uma chamada a um objeto para invocar um de seus métodos. Toda e qualquer linguagem orientada a objetos suporta encapsulamento e herança múltipla. O polimorfismo é definido como o uso de um ponteiro ou referência polimórfica, para acessar um método cujo nome é sobreposto na hierarquia de classes. (COPESE - UFPI, 2017, UFPI, Analista de Tecnologia da Informação) O conceito de programação orientada a objeto foi amplamente difundido a partir da evolução da linguagem de programação Smalltalk, em sua versão 80. Sobre o paradigma de programação orientada a objetos, assinale a opção INCORRETA. Os tipos de dados abstratos em linguagens orientadas a objeto usualmente são chamados de classes. Uma classe definida pela herança de outra é comumente chamada de classe derivada ou subclasse. Uma mensagem consiste de uma chamada a um objeto para invocar um de seus métodos. Toda e qualquer linguagem orientada a objetos suporta encapsulamento e herança múltipla. O polimorfismo é definido como o uso de um ponteiro ou referência polimórfica, para acessar um método cujo nome é sobreposto na hierarquia de classes. (COPESE - UFPI, 2017, UFPI, Analista de Tecnologia da Informação) O conceito de programação orientada a objeto foi amplamente difundido a partir da evolução da linguagem de programação Smalltalk, em sua versão 80. Sobre o paradigma de programação orientada a objetos, assinale a opção INCORRETA. Os tipos de dados abstratos em linguagens orientadas a objeto usualmente são chamados de classes. Uma classe definida pela herança de outra é comumente chamada de classe derivada ou subclasse. Uma mensagem consiste de uma chamada a um objeto para invocar um de seus métodos. Toda e qualquer linguagem orientada a objetos suporta encapsulamento e herança múltipla. O polimorfismo é definido como o uso de um ponteiro ou referência polimórfica, para acessar um método cujo nome é sobreposto na hierarquia de classes.
Compartilhar