Complexidade do Projeto Software


Advertisements

O termo complexidade se destaca no estado de eventos ou coisas, que têm múltiplos interconectados extremamente complexas ligações e estruturas. Em programação de software, como a concepção de software é realizado, o número de elementos e suas interconexões progressivamente emergir para ser grande, que se torna muito difícil de compreender de uma vez.

Projeto de Software complexidade é difícil avaliar sem utilizar medidas métricas e complexidade. Vamos ver três importantes medidas complexidade do software.

Medidas da complexidade São Paulo

Em 1977, o Sr. Maurice Howard Halstead introduziu as métricas para medir complexidade do software. Halstead métricas do depende da efetiva implementação do programa e as suas medidas, que são calculados diretamente a partir dos operadores e operandos do código fonte, de maneira estática. Ela permite avaliar tempo de ensaio, o vocabulário, o tamanho, as dificuldades, os erros e os esforços de C/C++ /Java código-fonte.

Segundo Halstead, "um programa de computador é uma implementação de um algoritmo considerado para ser um conjunto de fichas que podem ser classificados como operadores ou operandos". Halstead métricas pensar um programa como uma seqüência de operadores e os seus associados os operandos.

Ele define vários indicadores para verificar complexidade do módulo.

Parâmetro Significado
N1 Número de operadores exclusivos
N2 Número de operandos
N1 Número total de ocorrência dos operadores
N2 Número total de ocorrência de operandos

Quando queremos selecionar arquivo de código-fonte para ver os detalhes em sua complexidade Métrica Viewer, o seguinte resultado é visto no relatório de métricas.

Métrica Significado Representação Matemática
N Vocabulário N1 + n2
N Tamanho N1 + N2
V Volume Duração * Log2 Vocabulário
D Dificuldade (N1/2) * (N1/N2)
E Esforços Dificuldade * Volume
B Erros Volume / 3000
T Tempo de teste Tempo = esforços / S, onde S=18 segundos.

Complexidade Cyclomatic medidas

Cada programa inclui comandos para executar, a fim de realizar alguma tarefa e outras declarações de tomada de decisão que decidir, o que as declarações têm de ser executados. Estas decisões constrói alterar o fluxo do programa.

Se compararmos dois programas de mesmo tamanho, um com mais declarações de tomada de decisão será mais complexo, como o controle de programa salta com frequência.

McCabe, no ano de 1976, propôs medida complexidade Cyclomatic para quantificar complexidade de um determinado software. É gráfico circular modelo que é baseado na tomada de decisões construtos de programa como se de outra coisa, do-while, repeat-até, switch-case e vá para as declarações.

Processo de controle de fluxo gráfico.

  • Programa Férias em blocos menores, delimitado pela decisão de fazer construções.
  • Criar os nós que representam cada um desses nós.
  • Conectar nós como segue:
    • Se o controlo pode sucursal do bloco i bloco j

      Desenhar um arco

    • De saída nó nó de entrada

      Desenhar um arco.

Para calcular complexidade Cyclomatic de um módulo de programa, usamos a fórmula -

V(G) = e – n + 2

Where
e is total number of edges
n is total number of nodes
Medidas de complexidade ciclomática

O Cyclomatic complexidade do referido módulo é

e = 10
n = 8
Cyclomatic Complexity = 10 - 8 + 2
                      = 4

Segundo P. Jorgensen, Cyclomatic complexidade de um módulo não deve exceder 10.

Ponto Função

É amplamente utilizado para medir o tamanho do software. Função Ponto centra-se na funcionalidade fornecida pelo sistema. Recursos e funcionalidades do sistema são utilizados para medir a complexidade do software.

Função contagem de pontos em cinco parâmetros, denominados Entrada Externa, Saída Externa, lógico arquivos internos, arquivos de Interface Externa, e inquérito externo. Ao considerar a complexidade do software cada parâmetro é ainda classificado como simples, média ou complexo.

pontos de Função

Vamos ver os parâmetros da função ponto:

Entrada Externa

Cada entrada exclusivo para o sistema, a partir do exterior, é considerado como entrada externa. Unicidade de entrada é medido, como não há duas entradas devem ter mesmos formatos. Estas entradas podem ser dados ou parâmetros de controle.

  • Simples - se a entrada contagem é baixa e afeta menos arquivos internos

  • Complexo - se a entrada é alta e afeta mais arquivos internos

  • Média - entre simples e complexo.

Saída Externa

Todos os tipos de saída fornecida pelo sistema são contadas nesta categoria. Saída é considerado exclusivo se o seu formato de saída e/ou de transformação são únicos.

  • Simples - se a saída é baixa contagem

  • Complexo - se alta contagem de saída é

  • Média - entre simples e complexo.

Arquivos lógicos internos

Cada sistema de software mantém arquivos internos, a fim de manter suas informações funcionais e para funcionar corretamente. Estes arquivos possuem os dados lógicos do sistema. Isso lógico de dados pode conter ambos os dados funcionais e controle de dados.

  • Simples - se o número de tipos de registro são baixos

  • Complexo - se o número de tipos de registro são de alta

  • Média - entre simples e complexo.

Arquivos de Interface Externa

Sistema de Software pode ser necessário para partilhar os seus ficheiros com alguns softwares externos ou pode ser necessário para passar o arquivo para processamento ou como parâmetro para alguma função. Todos esses processos são contadas como arquivos de interface externa.

  • Simples - se o número de tipos de registro no arquivo compartilhado são baixos

  • Complexo - se o número de tipos de registro no arquivo compartilhado são elevados

  • Média - entre simples e complexo.

Inquérito Externo

O inquérito é uma combinação de entrada e de saída, no qual o usuário envia alguns dados para informar-se sobre como entrada e o sistema responde ao usuário com a saída de inquérito processado. A complexidade de uma consulta é mais do que externo de entrada e saída externa. Consulta é dito para ser único, se sua entrada e saída são únicos em termos de formato e de dados.

  • Simples - se a consulta precisa de baixas produtividades processamento e pequena quantidade de dados de saída

  • Complexo - se a consulta precisa de um alto rendimento e grande quantidade de dados de saída

  • Média - entre simples e complexo.

Cada um desses parâmetros, o sistema é dado weightage segundo a sua classe e complexidade. O quadro abaixo cita o weightage dada para cada parâmetro:

Parâmetro Simples Média Complexo
As entradas 3 4 6
Saídas 4 5 7
Inquérito 3 4 6
Arquivos 7 10 15
Interfaces 5 7 10

A tabela acima dos rendimentos Função-primas pontos. Essas funções são ajustadas de acordo com a complexidade do ambiente. Sistema é descrito com catorze características diferentes:

  • As comunicações de dados
  • Processamento Distribuído
  • Objectivos de desempenho
  • Carga configuração de Operação
  • Taxa de transação
  • Entrada de dados on-line
  • Eficiência do usuário final
  • Atualização on-line
  • Lógica de processamento complexo
  • Re-usabilidade
  • Facilidade de instalação
  • Facilidade Operacional
  • Vários sites
  • Desejo de facilitar mudanças

Estas características são então classificados de 0 a 5, conforme indicado abaixo:

  • Nenhuma influência
  • Incidentais
  • Moderada
  • Média
  • Importante
  • Essencial

Todas as classificações são então somados como N. o valor de N varia de 0 a 70 anos (14 tipos de características x 5 tipos de classificações). Ele é usado para calcular complexidade fatores de ajuste (CAF), usando a seguinte fórmula:

CAF = 0.65 + 0.01N

Em seguida,

Delivered Function Points (FP)= CAF x Raw FP

O FP pode então ser usado em vários quesitos, tais como:

    Custo = $ / FP

    Qualidade = Erros / FP

    Produtividade = FP / pessoa-mês

Advertisements