Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
EA976 - Segunda Prova - 14/11/2007 SEM CONSULTA Questões de igual valor Nome: __________________________________________ RA: ____________ Questão 1: É valido para sistemas de grande porte adotar diferentes modelos estruturais e de controle para seus subsistemas? Forneça argumentos que justifiquem sua resposta. Sim é valido pois diferentes subsistemas podem impor diferentes restrições de projeto que demandam diferentes modelos estruturais e de controle. Por exemplo, um subsistema que integra vários módulos por meio de dados compartilhados pode adotar o modelo de repositório, enquanto outro subsistema utiliza o modelo de máquina abstrata para implementar interfaces gráficas. Questão 2: É possível considerar arquiteturas de objetos distribuídos como casos particulares de arquiteturas cliente-servidor? Justifique. Possíveis respostas: 1. Sim, se considerarmos que os objetos distribuídos assumem papeis definidos de cliente ou de servidor. 2. Sim, se considerarmos objetos distribuídos como servidores e seus métodos como serviços. 3. Não, pois objetos distribuídos não devem assumir papeis distintos. Questão 3: O que você entende por middleware? Middleware é uma infra-estrutura de software que oferece um conjunto de funcionalidades (serviços) para as aplicações, por exemplo, comunicação, transação, segurança e persistência. O Middleware é análogo a um “barramento de software”. Questão 4: Em termos de reuso, o que efetivamente se reutiliza no caso de objetos, componentes de software e padrões de projeto? Objetos: reutiliza-se uma única classe que pode ser customizada por herança. Componentes: reutiliza-se um conjunto de classes que podem ser customizadas por configuração. Padrões de projeto: reutiliza-se um conjunto de classes que implementam um padrão de interação e podem ser customizadas por herança. Questão 5: Como você combinaria um modelo de máquina de estado e um modelo de controle dirigido por interrupções no projeto de um sistema de tempo real? Possíveis respostas: 1. Cara rotina tratadora de interrupção é especificada por meio de uma máquina de transição de estado. 2. Cada estado possui uma transição que é ativada quando ocorre uma interrupção. Esta transição desvia o fluxo de execução para uma submáquina responsável pelo tratamento de interrupção. Após o tratamento, o fluxo retorna para o estado no qual ocorreu a interrupção (registro de estado). Questão 6: Cite três classes de defeitos e dois exemplos de defeitos de cada classe que podem ser identificados durante a fase de inspeções de software. Figuras 19.7 e 19.8 do livro texto (6a edição). Questão 7: Por que o projeto orientado a objeto facilita o teste de software? No projeto orientado a objetos, casos de teste podem ser derivados diretamente dos diagramas de caso de uso e robustez. Questão 8: O que você entende por gerenciamento de configuração? O gerenciamento de configuração é o desenvolvimento e a aplicação de padrões e procedimentos para gerenciar software em desenvolvimento. Compreende 4 atividades: planejamento e gerenciamento de configuração, gerenciamento de mudanças, gerenciamento de versões e releases, construção de sistemas.