Baixe o app para aproveitar ainda mais
Prévia do material em texto
Componentes e modelos de componentes Exercícios 1. O desenvolvimento baseado em componentes é uma das abordagens de reúso de software em que o foco é a decomposição das funcionalidades de um sistema em componentes lógicos que se comunicam por meio de suas interfaces. Avalie as seguintes afirmações e a relação proposta entre elas: I. A utilização de componentes permite que o sistema final seja visto como um conjunto de minissistemas. PORQUE: II. Cada componente tem como foco uma única funcionalidade. Assinale a alternativa correta: Você acertou! B. As afirmações I e II são proposições verdadeiras e a II justifica a I. A implementação de sistemas compostos por componentes permite que o produto final seja o resultado da conexão de várias partes independentes com uma única funcionalidade, formando um conjunto de minissistemas que trabalham em conjunto. Logo, as afirmações I e II são verdadeiras e a II justifica a I. 2. O desenvolvimento de software baseado em componentes é uma das áreas de estudo da engenharia de software e descreve como a componentização de funcionalidades pode trazer melhorias ao processo de desenvolvimento. Considerando as características básicas de um componente, analise as afirmativas a seguir e classifique-as em verdadeiras (V) ou falsas (F): ( ) Um componente deve ser independente do restante do sistema, mas, caso seja necessário, deve especificar pela interface de serviços providos. ( ) Induz o reaproveitamento de software a partir da composição com outros componentes. ( ) Apesar de facilitar a construção de componentes, um modelo de componentes pode ser dispensável para equipes experientes. ( ) A padronização de um modelo de componentes está intimamente ligado a sua documentação. Assinale a alternativa que preenche as lacunas de forma correta: Você acertou! B. F, V, F, V. Apesar de ser caracterizado pela autonomia, caso sejam necessários recursos de outros componentes, estes são especificados nas interfaces requeridas. Ser passível de composição é a capacidade de reutilizar software por meio da conexão com outros componentes. Um modelo de componentes define a padronização, forma de uso e implantação de um componente, sendo essencial independentemente do nível de experiência da equipe de desenvolvimento. É necessário que um modelo de componentes contenha toda a padronização dos elementos básicos de um componente, devendo ela estar integralmente documentada para que outros desenvolvedores possam utilizar. 3. O desenvolvimento baseado em componentes se constitui em um paradigma relevante para a área de desenvolvimento, sendo caracterizado por porções de softwares independentes que encapsulam uma série de funcionalidades. A engenharia de software baseada em componentes é o segmento da computação dedicado ao estudo de suas características e formas de evolução. Em relação ao conceito e às características dos componentes de software, assinale a alternativa correta: Você acertou! C. Uma das características elementares de um componente é sua independência, visto que não deve existir interferências entre eles. Por ser um elemento individual e autônomo, os componentes não devem interferir na execução dos demais, somente complementá-los em caso de dependências necessárias. Um modelo de componente pode seguir padrões abertos, mas os demais componentes só conhecem as interfaces explícitas dos demais componentes da aplicação. Incluir, substituir ou remover um componente não deve implicar em alterações de escala de um sistema, ao menos não obrigatoriamente. A não ser que um componente de interface de usuário seja alterado, uma possível substituição de componentes não deve causar alterações de interface. O desenvolvimento baseado em componentes não especifica quantidade máxima ou mínima de componentes que podem ser implementados, sendo essa quantidade ligada somente às necessidades que o sistema requer. 4. Um modelo de componentes especifica os padrões e convenções que devem ser seguidas para a construção de componentes, descrevendo procedimentos de implementação, documentação e implantação de componentes, entre outras. Analise as afirmativas a seguir e classifique-as em verdadeiras (V) ou falsas (F): ( ) Ao descrever a forma de implantação de um componente reusável, devemos estar atentos para que ele seja o mais simples quanto possível, evitando que seu empacotamento contenha softwares de suporte, por exemplo, mesmo que sejam necessários ao seu funcionamento. ( ) Quando é projetada uma solução baseada em componentes, é possível disponibilizar um serviço comum, de modo que vários desenvolvedores possam implementá-lo e suas informações de uso devem estar explicitadas no modelo de componentes. ( ) Um componente tem suas interfaces especialmente projetadas para poder se conectar às interfaces dos demais componentes, desde que o tipo de interface seja adequada. Assinale a alternativa que preenche as lacunas de forma correta: Você acertou! A. F, V, V. Um modelo de componentes deve descrever o formato de empacotamento para implantação, incorporando nele todos os softwares de suporte necessários e não incluídos na infraestrutura do componente, garantindo assim sua autonomia em relação ao sistema. Um modelo de componentes deve, entre outras informações, explicitar quais os serviços são providos pelo componente e a forma de utilizá-los. Um componente tem dois tipos de interfaces padrão, ou seja, um tipo que disponibiliza serviços (interface fornecida) e outro que representa as entradas de recursos necessários a sua função (interface requerida). A conexão pode ocorrer, por exemplo, quando um componente fornece um serviço que é requerido por outro. 5. Um modelo de componentes é responsável por especificar como o componente foi desenvolvido, como são suas interfaces e como deve ser implantado. Também especifica os serviços que o componente é capaz de prover e seus requisitos para funcionamento adequado. Quanto aos serviços disponibilizados a partir da implementação de um modelo de componente, podemos classificá-los quanto às diferentes categorias de serviço prestado. Considerando as formas de classificação de serviços disponibilizados a partir de um modelo de componentes, avalie as seguintes definições. I. A implementação do modelo de componentes é capaz de fornecer serviços de interface que auxiliam a comunicação e a interoperabilidade entre os componentes. II. A implementação do modelo de componentes é capaz de fornecer uma plataforma de serviços que permite que componentes desenvolvidos de acordo com o modelo possam se comunicar. III. A implementação do modelo de componentes é capaz de fornecer um conjunto de serviços de suporte básicos, disponíveis somente ao componente que o está implementando. IV. A implementação do modelo de componentes é capaz de fornecer serviços de suporte independentes da aplicação utilizada e disponíveis a qualquer componente que venha a requisitá-los. Assinale a alternativa que apresenta as afirmativas corretas: Você acertou! C. II e IV. Serviços de plataforma possibilitam a comunicação e a interoperabilidade entre os diversos componentes utilizados. Serviços de plataforma têm seu foco na comunicação e na interoperabilidade entre os componentes. Serviços de suporte são serviços básicos, disponíveis a qualquer componente que venha a solicitá-los, geralmente disponibilizados para uso compartilhado por todos os componentes independentes da aplicação utilizada. Componentes e modelos de componentes Exercícios
Compartilhar