Engenharia de Software Flashcards
O que é DevOps?
É a união de pessoas, processos e tecnologias para entrega rápida de serviços de TI, integrando desenvolvimento (Dev) e operações (Ops).
O DevOps é compatível com métodos ágeis?
Sim, o DevOps é compatível com métodos ágeis como o Scrum e com o uso de ferramentas que visualizam fluxos do processo.
O que é Infraestrutura como Código (IaC)?
É o gerenciamento de infraestrutura com arquivos de configuração e scripts, em vez de acesso manual às máquinas ou ferramentas tradicionais.
Cite uma ferramenta de orquestração no DevOps.
Kubernetes, uma plataforma de código aberto para gestão de workloads e serviços baseados em containers.
O que é CI/CD no contexto DevOps?
É um método para entregar aplicações com frequência, utilizando automação nas etapas de desenvolvimento e integrando entrega e implantação contínuas.
Qual o papel do controle de versão no DevOps?
Permite armazenar, versionar e fornecer códigos para ferramentas de automação e gestão da arquitetura.
Qual é o objetivo principal da ferramenta Jenkins no DevOps?
Automatizar tarefas relacionadas à construção, teste, entrega e implantação de software.
Quais são os benefícios das ferramentas de gerenciamento de configuração no DevOps?
Reduzem a necessidade de intervenção humana, agilizam provisionamento e deploy, e mantêm a infraestrutura no estado desejado.
Por que o monitoramento é importante no DevOps?
Ajuda a identificar problemas e executar ações preventivas para evitar indisponibilidade das aplicações.
Qual é a função da ferramenta Prometheus no DevOps?
Monitoramento de eventos com um modelo de dados multidimensional e coleta de dados via HTTP.
Qual a importância das ferramentas de controle de logs no DevOps?
Facilitam a localização de registros, controlam acessos e ajudam a encontrar a causa raiz de problemas.
Quais são as práticas principais do DevOps?
Orquestração, controle de versão, gerenciamento de configuração, integração contínua, monitoramento e controle de logs.
Qual é a funcionalidade básica do Git no DevOps?
Controle de versão distribuído com suporte a branches, commits e merges, permitindo a gestão eficiente de códigos.
Qual é a principal vantagem do uso de CI/CD no DevOps?
Automação das etapas de desenvolvimento, teste, entrega e implantação, garantindo maior frequência e qualidade nas entregas.
O que significa o conceito de Infraestrutura como Código (IaC) no contexto DevOps?
É o processo de gerenciamento e provisionamento de recursos de infraestrutura usando arquivos de configuração e scripts, em vez de acessar máquinas físicas ou realizar operações manuais.
Qual é a principal vantagem do modelo distribuído do Git?
Todos os usuários possuem uma cópia completa do repositório, permitindo trabalho offline e maior segurança contra perda de dados.
Cite uma ferramenta de integração contínua amplamente utilizada em ambientes DevOps.
Jenkins, uma ferramenta de código aberto para automação de tarefas relacionadas à construção, teste, entrega e implantação de software.
Quais são os principais conceitos associados ao método CI/CD?
Integração contínua, entrega contínua e implantação contínua.
O que é Kubernetes e qual sua finalidade principal?
É uma plataforma de orquestração de containers de código aberto que facilita a gestão de workloads e serviços baseados em containers com configuração declarativa e automatizada.
Qual é o objetivo principal do monitoramento em ambientes DevOps?
Identificar problemas e gerar gatilhos para ações preventivas que evitem a indisponibilidade de aplicações.
Qual a relação entre DevOps e métodos ágeis como Scrum?
DevOps é compatível com métodos ágeis, compartilhando práticas colaborativas e foco na entrega contínua.
O que caracteriza o gerenciamento de configuração em DevOps?
Automação de infraestrutura para garantir que os ambientes estejam no estado desejado, com menor intervenção humana.
Cite uma ferramenta de gerenciamento de configuração em DevOps que utiliza Ruby para scripts.
Chef ou Puppet.
Qual é o propósito de ferramentas de controle de logs em DevOps?
Fornecer um ponto único para monitoramento de logs, facilitar a busca por registros e auxiliar na identificação de causas raízes de problemas.
O que caracteriza a prática de orquestração no contexto DevOps?
Gestão, configuração e coordenação de componentes de TI, como servidores, aplicações e serviços.
Quais são os principais objetivos do DevSecOps?
Integrar práticas de segurança ao ciclo de vida do desenvolvimento e operação de software.
Como o TeamCity se destaca como ferramenta de CI/CD?
Suporte a múltiplas funcionalidades, integração com diversas ferramentas e suporte a servidores de controle de versão e plataformas em nuvem.
O que significa o termo Staging Area no Git?
É uma área temporária onde alterações podem ser preparadas antes de serem salvas no repositório.
Qual a vantagem do Nagios como ferramenta de monitoramento?
Oferece monitoramento de eventos, gestão de alertas e uma ampla lista de plugins desenvolvidos pela comunidade.
O que é a especificação de requisitos?
A especificação de requisitos consiste em traduzir as informações obtidas na análise em um documento que define um conjunto de requisitos, podendo ser escrito, gráfico, matemático formal ou uma combinação desses.
Qual é o propósito da especificação de requisitos?
Serve como um contrato entre as partes envolvidas no projeto, diferentemente da documentação preliminar criada na análise de requisitos.
Como os requisitos de usuário devem ser apresentados?
Devem ser escritos em linguagem natural, com tabelas simples e diagramas intuitivos.
O que são requisitos funcionais?
Declarações sobre o que o sistema deve fornecer em termos de funções, como reagir a entradas específicas e comportar-se em determinadas situações.
Quais são os tipos de requisitos não funcionais?
Requisitos de produto, organizacionais, externos e de domínio.
O que são requisitos de domínio?
Requisitos derivados do domínio de aplicação do sistema, refletindo suas características e podendo ser funcionais ou não funcionais.
Como os requisitos quanto à qualidade são classificados?
Em requisitos normais, esperados e fascinantes.
O que são requisitos voláteis?
Requisitos sujeitos a modificações frequentes, divididos em mutáveis, emergentes, consequentes e compatíveis.
Quais são as fases da Engenharia de Requisitos segundo Pressman?
Concepção, levantamento, elaboração, negociação, especificação, validação e gestão.
O que a fase de levantamento na Engenharia de Requisitos busca realizar?
Ajuda o cliente a definir o que é necessário para o sistema.
Qual é o objetivo da validação de requisitos?
Verificar os requisitos quanto ao realismo, consistência e completude.
O que é a matriz de rastreabilidade?
Um recurso usado na gestão de requisitos para conectar requisitos aos stakeholders, outros requisitos e módulos de projeto.
Quais são as fases da elicitação de requisitos?
Obtenção, classificação e organização, priorização e negociação, e documentação de requisitos.
Quais são algumas técnicas de elicitação de requisitos?
Cenários, entrevistas, prototipação, , etnografia e casos de uso.
Qual o objetivo da priorização e negociação de requisitos?
Resolver conflitos entre requisitos e determinar quais são mais importantes para o projeto.
Qual o objetivo da Engenharia de Software, segundo Sommerville (2007)?
Garantir que o desenvolvimento do software resulte em um produto de qualidade, atendendo aos prazos e custos estabelecidos.
Quais são as fases da Engenharia de Requisitos segundo Pressman?
Concepção, Levantamento, Elaboração, Negociação, Especificação, Validação, Gestão.
Quais são as fases da Engenharia de Requisitos segundo Sommerville?
Estudo de Viabilidade, Elicitação e Análise de Requisitos, Especificação, Validação, Gestão.
O que é a validação de requisitos?
O objetivo é garantir que a necessidade real do usuário esteja descrita corretamente no documento de especificação dos requisitos.
Qual a importância da validação de requisitos?
Evita custos elevados para correção de requisitos em fases posteriores, como implementação ou testes.
Quais problemas a validação de requisitos busca identificar?
Inconsistências, omissões, erros e verificar conformidade com padrões estabelecidos para o processo e o projeto.
O que é a revisão de requisitos?
A revisão de requisitos envolve a análise sistemática dos requisitos por uma equipe de revisores para identificar inconsistências, omissões e contradições.
Qual a diferença entre revisão formal e informal de requisitos?
Na revisão formal, os problemas são apresentados e discutidos entre analista e cliente, enquanto na revisão informal é um debate simples sem a formalização.
O que é a prototipação e qual seu objetivo?
A prototipação é um modelo executável do sistema que permite aos usuários finais testar e verificar se o sistema atende às suas necessidades reais.
Quais são as desvantagens da prototipação?
O tempo dedicado ao protótipo pode não ser justificado, há risco de viés dos usuários e os programadores podem usar o protótipo como base para o sistema final.
O que é a geração de casos de teste?
Técnica que verifica se um requisito é passível de implementação. Se não for, o requisito deve ser reconsiderado.
O que é um checklist de validação?
É uma ferramenta para verificar se um requisito pode ser testado e se os testes podem ser especificados.
Qual é a diferença entre validação e verificação de requisitos?
A validação assegura que os requisitos atendem às necessidades reais do cliente, enquanto a verificação assegura que o que foi planejado foi realizado corretamente.
O que Barry Boehm diz sobre validação e verificação?
Validação: “Estamos construindo o produto certo do jeito correto?”
Verificação: “Estamos construindo o produto da maneira certa?”
O que envolve a gestão de requisitos?
A gestão de requisitos começa com a identificação e o rastreamento dos requisitos e envolve a avaliação de mudanças durante o ciclo de vida do sistema.
Qual é a maior complexidade considerada na análise de pontos de função?
A maior complexidade encontrada na parte de entrada ou saída da consulta será considerada a complexidade da consulta externa.
O que deve ser contado em cada processo de recuperação de dados?
Cada processo de recuperação de dados deve ser contado com base nos parâmetros de entrada fornecidos.
Quais são os fatores que afetam o tamanho funcional de um sistema?
Comunicação de dados, funções distribuídas, performance, configuração do equipamento, volume de transações, entre outros.
O que é a contagem de pontos de função ajustados?
A contagem de pontos de função ajustados é um processo que corrige distorções da contagem inicial, aplicando o fator de ajuste.
O que determina a complexidade das funções na análise de pontos de função?
A complexidade é determinada com base no tipo de função (entrada, saída, etc.) e é classificada como simples, média ou alta/complexa.
Qual a importância do cálculo de pontos de função ajustados?
Ele é importante para refletir a situação real do sistema, considerando ajustes baseados nas características específicas.
O que significa a contagem de pontos de função para os usuários?
A contagem de pontos de função ajuda os usuários a determinar os benefícios de um pacote de aplicativos, contando as funcionalidades que atendem aos seus requisitos.
Quais são os tipos de funções na análise de pontos de função?
Funções de tipo DADOS (ALE, AIE) e funções de tipo TRANSAÇÕES (EE, SE, CE).
O que caracteriza a função “Entrada Externa” (EE)?
A função “Entrada Externa” processa dados de fora da fronteira da aplicação e pode manter ou alterar o comportamento do sistema.
Qual a definição de “Arquivo Lógico Externo” (ALE)?
Um ALE é um grupo de dados ou informações de controle mantidos dentro da fronteira da aplicação, com o objetivo de armazenar dados mantidos por processos elementares.
O que deve ser calculado separadamente na análise de complexidade funcional de uma consulta externa?
A complexidade funcional da parte da entrada e da saída da consulta
O que deve ser considerado a maior complexidade na avaliação de uma consulta externa?
A maior complexidade encontrada na entrada ou saída será considerada a complexidade da consulta externa.
Qual processo é contado no cálculo de pontos de função para uma consulta externa?
Cada processo de recuperação de dados que seleciona informações com base nos parâmetros de entrada fornecidos.
O que deve ser verificado em relação à lógica de processamento de dados nas consultas externas?
Verificar se a lógica de processamento da entrada e da saída é diferente da lógica de outras consultas externas.