Engenharia de Software: Métricas, Processos e Gestão

Tecnologia4,84 KB

COCOMO

O modelo COCOMO é uma metodologia de estimativa de cronograma e custo para o desenvolvimento de produtos de software.

É dividido em três partes:

Básico

No modelo básico, calcula-se o esforço e o custo do desenvolvimento em função do número de linhas de código. Embora seja um método rápido, não considera a diferença entre ferramentas ou outros atributos que impactam o custo.

Intermediário

Calcula o esforço em função do tamanho do programa e de quatro "direcionadores de custo" (cost drivers), que contêm 15 subatributos classificados de "muito baixo" a "extra alto".

Cost Drivers

Atributos de produto
  • Confiabilidade necessária do software
  • Tamanho do banco de dados de aplicação
  • Complexidade do produto
Atributos de hardware
  • Restrições de desempenho
  • Restrições de memória
  • Volatilidade do ambiente da máquina virtual
  • Tempo de resposta necessário
Atributos de pessoal
  • Capacidade do analista
  • Capacidade do engenheiro de software
  • Experiência em aplicações
  • Experiência em máquina virtual
  • Experiência em linguagem de programação
Atributos de projeto
  • Utilização de ferramentas de software
  • Aplicação de métodos de engenharia de software
  • Cronograma de desenvolvimento obrigatório

Implementação detalhada

Utiliza as características da versão intermediária com uma avaliação do impacto de custo em cada etapa da engenharia de software. As 5 fases são:

  1. Plano de exigência;
  2. Projeto de sistema;
  3. Projeto detalhado;
  4. Código do módulo;
  5. Teste.

Importância do COCOMO

O COCOMO é eficiente para estimar cronogramas, custos e esforço, facilitando a tomada de decisão em empresas que implementam novos sistemas.

Métricas de Software

Uma métrica é a medição de um atributo de uma entidade (produto, recurso ou processo).

Exemplos de métricas:

  • Número de defeitos por fase;
  • Custo e tempo de desenvolvimento;
  • Esforço necessário;
  • Tamanho do produto (linhas de código);
  • Grau de satisfação do cliente.

Por que medir um software?

Para avaliar a produtividade, reduzir frustrações com cronogramas, indicar a qualidade, melhorar a gestão e identificar melhores práticas.

Categorização das métricas

  • Métricas diretas: Observação de atributos (custo, linhas de código, esforço).
  • Métricas indiretas (derivadas): Obtidas através de outras métricas (confiabilidade, eficiência, complexidade).
  • Métricas orientadas por tamanho: Medidas diretas dos artefatos (ex: páginas de documentação).
  • Métricas orientadas por funções: Medição sob o ponto de vista do usuário.
  • Métricas de produtividade: Focam na saída do processo.
  • Métricas de qualidade: Indicam a adequação às exigências do cliente.
  • Métricas técnicas: Focam nas características do software (ex: complexidade lógica).

Processos de Software

Um processo de software é um conjunto de atividades para a produção de um produto. São complexos e dependem do julgamento humano, limitando a automatização total.

Estágios do processo

Requisitos, Design, Codificação, Teste e Manutenção.

Gerenciamento de Projetos

Benefícios

  • Minimização de riscos;
  • Melhoria na qualidade dos resultados;
  • Disponibilidade de informações para decisão;
  • Maior comprometimento com objetivos.

Desafios do gerente

  • Produto intangível: Dificuldade de visualizar o progresso.
  • Ausência de processo padrão: Variações entre empresas.
  • Projetos únicos: Grande porte e alta complexidade.

Requisitos de Software

A especificação de requisitos visa garantir produtos de qualidade que satisfaçam as necessidades do cliente dentro do prazo e orçamento.

Classificação dos requisitos

  • Funcionais: Descrevem o que o software deve fazer (ex: cadastro de clientes).
  • Não funcionais: Restrições ou qualidades (ex: tempo de resposta, compatibilidade).
  • De domínio: Derivados da área de aplicação (ex: fórmulas de cálculo).

Gestão de Riscos

A gestão de risco gerencia incertezas para garantir o alcance dos objetivos do projeto. Envolve identificar, documentar e planejar respostas para possíveis problemas ou oportunidades.

Baixar

PDF Word HTML