Criado por Raphael Luiz Fonseca
aproximadamente 10 anos atrás
|
||
Questão | Responda |
- O sistema é uma coletânea de objetos que integram entre si, com características próprias representadas por dados(atributos) e operações(métodos) | Enfoque OO |
- É a representação de qualquer coisa que você queira modelar em um programa | Objeto |
- Propriedade do objeto que distingue de todos os outros objetos | Componentes do Objeto - Identidade |
- Reflete os valores correntes dos atributos do objeto em determinado momento | Componentes do Objeto - Estado |
- Como o objeto reage em termos de mudança de estado e troca de mensagens - Conjunto de atividades externamente observáveis do objeto | Componentes do Objeto - Comportamento |
- Podem ser pensadas como templates ou "moldes" para objetos - Consistem em um conjunto de objetos do mesmo tipo, com as mesmas características. | Classes |
- Características pertencentes a todos objetos da classe - Armazenam informações sobre o ESTADO dos objetos | Componentes da Classe - Propriedade |
- Funções ou serviços oferecidos pela classe - Metodos usados para implementar o comportamento dos objetos | Componentes da Classe - Operações (Métodos) |
- É o mecanismo do OO para esconder os detalhes internos de implementação dos objetos do mundo externo - Diminuição de acoplamento | Encapsulamento |
- É o mecanismo da OO que permite criar novas classes a partir de classes já existentes, reutilizando seus atributos e comportamentos | Herança |
- É uma operação que um objeto realiza em outro - Um objeto invocando um método de outro objeto | Mensagens |
- A mesma operação implementada várias vezes na mesma classe - A escolha DEPENDE da assinatura dos métodos sobrecarregados | Polimorfismo Estático ou de Sobrecarga (Overload) |
- Acontece na herança, quando a subclasse sobrepõe o método original - O método é escolhido em tempo de EXECUÇÃO - A escolha depende do TIPO DE OBJETO que recebe a mensagem | Polimorfismo Dinâmico/Sobreposição/Sobrescrita/Override |
- Representa as classes no domínio do negócio em questão. - Não leva em consideração restrições inerentes à tecnologia específica a ser utilizada na solução de um problema | Model de Classes de Análise |
- Obtido através da adição de detalhes ao modelo anterior, confome a solução de software | Modelo de Classes de Especificação |
- Implementação das classes em alguma linguagem de programação | Modelo de Classe de Implementação |
- Utilizadas para modelar a interação entre o ator e o sistema - Para cada ator é identificado pelo menos uma classe de fronteira - Dependem do ambiente (visão) | Classes de Fronteira |
- Objetos responsáveis por controlar a lógica de execução correspondente a cada caso de uso. | Classes de Controle |
- Representam a informação que é manipulada ou processada pelo caso de uso - Vêm do domínio de negócio - Normalmente armazenam informações persistentes | Classes de Entidade |
Image:
Capturar.JPG (image/JPG)
|
Análise X Projeto |
- É um relacionamento entre um elemento mais geral e um elemento mais específico | Generalização (Herança) |
- Permite criar novas classes a partir de classes existentes | Herança Simples |
- Uma classe pode herdar de várias outras classes - Java NÃO suporta | Herança Múltipla |
- Indica que outros subtipos podem ser adicionados no futuro. É o padrão | Herança Incompleta |
- Indica que todas as subclasses foram especificadas e que não é possível realizar mais sub-classificações | Herança Completa |
- Significa que as classes não podem ser especializadas em uma suclasse comum, isto é, não é possível haver herança múltipla. | Herança Disjunta |
- É o contrário de disjoint, isto é, as subclasses podem herdar de mais de uma superclasse. | Herança Sobreposta ( Overlapping ) |
- É utilizada para organizar uma hierarquia de generalização - Permite que um conjunto de subclasses tenham o mesmo comportamento - Não é projetada para receber instâncias - Representada como nome em ITÁLICO | Classe Abstrata |
- Define um conjunto de comportamentos(operações) oferecido para uma classe ou componente - É dito que as classes REALIZAM interfaces | Interface |
- É uma organização ou a estrutura dos componentes significativos do sistema que interagem por meio de interfaces - Importante para comunicação entre os stakeholders - Para decisões de projeto tempestivos - Abstração "transferível" de um sistema | Arquitetura de Software |
- BAIXO ACOPLAMENTO E - ALTA COESÃO | Uma boa arquitetura deve ter: |
- É o grau de dependência de um determinado módulo de programa em relação a outros módulos - Acoplamento forte entre classes significa que elas precisam conhecer detalhes internos umas das outras | Acoplamento |
- É a medida do quão fortemente relacionadas são as responsabilidades de um módulo - Classes com a menor complexidade possível - Com responsabilidades definidas - Não executem um grande volume de trabalho | Coesão |
- Separação de responsabilidades - Decomposição de complexidade - Encapsulamento de implementação - Maior Reuso e Extensibilidade | Arquitetura em Camadas - Vantagens |
- Podem penalizar a performance do sistema - Aumento do esforço e complexidade de desenvolvimento | Arquitetura em Camadas - Desvantagens |
- Programas e dados armazenados em uma única grande máquina | Arquitetura Monolítica |
- Aplicação rodava na máquina cliente que interagia com um SGBD (servidor de dados). - Na máquina cliente, continha toda a lógica de apresentação, negócio e acesso a dados. | Arquitetura em Duas Camadas (two-tier) |
- Para minimar o impacto de mudanças nas aplicações, decidiu-se separar a camada de negócio da camada de interface gráfica. | Arquitetura em Três Camadas ( Three-tier ) |
- As classes de fronteira se localiza aqui - É altamente dependente de ambiente - HTML, JavaScript, CSS, JSP, Applet - Windows/Linux -Menus baseados em texto - É uma arquitetura LINEAR | Arquitetura em Três Camadas - Apresentação |
- Coordena a aplicação, processa comandos, toma decisões lógicas, faz avaliações e implementa as regras de negócio - É inerente ao domínio da aplicação - Vários protocolos podem ser utilizados para ligar esta camada às outras duas - Socket, HTTP, TCP/IP - JDBC, LDAP. ODBC | Arquitetura em Três Camadas - Lógica de Negócio |
- Contém o código responsável por armazenar e recuperar dados de uma base de dados ou sistema de arquivos - Normalmente há uma sub-camada(interface) dentro desta camada que abstrai o mecanismo de persistência - DAO (Data Acess Object) | Arquitetura em Três Camadas - Acesso a Dados |
É a camada de interface com o usuário - Responsável por receber a entrada de dados e apresentar resultados - Apenas exibe a informação - Inclui elementos de exibição no cliente, como: HTML, XML, ASP, APPLETS - Pode requerer DIRETAMENTE da camada de MODELO | MVC - Camada de Visão |
- Responsável por controlar e mapear as ações do usuário, fazendo o papel de intermediário entre a camada de Visão e de Modelo - Atualiza o Modelo - Seleciona a Visão | MVC - Camada de Controle |
- Responsável por modelar os dados e o comportamento por trás de REGRAS DE NEGÓCIO - Se preocupa com o armazenamento, manipulação e geração de dados. | MVC - Camada de Modelo |
- Principal padrão de arquitetura em três camadas utilizada no mercado - É uma arquitetura TRIANGULAR | MVC ( Model View Controller ) |
- Número e nome das camadas variam - No mínimo, costuma-se ter três camadas (pequenos volumes). Mas pode haver "N" camadas, dependendo da necessidade. | Arquitetura WEB |
Quer criar seus próprios Flashcards gratuitos com GoConqr? Saiba mais.