Revisão de Desenvolvimento de Software
45 Questions
1 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual é a definição correta de gestão de requisitos?

  • Identificar, analisar, documentar e verificar os requisitos de um sistema. (correct)
  • Alterar os requisitos sem documentar as mudanças.
  • Definir requisitos somente no final do projeto.
  • Apenas documentar os requisitos sem analisá-los.
  • Qual ferramenta é comumente utilizada para modelar requisitos funcionais e não funcionais?

  • Visio
  • Microsoft Excel
  • Jira
  • UML (Unified Modeling Language) (correct)
  • Qual é o principal objetivo da documentação de requisitos?

  • Registrar decisões de design.
  • Servir como um contrato entre cliente e equipe. (correct)
  • Documentar mudanças realizadas ao longo do tempo.
  • Comunicar requisitos de forma informal.
  • O que significa a rastreabilidade de requisitos?

    <p>Rastrear os requisitos desde a origem até a implementação. (D)</p> Signup and view all the answers

    Qual afirmação sobre requisitos não funcionais é verdadeira?

    <p>Especificam as qualidades do sistema como desempenho. (D)</p> Signup and view all the answers

    O que caracteriza o Desenvolvimento Dirigido por Modelos (MDD)?

    <p>Utiliza modelos como principal artefato para especificação e documentação. (B)</p> Signup and view all the answers

    Por que é importante controlar e documentar mudanças nos requisitos?

    <p>Para garantir que mudanças sejam verificadas e implementadas adequadamente. (B)</p> Signup and view all the answers

    Qual é a principal função de validação de requisitos?

    <p>Assegurar que os requisitos sejam completos, consistentes e corretos. (A)</p> Signup and view all the answers

    Qual a principal diferença entre testes de carga e testes de estresse?

    <p>Os testes de carga simulam condições normais de uso, enquanto os testes de estresse simulam condições extremas. (C)</p> Signup and view all the answers

    Qual das opções não é uma função das ferramentas especializadas para testes de performance?

    <p>Fornecer dados superficiais sobre o desempenho do sistema. (D)</p> Signup and view all the answers

    Qual opção NÃO reflete um dos valores fundamentais do Manifesto Ágil?

    <p>Documentação extensiva mais que software funcionando. (D)</p> Signup and view all the answers

    O que caracteriza a prática de 'iteração' no desenvolvimento ágil?

    <p>Dividir o desenvolvimento em ciclos curtos e entregas incrementais. (B)</p> Signup and view all the answers

    Por que a adoção de metodologias ágeis tem crescido nas empresas?

    <p>Porque promovem maior flexibilidade e adaptação a mudanças. (C)</p> Signup and view all the answers

    Qual a principal característica dos testes de carga?

    <p>Medir o tempo de resposta do sistema sob condições normais de uso. (C)</p> Signup and view all the answers

    Uma das premissas do desenvolvimento ágil é:

    <p>Promover interações contínuas e feedback ao longo do ciclo de vida do projeto. (B)</p> Signup and view all the answers

    Caso um software não funcione corretamente após testes de carga, qual pode ser uma das causas?

    <p>A não simulação de cenários de uso realistas. (B)</p> Signup and view all the answers

    Qual é uma característica das ferramentas de MDD?

    <p>Elas geram código em várias linguagens de programação. (D)</p> Signup and view all the answers

    Qual dos seguintes itens representa um desafio na adoção do MDD em organizações?

    <p>Necessidade de mudança cultural e de processos. (D)</p> Signup and view all the answers

    Qual é o principal benefício do uso de modelos no desenvolvimento de software?

    <p>Melhorar a comunicação entre as partes interessadas e facilitar a compreensão do sistema. (A)</p> Signup and view all the answers

    Qual é o principal objetivo da manutenção corretiva de software?

    <p>Corrigir defeitos e erros encontrados no software. (C)</p> Signup and view all the answers

    Qual prática NÃO contribui para a qualidade contínua de um software?

    <p>Evitar a documentação do código. (D)</p> Signup and view all the answers

    Qual das seguintes ferramentas é comumente utilizada para criar modelos no contexto do MDD?

    <p>UML (Unified Modeling Language) (C)</p> Signup and view all the answers

    Qual é a função principal de um sistema de suporte técnico?

    <p>Auxiliar os usuários a resolver problemas. (A)</p> Signup and view all the answers

    Qual é a principal diferença entre um modelo conceitual e um modelo de implementação no MDD?

    <p>O modelo conceitual representa a visão do usuário, enquanto o modelo de implementação representa a visão do desenvolvedor. (D)</p> Signup and view all the answers

    Qual das seguintes afirmações sobre a geração de código a partir de modelos é VERDADEIRA?

    <p>A geração de código permite automatizar a criação de código a partir de modelos, reduzindo o esforço de desenvolvimento. (C)</p> Signup and view all the answers

    Qual destas ferramentas é tipicamente utilizada para gerenciar solicitações de suporte?

    <p>ServiceNow (D)</p> Signup and view all the answers

    Qual métrica NÃO é relevante para avaliar a eficácia de um sistema de suporte técnico?

    <p>Número de linhas de código. (C)</p> Signup and view all the answers

    Qual das seguintes técnicas é utilizada para transformar modelos em código?

    <p>Transformação de modelos (D)</p> Signup and view all the answers

    Qual prática é importante para garantir a qualidade da documentação de software?

    <p>Manter a documentação sempre atualizada. (D)</p> Signup and view all the answers

    Qual das seguintes áreas é mais beneficiada pela aplicação do MDD?

    <p>Desenvolvimento de sistemas complexos e críticos. (C)</p> Signup and view all the answers

    Qual é a principal vantagem da utilização de modelos executáveis?

    <p>Permitir a simulação e a validação do sistema antes da implementação. (A)</p> Signup and view all the answers

    Qual das seguintes afirmações sobre as ferramentas de MDD é FALSA?

    <p>As ferramentas de MDD eliminam a necessidade de testes. (D)</p> Signup and view all the answers

    Qual das seguintes opções deve ser evitada para garantir a qualidade do software?

    <p>Evitar a criação de diagramas e fluxogramas (D)</p> Signup and view all the answers

    Qual ferramenta é ideal para monitorar o desempenho de aplicações web?

    <p>New Relic (C)</p> Signup and view all the answers

    Qual das seguintes opções não contribui para reduzir incidentes de software?

    <p>Realizar apenas testes unitários (B)</p> Signup and view all the answers

    Qual a definição mais adequada para um ponto de referência estável de um sistema?

    <p>Uma versão controlada do software (D)</p> Signup and view all the answers

    Qual afirmação sobre a integração contínua e a entrega contínua é correta?

    <p>A CI automatiza a integração de código e a CD automatiza a entrega do software (B)</p> Signup and view all the answers

    Qual das alternativas a seguir não é uma característica do desenvolvimento ágil?

    <p>Documentação detalhada dos requisitos antes do início do desenvolvimento (A)</p> Signup and view all the answers

    Os testes de carga simulam que tipo de situação?

    <p>Um número crescente de usuários (B)</p> Signup and view all the answers

    Qual das opções a seguir é uma das principais razões para a documentação ajudar no desenvolvimento de software?

    <p>Facilitar a compreensão e manutenção do software (D)</p> Signup and view all the answers

    Qual das seguintes afirmações é verdadeira sobre os requisitos de um projeto?

    <p>Os requisitos devem ser adaptáveis ao longo do projeto para atender às necessidades do cliente. (B)</p> Signup and view all the answers

    Qual é a função primária da UML (Unified Modeling Language) em projetos de software?

    <p>Facilitar a comunicação entre as partes interessadas e documentar o sistema. (C)</p> Signup and view all the answers

    Quais características os requisitos não funcionais geralmente especificam?

    <p>As qualidades do sistema, como desempenho e segurança. (D)</p> Signup and view all the answers

    Qual é o benefício da geração de código automatizada a partir de modelos?

    <p>Diminui o esforço de desenvolvimento ao automatizar a criação de código. (C)</p> Signup and view all the answers

    Por que é importante atualizar a documentação sempre que o software for modificado?

    <p>Para manter a qualidade e a precisão das informações do sistema. (C)</p> Signup and view all the answers

    Flashcards

    Testes de Carga vs. Testes de Estresse

    Testes de carga simulam um grande número de usuários, enquanto testes de estresse simulam condições extremas, como o uso máximo de recursos do sistema.

    Ferramentas Especializadas em Testes de Performance

    Ferramentas que ajudam a simular cenários realistas de uso do sistema, fornecem dados detalhados sobre o desempenho e automatizam os testes.

    Valores Fundamentais Ágeis

    Indivíduos e interações, software funcionando, colaboração com o cliente, e resposta a mudanças são os valores mais importantes.

    Iteração no Desenvolvimento Ágil

    Dividir o desenvolvimento em ciclos curtos com entregas incrementais de funcionalidades do software.

    Signup and view all the flashcards

    Metodologias Ágeis

    Métodos de desenvolvimento de software que valorizam a flexibilidade, colaboração e adaptação a mudanças ao invés de planos rígidos.

    Signup and view all the flashcards

    Importância de Ferramentas de Teste de Performance

    As ferramentas automatizam o processo de teste, economizando tempo e recursos, além de fornecer dados detalhados sobre o desempenho do sistema ao simular cargas realistas e complexas.

    Signup and view all the flashcards

    Manifesto Ágil - NÃO um valor fundamental

    Contratos negociados. Os valores fundamentais priorizam indivíduos, software funcional, e colaboração com o cliente e a resposta a mudanças.

    Signup and view all the flashcards

    Diferença entre Testes de Carga e Estresse

    Os testes de carga medem o desempenho do sistema sob carga elevada, enquanto os testes de estresse avaliam a capacidade do sistema de suportar cargas extremas e de forma inesperada.

    Signup and view all the flashcards

    Gestão de Requisitos

    Processo de identificar, analisar, documentar e verificar os requisitos de um sistema.

    Signup and view all the flashcards

    Mudanças em Requisitos

    As mudanças nos requisitos devem ser controladas e documentadas, garantindo que todos estejam cientes das alterações.

    Signup and view all the flashcards

    Rastreabilidade de Requisitos

    Capacidade de rastrear os requisitos desde sua origem até a implementação e testes, garantindo que cada requisito seja atendido.

    Signup and view all the flashcards

    Validação de Requisitos

    Garantir que os requisitos sejam completos, consistentes e corretos, assegurando a qualidade dos mesmos.

    Signup and view all the flashcards

    UML para Requisitos

    Uma ferramenta comum para modelar requisitos funcionais e não funcionais, incluindo diagramas para a visualização do sistema.

    Signup and view all the flashcards

    Objetivo da Documentação de Requisitos

    Servir como um contrato entre cliente e desenvolvedores, garantindo que o sistema atenda às necessidades do cliente.

    Signup and view all the flashcards

    Requisitos Não Funcionais

    Especificam qualidades, como desempenho, segurança e usabilidade, do sistema, além das funcionalidades.

    Signup and view all the flashcards

    Desenvolvimento Dirigido por Modelos (MDD)

    Abordagem de desenvolvimento de software que utiliza modelos como principal artefato na especificação, construção e documentação de sistemas.

    Signup and view all the flashcards

    Modelo de implementação (MDD)

    Representação da visão do desenvolvedor, mostrando como o sistema será implementado. É um passo no Modelagem Dirigida por Modelos (MDD).

    Signup and view all the flashcards

    Modelo conceitual (MDD)

    Representação do sistema na forma que o usuário o vê e interage. É a base da modelagem antes da implementação.

    Signup and view all the flashcards

    Geração de código (MDD)

    Automatização da criação de código a partir de modelos, o que reduz o tempo e esforço de desenvolvimento.

    Signup and view all the flashcards

    Modelagem Dirigida por Modelos (MDD)

    Técnica que usa modelos para especificar, projetar e gerar código para software. Permite a criação de softwares complexos.

    Signup and view all the flashcards

    Ferramenta UML

    Linguagem de modelagem unificada utilizada para criar diagramas e modelos visuais de sistemas de software. Usada em MDD

    Signup and view all the flashcards

    Principal benefício de modelos em desenvolvimento de software

    Melhorar a comunicação, facilitar a compreensão e reduzir esforços. A comunicação entre partes interessadas é facilitada.

    Signup and view all the flashcards

    Vantagem de modelos executáveis

    Permite simulação e validação prévia do sistema antes da construção final. Essencial em MDD

    Signup and view all the flashcards

    Transformação de Modelos (MDD)

    Processo de conversão de modelos em código.

    Signup and view all the flashcards

    Desafio de adoção do MDD

    A principal dificuldade na implementação de Modelagem Dirigida por Dados (MDD) em uma organização está na mudança cultural e nos processos necessários para sua adoção, além da resistência dos desenvolvedores a novas tecnologias.

    Signup and view all the flashcards

    Tipos de Manutenção de Software

    Manutenção Corretiva (resolver erros), Adaptativa (adequar ao ambiente/tecnologia), Perfectiva (melhorar o sistema) e Preventiva (evitar problemas futuros) são os principais tipos de manutenção de software.

    Signup and view all the flashcards

    Objetivo da Manutenção Corretiva

    O principal objetivo da manutenção corretiva é corrigir falhas, defeitos e erros encontrados no software, garantindo o funcionamento adequado.

    Signup and view all the flashcards

    Qualidade Contínua de Software

    A qualidade contínua de software envolve testes regulares, controle de versão, monitoramento do desempenho e comunicação entre desenvolvedores e usuários para assegurar um produto de alta qualidade.

    Signup and view all the flashcards

    Função do Suporte Técnico

    A principal função de um sistema de suporte técnico é auxiliar os usuários na resolução de problemas e dúvidas sobre o software.

    Signup and view all the flashcards

    Ferramenta de Gerenciamento de Incidentes

    Ferramantas como ServiceNow são comumente utilizadas para gerenciar incidentes e solicitações de suporte, ajudando a registrar, monitorar e solucionar problemas.

    Signup and view all the flashcards

    Métricas de Qualidade do Suporte

    Métricas importantes para avaliar a qualidade de um sistema de suporte técnico incluem tempo médio de resolução de incidentes, número de incidentes por usuário, satisfação do cliente e taxa de resolução na primeira tentativa.

    Signup and view all the flashcards

    Qualidade da Documentação

    Para garantir a qualidade da documentação do software, é fundamental manter a documentação atualizada, usar uma linguagem clara e acessível e promover a colaboração na sua produção.

    Signup and view all the flashcards

    Testes de carga

    Técnica que simula um número crescente de usuários para avaliar o desempenho do sistema.

    Signup and view all the flashcards

    Testes de estresse

    Simulam condições extremas de uso do sistema, verificando sua resistência a falhas.

    Signup and view all the flashcards

    Processo de revisão de código

    Prática de examinar o código-fonte desenvolvido por outro programador para identificar potenciais erros e melhorar a qualidade do código.

    Signup and view all the flashcards

    Ferramentas de monitoramento de aplicações web

    Usadas para acompanhar o desempenho de aplicações web, identificando gargalos e problemas.

    Signup and view all the flashcards

    Integração Contínua (CI)

    Automação da integração de código. As mudanças de código são constantemente integradas, evitando que surjam problemas.

    Signup and view all the flashcards

    Entrega Contínua (CD)

    Automatização do processo de lançamento de software. Permite que melhorias e novas versões sejam lançadas com mais rapidez.

    Signup and view all the flashcards

    Jira

    Ferramenta de gerenciamento de projetos, popularmente utilizada no desenvolvimento de software para gestão de tarefas, bugs e sprints.

    Signup and view all the flashcards

    Git

    Sistema de controle de versões para código-fonte, permitindo o acompanhamento, colaboração e restauração de diferentes versões dos códigos.

    Signup and view all the flashcards

    Requisitos Mudáveis?

    Os requisitos podem ser modificados durante o desenvolvimento do projeto, mesmo que tenham sido definidos no início.

    Signup and view all the flashcards

    Contrato entre Cliente e Desenvolvedor

    A documentação de requisitos serve como um acordo formal entre o cliente e a equipe de desenvolvimento, definindo as necessidades do sistema.

    Signup and view all the flashcards

    Requisitos Não Funcionais - Qualidade

    Os requisitos não funcionais definem as características do sistema relacionadas à performance, segurança e usabilidade, impactando a experiência do usuário.

    Signup and view all the flashcards

    Modelagem de Sistemas - MDD

    O desenvolvimento dirigido por modelos (MDD) utiliza modelos como artefatos principais para especificar, construir e documentar sistemas de software.

    Signup and view all the flashcards

    Study Notes

    Software Development Review

    • Performance Testing: Crucial for ensuring software quality and robustness. Simulating different load scenarios helps identify bottlenecks and limitations before impacting users. Various testing types exist, some more common and effective.
    • Load Testing Techniques: Common techniques include load, stress, usability, and volume testing. Excluding usability testing, these are usually applied to assess performance under varying loads and conditions. Peak tests specifically examine a system's ability under significant user load.
    • Key Performance Metrics: Load testing aims to measure system stability under extreme usage conditions and the system's capacity to handle an increasing number of concurrent users. It does not focus directly on user interface ease of use or functional compliance with requirements.
    • Performance Analysis Tools: Profiling tools are best for detailed performance bottleneck analysis. This helps pinpoint areas in a system where performance degrades. These tools are preferred over task managers, compilers, or code editors.
    • Performance Optimization Practices: Reducing database connections and using efficient algorithms, and increasing processor frequency are common optimization practices. These improve system responsiveness and performance.
    • Stress Testing Significance: Simulates increasing user loads until system failure to evaluate system resilience and recovery capacity.
    • Importance of Performance Testing: Identifying and fixing performance problems before software release assures functional needs are met, and usability issues are addressed during development before the software is released.

    Agile Development

    • Agile Manifesto Values: Focus on individuals and interactions over processes and tools, functioning software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan.
    • Iteration in Agile: Iterative development breaks down projects into smaller, manageable cycles with incremental improvements, offering flexibility during development.
    • Product Owner's Role: Represents customer interests; defines the product vision, ensuring the product aligns with customer needs.
    • Importance of Agile Practices: Agile methodologies such as Agile development promote collaboration, flexibility, and adaptability to changes.

    Kanban Methodology

    • Kanban Characteristics: Utilizes a visual board (often a Kanban board) to track workflow and tasks. This method emphasizes continuous flow and minimizing work in progress (WIP) bottlenecks.
    • Kanban's Significance: Kanban is useful for tracking the workflow process across projects, from task initialization to task completion. It highlights tasks in progress in a clear visual fashion.
    • Configuration Management: The goal is to help track the history/lifecycle of a system to help identify and assess changes to software components. Managing changes to hardware, software, documents, etc, is all part of configuration management. This supports traceability and ensures integrity of components.

    Requirements Management

    • Requirements Management Process: Identifying, analyzing, documenting, and tracking system requirements.
    • Use Case Diagrams: Visual tools that depict interactions between system users and the system itself. These tools also clarify the systems functionality and how various entities interact.
    • Functional Requirements: Describe the functions the system must perform, whereas non-functional requirements define qualities, like performance. Ensuring high-quality, correct, and complete documentation that tracks changes to the system, and which can be traced from the start of the software to the end or throughout the software's lifespan, are key to good requirements management.

    Model-Driven Development (MDD)

    • MDD Benefits: Reduces complexity through visual modeling, improves documentation, enhances code generation, and fosters better communication. Automating certain processes. MDD typically involves visual tools and is especially valuable for complex systems, allowing a variety of systems to be modeled and reviewed at an early stage.
    • MDD Tools: UML is popular for creating visual models in the Model-Driven Development (MDD) process. These tools translate models into code, simplifying the software development process.
    • Model Types: Conceptual models represent a user's view and implementation models represent the developer's view.
    • Model-to-Code Process: Converting models into working code streamlines development by simplifying creation and reducing errors.

    Software Maintenance

    • Different Maintenance Types: Corrective (fixing issues), adaptive (adapting to changes), perfective (enhancements), and preventative maintenance.
    • Software Maintenance Importance: Addressing defects and adapting the software to evolving user needs. Addressing performance issues.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Description

    Teste de desempenho é essencial para garantir a qualidade e robustez do software. Neste quiz, você aprenderá sobre técnicas de testes de carga e métricas de desempenho que ajudam a identificar gargalos e limitações. Aproveite para explorar as ferramentas de análise de desempenho aplicáveis às suas necessidades.

    More Like This

    Use Quizgecko on...
    Browser
    Browser