Wikipedia

Resultados da pesquisa

quarta-feira, 14 de junho de 2023

AO2 - Qualidade de Software - FAM - nota 5,4 de 6

 

AO2

Iniciado: 14 jun em 14:33

Instruções do teste                        nota 5,4 de 6

Importante:

Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que você clique em "FAZER O QUESTIONÁRIO", no final da página.

 
Sinalizar pergunta: Pergunta 1
Pergunta 10,6 pts

Leia o texto a seguir:

De quem é a culpa da má qualidade dos softwares?

Acho que todos já ouvimos falar sobre modelos de maturidade como CMMI ou MPS.BR e processos como o RUP, Scrum ou XP. Quase sempre isso vem acompanhado de comentários críticos e pessimistas de como a nossa empresa está longe de ser madura e prover produtos de qualidade.

Por outro lado, mesmo empresas que investem em maturidade do processo muitas vezes esquecem que ele não é uma bala de prata. Não existe processo ótimo sem ótimas pessoas. É um mito industrial a possibilidade de criar um processo perfeito que seja independentemente do nível e da maturidade dos indivíduos envolvidos.

Isso pode ser bem observado na literatura sobre processos. Processos “pesados” ou rígidos são recomendados quando há equipes imaturas, sem experiência e disciplina adequadas. Já com equipes experientes, maduras e disciplinadas quase não existe necessidade de processo.

Por isso é que os processos ágeis, por exemplo, somente são recomendados quando há pessoas muito competentes envolvidas no projeto. Como disse meu orientador: “coloque uma equipe de juniors num processo ágil, eles vão começar a estimar usando planning poker e provavelmente vão continuar jogando poker até o final do projeto”.

O mesmo é aplicável a empresas que disponibilizam salas de entretenimento, por exemplo. Muita gente gostaria de trabalhar no Google e ter uma sala com videogame, mas o que geralmente não se pensa é que quaisquer vagas nesse tipo de empresa são preenchidas por pessoas maduras e focadas, que possuem muito compromisso e dedicação.

(Fonte: Disponível em: http://luizricardo.org/2012/10/psp-personal-software-process/Links to an external site.. Acesso em: 05 de mar. de 2020)

Depois de ler o texto acima-, considere as afirmações abaixo:

I. Investir em processos de maturidade não necessariamente vai excluir todos os problemas da empresa

II. Os processos não podem ser melhorados sem as pessoas

III. Processos “pesados” ou rígidos são recomendados quando há equipes maduras, com experiência e disciplina adequadas

IV. A culpa pela falta de qualidade e organização em uma empresa é mantido na diretoria

É correto o que se afirma apenas em:

Grupo de escolhas da pergunta
 
Sinalizar pergunta: Pergunta 2
Pergunta 20,6 pts

Leia o texto abaixo:

Validação e Verificação (V&V)

Quando juntamos os dois conceitos de Validação e Verificação de Software é possível avaliar se ele atende à demanda que o fez necessário em primeiro lugar e, posteriormente, se ele foi construído corretamente, sem apresentar falhas, problemas e possíveis bugs.

Para isso são realizados, dentre outras tarefas, a revisão dos requisitos, de modelos, inspeção do código e outras revisões e inspeções técnicas em geral. Uma vez que os processos de V&V estejam validados é possível passar para a parte final do desenvolvimento de um software: os testes.

Testes

O teste de segurança software é o momento em que o produto é executado (por isso a necessidade de uma versão beta) para que os engenheiros possam avaliar como será a interação do programa com o consumidor final.

Dentre os principais modelos de teste de software podemos destacar seis principais:

Teste Unitário – analisa as menores unidades possíveis de um software para garantir que cada parte funciona como deve;

Teste de integração – confere se todas (ou algumas) partes estão dialogando e funcionando corretamente em conjunto;

Teste de sistemas – avalia se o sistema atende aos pré-requisitos estabelecidos na concepção do projeto;

Teste de aceitação – esse é, normalmente, o último teste realizado e tem como premissa verificar se o software está perfeito para uso pelo consumidor final;

Homologação – esse processo é feito pelo cliente ou outras partes interessadas e visa garantir, uma vez mais, que o programa atende às especificidades e funciona perfeitamente;

Teste de regressão – garante que novos componentes de um software dialoguem sem falhas com os antigos. Fundamental para novas versões.

(Fonte: Disponível em:http://logicalminds.com.br/saiba-a-diferenca-entre-teste-validacao-e-verificacao-de-software/Links to an external site.. Acesso em: 12 de mar. 2020)

A partir da leitura acima avalie as afirmações abaixo e verifique quais são corretas ou não:

I. Quando juntamos validação e verificação de software, conseguimos avaliar se o que foi pedido foi realizado.

II. Quando juntamos verificação e validação de software, conseguimos avaliar se o software apresenta falhas e bugs.

III. Dentre os modelos de testes podemos destacar 5 modelos: unitário, integração, sistemas, aceitação e homologação.

IV. Testes de homologação é um teste para os desenvolvedores e visa garantir as premissas que eles acharam certos para o sistema.

É correto apenas o que se afirma em:

Grupo de escolhas da pergunta
 
Sinalizar pergunta: Pergunta 3
Pergunta 30,6 pts

Leia o texto e analise as planilhas a seguir:

Mas quanto tempo eu preciso para fazer uma Gestão Total da Qualidade eficaz?

Para responder à pergunta, vamos mostrar primeiro um exemplo de cálculo custo/hora mostrando os gastos com os processos dentro de uma empresa que não utiliza softwares para automatização da Gestão Total da Qualidade. Confira:

AO2 Indicadores.png(Fonte: Disponível em: http://www.8idea.com.br/blog/automatize-a-gestao-total-da-qualidade-software-8quali/Links to an external site.. Acesso em: 05 de mar. de 2020

Analisando as planilhas acima, o que é preciso para conseguir implantar qualidade total?   

Grupo de escolhas da pergunta
 
Sinalizar pergunta: Pergunta 4
Pergunta 40,6 pts

Leia o texto a seguir:

A adoção do modelo CMMI estagiado implica que a organização deve atingir cada nível de maturidade na seqüência em que o modelo apresenta, iniciando a primeira meta pelo nível 2 de maturidade. Para tanto, a organização deve demonstrar o atendimento às exigências das seguintes áreas de processos:
Planejamento de projetos - estabelecer e manter planos com as atividades e os produtos de trabalho do desenvolvimento e manutenção de todos os projetos, cada qual segundo seu escopo, elaborar os orçamentos e cronogramas. Prevê também a formalização do compromisso, através das revisões periódicas e com a disponibilização dos recursos;

Monitoramento e controle de projetos - fornecer o entendimento do progresso do projeto e identificar os desvios, os riscos, os dados de controle e as ações corretivas;

Medições e análises - Desenvolver e manter as medições necessárias para prover informações de gerenciamento adequadas à organização;

Gerenciamento de requisitos - identificar os requisitos funcionais e não funcionais do produto e as correspondentes mudanças;

Gerenciamento de configuração - identificar os itens de configuração dos produtos finais e de seus componentes (baselines), sua integridade e mudanças;

Gerenciamento da qualidade do produto e do processo - prover a visibilidade objetiva e a comunicação adequada do andamento e da qualidade do processo e dos produtos de trabalho e final;

Gerenciamento dos acordos de fornecimento - gerenciar a aquisição de produtos, a seleção dos fornecedores e cumprir mutuamente as responsabilidades e manter os registros do aceite e de transferência.

(Fonte: Disponível em: http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0103-65132008000200006Links to an external site.. Acesso em: 05 de mar. de 2020)

O CMMI é um modelo de maturidade de software que de acordo com o texto baseia o segundo nível em:

Grupo de escolhas da pergunta
 
Sinalizar pergunta: Pergunta 5
Pergunta 50,6 pts

Leia o texto a seguir:

 

Requisitos de Software

Antigamente dizia-se que requisitos eram sinônimos de funções, ou seja, tudo que o software deveria fazer funcionalmente. No entanto, atualmente assumiu-se que requisitos de software é muito mais do que apenas funções. Requisitos são, além de funções, objetivos, propriedades, restrições que o sistema deve possuir para satisfazer contratos, padrões ou especificações de acordo com o(s) usuário(s). De forma mais geral um requisito é uma condição necessária para satisfazer um objetivo.

Portanto, um requisito é um aspecto que o sistema proposto deve fazer ou uma restrição no desenvolvimento do sistema. Vale ressaltar que em ambos os casos devemos sempre contribuir para resolver os problemas do cliente e não o que o programador ou um arquiteto deseja. Dessa forma, o conjunto dos requisitos como um todo representa um acordo negociado entre todas as partes interessadas no sistema. Isso também não significa que o programador, arquiteto ou um analista bem entendido no assunto de tecnologia não possam contribuir com sugestões e propostas que levem em conta o desejo do cliente.

Fonte: Disponível em:<https://www.devmedia.com.br/introducao-a-requisitos-de-software/29580Links to an external site.> Acesso em: 08/04/2021.

Os requisitos de software são divididos em requisitos funcionais e não funcionais. Os requisitos funcionais são os requisitos que definem as funções que o cliente precisa e quer dentro do software encomendado. Já os requisitos não funcionais 

Grupo de escolhas da pergunta
 
Sinalizar pergunta: Pergunta 6
Pergunta 60,6 pts

Leia o texto a seguir:

 

Qualidade de Produto

No contexto de produtos de software, o termo qualidade se refere a atributos positivos, desejáveis, de sistemas de software. Naturalmente, a noção de qualidade é subjetiva, de modo que indivíduos diferentes podem ter percepções de qualidade distintas sobre um mesmo produto.

Tal subjetividade não impede que, ao longo do tempo, diversos indivíduos e organizações tenham buscado sistematizar o conceito de qualidade de software, dando origem a modelos de qualidade. Modelos de qualidade de software definem um conjunto de características a serem consideradas para se avaliar a qualidade de um software [ISO/IEC 2001]. Exemplos de modelos de qualidade incluem o modelo de Boehm [Boehm et al. 1976], o modelo de Cavano e McCall [Cavano and McCall 1978], o modelo FURPS+ [Grady 1992] e a ISO/IEC 9126 [ISO/IEC 2001]. No modelo de Cavano e McCall, as características de qualidade são agrupadas em três dimensões:

  • revisão do produto: manutenibilidade, flexibilidade e testabilidade;
  • transição do produto: portabilidade, reusabilidade e interoperabilidade;
  • operação do produto: corretude, confiabilidade, eficiência, integridade e usabilidade.

Ainda que antigo, o modelo de Cavano e McCall propõe uma classificação ainda hoje relevante — basta observar que o padrão ISO 9126 usa o modelo como uma das fontes de inspiração. Além disso, cada dimensão se refere a atributos de qualidade que são especialmente relevantes para um stakeholder: a dimensão de revisão é relevante para desenvolvedores; transição, para administradores de sistemas; operação, para o usuário.

 

SOUZA E GOMES, R. R.; CHEVEZ, C. F.G.; BITTENCOURT, R. A. Reabertura de Defeitos Corrigidos: Impactos e Prevenção

Observe as asserções abaixo:

 

I. O modelo Cano e Mcall é antigo, mas prático, atual e relevante, ainda serve como modelo para normas como a ISO 9126.

 

PORQUE

 

II. Propõe uma classificação relevante para os dias de hoje e dimensões que se referem a atributos de qualidade que são relevantes para os stakeholders.

 

Escolha a alternativa correta:

Grupo de escolhas da pergunta
 
Sinalizar pergunta: Pergunta 7
Pergunta 70,6 pts

Leia o texto a seguir:

 

Você acaba de entrar em uma nova equipe na área de TI da empresa onde trabalha, trata-se da equipe de testes de sistemas financeiros. Seu novo coordenador, Marcos te chama para te apresentar seu primeiro trabalho.

Você irá trabalhar no projeto de integração do software XPTO, que faz todo o tratamento de notas fiscais, desde a emissão delas, até o pagamento dos impostos devidos sobre as vendas.

O XPTO é um pacote de software pronto que está sendo integrado ao ambiente já existente da empresa, você irá realizar os testes do módulo inteiro de emissão de notas fiscais.

Para realizar este trabalho, você considerará os principais tipos de testes:

Testes Unitários, testes de integração de software, sendo que este último é muito semelhante aos testes de sistemas de software, e finalmente, testes de aceite de software que são realizados pelos usuários que definem os requisitos de software.

Considerando as informações apresentadas, selecione a opção correta.

Grupo de escolhas da pergunta
 
Sinalizar pergunta: Pergunta 8
Pergunta 80,6 pts

Leia o texto abaixo:

Não existe bala de prata

Como começamos a afirmar no parágrafo anterior, desenvolvimento de software é diferente de qualquer outro produto de Engenharia, principalmente quando se compara software com hardware. Frederick Brooks, Prêmio Turing em Computação (1999) e um dos pioneiros da área de Engenharia de Software, foi um dos primeiros a chamar a atenção para esse fato. Em 1987, em um ensaio intitulado "Não Existe Bala de Prata: Essência e Acidentes em Engenharia de Software" (link), ele discorreu sobre as particularidades da área de Engenharia de Software.

Segundo Brooks, existem dois tipos de dificuldades em desenvolvimento de software: dificuldades essenciais e dificuldades acidentais. As essenciais são da natureza da área e dificilmente serão superadas por qualquer nova tecnologia ou método que se invente.

Daí a menção à bala de prata no título do ensaio. Diz a lenda que uma bala de prata é a única maneira de matar um lobisomem, desde que usada em uma noite de lua cheia. Ou seja, por causa das dificuldades essenciais, não podemos esperar soluções milagrosas em Engenharia de Software, na forma de balas de prata. O interessante é que, mesmo conhecendo o ensaio de Brooks, sempre surgem novas tecnologias que são vendidas como se fossem balas de prata.

Segundo Brooks, as dificuldades essenciais são as seguintes:

  • Complexidade: dentre as construções que o homem se propõe a realizar, software é uma das mais desafiadoras e mais complexas que existe. Na verdade, como dissemos antes, mesmo construções de engenharia tradicional, como um satélite, uma usina nuclear ou um foguete, são cada vez mais dependentes de software.
  • Conformidade: pela sua natureza software tem que se adaptar ao seu ambiente, que muda a todo momento no mundo moderno. Por exemplo, se as leis para recolhimento de impostos mudam, normalmente espera-se que os sistemas sejam rapidamente adaptados à nova legislação. Brooks comenta que isso não ocorre, por exemplo, na Física, pois as leis da natureza não mudam de acordo com os caprichos dos homens.
  • Facilidade de mudanças (changeability): que consiste na necessidade de evoluir sempre, incorporando novas funcionalidades. Na verdade, quanto mais bem sucedido for um sistema de software, mais demanda por mudanças ele recebe.
  • Invisibilidade: devido à sua natureza abstrata, é difícil visualizar o tamanho e consequentemente estimar o desafio de construir um sistema de software.

(Fonte: Disponível em: https://engsoftmoderna.info/cap1.htmlLinks to an external site.. Acesso em: 12 mar. 2020)

Considerando as informações apresentadas, avalie as afirmações abaixo:

I. De acordo com Brooks existem dois tipos de dificuldades em desenvolvimento de software: são as dificuldades essenciais e dificuldades acidentais.
II. 
Complexidade, Conformidade, facilidade de mudanças, invisibilidade são fatores sobre dificuldades essenciais segundo Brooks.
III. É possível obter soluções milagrosas no que se refere a desenvolvimento de software.
IV. Conformidade é o fato que o ambiente tem que adaptar ao software, toda estrutura tem que ser alterada para atender o software.

É correto o que se afirma apenas em:

Grupo de escolhas da pergunta
 
Sinalizar pergunta: Pergunta 9
Pergunta 90,6 pts

Leia o texto a seguir :

Gerenciamento de Qualidade no RUP

O gerenciamento de qualidade é feito para estas finalidades:

Identificar indicadores adequados (métricas) com qualidade aceitável

Identificar medidas adequadas a serem usadas na avaliação da qualidade

Identificar e abordar adequadamente questões que afetam a qualidade o mais cedo e eficaz possível

O gerenciamento da qualidade é implementado em todas as disciplinas, fluxos de trabalho, fases e iterações do RUP. Em geral, o gerenciamento da qualidade durante o ciclo de vida significa que você implementa, mede e avalia tanto a qualidade do processo como a do produto. Alguns dos esforços gastos para gerenciar a qualidade em cada disciplina estão realçados na lista a seguir:

O gerenciamento da qualidade na disciplina de Requisitos inclui a análise do conjunto de artefatos de requisitos em busca da consistência (entre padrões de artefatos e outros artefatos), clareza (comunica as informações claramente a todos os acionistas, envolvidos e outras funções) e precisão (o nível apropriado de detalhe e precisão).

 (Fonte: Disponível em: http://mds.cultura.gov.br/core.base_rup/guidances/supportingmaterials/continuously_verify_quality_86A48171.htmlLinks to an external site.. Acesso em: 05 de mar. de 2020)

Considerando o texto acima, avalie as asserções a seguir:

I. O gerenciamento de qualidade do RUP, pode ser implantado em todas disciplinas, fluxos de trabalho, fases e iterações do RUP.

Porque

II. O gerenciamento de qualidade cuida de ciclos de vida e isso quer dizer que você implementa, mede e avalia tanto a qualidade do processo como a do produto.

A respeito das asserções acima, assinale a alternativa correta: 

Grupo de escolhas da pergunta
 
Sinalizar pergunta: Pergunta 10
Pergunta 100,6 pts

Leia o texto abaixo:

Profissão de engenheiro de software

Com cada vez mais empresas automatizando seus serviços e criando suas próprias plataformas digitais, a profissão de engenheiro de software foi considerada a 2ª melhor da área de TI em crescimento e remuneração, segundo o site especializado em carreiras de tecnologia.

O software consiste na “parte lógica” do computador, que inclui sistema operacional e programas. Então, basicamente, estes profissionais projetam e guiam o desenvolvimento de programas, aplicativos e sistemas, de forma que atendam aos requisitos e cumpram as funções determinadas. Entre as principais atribuições do engenheiro de software, estão:

- Desenvolver softwares e apps;

- Gerenciar projetos ligados aos softwares;

- Arquitetar o design estrutural dos programas;

- Realizar testes nos sistemas.

Além destas, engenheiros de software podem ter funções ligadas à administração de bancos de dados, manutenção dos sistemas e até algumas de documentação, relacionadas à gestão de projetos e à composição dos manuais de instruções.

(Fonte: Disponível em: https://www.napratica.org.br/profissao-engenheiro-de-software/Links to an external site.. Acesso em: 04 de mar. de 2020)(adaptado)

Considerando as informações apresentadas, avalie as informações abaixo:

 

I. A profissão de engenheiro de software tem ganhado destaque na área de TI.

II. Além das funções referentes a sistemas, engenheiros de softwares podem trabalhar com rotinas de administração de bancos de dados.

III. Engenheiros de software trabalham apenas com projetos de software.

IV. Engenheiros de software tem como atribuição realizar testes nos sistemas apenas.

É correto o que se afirma apenas em:

Grupo de escolhas da pergunta

Nenhum comentário:

Postar um comentário

AO2 - Sistemas Distribuidos - FAM - NOTA 10

  AO2   Sinalizar pergunta: Pergunta 1 Pergunta 1 Leia o texto abaixo:   Por conta da pandemia COVID – 19 (2020), Ana começou a trabalhar em...