Baixe o app para aproveitar ainda mais
Prévia do material em texto
Arquitetura de Sistemas Marcio Quirino - 1 Exercícios 1. 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 testada. 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 auto-suficiente. I e II são verdadeiras 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 3. São características principais encontradas na Arquitetura em Camadas: Cada camada depende exclusivamente dos serviços providos pela camada inferior 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. 4. Sobre a Arquitetura de Sistemas, as questões abaixo são verdadeiras, EXCETO: É tarefa da arquitetura a construção do projeto detalhado dos componentes individuais que formam o sistema. 5. 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 Conceitual 6. Quais são as três características de um projeto de desenvolvimento de software? Temporário, Gera um resultado único e Elaborado Progressivamente 7. Qual das respostas abaixo melhor define o conceito de ciclo de vida de projeto de desenvolvimento de software? As etapas que compõe o desenvolvimento de um projeto. Arquitetura de Sistemas Marcio Quirino - 2 8. O processo de decomposição para definição do escopo de um projeto de desenvolvimento de software é uma técnica utilizada para construir um(a): Estrutura Analítica do Projeto (EAP) 9. 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? 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. 10. São características que levaram à especificação do Modelo de Componentes CORBA, EXCETO: Necessidade da existência de um mecanismo único de implementação Verdadeiras: • Falta de flexibilidade para estender as funcionalidades dos objetos • Dificuldade de configurar e utilizar aplicações em padrões anteriores • Necessidade da especialização das interfaces (conexões) entre os objetos • 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. 11. 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 - Análise - Especificação - 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. Arquitetura de Sistemas Marcio Quirino - 3 12. 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 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ógico e ordenada de um fluxo de no computador. 13. 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? Iniciação 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. 14. Sobre os Componentes de um Sistema, as questões abaixo são verdadeiras, EXCETO: Seguindo o princípio da alta coesão, cada componente deve ter no máximo 3 interfaces 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 processadosno 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 sequencial: 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. Arquitetura de Sistemas Marcio Quirino - 4 15. Questão: I. UML é uma linguagem de modelagem de uso geral que pode ser usada com os principais métodos de objetos e de componentes, podendo ainda ser aplicada a todos os domínios de aplicação e plataformas de implementação; II. Um relacionamento estendido entre casos de uso significa que o caso de uso base incorpora implicitamente, sob alguma condição, o comportamento de outro caso de uso. III. Um relacionamento de inclusão entre casos de uso significa que o caso de uso base incorpora explicitamente o comportamento de outro caso de uso. IV. Relacionamentos de inclusão e extensão são representados pela mesma notação do relacionamento de dependência, com a seta apontada para o caso de uso base. A alternativa completamente CORRETA é: I – II – III 16. Questão: I. Diagramas de casos de uso são compostos por atores, casos de uso e seus relacionamentos; II. Diagramas de classes são compostos por classes e seus relacionamentos; III. Diagramas de sequência são compostos por objetos e suas trocas de mensagens, ou seja, chamadas de métodos para outros objetos; Considerando as sentenças acima, marque a opção correta: As afirmativas I, II e III são verdadeiras 17. O diagrama UML, que apresenta um conjunto de objetos envolvidos em um cenário e a especificação das mensagens trocadas entre esses objetos ao longo de uma linha de tempo, é chamado de: Diagrama de sequência 18. Em UML, são exemplos de diagramas responsáveis por representar o aspecto estrutural de um software: Diagrama de classes e diagrama de pacotes 19. A atividade de análise de requisitos procura descobrir o que os stakeholders de um projeto de sistema de software querem que o sistema faça. Para ajudar na comunicação com os usuários e clientes vários diagramas da UML podem ser utilizados. Com relação à utilização dos diagramas da UML na atividade de análise de requisitos, analise se as sentenças a seguir são falsas ou verdadeiras e depois assinale a opção correta: ( ) Diagrama de classes desenhado a partir da perspectiva conceitual é uma boa maneira de construir um vocabulário rigoroso do domínio. ( ) Um diagrama de atividades é recomendo para exibir o fluxo de trabalho da organização, mostrando como o software e as atividades humanas interagem. ( ) Um diagrama de objetos é indicado para representar um conceito que tenha um ciclo de vida com vários estados e os eventos que mudam esses estados. V, V e F Arquitetura de Sistemas Marcio Quirino - 5 20. A UML é uma famosa linguagem usada para análise e projeto orientado a objetos. O seu diagrama de sequência tem como características, EXCETO: Dá ênfase ao fluxo de controle de uma atividade para outra. 21. 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? Modelo em cascata Explicação: O Modelo em Cascata é um modelo de desenvolvimento de software sequencial no qual o processo é visto como um fluir 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. 22. 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 Componentes 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 Arquitetura de Sistemas Marcio Quirino - 6 23. 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 é: Definir as funcionalidades do sistema a ser desenvolvido 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 24. 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 25. Uma empresa realizou um levantamento de requisitos de um Estacionamento, onde num primeiro momento destacou duas funcionalidades principais: I. 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. II. 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. 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. 26. A gestão de requisitos é uma etapa importante do projeto por ser um conjunto de atividades quetem como principal objetivo ajudar a equipe de projeto a: Identificar, controlar e rastrear requisitos e modificações de requisitos em qualquer época, à medida que o projeto prossegue. Arquitetura de Sistemas Marcio Quirino - 7 27. Os requisitos não funcionais normalmente surgem por meio das necessidades dos usuários, podem ser restrições de orçamento, políticas organizacionais ou mesmo por fatores externos, como regulamentos de segurança e legislações de privacidade. Juntamente com a classificação dos requisitos não funcionais estão os requisitos de produto, os quais: Especificam ou restringem o comportamento do software, incluindo requisitos de desempenho, especificações de rapidez de execução e requisitos de confiabilidade que estabelecem, por exemplo, a taxa aceitável de falhas. 28. 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: 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. 29. 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 I, II e III estão corretas. 30. 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. 31. 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. 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. Arquitetura de Sistemas Marcio Quirino - 8 32. 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. 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. 33. São requisitos funcionais, exceto Fechamento da compra do cliente deve ter processamento inferior a 10 segundo. 34. Sobre as características da engenharia de componentes, a alternativa INCORRETA é: Mesmo no caso de componentes comerciais, há sempre o acesso ao código-fonte e não há a preocupação com direitos autorais e licenças. 35. 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: 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. Arquitetura de Sistemas Marcio Quirino - 9 36. 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 recursos chaves a serem utilizados pelo 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? 37. 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. Explicação: A primeira sentença é falsa uma vez que não é Refinar as interfaces e sim Refinar as Regras de Negócios. 38. 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? 39. 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, Interface de Sistemas, Especificação de Componentes do Sistema e Modelo de Negócio. 40. 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. 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 Arquitetura de Sistemas Marcio Quirino - 10 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 cascataquando 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. 41. Sobre interação de componentes, analise as sentenças a seguir, verifique quais são verdadeiras e depois marque a opção correspondente: (I) Sempre que possível, a solução deve ser construída por meio de componentes já existentes, sendo eles componentes “comerciais de prateleira” (comercial off‐the‐shelf ‐ COTS) ou componentes implementados dentro da empresa (in‐house). (II) A equipe de desenvolvimento deve tentar modificar ou remover os requisitos do sistema que não puderem ser implementados como componentes COTS ou desenvolvidos internamente. (III) O desenvolvimento baseado em componentes é um tipo de desenvolvimento de software fortemente baseado no reuso. I, II e III estão corretas. 42. Na interação entre os componentes, é necessário descobrir as operações de negócio que estão ligadas ao relacionamento entre os componentes, através de diagramas dinâmicos, como de colaboração, de sequência ou de atividades. Essa sentença é: Verdadeiro 43. Na especificação final dos componentes, o Modelo de Informação das Interfaces (Interface Information Model) é utilizado porque: (I) Provê a relação entre cada interface e as entidades do modelo de negócio. (II) Ajuda o entendimento do contexto de cada interface. (III) Mantém o conhecimento do domínio somente com o desenvolvedor responsável pela informação. Das sentenças acima, qual está INCORRETA? III Arquitetura de Sistemas Marcio Quirino - 11 44. Fases: 1 - Aquisição dos componentes; 2 - Localização de componentes prontos; 3 - Reutilização de componentes; 4 - Implementação dos Componentes; Processos: I - Pode ser necessário adaptar os componentes reutilizados ou até mesmo as funcionalidades do sistema (renegociação dos requisitos); II - Reutilização de componentes prontos ou a utilização de novos componentes; III - Busca por serviço fornecido pelo componente, considerando a semelhança de seus conteúdos; IV- Deve-se utilizar um modelo de componente já existente, tais como EJB, COM+ etc. A alternativa que relaciona corretamente cada fase com seu processo é: 1-II, 2-III, 3-I, 4-IV 45. Sobre a integração de componentes, a alternativa INCORRETA é: Após a integração dos componentes, eles não podem ser utilizados como módulos separados em sistemas futuros. 46. Na fase de integração de componentes, há um compromisso de implementar e integrar os componentes de forma que eles sejam consistentes com a documentação para facilitar o reuso dos mesmos no futuro. Nesta atividade, são realizados os seguintes passos: (I) De posse da documentação (modelos) dos componentes é definida qual a linguagem de implementação será utilizada. (II) Após isso, é realizada a implementação dos componentes e suas respectivas interfaces. (III) São realizados os testes dos componentes. (IV) Uma vez implementados, e testados, os componentes são armazenados no repositório para possível utilização na implementação de uma aplicação. Estão INCORRETAS as afirmações: Nenhuma afirmação está incorreta. 47. 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. (F) (V) (V) (F) Arquitetura de Sistemas Marcio Quirino - 12 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. 48. 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 Operações 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. 49. 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 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. 50. 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 (2) O que (3) Para quem (4) Quanto ( ) Elementos de infraestrutura de hardware, banco de dados, comunicação e software a ser utilizado pelo sistema a ser desenvolvido. ( ) Quais os Benefícios se espera alcançar como o novo sistema. ( ) Recursos chaves a serem utilizados pelo sistema a ser desenvolvido. ( ) Que problema o sistema proposto vai resolver. 3,4,1,2 Arquitetura de Sistemas Marcio Quirino - 13 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. 51. 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 domodelo de negócios mapeadas e definidas de forma definitiva? Refinar Definição de Componentes e Arquitetura 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. 52. 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. I e II e III estão corretas. 53. Sobre “chamada de procedimento/método”, é correto afirmar que: Todas as alternativas estão corretas. Explicação: Segue o modelo Cliente/Servidor. Um componente que fornece uma interface com procedimentos/métodos para solicitar a execução de seus serviços é um servidor. Componentes/aplicações que utilizam os serviços de outros componentes são seus clientes. 54. O componente Controller do MVC: 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. Explicação: Controller: Gerencia a interação da apresentação visual do sistema (View) com os comportamentos da aplicação (Model). Arquitetura de Sistemas Marcio Quirino - 14 55. 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. 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 56. 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. Explicação: É um componente fracamente acoplado e não fortemente acoplado. 57. 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 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. Arquitetura de Sistemas Marcio Quirino - 15 Um sistema de software pode ser constituído inteiramente por componentes, já que estes podem se interligar através de suas interfaces. CORRETO 58. 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 de cada 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: Controller, Model e View 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. 59. 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 as alternativas II, III e IV são verdadeiras. 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 passadados para outros subsistemas. Arquitetura de Sistemas Marcio Quirino - 16 60. No tocante ao desenvolvimento de software orientado ao reuso, embora o estágio inicial de especificação de requisitos e o estágio de validação sejam comparáveis com outros processos, os estágios intermediários em um processo orientado ao reuso são diferentes. Nesse caso, são processos em estágios intermediários: Análise de componentes, modificação de requisitos, projeto de sistemas com reuso e desenvolvimento e integração. 61. Na arquitetura de sistemas, determinado conceito permite que, entre dois elementos de software A e B, seja possível postular alguma mudança de A, que pediria que B fosse mudado (ou, no mínimo, cuidadosamente verificado), a fim de preservar a exatidão global e também postular alguma mudança, que pediria que tanto A como B mudassem juntos para preservar a exatidão global. Isso trata-se do conceito de: Congeneridade. 62. 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. Explicação: A terceira afirmativa está incorreta, uma vez que é o arquiteto de sistemas que deve ter preocupação de definir e construir middlewares que conectem as diversas camadas de componentes. 63. 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 Arquitetura de Sistemas Marcio Quirino - 17 64. 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 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. 65. 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. Explicação: Na metodologia de produto apresenta detalhadamente como utilizar o padrão, exemplos de uso, resultados... 66. 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, V e V. 67. 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. Arquitetura de Sistemas Marcio Quirino - 18 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 68. Na construção dos componentes de um domínio do problema, há três passos principais. Assinale a alternativa que corresponde à ordem correta de criação desses passos: Modelar componentes, gerar código dos componentes e instalar componentes. 69. A etapa “modelar componentes” é dividida em três passos: definir domínio do problema, especificar componentes e projetar componentes. Assinale a alternativa que não corresponde à especificação de cada um dos passos dessa etapa: No passo “especificar componentes”, as atividades são realizadas no nível de abstração do projeto interno de componentes. 70. 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 V. Explicação: O Entreprise JavaBeans (EJB) não possui tanto dependência de plataforma, mas possui dependência de Linguagem. 71. Em relação ao Framework CCM (CORBA Component Model) podemos afirmar que: 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 Arquitetura de Sistemas Marcio Quirino - 19componentes e suas implementações devem ser empacotados. O modelo de execução define o ambiente de execução para as instâncias do componente. 72. 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. 73. 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 Programação, Modelo de Empacotamento, Modelo de Instalação e Modelo de Execuçã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). 74. 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? 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 alocada durante a transação. Session e Service não fazem parte do gerenciamento do ciclo de vida dos componentes de servidor. Arquitetura de Sistemas Marcio Quirino - 20 75. 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." 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 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. 76. Sobre “projetar componentes”, assinale a alternativa cujo o projeto NÃO faz parte deste passo: Projeto do modelo de casos de uso. 77. 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 afirmar em: I, II e III. 78. 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 Explicação: A primeira sentença é falsa, uma vez que os componentes são empacotados em arquivos DLL. Arquitetura de Sistemas Marcio Quirino - 21 79. 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+. Explicação: O ambiente é EJB e não COM+ 80. 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 III são verdadeiras Explicação: A segunda sentença é falsa uma vez que Package descriptors são documentos XML e não OSD 81. Marque a afirmativa correta, de acordo com seu material. Tanto no EJB como no COM+ usamos uma abordagem de fábrica de objetos, onde este, é utilizado para criar instâncias de outro componente. 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. 82. 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 III. Explicação: COM+ permite apenas herança única de interface. EJB permite herança múltipla de interface. 83. 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. Arquitetura de Sistemas Marcio Quirino - 22 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. I, II e III estão corretas84. Em relação ao Cobra Componente Model é ERRADO afirmar que: É um framework de componentes do lado do Cliente. 85. 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, II, III 86. Assinale a alternativa que apresenta a sequência de especificação de um componente. Implementação, Distribuição, Empacotado, Aderente a padrões 87. São interfaces encontradas nos componentes do Modelo de Componentes Corba - CCM, EXCETO: Alças 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 88. 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 89. Sobre os Componentes de um Sistema, as questões abaixo são verdadeiras, EXCETO: O nível de abstração é, geralmente, baixo. 90. Qual é o diagrama que garante uma visão sistêmica entre os componentes de interface e os componentes de dados do sistema? Diagrama de Domínio 91. Dentre os requisitos abaixo, assinale a alternativa que apresenta um requisito funcional. O sistema deverá dar baixa após a venda ser efetivada. Arquitetura de Sistemas Marcio Quirino - 23 92. Em relação ao conceito de componentes é correto afirmar que: Um mesmo componente pode ter mais de uma interface. 93. 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, II e III estão corretas. 94. 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 Classe 95. 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 conceituai fraco para ser validado pelas partes interessadas. ( ) A validação de requisitos deve ser feita em duas etapas, chamadas de pré-valídação e validação de requisitos. As afirmativas são respectivamente: V, F e V. 96. 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, F e V. 97. 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." Para Quem? Arquitetura de Sistemas Marcio Quirino - 24 98. Em relação ao uso de camadas, assinale a alternativa que NÀO é considerada uma vantagem na sua utilização. Facilidade de duplicação de funcionalidade. 99. Ao desenvolver um componente, é necessário que o arquiteto defina alguns aspectos fundamentais de sua criação. Das respostas apresentadas, qual aspecto não é parte fundamental no desenvolvimento do mesmo. Pode ser distribuído. 100. O Cobra Componente Model é dividido em cinco tipos de modelos. Aquele que define os atributos, portas de comunicação e home dos componentes é o Modelo? Abstrato. 101. A construção é o processo de reunir componentes de software existentes ativos em um ambiente de TI e projetar uma interface de usuário para esse sistema, com base nos modelos para formar uma aplicação. Então, podemos afirmar que: A construção compartilha várias das características presentes na configuração padrão do ambiente 102. Em relação aos níveis de modelo, descubra qual modelo que representa os componentes de softwares utilizados. Modelo de Especificação 103. 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. I, II e III estão corretas. 104. 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 III está correta. Arquitetura de Sistemas Marcio Quirino - 25 105. 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 - 1 - 4 - 2 106. Uma arquitetura de sistema baseada no padrão MVC (Model View Controller) tem como principal característica: Separa a camada de apresentação da camada que representa as informações do domínio do problema. 107. Em relação ao empacotamento de componentes, podemos afirmar que: O componente deve funcionar independentemente de outro componente. 108. Marque a(s) afirmativa(s) correta(s): I - Em UML a relação entre o componente e a interface também pode ser definida através de relacionamentos. II - Em UML, para lidar com especificações, adicionamos alguns estereótipos como, especificaçãode componentes, as classes e relações. III - Em UML um componente não realiza mais de uma interface. Apenas a afirmativa I está correta; 109. 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 110. 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: I e II, apenas Arquitetura de Sistemas Marcio Quirino - 26 111. 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 (2) Modelo de Empacotamento (3) Modelo de Programação (4) Modelo de Instalação (5) Modelo de Execução ( ) Composto pela CIDL (Component Implementation Definition Language) e pelo CIF (Component Implementation Framework). ( ) Define o ambiente de execução para as instâncias do componente. ( ) Define os atributos, portas de comunicação e home dos componentes. ( ) Especifica como os componentes e suas implementações devem ser empacotados. ( ) Define um mecanismo padrão para a instalação de aplicações. 3, 5, 1, 2, 4 112. No Modelo de Componentes Corba a descrição das interfaces pode ser realizada através de uma IDL - Linguagem para Descrição de Interface. A respeito dessa linguagem é possível afirmar, EXCETO: Não existe herança entre componentes na especificação da linguagem 113. 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 funcional idades e não revelar detalhes do seu processo interno ou alguma variável interna e estado." Encapsulamento
Compartilhar