Guia de Engenharia: Métricas e Ciclo de Vida de Software
Quais são as etapas do desenvolvimento de software?
- Levantamento de requisitos
- Análise
Quais são as Etapas para Desenvolvimento de Software?
- Levantamento de Requisitos
- Análise
- Projeto
- Implementação
- Testes
- Implantação
Quais são os Níveis de Abstração nas Etapas para Desenvolvimento de Software?
- Conceitual
- Lógico
- Físico
Quais são os eixos da visão tridimensional de um Sistema de Informação?
Dados, Processos e Eventos
Defina medida, medição, métrica e indicador.
Medida: indicação quantitativa de algum atributo de um produto ou processo. Ex: Quantidade de erros descobertos em uma revisão.
Medição: ato de medir, isto é, de determinar uma medida.
Métrica: procura correlacionar medidas individuais com o objetivo de se ter uma ideia da eficácia da entidade sendo medida.
Indicador: informação relacionada a uma medida, métrica ou combinação de métricas que pode ser utilizada para se ter uma compreensão da entidade sendo medida.
Cite 5 propriedades desejáveis de uma métrica
- Facilmente calculada, entendida e testada;
- Passível de estudos estatísticos;
- Expressa em alguma unidade;
- Obtida o mais cedo possível no ciclo de vida do software;
- Passível de automação;
- Repetível e independente do observador;
- Sugere uma estratégia de melhoria.
Defina métrica direta e dê exemplos.
- Medida realizada em termos de atributos observados (usualmente determinada pela contagem).
- Ex.: custo, esforço, número de linhas de código (LOC), capacidade de memória, número de páginas, número de diagramas, etc.
Defina métrica indireta e dê exemplos.
- Medidas obtidas a partir de outras métricas.
- Ex.: complexidade, eficiência, confiabilidade, facilidade de manutenção.
Defina métricas orientadas ao tamanho e dê exemplos.
- São medidas diretas do tamanho dos artefatos de software associados ao processo por meio do qual o software é desenvolvido.
- Ex.: esforço, custo, número de KLOC, número de páginas de documentação.
Segundo Humphrey, são quatro os principais papéis de Medições de Software, quais são?
- Entender: Métricas ajudam a entender o comportamento e funcionamento de processos, produtos e serviços de software.
- Avaliar: Métricas podem ser utilizadas para tomar decisões e determinar o estabelecimento de padrões, metas e critérios de aceitação.
- Controlar: Métricas podem ser utilizadas para controlar processos, produtos e serviços de software.
- Prever: Métricas podem ser utilizadas para prever valores de atributos.
Cite vantagens e desvantagens das métricas orientadas ao tamanho.
Vantagens:
- Fáceis de serem obtidas;
- Vários modelos de estimativa baseados em LOC ou KLOC.
Desvantagens:
- LOC depende da linguagem de programação;
- Penalizam programas bem projetados, mas pequenos;
- Não se adaptam às linguagens não procedimentais;
- Difícil de obter em fase de planejamento.
Quais são os tipos de ponto de função?
- Entradas externas
- Consultas externas
- Saídas externas
- Arquivos lógicos internos
- Arquivos de interface externa
Cite cinco características gerais que influenciam na avaliação dos pontos de função.
- Comunicação de dados
- Funções distribuídas
- Desempenho
- Carga de configuração
- Volume de transações
- Entrada de dados on-line
- Eficiência do usuário final
- Atualização on-line
- Processamento complexo
- Reutilização
- Facilidade de implementação
- Facilidade de operação
- Múltiplos locais
- Facilidade de mudança
Quais são as vantagens e desvantagens das métricas orientadas à função?
Vantagens:
- Independentes da linguagem;
- Ideal para aplicações que usam linguagem não procedimental;
- Baseadas em dados mais fáceis de serem conhecidos durante a evolução do projeto.
Desvantagens:
- Cálculo baseado em dados subjetivos;
- Não é uma medida direta; é apenas um número.
De acordo com a métrica orientada a casos de uso, da orientação a objetos, faça o diagrama de caso de uso do minimundo abaixo. Classifique as funções encontradas no diagrama de caso de uso.
Deseja-se automatizar o Sistema de Projetos da Organização GH, através das seguintes premissas:
- A organização está estruturada em departamentos. Cada departamento deve possuir nome e localização. Os departamentos são cadastrados pelo gerente da organização GH.
- Os funcionários possuem matrícula, nome, cargo, salário, endereço e data de nascimento, os quais são cadastrados pelo departamento de RH.
- Os funcionários podem ser alocados, pelo departamento de RH, em apenas um departamento, sendo então registrada a data de início de alocação.
- Cada departamento é gerenciado por um funcionário, cuja data de início de gerência deve também ser registrada, o qual é cadastrado pelo departamento de RH.
- Os funcionários podem trabalhar em um ou mais projetos do seu departamento, sendo registradas a data de início e horas trabalhadas. Esse registro é feito pelo gerente do departamento.
- Dos projetos é importante saber o seu nome, localização e orçamento. Cada projeto é cadastrado pelo gerente do departamento.
- Para cada dependente dos funcionários são registrados seu código, nome, sexo, data de nascimento e relacionamento, pelo departamento de RH.
- Cada projeto é controlado por um departamento, e este pode controlar diversos projetos. Os projetos possuem situações definidas com o tempo, pois ficam em análise inicialmente. Após aprovação, ficam aguardando alocações de funcionários para serem iniciados. Por fim, são concluídos.
- O sistema deverá enviar mensalmente os dados de salários dos funcionários ao sistema de RH da empresa.
Exercício 16: Análise de Prazo e Equipe
Um cliente solicita melhorias no sistema, achando que as mudanças podem ser realizadas em 6 meses. Acredita-se que as modificações podem ser feitas com uma equipe de 3 técnicos, no prazo desejado. Assim, o gerente de projetos é chamado para dar seu parecer.
As implementações solicitadas foram dimensionadas pela APF em 750 PF. Modificações neste sistema registraram, no passado, uma produtividade de 25 PF/homem ao mês.
Opções para o gerente:
- Alocar mais técnicos qualificados? Alocar mais 2 técnicos qualificados (750 PF / (6 meses * 25 PF/homem) = 5 homens no total).
- Aumentar o prazo em quanto? Aumentar o prazo em 4 meses (750 PF / (3 homens * 25 PF/homem) = 10 meses no total).
- Reduzir o volume de modificações em quanto? Reduzir o volume de modificações em 40% (3 homens * 6 meses * 25 PF/homem = 450 PF entregáveis).
Exercício 17: Análise de Prazo e Equipe (Cenário B)
Um cliente solicita melhorias no sistema, achando que as mudanças podem ser realizadas em 9 meses. Acredita-se que as modificações podem ser feitas com uma equipe de 6 técnicos, no prazo desejado.
As implementações solicitadas foram dimensionadas pela APF em 1800 PF. Produtividade de 25 PF/homem ao mês.
Opções para o gerente:
- Alocar mais técnicos qualificados? Alocar mais 2 técnicos qualificados (1800 PF / (9 meses * 25 PF/homem) = 8 homens no total).
- Aumentar o prazo em quanto? Aumentar o prazo em 3 meses (1800 PF / (6 homens * 25 PF/homem) = 12 meses no total).
- Reduzir o volume de modificações em quanto? Reduzir o volume de modificações em 25% (6 homens * 9 meses * 25 PF/homem = 1350 PF entregáveis).
Revisão de Conceitos: Etapas e Abstração
- Quais são as Etapas para Desenvolvimento de Software? Levantamento de Requisitos, Análise, Projeto, Implementação, Testes e Implantação.
- Quais são os Níveis de Abstração? Conceitual, Lógico e Físico.
- Eixos da Visão Tridimensional: Dados, Processos e Eventos.
Definições de Métricas (Revisão)
Medida: Indicação quantitativa de atributo. Medição: Ato de medir. Métrica: Correlação de medidas para eficácia. Indicador: Compreensão da entidade medida.
Propriedades e Tipos de Métricas
- Propriedades: Calculável, estatística, unitária, precoce, automatizável, repetível e estratégica.
- Métrica Direta: Atributos observados (ex: custo, esforço, linhas de código, memória).
- Métrica Indireta: Obtida de outras métricas (ex: complexidade, confiabilidade).
- Métrica Orientada ao Tamanho: Medidas diretas do tamanho dos artefatos (ex: KLOC, esforço).
Papéis da Medição (Humphrey)
- Entender, Avaliar, Controlar e Prever.
Análise de Pontos de Função (APF)
Vantagens: Independência de linguagem, ideal para não procedimentais. Desvantagens: Subjetividade, medida indireta.
Tipos de PF: Entradas externas, consultas externas, saídas externas, arquivos lógicos internos e arquivos de interface externa.
Características de Influência (PF)
- Comunicação de dados
- Funções distribuídas
- Desempenho
- Carga de configuração
- Volume de transações
- Entrada de dados on-line
- Eficiência do usuário final
- Atualização on-line
- Processamento complexo
- Reutilização
- Facilidade de implementação
- Facilidade de operação
- Múltiplos locais
- Facilidade de mudança
Estudo de Caso: Organização GH
O sistema visa automatizar projetos, departamentos e funcionários. Inclui gestão de dependentes, alocação de funcionários em projetos e integração mensal com o sistema de RH para envio de dados salariais.
Cálculos de Gerência de Projetos (Resumo)
Para um projeto de 750 PF com produtividade de 25 PF/homem-mês: Necessários 5 homens para 6 meses ou 10 meses para 3 homens. Para um projeto de 1800 PF: Necessários 8 homens para 9 meses ou 12 meses para 6 homens.