diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..2cb9ca3 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,33 @@ +# O que este PR introduz? + + + +## Checklist + +Por favor, cheque se seu PR atende aos seguintes requisitos: + +- [ ] Eu atualizei a documentação de acordo (se necessário). +- [ ] Eu adicionei testes para cobrir minhas mudanças (se necessário). +- [ ] Todos os novos e existentes testes passaram. +- [ ] Meu código segue o estilo de código deste projeto. + +## Tipo de PR + +Que tipo de mudança este PR introduz? + +- [ ] Correção de bug +- [ ] Feature request +- [ ] Atualização na documentação +- [ ] Atualização no estilo do código (formatação, variáveis locais, etc.) +- [ ] Refatoração (sem mudanças funcionais, sem mudanças na API) +- [ ] Atualizações de dependências +- [ ] Mudanças relacionadas a CI/CD +- [ ] Chore (mudanças não relacionadas a código) +- [ ] Mudanças relacionadas a build (e.g. Dockerfile, pyproject.toml, etc.) + +## Este PR introduz uma mudança que quebra a compatibilidade? + +- [ ] Sim +- [ ] Não + +## Outras informações (screenshots, detalhes, etc.) \ No newline at end of file diff --git a/docs/missoes/missao1/questionario.md b/docs/missoes/missao1/questionario.md index 9855b77..7450d2d 100644 --- a/docs/missoes/missao1/questionario.md +++ b/docs/missoes/missao1/questionario.md @@ -2,186 +2,188 @@ ## QUESTIONÁRIO ### Facção GoHorse Starborne Legion -1. **Indique a opção INCORRETA:** - Os desejos dos usuários podem: - - (A) Gerar necessidades e requisitos de software desnecessários. - - (B) Gerar retrabalho. - - (C) Ser individuais. - - (D) Garantir o desenvolvimento de uma solução real. - -2. **Se a necessidade não for atendida:** - - (A) A organização não é prejudicada. - - (B) O cliente não é prejudicado. - - (C) Os resultados esperados continuam sendo gerados. - - (D) A organização pode parar. - -3. **Qual é o primeiro passo fundamental para atender às necessidades do usuário?** - - (A) Desenvolver rapidamente um protótipo. - - (B) Implementar todas as funcionalidades solicitadas. - - (C) Compreender corretamente o problema real. - - (D) Realizar testes extensivos no software. - -4. **Por que é importante evitar escolher o problema errado em um projeto de software?** - - (A) Para aumentar a quantidade de retrabalho. - - (B) Para atender aos requisitos sem resolver o problema correto. - - (C) Para atrasar o cronograma do projeto. - - (D) Para reduzir a comunicação com os stakeholders. - -5. **Qual técnica é recomendada para identificar as causas raízes dos problemas?** - - (A) Diagrama de Pareto. - - (B) Diagrama de Ishikawa (Espinha de Peixe). - - (C) Análise SWOT. - - (D) Análise de Regressão. - -6. **O que o Princípio de Pareto afirma em relação aos problemas em um projeto de software?** - - (A) 100% dos problemas podem ser resolvidos com 20% do esforço. - - (B) Todos os problemas têm a mesma importância. - - (C) É necessário resolver todos os problemas de uma vez. - - (D) 80% dos resultados podem ser obtidos com 20% do esforço. - -7. **Qual é a importância de identificar as causas que mais contribuem para um problema em um projeto de software?** - - (A) Para aumentar a complexidade do projeto. - - (B) Para priorizar o tratamento das causas mais relevantes. - - (C) Para adicionar mais requisitos ao software. - - (D) Para atrasar o lançamento do produto. - -8. **O que o diagrama de "Espinha de Peixe" (Ishikawa) ajuda a visualizar em um projeto de software?** - - (A) As causas e efeitos de um problema. - - (B) As etapas do ciclo de vida do software. - - (C) As funcionalidades do software. - - (D) As métricas de desempenho do software. - -9. **Quantos "porquês" são geralmente recomendados para identificar as causas raízes de um problema?** - - (A) 3 - - (B) 5 - - (C) 7 - - (D) 10 - -10. **Qual é a principal razão para aplicar a regra 80-20 ao analisar as causas de um problema em um projeto de software?** - - (A) Para aumentar a complexidade do projeto. - - (B) Para adicionar mais requisitos ao software. - - (C) Para atrasar o lançamento do produto. - - (D) Para focar nas principais causas contribuintes. - -11. **Por que é importante tratar as causas mais relevantes de um problema primeiro em um projeto de software?** - - (A) Para aumentar o custo do projeto. - - (B) Para demonstrar a complexidade do software. - - (C) Para obter resultados significativos com menos esforço. - - (D) Para adicionar mais funcionalidades ao software. - -12. **Qual é o papel da compreensão correta do problema no processo de desenvolvimento de software?** - - (A) Atrasar o início do projeto. - - (B) Garantir que todos os requisitos sejam atendidos. - - (C) Evitar retrabalho e garantir que o problema esteja resolvido. - - (D) Limitar a comunicação com os stakeholders. - -13. **Sobre a Engenharia de Requisitos, assinale a alternativa correta:** - - (A) A Engenharia de Requisitos não precisa ser aplicada em todos os projetos, pois nem todo software tem requisitos. - - (B) Projetos que aplicam pouco as técnicas da Engenharia de Requisitos tendem a ter sucesso a longo prazo. - - (C) A finalidade da Engenharia de Requisitos é estabelecer boa comunicação entre as partes envolvidas no processo de desenvolvimento de software. - - (D) A finalidade da Engenharia de Requisitos é produzir boa documentação. - -14. **Sobre os processos de elicitação e descoberta de requisitos, qual alternativa é incorreta?** - - (A) É importante entender, neste momento, quais são os stakeholders e fontes de informação. - - (B) Nessa fase, o conjunto de requisitos encontrado não é entendido de maneira profunda. - - (C) Nessa etapa, interessa descobrir apenas as funcionalidades do sistema. - - (D) Essa etapa também é importante para projetos cujos requisitos são conhecidos e estáveis. - -15. **Qual das definições a seguir melhor explica o conceito de stakeholder?** - - (A) É a pessoa que paga pelo software. - - (B) É o usuário do software. - - (C) É o dono da empresa contratante. - - (D) São todos os afetados materialmente pelo sistema. - -16. **Qual é o principal objetivo da engenharia de requisitos?** - - (A) Entender os problemas a serem resolvidos pelo software. - - (B) Incentivar a proximidade com o cliente. - - (C) Definir boa documentação para o software. - - (D) Encontrar os erros no software projetado. - -17. **Qual é a diferença entre verificação e validação?** - - (A) Verificação é uma atividade que visa ter certeza se o problema foi entendido corretamente. Validação é uma atividade que visa ter certeza se o problema foi solucionado corretamente. - - (B) Validação é uma atividade que visa ter certeza se o problema foi entendido corretamente. Verificação é uma atividade que visa ter certeza se o problema foi solucionado corretamente. - - (C) Validação é uma atividade em que os envolvidos no desenvolvimento do software tentam, juntos, chegar a um entendimento comum dos requisitos. Verificação é uma atividade em que os requisitos brutos e incompletos são modificados. - - (D) Verificação é uma atividade em que os envolvidos no desenvolvimento do software tentam, juntos, chegar a um entendimento comum dos requisitos. Validação é uma atividade em que os requisitos brutos e incompletos são modificados. - -18. **Qual das alternativas a seguir contém apenas técnicas cujo objetivo é entender um problema?** - - (A) Diagrama de Ishikawa, Planning Poker e 5 Porquês - - (B) Diagrama de pareto, Pair Programming, 5 Porquês - - (C) Diagrama de pareto, Diagrama de Ishikawa, 5 Porquês - - (D) 5 Porquês, Integração Contínua e Planning Poker - -19. **Qual é o principal problema da técnica dos 5 Porquês?** - - (A) É uma técnica ineficiente, pois os questionamentos não levam a lugar algum. - - (B) É possível que os questionamentos levem a um problema periférico, que não é o principal. - - (C) Entender problemas propostos por stakeholders é fácil, então a técnica é uma perda de tempo. - - (D) 5 perguntas são pouco para chegar a um entendimento do problema. - -20. **Como as solicitações dos principais envolvidos podem ser encaradas no processo de identificação das necessidades?** - - (A) Como requisitos essenciais. - - (B) Como uma lista de desejos. - - (C) Como soluções atuais. - - (D) Como características de alto nível do sistema. - -21. **Por que é importante organizar as necessidades dos stakeholders à medida que vão surgindo?** - - (A) Para priorizar os requisitos extravagantes. - - (B) Para compartilhar uma mesma visão sobre as necessidades. - - (C) Para ocultar informações dos stakeholders. - - (D) Para criar mais problemas no projeto. - -22. **Como um quadro de necessidades pode auxiliar os envolvidos a compreender e atender às necessidades identificadas?** - - (A) Ocultando informações importantes. - - (B) Priorizando requisitos extravagantes. - - (C) Mostrando problemas, soluções atuais, soluções propostas e prioridades. - - (D) Criando mais dificuldades na comunicação. - -23. **São alguns dos valores considerados importantes para a Engenharia de Requisitos:** - - (A) Comunicação, Feedback, Coragem, Compromisso, Confiança. - - (B) Comunicação, Determinação, Respeito, Simplicidade, Feedback. - - (C) Comunicação, Organização, Respeito, Simplicidade, Coragem. - - (D) Organização, Respeito, Simplicidade, Feedback, Confiança. - -24. **Dos 11 princípios da Engenharia de Requisitos, qual a definição de orientação a valor?** - - (A) Requisitos são meios para um fim, não um fim em si mesmo. - - (B) Problema, requisitos e solução devem estar sempre entrelaçados. - - (C) A ER influencia as pessoas e o ambiente. - - (D) Requisitos não validados são inúteis. - -25. **Seleciona a opção que se enquadra aos princípios dae engenharia de Requisitos** - - (A) Feedback - - (B) Respeito - - (C) Validação dos requisitos - - (D) Coragem - -26. **Acerca do princípio da comunicação de requisitos, é correto afirmar que:** - - (A) Comunicação é sobre documentos, que devem ser descritos em documentações detalhadas para serem eficientes. - - (B) Somente a equipe técnica deve ter conhecimento sobre os requisitos do projeto. - - (C) Diz sobre comunicações, e não documentos. É importante que todos os envolvidos sejam comunicados de forma adequada sobre os requisitos. - - (D) As características dos clientes, dos produtos e da própria equipe não são importantes. O foco está no contexto do negócio. - -27. **Um entendimento comum é a base para a construção de soluções. Sobre entendimento compartilhado, selecione a opção em que tenha apenas fatores habilitadores.** - - (A) Distância geográfica, Conhecimento do domínio - - (B) Restrições regulatórias, Compartilhamento de cultura e valores - - (C) Terceirização, Domínio de padrões específicos - - (D) Confiança mútua, existências de soluções de referência - -28. **Em relação a validação de requisitos de software, baseado no princípios de requisitos de software, qual a alternativa que está incorreta:** - - (A) A validação é crucial para garantir que os requisitos sejam corretos e atendam às necessidades das partes interessadas. - - (B) A validação só pode ser realizada após a resolução de conflitos e definição de prioridades entre as partes interessadas. - - (C) A validação é um processo contínuo que deve ser realizado durante todo o ciclo de vida do projeto. - - (D) Os requisitos não validados são úteis para o desenvolvimento do projeto, pois servem como base para a implementação do sistema. - -29. **Sobre os princípios da ER, qual o impacto da Engenharia de Requisitos, selecione a alternativa correta.** - - (A) A Engenharia de Requisitos influencia as pessoas e o ambiente - - (B) Incentivar mais pessoas a conhecerem o assunto. - - (C) Ensinar o que seria engenharia de Requisitos. - - (D) Definir ferramentas necessárias para um bom projeto de software. - -30. **As razões para as mudanças nos requisitos são vastas e podem variar, selecione a opção que corresponde a alternativa correta.** - - (A) Os requisitos não precisam acompanhar a evolução do sistema, pois já foram definidos. - - (B) Detecção de erros ou domínio incorreto de algumas premissas são fatores que podem acarretar mudanças nos requisitos. - - (C) A tecnologia não se altera em nenhum momento. - - (D) Não há necessidade de manter os requisitos estáveis, pois não há custos na mudança do mesmo. - -### GABARITO: -1)E 2)D 3)C 4)B 5)B 6)D 7)B 8)A 9)B 10)D 11)C 12)C 13)C 14)C 15)D 16)A 17)B 18)C 19)B 20)B 21)B 22)C 23)A 24)A 25)C 26)C 27)D 28)D 29)A 30)B \ No newline at end of file +1. **Indique a opção INCORRETA:**

+ Os desejos dos usuários podem:
+ (A) Gerar necessidades e requisitos de software desnecessários.
+ (B) Gerar retrabalho.
+ (C) Ser individuais.
+ (D) Garantir o desenvolvimento de uma solução real.
+ +2. **Se a necessidade não for atendida:**

+ (A) A organização não é prejudicada.
+ (B) O cliente não é prejudicado.
+ (C) Os resultados esperados continuam sendo gerados.
+ (D) A organização pode parar.
+ +3. **Qual é o primeiro passo fundamental para atender às necessidades do usuário?**

+ (A) Desenvolver rapidamente um protótipo.
+ (B) Implementar todas as funcionalidades solicitadas.
+ (C) Compreender corretamente o problema real.
+ (D) Realizar testes extensivos no software.
+ +4. **Por que é importante evitar escolher o problema errado em um projeto de software?**

+ (A) Para aumentar a quantidade de retrabalho.
+ (B) Para atender aos requisitos sem resolver o problema correto.
+ (C) Para atrasar o cronograma do projeto.
+ (D) Para reduzir a comunicação com os stakeholders.
+ +5. **Qual técnica é recomendada para identificar as causas raízes dos problemas?**

+ (A) Diagrama de Pareto.
+ (B) Diagrama de Ishikawa (Espinha de Peixe).
+ (C) Análise SWOT.
+ (D) Análise de Regressão.
+ +6. **O que o Princípio de Pareto afirma em relação aos problemas em um projeto de software?**

+ (A) 100% dos problemas podem ser resolvidos com 20% do esforço.
+ (B) Todos os problemas têm a mesma importância.
+ (C) É necessário resolver todos os problemas de uma vez.
+ (D) 80% dos resultados podem ser obtidos com 20% do esforço.
+ +7. **Qual é a importância de identificar as causas que mais contribuem para um problema em um projeto de software?**

+ (A) Para aumentar a complexidade do projeto.
+ (B) Para priorizar o tratamento das causas mais relevantes.
+ (C) Para adicionar mais requisitos ao software.
+ (D) Para atrasar o lançamento do produto.
+ +8. **O que o diagrama de "Espinha de Peixe" (Ishikawa) ajuda a visualizar em um projeto de software?**

+ (A) As causas e efeitos de um problema.
+ (B) As etapas do ciclo de vida do software.
+ (C) As funcionalidades do software.
+ (D) As métricas de desempenho do software.
+ +9. **Quantos "porquês" são geralmente recomendados para identificar as causas raízes de um problema?**

+ (A) 3
+ (B) 5
+ (C) 7
+ (D) 10
+ +10. **Qual é a principal razão para aplicar a regra 800 ao analisar as causas de um problema em um projeto de software?**

+ (A) Para aumentar a complexidade do projeto.
+ (B) Para adicionar mais requisitos ao software.
+ (C) Para atrasar o lançamento do produto.
+ (D) Para focar nas principais causas contribuintes.
+ +11. **Por que é importante tratar as causas mais relevantes de um problema primeiro em um projeto de software?**

+ (A) Para aumentar o custo do projeto.
+ (B) Para demonstrar a complexidade do software.
+ (C) Para obter resultados significativos com menos esforço.
+ (D) Para adicionar mais funcionalidades ao software.
+ +12. **Qual é o papel da compreensão correta do problema no processo de desenvolvimento de software?**

+ (A) Atrasar o início do projeto.
+ (B) Garantir que todos os requisitos sejam atendidos.
+ (C) Evitar retrabalho e garantir que o problema esteja resolvido.
+ (D) Limitar a comunicação com os stakeholders.
+ +13. **Sobre a Engenharia de Requisitos, assinale a alternativa correta:**

+ (A) A Engenharia de Requisitos não precisa ser aplicada em todos os projetos, pois nem todo software tem requisitos.
+ (B) Projetos que aplicam pouco as técnicas da Engenharia de Requisitos tendem a ter sucesso a longo prazo.
+ (C) A finalidade da Engenharia de Requisitos é estabelecer boa comunicação entre as partes envolvidas no processo de desenvolvimento de software.
+ (D) A finalidade da Engenharia de Requisitos é produzir boa documentação.
+ + +14. **Sobre os processos de elicitação e descoberta de requisitos, qual alternativa é incorreta?**

+ (A) É importante entender, neste momento, quais são os stakeholders e fontes de informação.
+ (B) Nessa fase, o conjunto de requisitos encontrado não é entendido de maneira profunda.
+ (C) Nessa etapa, interessa descobrir apenas as funcionalidades do sistema.
+ (D) Essa etapa também é importante para projetos cujos requisitos são conhecidos e estáveis.
+ +15. **Qual das definições a seguir melhor explica o conceito de stakeholder?**

+ (A) É a pessoa que paga pelo software.
+ (B) É o usuário do software.
+ (C) É o dono da empresa contratante.
+ (D) São todos os afetados materialmente pelo sistema.
+ +16. **Qual é o principal objetivo da engenharia de requisitos?**

+ (A) Entender os problemas a serem resolvidos pelo software.
+ (B) Incentivar a proximidade com o cliente.
+ (C) Definir boa documentação para o software.
+ (D) Encontrar os erros no software projetado.
+ +17. **Qual é a diferença entre verificação e validação?**

+ (A) Verificação é uma atividade que visa ter certeza se o problema foi entendido corretamente. Validação é uma atividade que visa ter certeza se o problema foi solucionado corretamente.
+ (B) Validação é uma atividade que visa ter certeza se o problema foi entendido corretamente. Verificação é uma atividade que visa ter certeza se o problema foi solucionado corretamente.
+ (C) Validação é uma atividade em que os envolvidos no desenvolvimento do software tentam, juntos, chegar a um entendimento comum dos requisitos. Verificação é uma atividade em que os requisitos brutos e incompletos são modificados.
+ (D) Verificação é uma atividade em que os envolvidos no desenvolvimento do software tentam, juntos, chegar a um entendimento comum dos requisitos. Validação é uma atividade em que os requisitos brutos e incompletos são modificados.
+ +18. **Qual das alternativas a seguir contém apenas técnicas cujo objetivo é entender um problema?**

+ (A) Diagrama de Ishikawa, Planning Poker e 5 Porquês
+ (B) Diagrama de pareto, Pair Programming, 5 Porquês
+ (C) Diagrama de pareto, Diagrama de Ishikawa, 5 Porquês
+ (D) 5 Porquês, Integração Contínua e Planning Poker
+ +19. **Qual é o principal problema da técnica dos 5 Porquês?**

+ (A) É uma técnica ineficiente, pois os questionamentos não levam a lugar algum.
+ (B) É possível que os questionamentos levem a um problema periférico, que não é o principal.
+ (C) Entender problemas propostos por stakeholders é fácil, então a técnica é uma perda de tempo.
+ (D) 5 perguntas são pouco para chegar a um entendimento do problema.
+ +20. **Como as solicitações dos principais envolvidos podem ser encaradas no processo de identificação das necessidades?**

+ (A) Como requisitos essenciais.
+ (B) Como uma lista de desejos.
+ (C) Como soluções atuais.
+ (D) Como características de alto nível do sistema.
+ +21. **Por que é importante organizar as necessidades dos stakeholders à medida que vão surgindo?**

+ (A) Para priorizar os requisitos extravagantes.
+ (B) Para compartilhar uma mesma visão sobre as necessidades.
+ (C) Para ocultar informações dos stakeholders.
+ (D) Para criar mais problemas no projeto.
+ +22. **Como um quadro de necessidades pode auxiliar os envolvidos a compreender e atender às necessidades identificadas?**

+ (A) Ocultando informações importantes.
+ (B) Priorizando requisitos extravagantes.
+ (C) Mostrando problemas, soluções atuais, soluções propostas e prioridades.
+ (D) Criando mais dificuldades na comunicação.
+ +23. **São alguns dos valores considerados importantes para a Engenharia de Requisitos:**

+ (A) Comunicação, Feedback, Coragem, Compromisso, Confiança.
+ (B) Comunicação, Determinação, Respeito, Simplicidade, Feedback.
+ (C) Comunicação, Organização, Respeito, Simplicidade, Coragem.
+ (D) Organização, Respeito, Simplicidade, Feedback, Confiança.
+ + +24. **Dos 11 princípios da Engenharia de Requisitos, qual a definição de orientação a valor?**
+ (A) Requisitos são meios para um fim, não um fim em si mesmo.
+ (B) Problema, requisitos e solução devem estar sempre entrelaçados.
+ (C) A ER influencia as pessoas e o ambiente.
+ (D) Requisitos não validados são inúteis.

+ +25. **Seleciona a opção que se enquadra aos princípios dae engenharia de Requisitos**
+ (A) Feedback
+ (B) Respeito
+ (C) Validação dos requisitos
+ (D) Coragem

+ +26. **Acerca do princípio da comunicação de requisitos, é correto afirmar que:**
+ (A) Comunicação é sobre documentos, que devem ser descritos em documentações detalhadas para serem eficientes.
+ (B) Somente a equipe técnica deve ter conhecimento sobre os requisitos do projeto.
+ (C) Diz sobre comunicações, e não documentos. É importante que todos os envolvidos sejam comunicados de forma adequada sobre os requisitos.
+ (D) As características dos clientes, dos produtos e da própria equipe não são importantes. O foco está no contexto do negócio.

+ +27. **Um entendimento comum é a base para a construção de soluções. Sobre entendimento compartilhado, selecione a opção em que tenha apenas fatores habilitadores.**
+ (A) Distância geográfica, Conhecimento do domínio
+ (B) Restrições regulatórias, Compartilhamento de cultura e valores
+ (C) Terceirização, Domínio de padrões específicos
+ (D) Confiança mútua, existências de soluções de referência

+ +28. **Em relação a validação de requisitos de software, baseado no princípios de requisitos de software, qual a alternativa que está incorreta:**
+ (A) A validação é crucial para garantir que os requisitos sejam corretos e atendam às necessidades das partes interessadas.
+ (B) A validação só pode ser realizada após a resolução de conflitos e definição de prioridades entre as partes interessadas.
+ (C) A validação é um processo contínuo que deve ser realizado durante todo o ciclo de vida do projeto.
+ (D) Os requisitos não validados são úteis para o desenvolvimento do projeto, pois servem como base para a implementação do sistema.

+ +29. **Sobre os princípios da ER, qual o impacto da Engenharia de Requisitos, selecione a alternativa correta.**
+ (A) A Engenharia de Requisitos influencia as pessoas e o ambiente
+ (B) Incentivar mais pessoas a conhecerem o assunto.
+ (C) Ensinar o que seria engenharia de Requisitos.
+ (D) Definir ferramentas necessárias para um bom projeto de software.

+ +30. **As razões para as mudanças nos requisitos são vastas e podem variar, selecione a opção que corresponde a alternativa correta.**
+ (A) Os requisitos não precisam acompanhar a evolução do sistema, pois já foram definidos.
+ (B) Detecção de erros ou domínio incorreto de algumas premissas são fatores que podem acarretar mudanças nos requisitos.
+ (C) A tecnologia não se altera em nenhum momento.
+ (D) Não há necessidade de manter os requisitos estáveis, pois não há custos na mudança do mesmo.

+ +### GABARITO
+1)E 2)D 3)C 4)B 5)B 6)D 7)B 8)A 9)B 10)D 11)C 12)C 13)C 14)C 15)D 16)A 17)B 18)C 19)B 20)B 21)B 22)C 23)A 24)A 25)C 26)C 27)D 28)D 29)A 30)B