Qualidade do Processo de Software

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 das seguintes afirmações descreve melhor a relação entre padrões de processo e qualidade do produto no desenvolvimento de software?

  • Padrões de processo não têm impacto na qualidade do produto, que é determinada apenas pelas habilidades dos desenvolvedores.
  • O uso de padrões de processo inadequados pode reduzir a qualidade do produto, em vez de melhorá-la. (correct)
  • Padrões de processo sempre melhoram a qualidade do produto, independentemente de sua adequação.
  • A qualidade do produto depende exclusivamente de fatores externos, como cronogramas acelerados, e não dos padrões de processo.

Como a experiência e as habilidades individuais dos desenvolvedores são relevantes para a qualidade do software?

  • As habilidades individuais e a experiência são irrelevantes, pois a qualidade depende apenas do processo.
  • A aplicação das habilidades individuais e da experiência é particularmente importante no desenvolvimento de software. (correct)
  • A experiência só é útil em projetos de longa duração, não em desenvolvimentos acelerados.
  • Habilidades individuais são importantes apenas na fase de testes, não durante o desenvolvimento.

Qual a influência de fatores externos, como prazos de desenvolvimento acelerados, na qualidade do produto de software?

  • A necessidade de um cronograma de desenvolvimento acelerado pode prejudicar a qualidade do produto. (correct)
  • Fatores externos, como a novidade de uma aplicação, sempre melhoram a qualidade do produto.
  • Fatores externos não têm influência na qualidade do produto, que é garantida pelo processo de desenvolvimento.
  • Fatores externos são relevantes apenas para o custo do projeto, não para a qualidade do software.

Qual das alternativas a seguir melhor define a dimensão da qualidade do processo no desenvolvimento de software?

<p>Refere-se ao conjunto de atividades com foco em garantir a qualidade em cada etapa do processo de Engenharia de Software. (A)</p> Signup and view all the answers

Qual é o papel de um processo de desenvolvimento bem definido na garantia da qualidade do software?

<p>Um processo bem definido estabelece um processo mínimo de desenvolvimento, mas a qualidade dependerá do nível de maturidade desse processo. (C)</p> Signup and view all the answers

Quais dos seguintes são exemplos de prejuízos que um software de baixa qualidade pode causar às organizações?

<p>Requisições de compras desnecessárias e produção de estatísticas falsas de produtividade. (A)</p> Signup and view all the answers

Como a qualidade das decisões se relaciona com a qualidade das informações fornecidas pelos sistemas organizacionais?

<p>A qualidade das decisões está fortemente ligada à qualidade das informações disponibilizadas pelos sistemas. (A)</p> Signup and view all the answers

Qual a relação entre processos de desenvolvimento de software e a qualidade do software resultante?

<p>É impossível obter um software de qualidade com processos de desenvolvimento frágeis e deficientes. (C)</p> Signup and view all the answers

Em relação à garantia da qualidade, qual deve ser o foco principal?

<p>Simultaneamente no produto e no processo de desenvolvimento. (B)</p> Signup and view all the answers

Como se define a qualidade do produto no contexto de desenvolvimento de software?

<p>A conformidade com os requisitos estabelecidos. (B)</p> Signup and view all the answers

O que significa a qualidade do processo no desenvolvimento de software?

<p>O grau em que o processo garante a qualidade do produto. (C)</p> Signup and view all the answers

Qual a principal diferença entre a relação processo-produto na manufatura e no desenvolvimento de software?

<p>Na manufatura, o processo é o principal determinante da qualidade, enquanto no software a relação é mais complexa. (C)</p> Signup and view all the answers

O que pode acontecer ao usar padrões de processos inadequados no desenvolvimento de software?

<p>Compromete a qualidade do produto final. (B)</p> Signup and view all the answers

Flashcards

Qualidade do Processo

Conjunto de atividades focadas em garantir a qualidade de cada etapa do processo de Engenharia de Software.

Qualidade do Processo (detalhe)

Metodologia para atividades, ações e tarefas necessárias para desenvolver software de alta qualidade.

Artefatos da Qualidade do Processo

Requisitos elicitados, modelos de negócios, arquitetura, modelos de classes, análises de custos, projeções financeiras, entre outros.

Processo Mínimo de Desenvolvimento

É fundamental para se produzir software com qualidade.

Signup and view all the flashcards

Processo Garante Qualidade?

Não garante! Dependerá do nível de maturidade do processo de software.

Signup and view all the flashcards

Impacto da baixa qualidade do software

Software de baixa qualidade causam prejuízos financeiros enormes, tomadas de decisões ruins, entre outros.

Signup and view all the flashcards

Qualidade das decisões

Está fortemente ligada à qualidade das informações fornecidas pelos sistemas organizacionais.

Signup and view all the flashcards

Software de qualidade vs. Processos

É impossível ter um software de alta qualidade com processos de desenvolvimento ruins ou deficientes.

Signup and view all the flashcards

Dimensão da qualidade do software

A qualidade deve ser abordada tanto no processo quanto no produto final.

Signup and view all the flashcards

Qualidade do produto (software)

Conformidade com os requisitos especificados.

Signup and view all the flashcards

Qualidade do processo (software)

O grau em que o processo garante a qualidade do produto.

Signup and view all the flashcards

Qualidade em manufatura

Nos bens manufaturados, o processo é o principal determinante da qualidade do produto.

Signup and view all the flashcards

Qualidade de processo vs. produto (software)

A relação entre os processos de software e a qualidade do produto é complexa e nem sempre direta.

Signup and view all the flashcards

Study Notes

Gerência da Qualidade

  • A produção de software de qualidade é um dos principais objetivos da Engenharia de Software.
  • A qualidade de um produto é determinada pelas características que ele apresenta.
  • Adequação funcional, desempenho, confiabilidade, usabilidade, portabilidade e manutenibilidade são características diretamente relacionadas à qualidade de softwares.
  • A qualidade é um conceito relativo, variando o grau de atendimento de cada característica de sistema para sistema.
  • Softwares de baixa qualidade causam grandes prejuízos às organizações, por exemplo:
  • Requisições de compras desnecessárias.
  • Solicitar manutenções de equipamentos antes do período ideal.
  • Produzir estatísticas falsas de produtividade.
  • Distribuir rendimentos de forma desproporcional.
  • Afeta a tomada de decisões de gerentes, diretores e acionistas.
  • A qualidade de software é um conjunto de características a serem satisfeitas em um grau determinado, de modo que o software atenda às necessidades de seus usuários.
  • Qualidade de software pode estar relacionada ao processo ou ao produto.

Dimensão da qualidade do software

  • A qualidade das decisões está fortemente ligada à qualidade das informações disponibilizadas pelos diversos sistemas organizacionais.
  • Não é possível obter um software de qualidade com processos de desenvolvimento frágeis e deficientes.
  • Não é possível estabelecer um processo de garantia da qualidade que não foque simultaneamente no produto e processo de desenvolvimento.
  • É importante considerar a dimensão da qualidade tanto do PROCESSO quanto do PRODUTO.

Qualidade do processo e produto

  • Qualidade do produto: conformidade com os requisitos.
  • Qualidade do processo: grau em que o processo garante a qualidade do produto.
  • A qualidade do processo é o meio que se utiliza para alcançar a qualidade do produto.

Qualidade do Processo vs. Qualidade do Produto

  • A qualidade de um produto desenvolvido é influenciada pela qualidade do processo de produção na manufatura.
  • Existe uma ligação nítida entre processo e produto nos bens manufaturados.
  • Para bens manufaturados, o processo é o principal determinante da qualidade.
  • Há uma complexa e mal compreendida relação entre os processos de software e a qualidade de produto.

Qualidade baseada em Processos

  • O uso de padrões de processos inadequados pode reduzir, ao invés de melhorar, a qualidade do produto.
  • A aplicação das habilidades individuais e experiência é particularmente importante no desenvolvimento de software.
  • Fatores externos, como a novidade de uma aplicação ou a necessidade de um cronograma de desenvolvimento acelerado, pode prejudicar a qualidade de produto.
  • Alguns atributos de qualidade de produto são difíceis de avaliar.

Fatores de Qualidade

  • Tecnologia de desenvolvimento.
  • Qualidade de processo.
  • Custo, tempo e cronograma.
  • Qualidade de pessoas.
  • Qualidade do produto.

Dimensão da qualidade do processo

  • Atividades cujo foco principal é garantir a qualidade de cada etapa do processo de ES.
  • Metodologia para as atividades, ações e tarefas necessárias para desenvolver um software de alta qualidade (Pressman).
  • A qualidade do processo considera todos os artefatos produzidos durante o desenvolvimento, como:
  • Requisitos elicitados.
  • Modelos e especificação de negócios.
  • Arquitetura, modelo de classes, análises de custos, projeções financeiras, dentre outros.

Dimensão da qualidade do processo

  • Para produzir software com qualidade, é primordial estabelecer um processo mínimo de desenvolvimento.
  • Atingir a qualidade pode ser alcançada através de técnicas de verificação (inspeções).
  • Utilizar processos não garante que o software desenvolvido terá alta qualidade, dependendo do nível de maturidade do processo de software.

Gerência da Qualidade

  • O gerenciamento da qualidade de software para sistemas de software tem três preocupações principais:
  • No nível organizacional, a gestão da qualidade se preocupa em estabelecer uma estrutura de processos e padrões organizacionais que levem a software de alta qualidade.
  • Isso significa que a equipe de gerenciamento da qualidade deve assumir a responsabilidade por definir os processos de desenvolvimento de software a serem usados e os padrões que devem ser aplicados.
  • No nível do projeto, o gerenciamento da qualidade envolve a aplicação de processos de qualidade específicos.
  • Verificando se esses processos planejados foram seguidos e garantindo que os resultados do projeto estejam em conformidade com os padrões aplicáveis a esse projeto.
  • Gerenciar a qualidade no nível do projeto também tem a ver com o estabelecimento de um plano de qualidade para um projeto. O plano de qualidade deve estabelecer as metas de qualidade para o projeto e definir quais processos e padrões devem ser usados.
  • A garantia de qualidade (QA) estabelece processos e padrões que levam a produtos de alta qualidade e à introdução de processos de qualidade no processo de fabricação.
  • O controle de qualidade é a aplicação desses processos de qualidade para produtos eliminados que não atendem o nível de qualidade exigido.

Documentação

  • A documentação é um artefato.
  • Planos, relatórios de Acompanhamento, Registro de Requisitos, Modelos, Documentação do Usuário, são exemplos de documentos.
  • Ela é submetida a Gerência de Configuração e à Garantia e Controle da Qualidade.
  • A documentação produzida em um projeto é importante para gerenciar a qualidade, tanto do produto quanto do processo.
  • A organização deve definir um Processo de Documentação que indique:
  • Que documentos são produzidos.
  • Quem elabora.
  • Quem avalia.
  • Quem acessa.
  • Quando é elaborado.
  • Uma forma eficaz de melhorar a qualidade da documentação consiste em definir padrões a serem aplicados na elaboração dos documentos (e, por conseguinte, do sistema produzido com o software resultante).
  • Padrões aplicam-se aos artefatos ao longo do processo de software e podem ser modelos de documentos, roteiros, normas e padrões de nomes.

Garantia e Controle da Qualidade

  • Para que uma organização realize as atividades de garantia e controle da qualidade, devem ser definidos padrões organizacionais de processo e de produto.
  • Padrões de Processo (processos padrão e especializados da organização).
  • Modelos de documentos (ex.: modelo do Plano do Projeto, da Especificação de Requisitos etc.).
  • Roteiros (diretrizes gerais para a elaboração de um artefato).
  • Padrões de código (ex.: nomes de variáveis válidos, estilos de indentação, regras para comentários etc.).
  • Padrões de interface (ex.: padrão de telas, botões, textos etc.).
  • As atividades de garantia e controle da qualidade são realizadas ao longo do processo de desenvolvimento e buscam detectar problemas.
  • Envolve avaliar a qualidade tanto do produto quanto do processo e V&V&T.
  • A organização deve definir um Plano de Qualidade.
  • Verificação:
    • O software está sendo desenvolvido de maneira correta?
    • (avaliação da aderência aos padrões, cumprimento aos processos, etc.).
  • Validação:
    • O software desenvolvido é o correto?
    • (avaliação do atendimento às necessidades dos usuários).
  • Testes:
    • Atividades de V&V que consistem de uma análise dinâmica.
    • (envolvem a execução do software).
  • Análise de processos e artefatos ao longo do desenvolvimento para detectar erros e inconsistências e apontá-los aos responsáveis pela sua elaboração, são tipo de revisão.
  • A equipe de garantia da qualidade de processo e de produto pode ser um único grupo para toda a organização, um grupo para o projeto ou até uma pessoa.

Gerência de Configuração de Software

  • A Gerência de Configuração de Software controla as mudanças nos itens de software gerados ao longo do desenvolvimento.
  • Exemplos de itens de software:
  • Processo.
  • Ferramentas.
  • Documentos.
  • Código.
  • A gerência de configuração visa estabelecer e manter a integridade dos itens de software ao longo de todo ciclo de vida do software, garantindo a completeza, a consistência e a correção.
  • A organização deve implementar um Plano de Gerência de Configuração que descreva as atividades da gerência de configuração, descrevendo também procedimentos e responsáveis pela execução.
  • Processo de Gerência de Configuração de Software:
  • Identificação da Configuração:
  • Identificar os itens de configuração.
  • Identificar as relações entre os itens de configuração.
  • Estabelecer baselines.
  • Controle de Versão:
  • Criação e administração de versões e variantes.
  • Controle de Mudança:
  • Definição do procedimento a ser seguido para a realização de mudanças nos itens de configuração.
  • Procedimento de Mudança:
  • É realizada uma solicitação de mudança em um item de configuração.
  • A solicitação é avaliada (considerando modificações nos itens relacionados).
  • Se aprovada, é realizado o check-out do item de configuração e ninguém mais pode acessá-lo, exceto quem está executando as alterações.
  • As alterações são avaliadas.
  • Se aprovadas, é realizado o check-in (a nova versão do item de configuração é disponibilizada e uma nova baseline é estabelecida).
  • Auditoria:
  • Verificação das alterações realizadas nos itens e em seus relacionados.
  • Relatório de Situação da Configuração:
    • (i) O que aconteceu?
    • (ii) Quem fez?
    • (iii) Quando aconteceu?
    • (iv) O que mais será afetado?
  • O acesso rápido às informações agiliza o processo de desenvolvimento e melhora a comunicação entre as pessoas problemas de alterações do mesmo item de configuração, com intenções diferentes e, às vezes, conflitantes.

Medição de Software

  • Medição de software é uma avaliação quantitativa de qualquer aspecto dos processos e produtos da Engenharia de Software que permite seu melhor entendimento.
  • Auxilia o planejamento, controle e melhoria do que se produz e de como é produzido (BASS et al., 1999).
  • O elemento básico da medição, que propicia a análise quantitativa, são as medidas.
  • Elas caracterizam, em termos quantitativos alguma propriedade de um objeto da Engenharia de Software (BASILI e ROMBACH, 1994).
  • A medição provê informação útil para que as organizações tomem decisões que impactam em seus objetivos de negócios.
  • Ela é um dos principais pilares da melhoria de processos de software.
  • As medidas são imprescindíveis às atividades de Garantia da Qualidade e de Gerência de Projetos.
  • A norma ISO/IEC 25010 sugere um conjunto de atributos (características) que podem ser medidos em um produto de software e também as utilizadas.
  • Análise de Valor Agregado no contexto da Gerência de Projetos.
  • O Processo de Medição:
  • Os objetivos da organização são analisados e as necessidades de informação são identificadas.
  • São definas medidas necessárias para atender às necessidades de informação.
  • Ex.: Objetivo: Diminuir a taxa de alteração dos requisitos.
  • Necessidade de Informação: Qual é a taxa de alteração de requisitos dos projetos?
  • Medida: taxa de alteração de requisitos.
  • Atualmente, há diversos frameworks que apoiam a definição e institucionalização de programas de melhoria de processos, como, por exemplo, o MR-MPS-SW, ο CMMI, a série ISO/IEC 33000 e a ISO/IEC 12207.
  • Alguns desses frameworks propõem a implementação da melhoria de processos em níveis, nos quais a maturidade e a capacidade dos processos evoluem gradativamente.
  • A medição de software fornece informações que são indispensáveis à melhoria dos processos e, para isso, deve atender a diferentes propósitos, dependendo do nível de maturidade em que é realizada
  • Nos níveis iniciais de maturidade ( MR-MPS-SW níveis F a C e CMMI níveis 2 e 3), é realizada a medição tradicional.
  • A medição tradicional tem o propósito de apoiar a monitoração e o controle tradicionais dos processos e projetos.
  • Nos níveis mais elevados de maturidade a medição tradicional não é suficiente. É necessário realizar o controle estatístico dos processos.
  • Para realizar o controle estatístico de processos, alguns aspectos são acrescentados à medição tradicional.
  • A monitoração e o controle tradicionais se baseiam na comparação entre valores planejados (estimativas) e valores realizados.
  • A medição em alta maturidade tem o propósito de apoiar a análise de desempenho dos processos, que busca conhecer o comportamento dos processos.
  • O Controle Estatístico de Processos foi originalmente proposto para a melhoria dos processos da área de manufatura.

Studying That Suits You

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

Quiz Team

More Like This

Use Quizgecko on...
Browser
Browser