Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aluno: CHARLES FERNANDO SÁ DA SILVA Matr.: 201001371101 Disc.: ARQ. SISTEMAS 2020.1 EAD (G) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. Em relação ao conceito de componentes é correto afirmar que: Componentes, no contexto da arquitetura de sistemas, são unidades de software não estruturados de acordo com alguns princípios específicos. Um componente é um objeto, derivado de uma classe, mas sem assinatura explícita. Um mesmo componente pode ter mais de uma interface. Cada componente encapsulado pode ter mais de uma identidade de dados e funções e podendo assumir estados pré-determinados. Não existe a necessidade de existir nos componentes uma relação natural com o que ele representa. Explicação: - Cada componente encapsulado tem uma identidade única de dados e funções - Um componente é um objeto, derivado de uma classe, mas com uma assinatura explícita. - Deve existir nos componentes uma relação natural com o que ele representa. - Componentes, no contexto da arquitetura de sistemas, são unidades de software estruturados de acordo com alguns princípios específicos. 2. No contexto de arquitetura de sistemas, os componentes são unidades de software estruturados de acordo com alguns princípios. Sendo assim, identifique a qual princípio pertence a descrição abaixo: O usuário de um componente de software é isolado de como os dados desse componente de software é armazenado ou como suas funções são executadas. O cliente depende da especificação do componente, mas não da sua implementação. Encapsulamento Reusabilidade Extensibilidade Produtividade Independência Explicação: Encapsulamento tem o conceito de esconder de quem vai usar a classe os detalhes de sua http://simulado.estacio.br/bdq_simulados_exercicio.asp http://simulado.estacio.br/bdq_simulados_exercicio.asp funcionalidade e de dados, deixando amostra somente como acionar e o resultado a ser alcançado pelo acionamento. 3. Sobre os benefícios do modelo de arquitetura de componentes, assinale a alternativa correta.Parte inferior do formulário I. Redução de custo: O uso do componente de terceiros permite a redução do custo do desenvolvimento e manutenção. II. 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. 4. São características principais encontradas na Arquitetura em Camadas Cada camada depende exclusivamente dos serviços providos pela camada inferior Dependem de uma infraestrutura de comunicação para implementação Os dados são gerados por um componente e consumidos pelos outros Um repositório central de dados 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. http://simulado.estacio.br/bdq_simulados_exercicio.asp http://simulado.estacio.br/bdq_simulados_exercicio.asp 5. Sobre Componentes de Software, a alternativa INCORRETA é: O conceito de componente de software é definido como uma abstração para construção de sistemas que pode ser adaptada sobre diversos paradigmas diferentes 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 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 nenhuma das anteriores Um componente de software não é um elemento independente, sendo assim não pode ser substituído Explicação: Associar os conceitos de Engenharia de Software Baseada em Componentes (ESBC) 6. 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 Requisitos Modelo de Projeto Modelo de Implementação Modelo de Especificação Modelo Conceitual 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. 7. Sobre a Arquitetura de Sistemas, as questões abaixo são verdadeiras, EXCETO: No desenvolvimento Orientado a Objetos as classes de um sistema podem ajudar a identificar os componentes É tarefa da arquitetura a construção do projeto detalhado dos componentes individuais que formam o sistema A especificação arquitetural pode ser realizada após o levantamento de requisitos, buscando atender tanto aos requisitos funcionais quanto aos não-funcionais A arquitetura pode ser vista como um processo e também como um artefato http://simulado.estacio.br/bdq_simulados_exercicio.asp http://simulado.estacio.br/bdq_simulados_exercicio.asp http://simulado.estacio.br/bdq_simulados_exercicio.asp 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 . 8. 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." Substituição Independência Encapsulamento Reusabilidade Extensibilidade 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. Porisso componentes pode ser disponibilizados dentro de um ambiente apropriado sem afetar outros componentes ou sistemas. http://simulado.estacio.br/bdq_simulados_exercicio.asp Aluno: CHARLES FERNANDO SÁ DA SILVA Matr.: 201001371101 Disc.: ARQ. SISTEMAS 2020.1 EAD (G) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. No contexto de interação entre componentes, considere as seguintes afirmativas: I. A interação de componentes define como cada uma das operações do sistema será alcançada, utilizando a arquitetura de componentes. II. A interação de componentes é o momento em que todos os fatores do sistema são levantados, com uma clara compreensão das dependências entre eles, chegando-se até o nível mais detalhado de operações. III. Usa-se a interação entre os modelos para descobrir as operações nas interfaces de negócios. Quanto mais interações são consideradas, operações e padrões de uso comuns são conseguidos e passam a poder ser reutilizados. Levando-se em conta as afirmações acima, identifique a única alternativa válida. Apenas I. 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. Explicação: Todas estão corretas. 2. 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: 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. Todas as afirmações estão erradas Nessa estratégia, as operações são usualmente representadas através de componentes, ordenados de acordo com a sequência dessas operações 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 http://simulado.estacio.br/bdq_simulados_exercicio.asp http://simulado.estacio.br/bdq_simulados_exercicio.asp 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. 3. São características que levaram à especificação do Modelo de Componentes CORBA, EXCETO Falta de flexibilidade para estender as funcionalidades dos objetos Requisitos não funcionais eram usualmente especificados junto com o métodos do negócio (funcionais) Necessidade da especialização das interfaces (conexões) entre os objetos Dificuldade de configurar e utilizar aplicações em padrões anteriores Necessidade da existência de um mecanismo único de implementação 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. 4. 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 com retroalimentação Cascata Incremental Iterativo e incremental Espiral http://simulado.estacio.br/bdq_simulados_exercicio.asp http://simulado.estacio.br/bdq_simulados_exercicio.asp Explicação: No modelo Iterativo e Incremental, cada fase é dividida em uma ou mais iterações que visam uma entrega ao final. 5. 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 II e III estão corretas. As afirmativas I e II estão corretas. Somente a afirmativa II está correta. As afirmativas I e III estão corretas As afirmativas I, II e III estão corretas. Explicação: Todas as afirmativas estão corretas. 6. Workflow representa a metodologia de desenvolvimento de sistemas baseada na metodologia RUP. Assinale a alternativa que representa a sequência do processo de desenvolvimento. Especificação - Coleta de Requisitos - Análise - Codificação - Implantação - Testes Coleta de Requisitos - Análise - Especificação - Codificação - Testes - Implantação Coleta de Requisitos - Análise - Especificação - Codificação - Implantação - Testes Coleta de Requisitos - Especificação - Análise - 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. http://simulado.estacio.br/bdq_simulados_exercicio.asp http://simulado.estacio.br/bdq_simulados_exercicio.asp - 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. 7. 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 Podem ser definidos desde a primeira iteração do projeto de arquitetura 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 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 classeinchada, 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. http://simulado.estacio.br/bdq_simulados_exercicio.asp ➢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. 8. 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? Execução Planejamento Encerramento Iniciação Monitoramento e Controle 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 com objetivo realizar o controle integrado de mudanças e Moniotar e controlar o trabalho do projeto. E a etapa de Encerramento visa encerrar o projeto ou fase. http://simulado.estacio.br/bdq_simulados_exercicio.asp Aluno: CHARLES FERNANDO SÁ DA SILVA Matr.: 201001371101 Disc.: ARQ. SISTEMAS 2020.1 EAD (G) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. Considerando as seguintes afirmativas sobre processos de desenvolvimento de software conhecidos como Engenharia de Software Baseada em Componentes (ESBC): I- O ESBC tem ênfase no paralelismo entre tarefas. II- A atividade da Engenharia de Domínio produz uma lista de componentes que podem ser reutilizados. III- O modelo de troca de dados é um dos ingredientes arquiteturais necessários para a atividade de composição de componentes. As afirmativas verdadeiras são: I, II e III somente II somente III somente I e II somente I Explicação: Conseguir relacionar os conceitos de Engenharia de Software Baseada em Componentes (ESBC). 2. 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 II estão corretas. I, II e III estão corretas. II e III estão corretas. http://simulado.estacio.br/bdq_simulados_exercicio.asp http://simulado.estacio.br/bdq_simulados_exercicio.asp I e III estão corretas. I, II e III estão incorretas. Explicação: A assinatura não é composta somente com o retorno oferecido, mas também com os parâmetros de entrada. 3. 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 é: Apresentar a interação entre componentes. Mapear a troca de mensagens entre objetos. Definir as funcionalidades do sistema a ser desenvolvido Representar o domínio de dados a serem tratados e armazenados pelo sistema Descrever o modelo de negócio, suas interfaces e as regras de funcionalidades para essas interfaces. 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 4. Qual é o diagrama que garante uma visão sistêmica entre os componentes de interface e os componentes dedados do sistema? Diagrama de Classe Diagrama de Funcionalidades de Interface Diagrama de Interação de Componentes Diagrama de Caso de Uso Diagrama de Domínio http://simulado.estacio.br/bdq_simulados_exercicio.asp http://simulado.estacio.br/bdq_simulados_exercicio.asp 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. 5. 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 Interação de Componentes Diagrama de Caso de Uso Diagrama de Classe Diagrama de Sequência Diagrama de Modelo Conceitual de Negócio 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. 6. 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 Classes Diagrama de Objetos diagrama de Componentes Diagrama de Software http://simulado.estacio.br/bdq_simulados_exercicio.asp http://simulado.estacio.br/bdq_simulados_exercicio.asp Diagrama de Arquivos 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 pelosseguintes 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 7. 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 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 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 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 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. http://simulado.estacio.br/bdq_simulados_exercicio.asp 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. 8. De acordo com as seguintes afirmativas sobre o desenvolvimento de software baseado em componentes (CBD ¿ Component¿Based Development): I. Incorpora algumas das características do modelo de desenvolvimento em espiral; II. Induz o reaproveitamento de software; III. Beneficia¿se da tecnologia de orientação para objetos; IV. Não az uso do conceito de composição. As afirmativas estão corretas em: I e IV I II e IV III e IV I, II, III Explicação: Associar os conceitos de Engenharia de Software Baseada em Componentes (ESBC) http://simulado.estacio.br/bdq_simulados_exercicio.asp Aluno: CHARLES FERNANDO SÁ DA SILVA Matr.: 201001371101 Disc.: ARQ. SISTEMAS 2020.1 EAD (G) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. A engenharia de software baseada em componentes é formada por um modelo genérico de desenvolvimento de software que é baseado em componentes de software reusáveis padronizados e um middleware de integração para esses componentes. O analista de sistemas que decidir pelo reuso de componentes deve enfrentar o problema de confiabilidade e certificação dos componentes reusados alto custo de desenvolvimento dos componentes reusados em comparação ao custo de integração e de teste dos mesmos nenhuma das anteriores dependência de linguagem de programação dos componentes reusados falta de padronização dos componentes reusados Explicação: Associar os conceitos de Engenharia de Software Baseada em Componentes (ESBC) 2. Visando obter os requisitos de forma consistente e sem gastar tempo em excesso, o trabalho de levantamento de requisitos deve conter como característica: 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. Procure convocar todos os usuários (funcionários), mesmo que não consiga responder sobre cada uma das camadas. 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. 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. http://simulado.estacio.br/bdq_simulados_exercicio.asp http://simulado.estacio.br/bdq_simulados_exercicio.asp 3. 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. Nenhuma das alternativas Os protótipos podem apontar funcionalidades que não foram contempladas. Permite o refinamento iterativo dos requisitos. 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. 4. 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, F e V. F, V e F. F, F e V. V, F e F. V, V e F. 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. http://simulado.estacio.br/bdq_simulados_exercicio.asp http://simulado.estacio.br/bdq_simulados_exercicio.asp 5. Dentre os requisitos abaixo, assinale a alternativaque apresenta um requisito funcional. Modificações corretivas devem ser feitas em menos de 5 horas. O sistema deve poder ser executado em sistema operacional Windows e Linux. O sistema deverá dar baixa após a venda ser efetivada. A complexidade ciclomática máxima de um módulo não pode ser maior que 20 Um usuário treinado deve ser capaz de submeter um pedido de compra em menos que 5 minutos. Explicação: Todos os demais requisitos são requisitos não funcionais. 6. 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, F e V. F, V e F. V, F e V. V, F e F. V, V e F. Explicação: Conseguimos criar um modelo conceitual é forte e não fraco. 7. Analise as afirmativas abaixo. http://simulado.estacio.br/bdq_simulados_exercicio.asp http://simulado.estacio.br/bdq_simulados_exercicio.asp http://simulado.estacio.br/bdq_simulados_exercicio.asp 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 III está correta. Somente a afirmativa II está correta. Somente a afirmativa I está correta. As afirmativas I e III estão corretas. As afirmativas II e III estão corretas. 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. 8. 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. I, II e III estão incorretas. Apenas I e II estão corretas. I, II e III estão corretas. Apenas I e III estão corretas. Explicação: Todas as afirmativas estão corretas http://simulado.estacio.br/bdq_simulados_exercicio.asp Aluno: CHARLES FERNANDO SÁ DA SILVA Matr.: 201001371101 Disc.: ARQ. SISTEMAS 2020.1 EAD (G) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. Em relação à especificação dos componentes: I- Uma das funções do arquiteto de sistemas é garantir o processo de identificação, para que não sejam desenvolvidos componentes desnecessários. II- Se tem um componente que pode ser reutilizado, quanto mais reutilizar mais valor agregado aquele componente terá, gerando melhores resultados para a minha aplicação. III- Para definir quais os componentes já estão prontos e quais deverão ser desenvolvidos, basta realizar somente a identificação das interfaces. Está correto o que se afirma em: II e III, apenas III, apenas I e III, apenas I, II, III I e II, apenas Explicação: A terceira está errada uma vez que além de identificar a interface também é necessário identificar a solução das regras de negócios. 2. 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: 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. Interface de Negócios, Padrões de Arquitetura e Modelo Conceitual de Negócios. Interface de Negócios, Padrões de Arquitetura, Modelo de Negócio. http://simulado.estacio.br/bdq_simulados_exercicio.asp http://simulado.estacio.br/bdq_simulados_exercicio.asp 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. 3. 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: Quem?, O que?, Quando?, Como?, Onde? O que?, Onde? Como? Quanto? Como?, O que?, Para quem?, Quanto? Por que?, Quando?, Quanto? Como?, Por que?, Quanto? Explicação: São 4 perguntas do modelo CANVAS: Como?, O que?, Para quem?, Quanto? 4. 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 I e III estão corretas. Somente a afirmativa III está correta. As afirmativas II e III estão corretas. Somente a afirmativa I está correta. Somente a afirmativa II 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. http://simulado.estacio.br/bdq_simulados_exercicio.asp http://simulado.estacio.br/bdq_simulados_exercicio.asp 5. 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 elementos de infraestrutura de hardware e Banco de Dados serão utilizados pelo sistema a ser desenvolvido? Quais os benefícios se espera alcançar com o novo sistema? Quais recursos chaves a serem utilizados pelo sistema a ser desenvolvido? Qual o problema a ser resolvido? Quais são os principais usuários do sistema a ser desenvolvido? 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? 6. 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: V, V e V. V, F e V. F, F e V. V, F e F. F, V e F. Explicação: Todas as sentenças estão corretas. http://simulado.estacio.br/bdq_simulados_exercicio.asp http://simulado.estacio.br/bdq_simulados_exercicio.asp 7. 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: V, V e V. V, F e F. F, F e V. V, F e V. F, 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. 8. 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. Não há necessidade de se produzir qualquer tipo de documentação em suas fases. O primeiro estágio de desenvolvimento de um novo sistema consiste na definição de requisitos. 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 A especificação do sistema é produzida após o estágio de implementação e teste de unidade. 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. http://simulado.estacio.br/bdq_simulados_exercicio.asp http://simulado.estacio.br/bdq_simulados_exercicio.asp 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. Exercício: CCT0766_EX_A6_201001371101_V1 04/05/2020 Aluno(a): CHARLES FERNANDO SÁ DA SILVA 2020.1 EAD Disciplina: CCT0766 - ARQUITETURA DE SISTEMAS 201001371101 1a 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 3,4,1,2 4,3,1,2 3,2,1,4 2, 4, 1, 3 Respondido em 04/05/2020 10:51:22 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. 2a 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 as regras dos componentes Refinar Interfaces Refinar Interfaces e Regras de Negócios Refinar Definição de Componentes e Arquitetura Refinar Operações de Negócios Respondido em 04/05/2020 10:51:14 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. 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. São subprocessos de interação de componentes: I. Definir operações de negócios. II. Refinar interfaces e regras de negócio. III. Refinar definição de componentes e arquitetura. Assinale a alternativa correta. Apenas I e II. Apenas II e III. I e II e III estão corretas. Apenas I e III. Apenas I Respondido em 04/05/2020 10:51:35 4a 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 II, apenas I e III, apenas I e II, apenas I, apenas III, apenas Respondido em 04/05/2020 10:51:57 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. 5a 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 componentes já existentes. ( ) O desenvolvimento baseado em componentes é um tipo de desenvolvimento de software fracamente baseado no reuso. (V) (F) (V) (V) (V) (F) (V) (F) (F) (V) (F) (V) (V) (V) (F) (F) (F) (V) (V) (F) Respondido em 04/05/2020 10:51:47 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. 6a 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? Definir as regras dos componentes Refinar Interfaces e Regras de Negócios Definir Operações de Negócios Refinar Definição de Componentes e Arquitetura Refinar Interfaces Respondido em 04/05/2020 10:51:52 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. Exercício: CCT0766_EX_A7_201001371101_V1 04/05/2020 Aluno(a): CHARLES FERNANDO SÁ DA SILVA 2020.1 EAD Disciplina: CCT0766 - ARQUITETURA DE SISTEMAS 201001371101 1a Questão Em relação ao padrão de arquitetura MVC (Model View Controller), assinale a afirmativa correta. 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 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. 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 View interpreta as ações realizadas pelos usuários e as envia para o Model. Respondido em 04/05/2020 10:54:45 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 2a Questão Na Arquitetura Orientada a Serviço - SOA, é INCORRETO afirmar que o serviço é um componente fortemente acoplado e altamente coeso que implementa uma função reutilizável de negócio. não depende do estado de outros componentes externos para executar um ciclo completo de trabalho. é invocado por meio de protocolos de comunicação independentes da localização e do suporte tecnológico. responde às requisições encapsulando todo o detalhe do seu processamento. é uma unidade de trabalho oferecida pelo provedor de serviço para atender à demanda requerida por um consumidor de serviço. Respondido em 04/05/2020 10:54:51 Explicação: é um componente fracamente acoplado e não fortemente acoplado. 3a 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 interligar através de suas interfaces. I,II,IV I, III IV III, IV I, II Respondido em 04/05/2020 10:54:41 Explicação: 1. Componentes de Software consiste no termo utilizado para descrever o elemento de software que tem a função de encapsular funcionalidades. CORRETO 2. 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 3. 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. 4. Um sistema de software pode ser constituído inteiramente por componentes, já que estes podem se interligar através de suas interfaces. CORRETO 4a Questão O componente Controller do MVC: É 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. Envia requisições do usuário para o controlador e recebe dados atualizados dos componentes de acesso a dados. 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. Respondido em 04/05/2020 10:54:44 Explicação: Controller: Gerencia a interação da apresentação visual do sistema (View) com os comportamentos da aplicação (Model). 5a Questão O padrão de arquitetura MVC é um modelo de camadas que divide a aplicação em três componentes: Model(modelo), View (visualizador) e Controller (controlador). As funções decada um destes três componentes são apresentadas abaixo: I. interpreta eventos de entrada e envia requisições para o modelo de dados; em seguida, processa os dados carregados a partir do modelo e envia para o visualizador. II. encapsula o acesso aos dados e funções básicas da aplicação, fornecendo ao usuário procedimentos que executam tarefas específicas. III. exibe para o usuário os dados fornecidos pelo controle e estabelece uma interface para interação entre o usuário e a aplicação. A associação correta do componente do padrão MVC com sua função está expressa respectivamente em: Model, Controller e View Controller, Model e View Nenhuma das opções View, Model e Controller Controller, View e Model Respondido em 04/05/2020 10:54:48 Explicação: Explicando cada um dos objetos do padrão MVC tem-se primeiramente o controlador (Controller) que interpreta as entradas do mouse ou do teclado enviado pelo usuário e mapeia essas ações do usuário em comandos que são enviados para o modelo (Model) e/ou para a janela de visualização (View) para efetuar a alteração apropriada. Por sua vez o modelo (Model) gerencia um ou mais elementos de dados, responde a perguntas sobre o seu estado e responde a instruções para mudar de estado. 6a 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 a alternativa I é verdadeira. ( ) Somente as alternativas II, III e IV são verdadeiras. ( ) Somente as alternativas II e III são verdadeiras. Respondido em 04/05/2020 10:54:53 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 Exercício: CCT0766_EX_A8_201001371101_V1 04/05/2020 Aluno(a): CHARLES FERNANDO SÁ DA SILVA 2020.1 EAD Disciplina: CCT0766 - ARQUITETURA DE SISTEMAS 201001371101 1a 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 a alternativa I é verdadeira. ( ) Somente a alternativa III é verdadeira ( ) Somente as alternativas I e II são verdadeiras. ( ) Somente as alternativas I e III são verdadeiras. ( ) Somente as alternativas I, III e IV são verdadeiras. Respondido em 04/05/2020 10:56:33 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 2a 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? Desenvolver a aplicação sem a implementação do padrão definido. Escolher outro padrão, que conheça, para substitui-lo. Buscar a referência na metodologia de processo. Buscar a referência na metodologia de interface Buscar a referência na metodologia de produto. Respondido em 04/05/2020 10:56:40 Explicação: Na metodologia de produto apresenta detalhadamente como utilizar o padrão, exemplos de uso, resultados,... 3a Questão No contexto de especificação de componentes, considere as seguintes afirmativas: I. Uma das mais úteis ferramentas do desenvolvimento de sistemas por componentes é o empacotamento. II. 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. III. 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 I e II Apenas II Apenas II e III Apenas I Apenas I e III Respondido em 04/05/2020 10:56:45 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. 4a 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 III são verdadeiras Somente a I é verdadeira I e II são verdadeiras Somente a III é verdadeira II e III são verdadeiras Respondido em 04/05/2020 10:56:49 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. 5a 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: F, F e V. F, V e V. V, F e V. V, V e V. V, F e F. Respondido em 04/05/2020 10:56:52 Explicação: Só tem uma especificação. 6a 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 e II apenas I, apenas I, II e III apenas II e III apenas I e III apenas Respondido em 04/05/2020 10:56:57 Exercício: CCT0766_EX_A9_201001371101_V1 04/05/2020 Aluno(a): CHARLES FERNANDO SÁ DA SILVA 2020.1 EAD Disciplina: CCT0766 - ARQUITETURA DE SISTEMAS 201001371101 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? Session Transaction Component Method Service Respondido em 04/05/2020 10:58:19 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 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, F e F. V, V e V. F, V e V. V, F e V. F, F e V. Respondido em 04/05/2020 10:58:11 Explicação: O Entreprise JavaBeans (EJB) não possui tanto dependência de plataforma, mas possui dependência de Linguagem. 3a 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." Method Container Skeletons Component Transaction Respondido em 04/05/2020 10:58:28 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. 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. 4a Questão Em relação ao Framework CCM (CORBA Component Model) podemos afirmar que: O modelo de Instalação define o ambiente de execução para as instâncias do componente. 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 modelo de programação é Composto pela CIDL (Component Implementation Definition Language) e pelo CIF (Component Implementation Framework). O nível estendido provê uma forma simplificada de distribuir um objeto CORBA como componente. Respondido em 04/05/2020 10:58:33 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. 5a 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 de Negócio, Modelo de Projeto, Modelo de Padrões e Modelo de Implementaçã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 Abstrato, Modelo de Análise, Modelo de Projeto, Modelo de Instalação e Modelo de Execução. Modelo de Negócio, Modelos de Projeto, Modelo de Testes e Modelo de Implementação. Respondido em 04/05/2020 10:58:23 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). 6a 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 seremdesenvolvidos 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 somente as afirmativas I e II estiverem corretas. se todas as afirmativas estiverem corretas. se somente a afirmativa I estiver correta. se somente a afirmativa II e III estiverem corretas. se somente a afirmativa I e III estiverem corretas. Respondido em 04/05/2020 10:58:41 Explicação: Todas as afirmativas são verdadeiras. Exercício: CCT0766_EX_A10_201001371101_V1 04/05/2020 Aluno(a): CHARLES FERNANDO SÁ DA SILVA 2020.1 EAD Disciplina: CCT0766 - ARQUITETURA DE SISTEMAS 201001371101 1a Questão Marque a afirmativa correta, de acordo com seu material. No COM+, uma propriedade de interface é a especificação abreviada para inout e um set, como um par de operações. No COM+, a fábrica é o objeto inicial. No EJB, é objeto IClassFactory. Tanto no EJB como no COM+ usamos uma abordagem de fábrica de objetos, onde este, é utilizado para criar instâncias de outro componente. No COM+ não há flexibilidade sobre qual objeto é a fábrica. Respondido em 04/05/2020 10:59:52 Explicação: No EJB, a fábrica é o objeto inicial. C) No COM+, é objeto IClassFactory. No COM+ há muita flexibilidade sobre qual objeto é a fábrica. e) No COM+, uma propriedade de interface é a especificação abreviada para um get e um set, como um par de operações. 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: I e II são verdadeiras II e III são verdadeiras. Somente a I é verdadeira I e III são verdadeiras Somente a III é verdadeira Respondido em 04/05/2020 11:00:11 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 I. Apenas I e III. Apenas II. Apenas III. Apenas II e III. Respondido em 04/05/2020 11:07:08 Explicação: COM+ permite apenas herança única de interface. EJB permite herança múltipla de interface. 4a 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 I e III, apenas II e III, apenas I, II e III. I, apenas Respondido em 04/05/2020 11:06:57 Explicação: Todas as afirmativas estão corretas. 5a 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 I e III, apenas II, apenas II e III, apenas I, II e III apenas I e II, apenas Respondido em 04/05/2020 11:07:19 Explicação: A primeira sentença é falsa, uma vez que os componentes são empacotados em arquivos DLL. 6a Questão Quando se trata de herança de interfaces e suporte de interfaces é INCORRETO afirmar que: 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+. No COM+ para permitir que objetos tenham múltiplas classificações, os componentes devem suportar múltiplas interfaces. COM + permite apenas herança única de interface. EJB permite herança múltipla de interfaces e permite que classes Java apoiem múltiplas interfaces, limitando apenas unicamente herança de classe. 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). Respondido em 04/05/2020 11:07:27 Explicação: O ambiente é EJB e não COM+
Compartilhar