Questões de Concurso Público IPEA 2008 para Analista de Sistemas - Suporte de Banco de Dados
Foram encontradas 70 questões
Na engenharia de requisitos, a construção de protótipos pode ajudar na descoberta e na validação de requisitos não-funcionais. Os protótipos podem ser úteis durante o projeto das interfaces com os usuários e podem ser descartáveis, caso em que não são mantidos durante toda vida do sistema
Entre as características de alguns métodos ágeis de desenvolvimento de software, inclui-se ênfase na construção de modelos e na especificação detalhada do sistema e desenvolvimento em incrementos, processo no qual os clientes têm reduzida participação.
Há métodos ágeis de desenvolvimento que empregam as práticas de programação em pares e teste de unidade. A programação em pares apóia a idéia de que o código é propriedade da equipe como um todo, tipicamente dificulta a refatoração (refactoring) e atua como um processo informal de revisão de código. Em relação aos testes de unidade, há métodos ágeis nos quais testes de unidade são escritos antes do código a ser testado.
A análise orientada a objetos, o projeto orientado a objetos e a programação orientada a objetos compreendem atividades de engenharia de software voltadas à construção de sistemas orientados a objetos. Nesses sistemas, objetos interagem para prover serviços. No nível de programação, as interações ocorrem via interfaces das classes das quais os objetos são instâncias. Essas interfaces contêm membros públicos das classes.
No modelo em cascata de processo de desenvolvimento, os clientes devem definir os requisitos apenas durante a fase de projeto; e os projetistas definem as estratégias de projeto apenas durante a fase de implementação. As fases do ciclo de vida envolvem definição de requisitos, projeto, implementação, teste, integração, operação e manutenção. Em cada fase do ciclo de vida, podem ser produzidos diversos artefatos.
No modelo de processo de desenvolvimento embasado em entrega incremental, tem-se que o sistema é desenvolvido como uma série de incrementos, sendo que cada incremento provê um conjunto de funcionalidades. É fácil identificar os recursos que são comuns aos incrementos, pois todos os requisitos precisam ser detalhados quando do início do desenvolvimento.
O teste de caminho é uma abordagem estrutural para o projeto de testes em que podem ser usados fluxogramas. Essa abordagem de projeto pode ser empregada quando do projeto de testes de unidade. Em sistemas de software orientados a objetos, os testes de classes podem ser estruturais.
Os testes de integração verificam se os componentes do sistema funcionam em conjunto, se os componentes são chamados corretamente e se os componentes transferem dados corretos via suas interfaces. Nesses testes, os componentes são testados interligados; podem ser necessários drivers e stubs para simular componentes ainda não implementados; e, em sistemas de software orientados a objeto, os stubs podem ser classes.
As seguintes responsabilidades são típicas dos stubs usados nos testes dos softwares orientados a objeto: criar um objeto da classe em teste; interligar o objeto em teste a outros objetos necessários ao teste; levar o objeto em teste a um estado inicial; enviar seqüências de mensagens para o objeto em teste; coletar respostas do objeto em teste; avaliar as respostas providas pelo objeto em teste
Nos modelos entidade-relacionamento, para uma dada entidade, cada atributo multivalorado pode ter mais de um valor, enquanto cada atributo monovalorado tem um único valor; cada atributo composto pode ser dividido em partes menores; os atributos derivados podem ser calculados a partir de outros atributos; os tipos entidade fraca têm seus próprios atributos-chave.
Nos modelos entidade-relacionamento, o número de entidades que podem participar de um relacionamento é o grau desse tipo de relacionamento. A restrição de cardinalidade mínima é o número mínimo de instâncias de relacionamento em que cada entidade pode participar. Em um tipo relacionamento M:N, pode haver atributos que não são determinados por uma entidade única, mas pela combinação das entidades participantes de uma instância desse relacionamento.
No modelo entidade-relacionamento estendido, a especialização é o processo de definir um conjunto de subclasses de um tipo entidade chamado superclasse da especialização. O processo de especialização permite estabelecer atributos específicos adicionais para cada subclasse; uma entidade membro de uma subclasse herda atributos da superclasse e relacionamentos nos quais a superclasse participa.
Na modelagem orientada a objeto, os sistemas de software são compostos por objetos que interagem e podem manter estado durante tais interações. As operações públicas de um objeto podem fornecer serviços a outros objetos; em uma comunicação síncrona, o objeto que solicita o serviço pode continuar executando enquanto o serviço é prestado; cada associação entre classes descreve ligações entre objetos dessas classes, as ligações têm estrutura e semântica em comum.
Na modelagem orientada a objeto, o valor de um atributo de classe é comum aos objetos dessa classe; a multiplicidade de um atributo informa a quantidade de valores para o atributo; o domínio de um atributo define os possíveis valores do atributo. Nos modelos de análise, é relevante identificar quais classes são concretas e quais são abstratas; nos modelos de projeto, essa distinção não é feita por ser irrelevante.
Há sistemas operacionais nos quais os blocos de controle dos processos (PCBs) são mantidos em listas associadas aos estados dos processos. Além disso, quando o escalonador do processador precisa escolher um processo para por em execução, escolhe-se um processo em uma das listas de processos bloqueados.
O algoritmo de escalonamento round-robin (RR) pode ser empregado nos sistemas operacionais com múltiplas filas de processos prontos. Nesse caso, pode ser usado tanto como algoritmo de escalonamento de determinadas filas, como também entre filas. Para o escalonamento entre filas, uma outra alternativa é utilizar um algoritmo preemptivo embasado em prioridades, nesse caso, cada fila pode ter uma prioridade.
Em um sistema de gerência de memória virtual, pode ser empregado um algoritmo de substituição de páginas global ou local. Quando é empregado um algoritmo local, para um processo, pode ser selecionado um quadro (frame) de outro processo. Portanto, um processo não controla a sua taxa de falta de páginas, pois o seu conjunto de páginas na memória depende de outros processos. Um algoritmo de substituição local tipicamente apresenta maior throughput que um de substituição global
Há sistemas operacionais em que, para uma partição se tornar disponível no espaço de nomes do sistema de arquivos, precisa ser montada (mount). Quando da montagem, tipicamente, são usados o nome do dispositivo e a localização na estrutura de arquivos onde deve ser atrelado o sistema de arquivos (mount point). Uma vez montado um sistema de arquivos, as informações necessárias podem ser armazenadas em uma tabela (mount table) na memória principal.
Os protocolos de comunicação podem ser organizados em hierarquias compostas por camadas, em que cada camada oferece serviços para a camada acima. A um conjunto de camadas, pode ser dado o nome de pilha de protocolos. Em uma pilha, tipicamente, a camada mais inferior é a física e uma camada intermediária é a de transporte, que fornece um serviço de comunicação entre pares de portas ligadas a processos.
A comutação de pacotes é uma forma de comutação empregada em algumas redes de computadores. Nessa forma de comutação, os dados das aplicações são transmitidos em pacotes contendo, além dos dados de aplicações, dados de controle. Ao longo de uma rota, o pacote é recebido, temporariamente armazenado e transmitido para o próximo nó. A transmissão dos pacotes pode seguir uma abordagem com base em datagramas ou circuito virtual