Prévia do material em texto
Arquitetura de sistemas Aula 1 1a Questão De acordo como processo de desenvolvimento baseado em componentes, analise as assertivas e assinale a alternativa que aponta a(s) correta(s). I - Desenvolvimento de arquiteturas complexas a partir de unidades bem especificadas e testadas. II - Tem como foco na decomposição da estrutura da funcionalidade individual ou componente lógico dele expondo bem definido a interface de comunicação contendo seus métodos, eventos e propriedades. III - Componentes podem ser objetos, conjunto de objetos, sistemas ou qualquer implementação que seja dependente e autossuficiente. Somente III é verdadeira I e III são verdadeiras Somente II é verdadeira. I e II são verdadeiras Somente I é verdadeira. Explicação: A Terceira afirmativa está errada, uma vez que são independentes e não dependentes. 2a Questão Em relação aos níveis de modelo, descubra qual modelo que representa os componentes de softwares utilizados. Modelo Conceitual Modelo de Especificação Modelo de Implementação Modelo de Implantação Modelo de Projeto Explicação: Os níveis de modelos são: Implementação, Especificação e Conceitual. O modelo de implementação informa os detalhes de implementação que devem estar presentes dentro dos códigos. Já o modelo conceitual é independente do tipo de software ou de tecnologia, e representa o problema a ser resolvido. 3a Questão São características principais encontradas na Arquitetura em Camadas Os dados são gerados por um componente e consumidos pelos outros Dependem de uma infraestrutura de comunicação para implementação Um repositório central de dados Cada camada depende exclusivamente dos serviços providos pela camada inferior Separação e independência das camadas Explicação: No modelo em camadas, a lógica de apresentação esta separada em sua própria camada lógica e física. A separação em camadas lógicas torna os sistemas mais flexíveis, permitindo que as partes possam ser alteradas de forma independente. As funcionalidades da camada de negócio podem ser divididas em classes e essas classes podem ser agrupadas em pacotes ou componentes, reduzindo as dependências entre as classes e pacotes; podem ser reutilizadas por diferentes partes do aplicativo e até por aplicativos diferentes. O modelo de 3 camadas tornou-se a arquitetura padrão para sistemas corporativos com base na Web. 4a Questão Sobre Componentes de Software, a alternativa INCORRETA é: Um componente de software não é um elemento independente, sendo assim não pode ser substituído nenhuma das anteriores Um componente não é necessariamente uma tecnologia implementada especificamente e nem a aplicação, mas um dispositivo de software que possua uma interface bem definida O conceito de componente de software é definido como uma abstração para construção de sistemas que pode ser adaptada sobre diversos paradigmas diferentes Componente de software pode ser definido como uma unidade de composição com interfaces bem definidas e dependências de contexto explícitas, além de poder ser independentemente implantado e estar sujeito a composição por terceiros Explicação: Associar os conceitos de Engenharia de Software Baseada em Componentes (ESBC) 5a Questão Em relação aos níveis de modelo, descubra qual modelo que é independente do tipo de software ou de tecnologia, e representa o problema a ser resolvido. Modelo de Implementação Modelo Conceitual Modelo de Especificação Modelo de Requisitos Modelo de Projeto Explicação: Os níveis de modelos são: Implementação, Especificação e Conceitual. O modelo de implementação informa os detalhes de implementação que devem estar presentes dentro dos códigos. Já o modelo de especificação representa os componentes de softwares utilizados. 6a Questão Sobre a Arquitetura de Sistemas, as questões abaixo são verdadeiras, EXCETO: A especificação arquitetural pode ser realizada após o levantamento de requisitos, buscando atender tanto aos requisitos funcionais quanto aos não-funcionais É tarefa da arquitetura a construção do projeto detalhado dos componentes individuais que formam o sistema A arquitetura pode ser vista como um processo e também como um artefato No desenvolvimento Orientado a Objetos as classes de um sistema podem ajudar a identificar os componentes Diagrama de componentes, diagrama de empacotamento e o diagrama de distribuição são algumas representações da UML que podem ser utilizadas na especificação arquitetural Explicação: Arquitetura de Sistema, é um conjunto de componentes que compõem um software completo instalado na corporação, incluindo as funcionalidades destes componentes, a sua interconexão, e possivelmente até mesmo a tecnologia adequada . 7a Questão Arquitetura baseada em componentes descreve uma abordagem da engenharia de software para estrutura e desenvolvimento de sistemas. Associe a sentença abaixo ao respectivo conceito. "Componentes expõe uma interface dele para os invocadores utilizar suas funcionalidades e não revelar detalhes do seu processo interno ou alguma variável interna e estado." Reusabilidade Independência Encapsulamento Extensibilidade Substituição Explicação: Reusabilidade: Componentes são usualmente estruturados para ser reutilizado em diferentes cenários e diferentes aplicações. Entretanto, alguns componentes precisam ser estruturados para tarefa específica. Substituição: Componentes precisam ser facilmente substituídos por outros componentes similares. Extensibilidade: Um componente pode ser estendido a partir de um componente para fornecer um novo comportamento. Independência: Componentes são estruturados para ter o mínimo de dependência com outros componentes. Por isso componentes pode ser disponibilizados dentro de um ambiente apropriado sem afetar outros componentes ou sistemas. 8a Questão Sobre os benefícios do modelo de arquitetura de componentes, assinale a alternativa correta. Parte inferior do formulário Redução de custo: O uso do componente de terceiros permite a redução do custo do desenvolvimento e manutenção. Fácil desenvolvimento: Implementar componentes bem como a funcionalidade definida pela interface, permite desenvolvimento sem impacto em outros partes do sistema. III. Reutilização: A reutilização de componentes é um meio agilizar o desenvolvimento e manutenção onde agrega na redução de custo da aplicação. Apenas II e III I, II e III estão corretas Apenas II Apenas I e II Apenas III Explicação: Todas estão corretas. Aula 2 1a Questão No processo de desenvolvimento de software, Depois que os modelos conceituais de negócio são desenvolvidos, o processo é encaminhado para próxima etapa. Identifique que etapa é essa. Especificação Análise Requisitos Codificação Implementação Explicação: A etapa de análise é responsável pelos os modelos conceituais de negócio. A etapa de codificação é responsável pelo desenvolvimento da programação do software. A etapa de requisitos é responsável pelo levantamento dos requisitos do software. A implementação nada mais é a codificação pela equipe de desenvolvimento. 2a Questão São características que levaram à especificação do Modelo de Componentes CORBA, EXCETO Necessidade da especialização das interfaces (conexões) entre os objetos Necessidade da existência de um mecanismo único de implementação Falta de flexibilidade para estender as funcionalidades dos objetos Dificuldade de configurar e utilizar aplicações em padrões anteriores Requisitos não funcionais eram usualmente especificados junto com o métodos do negócio (funcionais) Explicação: CORBA (abreviado de Common Object Request Broker Architecture)é a arquitetura padrão criada pelo Object Management Group para estabelecer e simplificar a troca de dados entre sistemas distribuídos heterogêneos. Em face da diversidade de hardware e software que encontramos atualmente, a CORBA atua de modo que os objetos (componentes dos softwares) possam se comunicar de forma transparente ao usuário, mesmo que para isso seja necessário interoperar com outro software, em outro sistema operacional e em outra ferramenta de desenvolvimento. CORBA é um dos modelos mais populares de objetos distribuídos, juntamente com o DCOM, formato proprietário da Microsoft. 3a Questão A metodologia de gestão deve contemplar quantas fases forem necessárias para conseguir que todas as áreas de conhecimento sejam abordadas de forma a garantir que escopo, tempo, custos e qualidade atinjam os níveis definidos pelas corporações como sendo os ideais. Qual o modelo de desenvolvimento, estas fases da metodologia devem seguir? Cascata Espiral Incremental Cascata com retroalimentação Iterativo e incremental Explicação: No modelo Iterativo e Incremental, cada fase é dividida em uma ou mais iterações que visam uma entrega ao final. 4a Questão Em relação ao processo de desenvolvimento, analise as afirmativas abaixo. I- A interação de componentes define como cada uma das operações do sistema será alcançada, utilizando a arquitetura de componentes.. II- É na fase final da especificação de componente que ocorre o detalhamento das operações e as suas restrições. III - O ato de escrever as regras detalhadas para cada operação pode ajudar você a descobrir parâmetros que estejam faltando ou informações que precisem ser complementadas De acordo com as afirmativas anteriores, marque a alternativa CORRETA. As afirmativas I e III estão corretas As afirmativas I e II estão corretas. As afirmativas II e III estão corretas. Somente a afirmativa II está correta. As afirmativas I, II e III estão corretas. Explicação: Todas as afirmativas estão corretas. 5a Questão Workflow representa a metodologia de desenvolvimento de sistemas baseada na metodologia RUP. Assinale a alternativa que representa a sequência do processo de desenvolvimento. Coleta de Requisitos - Especificação - Análise - Codificação - Testes - Implantação Coleta de Requisitos - Análise - Especificação - Codificação - Implantação - Testes Especificação - Coleta de Requisitos - Análise - Codificação - Implantação - Testes Coleta de Requisitos - Análise - Especificação - Codificação - Testes - Implantação Especificação - Coleta de Requisitos- Análise - Codificação - Testes – Implantação Explicação: - Especificação refere-se a especificação das funcionalidades e interfaces do sistemas. Sendo assim, não pode vir antes de Análise. - Devemos realizar todos os testes antes da implantação do sistema. - A Especificação refere-se a especificação das funcionalidades e interfaces do sistemas. Sendo assim, não pode vir antes da coleta de requisitos. - A Especificação refere-se a especificação das funcionalidades e interfaces do sistemas. Sendo assim, não pode vir antes da coleta de requisitos. Outra questão é que devemos realizar todos os testes antes da implantação do sistema. 6a Questão Sobre os Componentes de um Sistema, as questões abaixo são verdadeiras, EXCETO: Devem ser projetados buscando a alta coesão e o baixo acoplamento O nível de abstração é, geralmente, alto. Seguindo o princípio da alta coesão, cada componente deve ter no máximo 3 interfaces Podem ser definidos desde a primeira iteração do projeto de arquitetura Devem possuir interfaces bem definidas, preferencialmente uma para cada serviço solicitado Explicação: Acoplamento e Coesão talvez sejam as características mais importantes de qualquer sistema. Muitos sistemas são como um Castelo de Cartas. Assim como o baixo acoplamento, a alta coesão é um dos princípios que devem ser levados em consideração ao se construir um projeto. Da mesma maneira que o baixo acoplamento, a alta coesão também é dividida em tipos: Coesão coincidental: O pior tipo de coesão, há nenhuma ou pouca relação construtiva entre os elementos de um módulo, em outras palavras é uma classe inchada, com um punhado de métodos, todos executando tarefas diferentes, sem nenhuma relação com a classe que os implementa. Coesão lógica: Melhor do que a coincidental mas não menos pior em um projeto, semelhante ao acoplamento de controle, onde um módulo faz um conjunto de funções relacionadas e uma das quais é escolhida através de um parâmetro para controlá-lo. Coesão temporal: Os elementos estão agrupados no mesmo módulo simplesmente porque são processados no mesmo intervalo de tempo, semelhante aos arquivos .ini do windows xp, ao iniciar o xp esses arquivos são carregados para iniciar serviços ou aplicativos. Coesão procedural: O módulo só tem sentido sobre a aplicação associada, sem ela, há dificuldade em entendê-lo, basicamente é a coesão relacionada aos procedimentos executados pelos elementos do módulo. Coesão de comunicação: Um módulo tem coesão de comunicação se os seus elementos usam a mesma entrada ou a mesma saída. Coesão seqüencial: A saída de um elemento é a entrada de outro e a solução é decompor em módulos menores, isso nós já vimos em tópicos passados, chamado também de acoplamento de dados. Coesão funcional: Um módulo funcionalmente coeso contém todos os elementos e apenas aqueles necessários para realizar uma única tarefa bem definida. 7a Questão Uma estratégia tradicional para a construção do projeto arquitetural envolve a análise do fluxo (workflow) do sistema. Sobre essa estratégia é correto afirmar: Nessa estratégia, as operações são usualmente representadas através de componentes, ordenados de acordo com a sequência dessas operações Todas as afirmações estão erradas Entre todos os cenários possíveis, a arquitetura de sistemas distribuídos não pode ser representada através da análise do fluxo. Essa estratégia dispensa o levantamento de requisitos O objetivo principal dessa análise é definir componentes reusáveis, isto é, componentes que possam ser utilizados também em outros sistemas Explicação: Um sistema de gerenciamento de Workflow - WfMS (Workflow Management Systems) é um sistema que define, gerencia e executa workflows com o suporte de um software e cuja ordem de atividades é guiada por uma representação lógicoe ordenada de um fluxode no computador. 8a Questão O gerenciamento de processos refere-se ao conjunto de conhecimentos que serão utilizados para guiar a condução do projeto de desenvolvimento de software. A atividade de desenvolver o termo de abertura do projeto pertence ao gerenciamento de qual grupo de processos? Monitoramento e Controle Iniciação Planejamento Execução Encerramento Explicação: Tudo começa com a abertura do termo do projeto, por isso corresponde a primeira etapa que é Iniciação. Na etapa de Planejamento trabalhamos com o desenvolvimento de gerenciamento do projeto. A etapa de execução tem como foco orientar e gerenciar o trabalho do projeto. A etapa de Monitoramento e Controle tem como objetivo realizar o controle integrado de mudanças e monitorar e controlar o trabalho do projeto. E a etapa de Encerramento visa encerrar o projeto ou fase. Aula 3 1a Questão Qual modelo abaixo, sugere uma abordagem sequencial e sistemática para o desenvolvimento de software nos casos em que os requisitos de um problema são bem compreendidos e quando o trabalho flui de forma relativamente linear? Nenhuma das alternativas modelo em espiral Modelo prototipação Modelo Ágil Modelo em cascata Explicação: O Modelo em Cascata é um modelo de desenvolvimento de software seqüencial no qual o processo é visto como umfluir constante para frente (como uma cascata) através das fases de análise de requisitos, projeto, implementação, testes (validação), integração, e manutenção de software. 2a Questão Analisando as afirmativas abaixo, de forma atingir conformidade em requisitos com UML. I. Ao definirmos nossos componentes, é necessário que sejam geradas as suas especificações de comportamento. II. Ao efetuarmos os testes de comportamento, durante o desenvolvimento, estamos garantindo que a aplicação esteja em conformidade com os requisitos. III. Ao definirmos o comportamento dos componentes, estamos sendo mias, precisos, em relação à integração do modelo, e completos, em relação à sua funcionalidade. Assinale a alternativa que aponta a(s) correta(s). Apenas I e II. Apenas III. Apenas I. Apenas II. Apenas I e III. Explicação: Os testes são realizados durante a homologação e não durante o desenvolvimento. 3a Questão Um Analista pretende desenvolver um projeto utilizando UML, e em seus propósitos, verificou a possibilidade de uso de alguns diagramas. Um deles é o Diagrama de Caso de Uso, cujo objetivo é: Representar o domínio de dados a serem tratados e armazenados pelo sistema Definir as funcionalidades do sistema a ser desenvolvido Mapear a troca de mensagens entre objetos. Descrever o modelo de negócio, suas interfaces e as regras de funcionalidades para essas interfaces. Apresentar a interação entre componentes. Explicação: - O diagrama de funcionalidades de interface que descreve o modelo de negócio, suas interfaces e as regras de funcionalidades para essas interfaces. - O diagrama de interação de componentes é um diagrama de colaboração utilizado para interação entre componentes. - O diagrama de sequência representa a troca de mensagens entre os objetos. - O diagrama de domínio representa o domínio de dados a serem tratados e armazenados pelo sistema 4a Questão Qual é o diagrama que garante uma visão sistêmica entre os componentes de interface e os componentes dedados do sistema? Diagrama de Caso de Uso Diagrama de Domínio Diagrama de Interação de Componentes Diagrama de Classe Diagrama de Funcionalidades de Interface Explicação: Diagrama de interação de componentes é um diagrama de colaboração utilizado para interação entre componentes. Diagrama de funcionalidades de interface que descreve o modelo de negócio, suas interfaces e as regras de funcionalidades para essas interfaces. Diagrama de classes descreve o modelo de conceito do negócio. Diagrama de caso de uso define as funcionalidades do sistema a ser desenvolvido. 5a Questão Usamos UML para modelar os vários artefatos necessários na modelagem de sistemas por componentes. Identifique qual o diagrama que usamos para modelarmos os conceitos de negócios. Diagrama de Modelo Conceitual de Negócio Diagrama de Caso de Uso Diagrama de Classe Diagrama de Sequência Diagrama de Interação de Componentes Explicação: Diagrama de Caso de uso permite identificar as funcionalidades do sistema. Diagrama de Sequência permite mapear a troca de mensagens entre objetos. Na verdade o modelo conceitual de negócio não é um modelo de software, mas sim um modelo de informação que define o domínio do problema. Diagrama de Interação de Componentes é um diagrama de colaboração utilizado para interação entre componentes. 6a Questão Qual o diagrama que permite que o Arquiteto de um sistema modele a estrutura de arquivos de uma aplicação e seus relacionamentos? Diagrama de Objetos Diagrama de Software Diagrama de Arquivos diagrama de Componentes Diagrama de Classes Explicação: Na UML, os diagramas de componentes mostram a estrutura do sistema de software, que descreve os componentes do software, suas interfaces e suas dependências. É possível utilizar diagramas de componentes para modelar sistemas de software em um alto nível ou para mostrar componentes em um nível de pacote mais baixo. Esse tipo de diagrama suporta o desenvolvimento com base em componentes no qual um sistema de software é dividido em componentes e interfaces que são reutilizáveis e substituíveis. Os diagramas de componentes são úteis pelos seguintes motivos: Definir os aspectos executáveis e reutilizáveis de um sistema de software Revelar problemas de configuração de software através de relacionamentos de dependência Mostrar uma representação precisa de um aplicativo de software antes de fazer alterações ou aprimoramentos Também é possível utilizar os diagramas de componentes para descrever as seguintes peças físicas de um sistema de software: Os arquivos de código fonte desenvolvidos em um ambiente de desenvolvimento integrado Os arquivos executáveis necessários para fornecer um sistema em execução Bancos de dados físicos que armazenam informações nas tabelas de um banco de dados relacional ou nas páginas de um banco de dados orientado a objetos Sistemas adaptáveis que possuem componentes que migram para equilíbrio de carga e recuperação de defeitos 7a Questão Uma empresa realizou um levantamento de requisitos de um Estacionamento, onde num primeiro momento destacou duas funcionalidades principais: - Atendente registra a entrada e saída do veículo, mas é importante frisar que quando o cliente estaciona o veículo ele recebe o ticket onde contém a data e hora de entrada, placa, a cor do veículo e o modelo do carro. - Quando o cliente retira o veículo do estacionamento ele recebe o comprovante de pagamento (fatura). É correto afirmar que: Existe um relacionamento do tipo include do caso de uso Gerar Fatura para o caso de uso Registrar Saída, onde este é opcional para o comportamento do caso de uso Registrar Entrada. Existe um relacionamento do tipo extend do caso de uso Registrar Entrada para o caso de uso Gerar ticket impresso, onde este é essencial para o comportamento do caso de uso Registrar Entrada. Existe um relacionamento do tipo extend do caso de uso Gerar Fatura para o caso de uso Registrar Saída, onde este é essencial para o comportamento do caso de uso Registrar Entrada. Existe um relacionamento do tipo generalização docaso de uso Gerar Fatura para o caso de uso registrar Saída, onde define uma funcionalidade do sistema do ponto de vista do usuário. Existe um relacionamento do tipo include do caso de uso Registrar Entrada para o caso de uso Gerar ticket impresso, onde este é essencial para o comportamento do caso de uso Registrar Entrada. Explicação: O relacionamento é do tipo include, uma vez que é obrigatório executar o caso de uso gerar ticket impresso, e este é chamado pelo caso de uso registrar entrada. 8a Questão Na especificação de interface de componentes devemos sempre identificar como os elementos podem utilizar esses componentes. Dentre essas identificações destacamos: I - Como acessá-los, onde definimos na sua assinatura somente o retorno oferecido. II - Quais os atributos que ele manipula. III ¿ Quais as funções disponíveis para uso. I e III estão corretas. II e III estão corretas. I, II e III estão incorretas. I, II e III estão corretas. I e II estão corretas. Aula 4 1a Questão No desenvolvimento de um software, um técnico se deparou com uma lista de requisitos, na qual identificou corretamente como requisito funcional: O sistema deve gerar diariamente, a lista de processos cadastrados naquele dia. Uma operação de inclusão deve ser realizada em no máximo 2 segundos após o usuário confirmá-la. O sistema deve respeitar as leis presentes na Constituição Federal. O software deve ser fácil de usar, intuitivo e transparente para o usuário. O sistema deve estar disponível para o usuário 99% do tempo. Explicação: Todos os demais requisitos são não funcionais, uma vez queabordam performance, usabilidade,.. 2a Questão Na especificação dos componentes, as Interfaces identificam como os elementos podem utilizar esses componentes. Entre os elementos que compõem essa identificação estão corretamente identificadas as afirmativas: I A assinatura, que identifica a forma de acesso à Interface e o retorno esperado II A manipulação dos atributos para a realização do serviço oferecido III A descrição do serviço que deve compor unicamente a Interface Apenas II e III estão corretas. Apenas I e III estão corretas. I, II e III estão corretas. Apenas I e II estão corretas. I, II e III estão incorretas. Explicação: Todas as afirmativas estão corretas 3a Questão Visando obter os requisitos de forma consistente e sem gastar tempo em excesso, o trabalho de levantamento de requisitos deve conter como característica: Serão realizadas várias reuniões, e para um melhor aproveitamento separar as reuniões por camada de desenvolvimento. Independente do departamento para o qual o sistema será desenvolvido, é necessário conversar com todos os responsáveis de cada departamento. Não se preocupe com o tempo da reunião, podendo durar até 5 horas, o importante é o levantamento dos requisitos. Procure realizar somente uma reunião para o levantamento de requisito, com os usuários que consigam responder sobre cada uma das camadas. Explicação: No trabalho de levantamento de requisitos devemos levar em consideração as seguintes características: Duração máxima de 2 horas, No máximo 3 reuniões com cada grupo, Separar as reuniões por camada de desenvolvimento, conforme previsto no conceito de arquitetura de sistemas e Convocação de usuários que consigam responder sobre cada uma das camadas. 4a Questão A Prototipação é um paradigma da Engenharia de Software que faz uso de protótipos durante o processo de desenvolvimento de software. Não representa uma afirmação verdadeira acerca da Prototipação: Requisitos podem ser derivados dos protótipos. O cliente é apresentado ao produto nos estágios iniciais do desenvolvimento. Permite o refinamento iterativo dos requisitos. Nenhuma das alternativas Os protótipos podem apontar funcionalidades que não foram contempladas. Explicação: A arquitetura de um protótipo descartável favorece a evolução do protótipo para o produto final. O que não é verdade é que a arquitetura de um protótipo descartável favorece a evolução do protótipo para o produto final. 5a Questão Com relação aos Requisitos de Software, avalie se as afirmativas a seguir são falsas (F) ou verdadeiras (V): ( ) Requisitos funcionais são as declarações de serviços que o sistema fornecer, como o sistema deve reagir a entradas específicas e como o sistema deve se comportar em determinadas situações. ( ) Requisitos não funcionais são restrições sobre os serviços ou as funções oferecidas pelo sistema, incluindo restrições de timing, sobre o processamento de desenvolvimento e padrões, aplicam-se frequentemente ao sistema como um todo. ( ) Requisitos funcionais são aqueles não diretamente relacionados às funções fornecidas pelo sistema, enquanto que os não funcionais descrevem a função do sistema detalhadamente, incluindo as entradas e saídas. As afirmativas são respectivamente: V, V e F. F, V e F. V, F e V. V, F e F. F, F e V. Explicação: Requisitos funcionais descrevem a função do sistema detalhadamente, incluindo as entradas e saídas. Já os Requisitos não funcionais são aqueles não diretamente relacionados às funções fornecidas pelo sistema. 6a Questão Dentre os requisitos abaixo, assinale a alternativa que apresenta um requisito funcional. Um usuário treinado deve ser capaz de submeter um pedido de compra em menos que 5 minutos. O sistema deverá dar baixa após a venda ser efetivada. Modificações corretivas devem ser feitas em menos de 5 horas. A complexidade ciclomática máxima de um módulo não pode ser maior que 20 O sistema deve poder ser executado em sistema operacional Windows e Linux. Explicação: Todos os demais requisitos são requisitos não funcionais. 7a Questão Com relação a validação de requisitos, avalie se as afirmativas a seguir são falsas (F) ou verdadeiras (V): ( ) A prototipação é a melhor maneira de se validar requisitos. ( ) Conseguimos criar um modelo conceitual fraco para ser validado pelas partes interessadas. ( ) A validação de requisitos deve ser feita em duas etapas, chamadas de pré-validação e validação de requisitos. As afirmativas são respectivamente: F, V e F. V, V e F. F, F e V. V, F e F. V, F e V. Explicação: Conseguimos criar um modelo conceitual é forte e não fraco. 8a Questão Analise as afirmativas abaixo. I- Uma vez que o diagrama de caso de uso visa mapear as funcionalidades do sistema, podemos afirmar que este diagrama mapeia os requisitos funcionais implícitos. II- A validação de requisitos deve ser feita sempre em 2 etapas: Pré-validação e Pós-Validação. III - É com o protótipo que as partes interessadas vão conseguir facilmente verificar se seus requisitos estão presentes na definição do que será feito. De acordo com as afirmativas anteriores, marque a alternativa CORRETA. Somente a afirmativa II está correta. As afirmativas II e III estão corretas. As afirmativas I e III estão corretas. Somente a afirmativa I está correta. Somente a afirmativa III está correta. Explicação: A primeira alternativa é falsa porque o diagrama de caso de uso mapeia os requisitos explícitos. Já a segunda alternativa está incorreta uma vez que a validação de requisitos deve ser feita sempre em 2 etapas: Pré-validação e Validação, e não Pós-validação. Aula 5 1a Questão Correlacione à segunda coluna de acordo com a primeira, considerando os quatro grandes grupos do modelo de negócios com os seus respectivos objetivos. ( 1 ) Como ( 2 ) O que ( 3 ) Para Quem ( 4 ) Quanto ( ) Quais os elementos de infraestrutura devem ser utilizados pelo sistema a ser desenvolvido; ( ) Definem os recursos chaves, as atividades chave e os componentes prontos que podem ser utilizados no novo sistema; ( ) Informações sobre criticidade do sistema e quais os benefícios se espera alcançar com o sistema a ser desenvolvido. ( ) Define qual ou quais problemas o sistema deve resolver depois que ficar pronto; A sequência correta, de cima para baixo, é: 3 - 2 - 4 - 1 4 - 3 - 1 - 2 1 - 2 - 4 - 3 3 - 1 - 4 - 2 4 - 1 - 3 – 2 Explicação: Como : Definem os recursos chaves, as atividades chave e os componentes prontos que podem ser utilizados no novo sistema; O que: Define qual ou quais problemas o sistema deve resolver depois que ficar pronto; Para Quem: Quais os elementos de infraestrutura devem ser utilizados pelo sistema a ser desenvolvido; Quanto: Informações sobre criticidade do sistema e quais os benefícios se espera alcançar com o sistema a ser desenvolvido. 2a Questão Baseado no modelo CANVAS de modelagem de negócios, separamos o modelo de negócio em grandes grupos que estão associados às seguintes perguntas: Como?, O que?, Para quem?, Quanto? Por que?, Quando?, Quanto? O que?, Onde? Como? Quanto? Quem?, O que?, Quando?, Como?, Onde? Como?, Por que?, Quanto? Explicação: São 4 perguntas do modelo CANVAS: Como?, O que?, Para quem?, Quanto? 3a Questão A identificação de componentes está baseada nas boas práticas da arquitetura de sistemas. Analise as afirmativas abaixo. I- O modelo conceitual de negócio permite a identificação de interface de sistemas e regras de negócio. II- O passo seguinte após o desenvolvimento do modelo de negócio éa identificação das interfaces de negócio. III- A identificação de interface de negócio é baseada no modelo de casos de uso. De acordo com as afirmativas anteriores, marque a alternativa CORRETA: As afirmativas II e III estão corretas. Somente a afirmativa I está correta. As afirmativas I e III estão corretas. Somente a afirmativa II está correta. Somente a afirmativa III está correta. Explicação: A sentença I está incorreta uma vez que é o Modelo de caso de uso que permite a identificação de interface de sistemas e regras de negócios. A sentença III está incorreta uma vez que a identificação de interface de negócio é baseada no modelo conceitual de negócio. 4a Questão O modelo de negócio responde a 4 perguntas básicas: Como? O que? Quanto? Para quem?. Baseado no modelo de CANVAS de modelo de negócio, identifique a sentença que está associada a pergunta: Como? Quais os benefícios se espera alcançar com o novo sistema? Quais são os principais usuários do sistema a ser desenvolvido? Quais recursos chaves a serem utilizados pelo sistema a ser desenvolvido? Quais os elementos de infraestrutura de hardware e Banco de Dados serão utilizados pelo sistema a ser desenvolvido? Qual o problema a ser resolvido? Explicação: As sentenças: Quais são os principais usuários do sistema a ser desenvolvido? e Quais os elementos de infraestrutura de hardware e Banco de Dados serão utilizados pelo sistema a ser desenvolvido? estão associado a pergunta Para Quem? Já a sentença Quais os benefícios se espera alcançar com o novo sistema? está ligada a pergunta Quanto? E a sentença Qual o problema a ser resolvido? está relacionada a pergunta O Que? 5a Questão Com relação a identificação de componentes, avalie se as afirmativas a seguir são verdadeiras (V) ou falsas (F): ( ) O processo de identificação de componentes tem como objetivo criar uma visualização inicial de todos os elementos envolvidos e como eles são integrados. ( ) Artefato Interface de negócios gerado será um modelo que apresente todas as classes do sistema a ser desenvolvido e suas interfaces de utilização, mapeando como os atores farão os acessos ao sistema e que tipo de funcionalidade estará disponível para cada um deles. ( ) Artefato Interface de Sistemas gerado traduz a necessidade de identificação dos componentes disponíveis e como eles serão interligados e resolverão as regras de negócio, para o novo sistema a ser desenvolvido. As afirmativas são respectivamente: F, V e F. V, F e V. F, F e V. V, F e F. V, V e V. Explicação: Todas as sentenças estão corretas. 6a Questão Com relação a interação de componentes, avalie se as afirmativas a seguir são verdadeiras (V) ou falsas (F): ( ) Refinar as interfaces é o subprocesso responsável por revistar o modelo de negócios, alterando e adaptando os elementos na medida das necessidades, já que agora temos as informações das operações de negócio mapeadas e definidas. ( ) A modelagem de interação de componentes é uma técnica de modelagem do comportamento dos componentes em relação ao problema a ser resolvido. ( ) O artefato de operações de negócio é a parte da modelagem de processos de negócios focada nas operações resultantes deste negócio, pois fornece uma solução clara e adaptável para capturar as especificações operacionais dos processos de negócio. As afirmativas são respectivamente: F, V e V. V, F e V. V, F e F. F, F e V. V, V e V. Explicação: A primeira sentença é falsa uma vez que não é Refinar as interfaces e sim Refinar as Regras de Negócios. 7a Questão O modelo mais tradicional de desenvolvimento de software é o modelo em cascata. Considerando a utilização desse modelo e suas fases, assinale a alternativa que apresenta uma afirmação verdadeira. O primeiro estágio de desenvolvimento de um novo sistema consiste na definição de requisitos. Não há necessidade de se produzir qualquer tipo de documentação em suas fases. A especificação do sistema é produzida após o estágio de implementação e teste de unidade. A divisão dos requisitos para implementação do sistema em hardware ou software é feita na fase de operação e manutenção. Nenhuma das alternativas Explicação: O modelo cascata é utilizado principalmente quando os requisitos de um determinado problema são bem compreendidos. Uma forma de utilizar o modelo cascata é quando precisamos fazer adaptações ou aperfeiçoamentos em um sistema já existente. Por exemplo, quando temos um sistema já pronto e precisamos fazer uma adaptação porque alguma lei governamental foi alterada ou criada. Também podemos utilizar o modelo cascata quando um software necessita de uma nova funcionalidade e os requisitos estão bem definidos e são estáveis. O modelo cascata também é chamado de ciclo de vida clássico ou tradicional. Este modelo sugere uma abordagem sequencial e sistemática para o desenvolvimento de software. Dessa forma, começamos com o levantamento de requisitos ou necessidades junto ao cliente, depois vamos para a fase de planejamento onde definimos estimativas, cronograma e acompanhamento, após isso partimos para a modelagem onde fazemos a análise e projeto, seguindo da construção onde codificamos e testamos, passamos para a implantação ou emprego onde efetuamos a entrega, suporte e feedback do software concluído. 8a Questão O processo de identificação de componentes tem como objetivo criar uma visualização inicial de todos os elementos envolvidos e como eles são integrados. Os artefatos gerados a partir desse processo são: Interface de Negócios, Padrões de Arquitetura, Modelo de Negócio. Interface de Negócios, Padrões de Arquitetura e Modelo Conceitual de Negócios. Modelo de Negócio, Especificação de Componentes e Padrões de Arquitetura. Interface de Sistemas, Modelos de Casos de Uso, Modelo Conceitual de Negócios. Interface de Negócios, Interface de Sistemas, Especificação de Componentes do Sistema e Modelo de Negócio. Explicação: Modelo Conceitual de Negócio, Modelo de Casos de Uso e Padrões de Arquitetura não são artefatos gerados a partir do processo de identificação de componentes. Aula 6 1a Questão A modelagem de interação de componentes é uma técnica de modelagem do comportamento dos componentes em relação ao problema a ser resolvido. Qual o sub processo que tem como objetivo que o Arquiteto de Sistemas faça um refinamento do modelo feito previamente, com as informações de operações e do modelo de negócios mapeadas e definidas de forma definitiva? Refinar Operações de Negócios Refinar Interfaces e Regras de Negócios Refinar as regras dos componentes Refinar Definição de Componentes e Arquitetura Refinar Interfaces Explicação: Os três sub processos desta aula (definir operações de negócios, refinar interfaces e regras de negócio e refinar definição de componentes e arquitetura). Refinar Interfaces e Regras de Negócios tem como objetivo revistar o modelo de negócios, alterando e adaptando os elementos na medida das necessidades. Já Definir Operações de Negócios tem como objetivo fornecer uma solução clara e adaptável para capturar as especificações operacionais dos processos de negócio. 2a Questão Em relação à interação de componentes, assinale V (Verdadeiro) e F (Falso) nas afirmativas, e marque a alternativa que apresente a sequência correta (de cima para baixo). ( ) A modelagem de interação de componentes é uma técnica de modelagem de estrutura dos componentes em relação ao problema a ser resolvido. ( ) O mesmo componente pode ser utilizado em duas soluções diferentes de maneiras diferentes, ele terá comportamentos diferentes frente a formas de acesso diferente. ( ) Sempre que possível, a solução deve ser construída por meio de componentesjá existentes. ( ) O desenvolvimento baseado em componentes é um tipo de desenvolvimento de software fracamente baseado no reuso. (F) (V) (F) (V) (F) (V) (V) (F) (V) (V) (F) (F) (V) (F) (V) (F) (V) (F) (V) (V) Explicação: A modelagem de interação de componentes é uma técnica de modelagem de comportamento e não de estrutura. O desenvolvimento baseado em componentes é um tipo de desenvolvimento de software fortemente e não fracamente. 3a Questão A modelagem de interação de componentes é uma técnica de modelagem do comportamento dos componentes em relação ao problema a ser resolvido. Qual o sub processo que tem como objetivo fornecer uma solução clara e adaptável para capturar as especificações operacionais dos processos de negócio? Refinar Definição de Componentes e Arquitetura Definir Operações de Negócios Definir as regras dos componentes Refinar Interfaces Refinar Interfaces e Regras de Negócios Explicação: Os três sub processos desta aula (definir operações de negócios, refinar interfaces e regras de negócio e refinar definição de componentes e arquitetura). Refinar Interfaces e Regras de Negócios tem como objetivo revistar o modelo de negócios, alterando e adaptando os elementos na medida das necessidades. Já Refinar Definição de Componentes e Arquitetura o arquiteto de Sistemas realiza um refinamento do modelo feito previamente, com as informações de operações e do modelo de negócios mapeadas e definidas de forma definitiva. 4a Questão A modelagem de interação de componentes é uma técnica de modelagem do comportamento dos componentes em relação ao problema a ser resolvido. São subprocessos de interação de componentes: Definir operações de negócios. Refinar interfaces e regras de negócio. Refinar definição de componentes e arquitetura. Assinale a alternativa correta. Apenas I e II. I e II e III estão corretas. Apenas I e III. Apenas I Apenas II e III. 5a Questão Considere: I- É obrigação do arquiteto de sistemas garantir que todos os elementos a serem desenvolvidos tenham passado pelo sub processo de refino de interfaces e de refino de regra de negócio. II- O refino de regras de negócio visa refinar pensando nos elementos de interação, como é que esses elementos vão funcionar dentro na minha organização. III- É necessário refinar os meus artefatos gerados, tanto de negócio quanto de sistemas, para que o desenvolvedor não precise inferir elemento nenhum, simplesmente desenvolver o que está nas especificações. Em relação à definição de Refinamento, está correto o que consta em I e III, apenas I, apenas II, apenas I e II, apenas III, apenas Explicação: A segunda sentença está incorreta, uma vez que é o refinamento de interface que visa refinar pensando nos elementos de interação, como é que esses elementos vão funcionar dentro na minha organização. 6a Questão Na arquitetura de sistemas, o modelo para desenvolvimento do modelo de negócio, baseado em Canvas é dividido em: Como, O que, Para quem e Quanto. Associe a coluna da esquerda com a coluna da direita e em seguida marque a alternativa correta, considerando a sequência de cima para baixo: (1) Como ( ) Elementos de infraestrutura de hardware, banco de dados, comunicação e software a ser utilizado pelo sistema a ser desenvolvido. (2) O que ( ) Quais os Benefícios se espera alcançar como o novo sistema. (3) Para quem ( ) Recursos chaves a serem utilizados pelo sistema a ser desenvolvido. (4) Quanto ( ) Que problema o sistema proposto vai resolver. 2,3,4,1 4,3,1,2 3,2,1,4 2, 4, 1, 3 3,4,1,2 Explicação: Como: Refere-se aos recursos chaves a serem utilizados pelo sistema a ser desenvolvido. O Que: Que problema o sistema proposto vai resolver. Para Quem: Elementos de infraestrutura de hardware, banco de dados, comunicação e software a ser utilizado pelo sistema a ser desenvolvido. Quanto: Quais os Benefícios se espera alcançar como o novo sistema. 7a Questão Associe a sentença abaixo ao respectivo modelo de negócios baseado no modelo CANVAS. "Elementos de Infraestrutura de Hardware, Banco de dados, Comunicação e Software a ser utilizado pelo sistema a ser desenvolvido." O que? Para Quem? Como? Quanto? Onde? Explicação: Como? ¿ Principais sistemas e elementos prontos que podem fornecer componentes. O que? ¿ Que problema o sistema proposto vai resolver. Quanto? ¿ Qual o custo computacional previsto e a criatividade do novo sistema. Aula 7 1a Questão Uma arquitetura de sistema baseada no padrão MVC (Model View Controller) tem como principal característica: Torna o papel do arquiteto de software irrelevante, uma vez que a arquitetura já foi totalmente definida. Separa a camada de apresentação da camada que representa as informações do domínio do problema. Elimina a necessidade de gerenciar a interação da apresentação visual do sistema com os comportamentos da aplicação. Dispensa o uso de testes de unidade durante o processo de desenvolvimento. Elimina a necessidade de o desenvolvedor criar uma camada de persistência de informações. Explicação: A arquitetura MVC não elimina a necessidade de o desenvolvedor criar uma camada de persistência de informações. Independente da arquitetura é fundamental o uso de testes de unidade durante o processo de desenvolvimento. Mesmo na arquitetura MVC o papel do arquiteto de software é fundamental e relevante. 2a Questão A Arquitetura Orientada a Serviços (SOA) tem algumas características que possibilitam sua definição. Dentre essas características está a de não exigir troca de mensagens entre provedores e consumidores de serviços. permitir o reuso de seus componentes. ser centralizada em apenas um servidor. não possibilitar a reutilização de seus componentes. ter seus componentes fortemente acoplados. Explicação: A arquitetura SOA tem como características: ter seus componentes fracamente acoplados; permitir o seu reuso. 3a Questão Em relação ao padrão de arquitetura MVC (Model View Controller), assinale a afirmativa correta. O componente Model é a camada lógica da aplicação, representa os dados da aplicação e as suas regras de negócio. O componente Controller é a camada de apresentação responsável por gerar uma visualização dos dados e por recebê-los como dados de entrada dos usuários. O componente View interpreta as ações realizadas pelos usuários e as envia para o Model. O padrão de arquitetura MVC não permite gerenciar múltiplas visões utilizando somente um modelo. Os componentes de uma arquitetura de sistemas estão divididos em camadas não estruturadas, que, durante o desenvolvimento, devem ser consideradas de forma fundamental pelo arquiteto. Explicação: Os componentes de uma arquitetura de sistemas estão divididos em camadas estruturais. A camada de apresentação é o componente View. O padrão de arquitetura MVC permite gerenciar múltiplas visões utilizando somente um modelo. O componente Controller é quem interpreta as ações realizadas pelos usuários e as envia para o Model 4a Questão Dentre as afirmativas abaixo, correto afirmar que: I. Componentes de Software consiste no termo utilizado para descrever o elemento de software que tem a função de encapsular funcionalidades. II. Um componente de software é uma unidade independente, e pode ser utilizado com vários outros componentes a fim de formar um sistema mais complexo. III. Em programação orientada a objetos um componente de software implementa somente a interface e não é autônomo em relação aos demais componentes do sistema. IV. Um sistema de software pode ser constituído inteiramente por componentes, já que estes podem se interligaratravés de suas interfaces. III, IV IV I, III I, II I,II,IV Explicação: Componentes de Software consiste no termo utilizado para descrever o elemento de software que tem a função de encapsular funcionalidades. CORRETO Um componente de software é uma unidade independente, e pode ser utilizado com vários outros componentes a fim de formar um sistema mais complexo. CORRETO Em programação orientada a objetos um componente de software implementa somente a interface e não é autônomo em relação aos demais componentes do sistema. ERRADO A programação orientada a objetos traz outros pontos que acabam sendo mais interessantes no contexto de aplicações modernas. Como o desempenho das aplicações não é uma das grandes preocupações na maioria das aplicações (devido ao poder de processamento dos computadores atuais), a programação orientada a objetos se tornou muito difundida. Essa difusão se dá muito pela questão da reutilização de código e pela capacidade de representação do sistema muito mais perto do que veríamos no mundo real. Outra grande vantagem que o desenvolvimento orientado a objetos traz diz respeito a leitura e manutenção de código. Como a representação do sistema se aproxima muito do que vemos na vida real, o entendimento do sistema como um todo e de cada parte individualmente fica muito mais simples. Isso permite que a equipe de desenvolvimento não fique dependente de uma pessoa apenas, como acontecia com frequência em linguagens estruturadas como o C, por exemplo. Um sistema de software pode ser constituído inteiramente por componentes, já que estes podem se interligar através de suas interfaces. CORRETO 5a Questão Na Arquitetura Orientada a Serviço - SOA, é INCORRETO afirmar que o serviço responde às requisições encapsulando todo o detalhe do seu processamento. é invocado por meio de protocolos de comunicação independentes da localização e do suporte tecnológico. é um componente fortemente acoplado e altamente coeso que implementa uma função reutilizável de negócio. é uma unidade de trabalho oferecida pelo provedor de serviço para atender à demanda requerida por um consumidor de serviço. não depende do estado de outros componentes externos para executar um ciclo completo de trabalho. Explicação: É um componente fracamente acoplado e não fortemente acoplado. 6a Questão Em relação ao uso de camadas, assinale a alternativa que NÃO é considerada uma vantagem na sua utilização. Facilidade de Reutilização. Facilidade de compreensão. Facilidade de duplicação de funcionalidade. Facilidade de Desenvolvimento independente. Facilidade de manutenção Explicação: Duplicação de funcionalidade é uma desvantagem do uso de camadas. 7a Questão O componente Controller do MVC: Envia requisições do usuário para o controlador e recebe dados atualizados dos componentes de acesso a dados. É onde são concentradas todas as regras de negócio da aplicação e o acesso aos dados. Notifica os componentes de apresentação das mudanças efetuadas nos dados e expõe a funcionalidade da aplicação. Define o comportamento da aplicação, as ações do usuário para atualizar os componentes de dados e seleciona os componentes para exibir respostas de requisições. Responde às solicitações de queries e encapsula o estado da aplicação. Explicação: Controller: Gerencia a interação da apresentação visual do sistema (View) com os comportamentos da aplicação (Model). 8a Questão Analise as afirmações a seguir e escolha a alternativa correta I ¿ Os dados estarem presentes em um único lugar é uma característica da arquitetura em camadas II ¿ Estilos arquiteturais podem ser classificados em situações em que o seu uso é apropriado, com a classificação das vantagens e desvantagens do uso nessas situações III ¿ A arquitetura de repositório (blackboard) é fortemente baseada no uso de dados centralizados IV ¿ Uma das características da arquitetura MVC é a sua aplicação em sistemas interativos ( ) Somente a alternativa III é verdadeira ( ) Somente as alternativas I e II são verdadeiras. ( ) Somente as alternativas II, III e IV são verdadeiras. ( ) Somente as alternativas II e III são verdadeiras. ( ) Somente a alternativa I é verdadeira. Explicação: As camadas mais ¿baixas¿ (que interagem a nível de byte e bit, conversam com periféricos, lidam com pilhas de comunicação mais robustas) são chamadas de camadas mais especialistas, enquanto as camadas acima, que conversam mais com aplicações, são chamadas camadas menos especialistas. Observe a figura 1, a qual ilustra um exemplo de divisão de camadas da comunicação TCP/IP. Outras linguagens/plataformas também possuem frameworks que aderem ao padrão arquitetural MVC. Isso não inviabiliza que uma equipe crie o seu próprio framework, mas é preciso lembrar que um desenvolvedor novo precisa de tempo para aprender a desenvolver em determinada arquitetura e caso a empresa/projeto já utilize um framework bastante popular a curva de aprendizado será bem menor ou praticamente nula. Isso inclusive ajuda na contratação de novos funcionários, onde a empresa já pode exigir como pré-requisito conhecimentos neste framework. Na arquitetura de repositórios, os dados compartilhados podem ser mantidos em um banco de dados central e acessados por todos os subsistemas. Cada subsistema mantém seu próprio banco de dados e passa dados para outros subsistemas Aula 8 1a Questão Em relação a implementação e distribuição de componentes podemos afirmar que: I- O controle de qualidade visa garantir o bom resultado do trabalho de implementação dos componentes. II- Caso o desenvolvedor não conheça muito bem o padrão especificado pelo arquiteto, ele deverá buscar a referência na metodologia de produto. III- O desenvolvedor, deve ter a preocupação de definir e construir middlewares que conectem as diversas camadas de componentes, e consequentemente os componentes, de maneira a conseguir uma forte acoplagem para a organização. Marque a opção correta: I e II são verdadeiras I e III são verdadeiras Somente a III é verdadeira II e III são verdadeiras Somente a I é verdadeira Explicação: A terceria afirmativa está incorreta, uma vez que é o arquiteto de sistemas que deve ter preocupação de definir e construir middleware¿s que conectem as diversas camadas de componentes. 2a Questão No contexto de especificação de componentes, considere as seguintes afirmativas: Uma das mais úteis ferramentas do desenvolvimento de sistemas por componentes é o empacotamento. O arquiteto de sistemas deve ter a preocupação de definir e construir middlewares que conectem as diversas camadas de componentes e, consequentemente, os componentes, de maneira a conseguir uma baixa acoplagem para a organização. Os componentes devem ser distribuídos em containers seguindo as políticas estabelecidas pelos middlewares, ou seja, dentro de um mesmo container podem existir componentes que atendam a diferentes configurações. Levando-se em conta as afirmações acima, identifique a única alternativa válida. Apenas II Apenas II e III Apenas I Apenas I e II Apenas I e III Explicação: A afirmativa II está incorreta pois deve conseguir uma baixa acoplagem e forte alta. A afirmativa III está incorreta uma vez que dentro de um mesmo container somente podem existir componentes que atendam a mesma configuração. 3a Questão Com relação a características de um componente, avalie se as afirmativas a seguir são falsas (F) ou verdadeiras (V): ( ) Pode possuir mais de uma especificação. ( ) Deve ser aderente a padrões. ( ) Pode ser empacotado em módulos. As afirmativas são respectivamente: V, V e V. V, F e F. F, F e V. F, V e V. V, F e V. Explicação: Só tem uma especificação.4a Questão Analise as afirmações a seguir: I ¿ Na arquitetura em camadas é possível substituir uma camada inteira por outra sem afetar as camadas adjacentes, desde que preservadas as interfaces II ¿ Na arquitetura de repositório (blackboard) os componentes interagem entre si III ¿ Na arquitetura cliente-servidor são definidos um conjunto de serviços e servidores associados que são utilizados pelos clientes para fazer uso dos serviços IV ¿ Na arquitetura Dutos (Pipes) e Filtros a tarefa de um sistema, normalmente, é dividida em vários passos de processamento, que podem ser sequenciais. São verdadeiras as afirmações: ( ) Somente as alternativas I, III e IV são verdadeiras. ( ) Somente a alternativa III é verdadeira ( ) Somente as alternativas I e II são verdadeiras. ( ) Somente as alternativas I e III são verdadeiras. ( ) Somente a alternativa I é verdadeira. Explicação: I Na arquitetura em camadas é possível substituir uma camada inteira por outra sem afetar as camadas adjacentes, desde que preservadas as interfaces ===> VERDADE II Na arquitetura de repositório (blackboard) os componentes interagem entre si ===> FALSO ARQUITETURA DE REPOSITÓRIO é um modelo de sistema com base em um banco de dados compartilhado. Esse modelo é adequado a aplicações em que os dados são gerados por um subsistema e utilizados por outro. Exemplos de sistemas com modelo repositório são os Sistemas de Comando e Controle, Sistemas de Informações Gerenciais, Conjuntos de ferramentas CASE e os Sistemas de CAD. III Na arquitetura cliente-servidor são definidos um conjunto de serviços e servidores associados que são utilizados pelos clientes para fazer uso dos serviços===> VERDADE IV Na arquitetura Dutos (Pipes) e Filtros a tarefa de um sistema, normalmente, é dividida em vários passos de processamento, que podem ser sequenciais. :===> VERDADE 5a Questão Assinale a alternativa que apresenta a sequência de especificação de um componente. Aderente a padrões, Empacotado, Implementação e Distribuição Aderente a padrões, Implementação, Empacotado e Distribuição Implementação, Distribuição, Empacotado, Aderente a padrões Implementação, Empacotado, Distribuição, Aderente a padrões Empacotado, Implementação, Aderente padrões e Distribuição Explicação: A sequência de especificação de componente é Implementação, Distribuição, Empacotado, Aderente a padrões. 6a Questão Uma empresa está seguindo todos os passos para o desenvolvimento de componente. Após o arquiteto de sistemas ter realizado toda a especificação do componente, cabe agora o desenvolvedor implementá-lo. Mas ao pegar a especificação do componente, o mesmo descobriu que não conhece muito bem o padrão especificado pelo arquiteto. Mediante a essa situação o que o desenvolvedor deve fazer? Buscar a referência na metodologia de produto. Buscar a referência na metodologia de processo. Buscar a referência na metodologia de interface Desenvolver a aplicação sem a implementação do padrão definido. Escolher outro padrão, que conheça, para substitui-lo. Explicação: Na metodologia de produto apresenta detalhadamente como utilizar o padrão, exemplos de uso, resultados,... 7a Questão Considere: I- É necessário que o arquiteto de sistemas complete as informações técnicas necessárias que as partes interessadas não conseguem informar, baseado em seu framework de conhecimentos. II- A linguagem tratada no levantamento de requisitos não será a mesma utilizada pelo desenvolvedor. Precisamos garantir que cada etapa use o seu conjunto de padrões específicos para aquela etapa. III- Na especificação de componentes estamos pensando no desenvolvedor e não no arquiteto do sistema. Em relação à especificação de componente, está correto o que consta em I, II e III apenas II e III apenas I e III apenas I, apenas I e II apenas Aula 9 1a Questão O gerenciamento do ciclo de vida dos componentes de servidor é feito através de políticas que controlam o momento de ativação/desativação dos componentes. Quem é responsável pelo container ativar o componente quando for feita a primeira chamada a alguma de suas operações, e desativa quando explicitamente requisitado pela aplicação, desalocando a memória utilizada pelo componente? Service Component Transaction Method Session Explicação: Method - Ativação/desativação a cada chamada de método, limitando o uso de memória ao tempo de duração da operação, mas acrescentando o custo de ativação e desativação do componente. Transaction - Ativação/desativação a cada transação. Memória permanece alocada durante a transação. Session e Service não fazem parte do gerenciamento do ciclo de vida dos componentes de servidor. 2a Questão Em relação ao provimento e construção de componentes, analise as afirmativas a seguir: I- O arquiteto de sistemas, baseado nos requisitos do novo sistema, vai executar o design da nova aplicação, identificando todos os componentes necessários e aplicando reuso aos componentes que já existirem. Somente serão construídos os componentes que não existirem. II- Quanto mais madura a organização (empresa) no conceito de arquitetura de sistemas maior o conjunto de componentes reutilizáveis ela vai ter, e menor o conjunto de componentes a serem desenvolvidos para resolverem os problemas. III - Um componente reutilizado é um componente que já foi testado, é um componente que não tem problemas de desenvolvimentos a serem sanados. Sendo assim, quanto mais a reuzabilidade de código menor o custo , menor o tempo e maior a qualidade. Assinale: se todas as afirmativas estiverem corretas. se somente a afirmativa II e III estiverem corretas. se somente a afirmativa I e III estiverem corretas. se somente as afirmativas I e II estiverem corretas. se somente a afirmativa I estiver correta. Explicação: Todas as afirmativas são verdadeiras. 3a Questão Em relação ao Framework CCM (CORBA Component Model) podemos afirmar que: O nível básico provê um conjunto maior de ações, como as portas de comunicação que representam os elementos de conexão entre os componentes. O modelo abstrato especifica como os componentes e suas implementações devem ser empacotados. O nível estendido provê uma forma simplificada de distribuir um objeto CORBA como componente. O modelo de Instalação define o ambiente de execução para as instâncias do componente. O modelo de programação é Composto pela CIDL (Component Implementation Definition Language) e pelo CIF (Component Implementation Framework). Explicação: O nível básico provê uma forma simplificada de distribuir um objeto CORBA como componente. O nível estendido provê um conjunto maior de ações, como as portas de comunicação que representam os elementos de conexão entre os componentes. O modelo de empacotamento especifica como os componentes e suas implementações devem ser empacotados. O modelo de execução define o ambiente de execução para as instâncias do componente. 4a Questão O gerenciamento do ciclo de vida dos componentes de servidor é feito através de políticas que controlam o momento de ativação/desativação dos componentes. Associe a sentença abaixo ao respectivo conceito. " O container ativa o componente, quando for feita a primeira chamada a alguma de suas operações, e desativa, quando explicitamente requisitado pela aplicação, deslocando a memória utilizada pelo componente." Transaction Skeletons Container Method Component Explicação: Method: Ativação/desativação a cada chamada de método, limitando o uso de memória ao tempo de duração da operação, mas acrescentando o custo de ativação e desativação do componente. Transaction: Ativação/desativação a cada transação. Memória permanece alocadadurante a transação. Container: O container ativa o componente, quando for feita a primeira chamada a alguma de suas operações, e desativa, quando explicitamente requisitado pela aplicação, deslocando a memória utilizada pelo componente. 5a Questão Os frameworks são os mais indicados para fornecer uma base mais sólida para a próxima geração de aplicativos baseados em componentes distribuídos, em escala empresarial, , avalie se as afirmativas a seguir são verdadeiras (V) ou falsas (F): ( ) O Microsoft COM+ possui o Windows como dependência de plataforma, mas não possui nenhuma dependência de Linguagem. ( ) O Entreprise JavaBeans (EJB) possui tanto dependência de plataforma quanto dependência de Linguagem. ( ) O Enterprise JavaBeans (EJB) possui a Linguagem Java como dependência de linguagem. As afirmativas são respectivamente: V, V e V. V, F e F. F, F e V. F, V e V. V, F e V. Explicação: O Entreprise JavaBeans (EJB) não possui tanto dependência de plataforma, mas possui dependência de Linguagem. 6a Questão Em relação aos modelos do CCM, Associe a coluna da esquerda com a coluna da direita e em seguida marque a alternativa correta, considerando a sequência de cima para baixo: (1) Modelo Abstrato ( ) Composto pela CIDL (Component Implementation Definition Language) e pelo CIF (Component Implementation Framework). (2) Modelo de Empacotamento ( ) Define o ambiente de execução para as instâncias do componente. (3) Modelo de Programação ( ) Define os atributos, portas de comunicação e home dos componentes. (4) Modelo de Instalação ( ) Especifica como os componentes e suas implementações devem ser empacotados. (5) Modelo de Execução ( ) Define um mecanismo padrão para a instalação de aplicações. 1, 3, 5, 2, 4 2, 5, 4, 3, 1 3, 5, 1, 2, 4 1, 4, 5, 3, 2 3, 4, 1, 5, 2 Explicação: Modelo Abstrato: Define os atributos, portas de comunicação e home dos componentes. Modelo de Empacotamento: Especifica como os componentes e suas implementações devem ser empacotados. Modelo de Programação: Composto pela CIDL (Component Implementation Definition Language) e pelo CIF (Component Implementation Framework). Modelo de Instalação: Define um mecanismo padrão para a instalação de aplicações. Modelo de Execução: Define o ambiente de execução para as instâncias do componente. 7a Questão São interfaces encontradas nos componentes do Modelo de Componentes Corba - CCM, EXCETO: Receptores de Eventos Facetas Fontes de Eventos Alças Receptáculos Explicação: As principais interfaces encontradas nos componentes do Modelo de Componentes Corba, são Facetas Receptáculos Eventos Herança de Componentes Homes e Home Finders 8a Questão O CCM é um framework de componentes do lado do servidor, cuja finalidade é facilitar o desenvolvimento e a instalação de aplicações distribuídas que utilizam a arquitetura de sistemas por componentes. Dentre os tipos de modelos podemos destacar: Modelo Abstrato, Modelo de Análise, Modelo de Projeto, Modelo de Instalação e Modelo de Execução. Modelo Abstrato, Modelo de Programação, Modelo de Empacotamento, Modelo de Instalação e Modelo de Execução. Modelo Abstrato, Modelo de Programação, Modelo de Padrões, Modelo de Testes e Modelo de Execução. Modelo de Negócio, Modelos de Projeto, Modelo de Testes e Modelo de Implementação. Modelo de Negócio, Modelo de Projeto, Modelo de Padrões e Modelo de Implementação. Explicação: Os cinco tipos de modelos são: Modelo Abstrato (Define os atributos, portas de comunicação e home dos componentes), Modelo de Programação (Composto pela CIDL (Component Implementation Definition Language) e pelo CIF (Component Implementation Framework), Modelo de Empacotamento (Especifica como os componentes e suas implementações devem ser empacotados), Modelo de Instalação (Define um mecanismo padrão para a instalação de aplicações) e Modelo de Execução (Define o ambiente de execução para as instâncias do componente). Aula 10 1a Questão Considere as afirmações sobre especificação de componentes x Construção de componentes: I- Para lidar com especificação, nós adicionamos alguns estereótipos UML, como especificação de componentes, as classes e suas interfaces. II- Uma especificação de componente oferece um ou mais tipos de interfaces, por isso há uma correspondência bastante simples entre os elementos de especificação e os elementos de execução. III - UML também define a relação entre o componente e uma interface através de relacionamentos. Está correto o que se afirma em I e II, apenas II e III, apenas I e III, apenas I, apenas I, II e III. Explicação: Todas as afirmativas estão corretas. 2a Questão Em sistemas distribuídos, componentes podem ser implantados em diversos servidores e sistemas operacionais. É correto afirmar que: I- CCM descreve componentes e suas dependências usando Open Software Description (OSD), que é um XML Document Type Definition (DTD) definido pelo consórcio www. II- Package descriptors são documentos OSD em conformidade com o XML e DTD (Document Type Definition), descrevendo o conteúdo da DLL e suas dependências. III- CCM e OSD também definem component assembly descriptors, que descrevem instruções de implantação e topologia dos componentes, e têm como objetivo o suporte à implantação automática dos componentes. Marque a opção correta: Somente a I é verdadeira II e III são verdadeiras. I e III são verdadeiras I e II são verdadeiras Somente a III é verdadeira Explicação: A segunda sentença é falsa uma vez que Package descriptors são documentos XML e não OSD 3a Questão Sobre heranças de interface e suporte de interfaces, analise as assertivas e assinale a alternativa que aponta a(s) correta(s). I. COM+ permite herança múltipla de interface. II. EJB permite apenas herança única de interface. III. EJB permite que classes Java apoiem múltiplas interfaces, limitando apenas unicamente herança de classe. Apenas II. Apenas I e III. Apenas II e III. Apenas I. Apenas III. Explicação: COM+ permite apenas herança única de interface. EJB permite herança múltipla de interface. 4a Questão Considere: I- Os componentes são empacotados em Arquivos CIF e executados em servidores de componentes. II - Os componentes não precisam saber como tratar problemas, como a criação de hierarquia de POAs, e localizar serviços do CCM. III- As implementações dos componentes dependem dos conceitos da programação orientada a aspectos para encaminhar requisições de clientes para os elementos de servidor. Em relação à construção dos componentes, está correto o que consta em II e III, apenas I, II e III apenas I e III, apenas II, apenas I e II, apenas Explicação: A primeira sentença é falsa, uma vez que os componentes são empacotados em arquivos DLL. 5a Questão Tanto no EJB como no COM + usamos uma abordagem de fábrica de objetos, onde um objeto componente é utilizado para criar instâncias de outro componente. Qual é o objeto inicial no COM+ ? IClassFactor IClassMain Main IClassCreator IClassBuilder Explicação: IClassFactor é o objetivo inicial no COM+, as demais opções não existem. 6a Questão Quando se trata de herança de interfaces e suporte de interfaces é INCORRETO afirmar que: Quando registramos uma classe Java como um EJB com um ambiente de componentes EJB, ficamos restritos à nomeação de uma interface (a chamada interface remota). No COM+ para permitir que objetos tenham múltiplas classificações, os componentes devem suportar múltiplas interfaces. EJB permite herança múltipla de interfaces e permite que classesJava apoiem múltiplas interfaces, limitando apenas unicamente herança de classe. Se quiser que seu componente suporte múltiplas interfaces, você vai precisar usar herança de interface múltipla para herdar toda a funcionalidade do componente de uma interface pai, que pode ser registrada no ambiente COM+. COM + permite apenas herança única de interface. Explicação: O ambiente é EJB e não COM+ Auditoria de sistemas Aula 1 1a Questão Considere as seguintes descrições: I. Controle de acesso (físico e lógico) II. Gravação e atualização autorizadas III. Sistema disponível quando necessário IV. Sistema funciona conforme requisitos V. Sistema atuará conforme o esperado A opção que melhor representa o significado de cada uma delas respectivamente é: Confidencialidade; Confiabilidade; Integridade; Disponibilidade; e, Consistência. Confiabilidade; Integridade; Confidencialidade; Disponibilidade; e, Consistência. Consistência; Confidencialidade; Integridade; Disponibilidade; e, Confiabilidade. Confidencialidade; Integridade; Disponibilidade; Consistência; e, Confiabilidade. Confidencialidade; Disponibilidade; Consistência; Integridade; e, Confiabilidade. 2a Questão Há dois grandes meios de se ter uma equipe de auditoria. Com base na afirmativa marque a opção que indica os dois tipos de equipe de auditoria: EQUIPE INTERNA E EXTERNA EQUIPE INTERNA E CONSULTORIA EQUIPE PREESENCIAL E VIRTUAL EQUIPE EXTERNA E CONSULTORIA EQUIPE INTERNA E VIRTUAL 3a Questão Considerando que um auditor de sistemas necessita de autonomia para verificar o trabalho realizado e apontar distorções encontradas no que tange à segurança de informações, recursos, serviços e acesso, além de conformidade com os objetivos da empresa, políticas administrativas, orçamentos, regras, normas ou padrões, não só na área de Sistemas mas também nas áreas do cliente, seu posicionamento no organograma da empresa deve ser logo abaixo: Diretoria de Informática Diretoria Financeira Diretoria Administrativa Presidência Executiva Diretoria Executiva 4a Questão Utilizar a capacidade de cálculos estatísticos e de geração de amostras que facilitem confirmação de saldos necessários para aferir a integridade de dados de um sistema de controle de estoque pode ser conseguida através da técnica: abordagem externa ao computador abordagem interna ao computador abordagem com o computador abordagem através do computador abordagem ao redor do computador 5a Questão Utilizar a capacidade de cálculos estatísticos e de geração de amostras que facilitem confirmação de saldos necessários para aferir a integridade de dados de um sistema de controle de estoque pode ser conseguida através da técnica: abordagem com o computador abordagem externa ao computador abordagem através do computador abordagem interna ao computador abordagem ao redor do computador 6a Questão A preocupação em sobreviver frente um mercado cada vez mais competitivo e a busca pela melhoria contínua motivou empresas a investirem na auditoria de sistema da informação, ou seja, uma solução encontrada por gestores para problemas em potencial, como no caso da segurança dos dados manipulados através dos computadores na organização. Considerando esse contexto, avalie as seguintes asserções e a relação proposta entre elas. I - Podemos inferir que a Auditoria de Sistemas é uma atividade que engloba exame de sistemas, operações, processos e responsabilidades gerenciais de uma empresa PORQUE II - seu objetivo é a segurança de informações e recursos além de observar a conformidade com os padrões atuais. A respeito dessas asserções, assinale a opção correta. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. As asserções I e II são proposições falsas. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. Explicação: => também são objetivos da auditoria de sistemas garantir a segurança dos serviços e acesso. A conformidade deve ser verificada em relação aos objetivos da empresa, politicas administrativas, orçamentos, regras, normas e padrões. 7a Questão Analise as sentenças abaixo sobre Auditoria em TI e, em seguida, assinale a alternativa correta: I. Está calçada em segurança e em controles internos II. Seu objetivo maior é verificar se os controles internos foram implementados e, se existirem, se são efetivos III. Engloba o exame das operações, processos, sistemas e responsabilidades gerenciais de uma determinada empresa Somente as sentenças II e III estão corretas Somente as sentenças I e II estão corretas Somente a sentença III está correta Todas as sentenças estão corretas Somente as sentenças I e III estão corretas Explicação: Todas as opções estão corretas. A auditoria foca nos controles internos. Verifica sua existencia e, em existindo, se são eficazes. Ela engloba o exame das operações, processos, sistemas e responsabilidades gerenciais de uma determinada empresa 8a Questão Sobre a Auditoria de Sistemas podemos assegurar que : I - ela pode preocupar-se com a integridade da frota de veiculos da empresa e a relação de custos e despesas destes no sistema II - ela preocupa-se com a conformidade do sistema com a lei vigente no país onde o sistema será processado III - ela deve identificar vulnerabilidades nos sistemas e indicar como soluciona-las Identifique a(s) alternativa (s) correta (s) Somente as opções II e III estão corretas Somente as opções I e III estão corretas Somente as opções I e II estão corretas Todas as opções estão corretas Nenhuma opção está correta Explicação: A Auditoria de Sistemas deve preocupar-se em identificar vulnerabilidades dos sistemas mas nunca dizer como solucionar tais vulnerabilidades. Aula 2 1a Questão Não fazemos planos de contingencia para todos os serviços ou sistemas da organização, mas apenas para os sistemas críticos que são aqueles: que não devem ser descontinuados por terem caducado definidos pelo usuário como sendo os mais complexos sujeitos a aprovação da crítica do cliente prioritários para serem refeitos essenciais para manter a continuidade do serviço 2a Questão Identifique a que planos as ações abaixo pertencem: E => plano de emergência . B=> plano de back-up, R=> plano de recuperação 1 - Acionar o corpo de bombeiros ao verificar um incêncio em andamento 2 - Fazer up-grade de servidor 3 - Fazer manutenção da rede eletrica do CPD 4 - Atualizar o anti-virus B, E, R, B B, R, B, E B, B, E, E E, B, B, R E, R, B, B Explicação: Uma boa hora de trocarmos os equipamentos e fazermos algum up-grade é quando saimos da situação de emergencia e voltamos ao normal. O plano de back-up prove recursos para estarem disponíveis no plano de emergência e executam medidas para minimizarem a ocorrência de riscos. As ações do plano de emergência são executadas na eventual ocorrência de uma emergência. 3a Questão plano de contingência é formado por 3 compontes: a) Plano de emergência b) plano de backup c) plano de Recuperação. As descrições a seguir: 1).Seu objetivo é providenciar os recursos necessários para uma eventual utilização do plano de emergência. 2). Formado pelas respostas de risco (ações a serem seguidas na eventualidade de uma ameaça ocorrer) e tentativas de evitar danos causados por desastres mantendo, dentro do possível, a capacidade de funcionamento da empresa/sistema. 3). São as atividades e recursos necessários