SóProvas


ID
2493094
Banca
Marinha
Órgão
Quadro Técnico
Ano
2017
Provas
Disciplina
Arquitetura de Software
Assuntos

Conforme descrito por Fugita e Hirama (2012), a orientação a serviços é um paradigma de construção e integração de soluções de software compostas por elementos modulares, chamados serviços, que se baseiam em princípios os quais caracterizam uma arquitetura SOA (Service Oriented Architecture), tais como:


- a implementação de um serviço pode ser substituída, modificada ou evoluída ao longo do tempo sem causar impactos aos consumidores desse serviço.

- é exigido que a lógica de processamento encapsulada por um serviço fique restrita dentro de certa fronteira estabelecida, o que evita a dependência com relação a outros serviços.


Tais características correspondem, respectivamente, aos seguintes princípios:

Alternativas
Comentários
  • O gabarito é a letra D.

     

    Baixo acoplamento: a implementação de um serviço pode ser substituída, modificada ou evoluída ao longo do tempo sem causar impactos aos consumidores desse serviço. 

     

    Autonomia: é exigido que a lógica de processamento encapsulada por um serviço fique restrita dentro de certa fronteira estabelecida, o que evita a dependência com relação a outros serviços. 

  • Baixo acoplamento. No modelo de projeto, é necessário que as classes de projeto colaborem umas com as outras. No entanto, a colaboração deverá ser mantida em um nível mínimo aceitável. Se um modelo de projeto é altamente acoplado (todas as classes de projeto colaboram com todas as outras classes de projeto), o sistema é difícil de implementar, testar e manter com o decorrer do tempo. Um projeto deve levar a componentes que apresentem características funcionais independentes (baixo acoplamento).

    Autonomia controlada. A interface deve facilitar a movimentação do usuário pela WebApp, mas deve fazê-lo de forma que faça valer convenções de navegação estabelecidas para a aplicação. Por exemplo, a navegação em trechos de segurança da WebApp deve ser controlada por meio de identificação e senhas de usuário e não deve existir nenhum mecanismo de navegação que possibilite a um usuário evitar tais controles.

    Interoperabilidade. Esforço necessário para integrar um sistema a outro.

    Reusabilidade. O quanto um programa [ou partes de um programa] pode ser reutilizado em outras aplicações — relacionado com o empacotamento e o escopo das funções que o programa executa.

    Correção. O quanto um programa satisfaz a sua especificação e atende aos objetivos da missão do cliente.

    Confiabilidade. O quanto se pode esperar que um programa realize a função pretendida com a precisão exigida.

    Eficiência. A quantidade de recursos computacionais e código exigidos por um programa para desempenhar sua função.

    Integridade. O quanto o acesso ao software ou dados por pessoas não autorizadas pode ser controlado.

    Usabilidade. Esforço necessário para aprender, operar, preparar a entrada de dados e interpretar a saída de um programa.

    Facilidade de manutenção. Esforço necessário para localizar e corrigir um erro em um programa. [Trata-se de uma definição muito limitada.]

    Flexibilidade. Esforço necessário para modificar um programa em operação.

    Testabilidade. Esforço necessário para testar um programa de modo a garantir que ele desempenhe a função destinada.

    Portabilidade. Esforço necessário para transferir o programa de um ambiente de hardware e/ou software para outro.

    TRABALHA E CONFIA!!