Realização de Estimativas utilizando Análise de Pontos de Função - PDF
Download "Realização de Estimativas utilizando Análise de Pontos de Função"
Branca Flor Rijo de Paiva
1 CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA DISCIPLINA: ENGENHARIA DE SOFTWARE PROFESSOR(A): MONALESSA PERINI BARCELLOS CÓDIGO: INF281 Realização de Estimativas utilizando Análise de Pontos de Função Este documento apresenta os passos necessários para realizar estimativas utilizando a técnica Análise de Pontos de Função e um exemplo de sua utilização. 1. O Processo de Contagem de Pontos de Função O processo de contagem dos pontos de função pode ser dividido em sete etapas: (i) determinar tipo de contagem; (ii) identificar a fronteira da aplicação; (iii) contar as funções tipo dados; (iv) contar as funções tipo transação; (v) calcular pontos de função não ajustados (com base nos resultados obtidos em (iii) e (iv)); (vi) calcular o valor do fator de ajuste; e (vii) calcular os pontos de função ajustados (com base nos resultados obtidos em (v) e (vi)), como mostra a figura A1.1. A execução dessas etapas é descrita a seguir. Determinar tipo de contagem Identificar a fronteira da aplicação Contar Funções Tipo Dados Contar Funções Tipo Transação Calcular pontos de função não ajustados Calcular valor do fator de ajuste Calcular número de pontos de função ajustados Figura 1 Visão Geral do Processo de Análise de Pontos de Função (GARMUS e HERRON, 21) 1
2 (i) Determinar o Tipo de Contagem Para realizar a contagem dos pontos de função de um projeto, inicialmente, é preciso determinar o tipo de contagem a ser realizada, podendo esta ser: Projeto de Desenvolvimento: mede a funcionalidade fornecida aos usuários finais do software para a primeira instalação da aplicação. Inclui asfuncionalidades da contagem inicial da aplicação e as funcionalidades requeridas para conversão de dados. Projeto de Manutenção: mede as modificações realizadas para aplicações existentes. Inclui as funcionalidades fornecidas aos usuários através de adição, modificação ou exclusão de funções na aplicação. As funcionalidades de conversão de dados também devem ser consideradas, caso existam. Após a manutenção, a contagem da aplicação deve ser refeita para refletir as alterações realizadas. Aplicação: mede uma aplicação instalada. É também referenciada como contagem de linha de base ou contagem instalada e avalia as funcionalidades correntes providas aos usuários finais da aplicação. (ii) Identificar a Fronteira da Aplicação Após determinado o tipo de contagem, a fronteira da aplicação deve ser identificada. Ela indica a separação entre o projeto que está sendo medido e as aplicações externas ao domínio do usuário. É através dela que torna-se possível definir quais funcionalidades serão incluídas no processo de contagem dos pontos de função. (iii) Contar Funções Tipo Dados Nesta etapa as funcionalidades da aplicação começam a ser identificadas e contadas. A funcionalidade da aplicação é avaliada em termos do quê é fornecido pela mesma, não do como é fornecido. Apenas componentes definidos e solicitados pelo usuário devem ser contados (GARMUS e HERRON, 21). 2
3 As Funções Tipo Dados representam as funcionalidades fornecidas pelo sistema ao usuário, para atender às necessidades referentes aos dados que o sistema irá manipular. Essas funções podem ser: 1) Arquivo Lógico Interno (ALI) : grupo logicamente relacionado de dados ou informações de controle, identificável pelo usuário, mantido dentro da fronteira da aplicação que está sendo controlada. Por exemplo: as tabelas ou classes do sistema. 2) Arquivo de Interface Externa (AIE): grupo logicamente relacionado de dados ou informações de controle, referenciado pela aplicação, identificável pelo usuário, mantido fora da fronteira da aplicação que está sendo controlada. Por exemplo: as tabelas acessadas em um outro sistema. A diferença básica entre um ALI e um AIE é que o último não é mantido pela aplicação que está sendo contada. Um AIE contado para uma aplicação sempre será contado como um ALI em sua aplicação de origem. Nas definições de ALI e AIE foram utilizados alguns termos e expressões que merecem esclarecimento. São elas: Informações de Controle: são dados utilizados pela aplicação para garantir aderência com os requisitos funcionais especificados pelo usuário. Por exemplo: datas e horas são utilizadas pelos usuários para estabelecer a sequência ou o momento de eventos. Assim, datas e horas são informações de controle. Identificável pelo Usuário: refere-se aos requisitos específicos que um usuário ou grupo de usuários seria capaz de definir para a aplicação. Mantido: refere-se ao fato de que o dado pode ser modificado através de um processo elementar da aplicação. Um processo elementar é a menor atividade capaz de produzir resultados significativos para o usuário. Por exemplo: incluir, alterar e excluir. Cada Arquivo Lógico Interno e cada Arquivo de Interface Externa possui dois tipos de elementos que devem ser contados para cada função identificada: Tipos de Elementos de Dados (TED): campo único, reconhecido pelo usuário, não recursivo. Por exemplo: campos das tabelas. 3
4 Tipos de Elementos de Registros (TER): subgrupo de dados, reconhecido pelo usuário. Por exemplo: generalização/especialização de classes. Ao final dessa etapa devem estar identificados quantos Arquivos Lógicos Internos e Arquivos de Interface Externa o sistema possui e para eles, quantos são os Tipos de Elementos de Dados e os Tipos de Registros encontrados. (iv) Contar Funções Tipo Transação As Funções Tipo Transação representam as funcionalidades de processamento dos dados fornecidas pelo sistema ao usuário. Essas funções podem ser: 1) Entrada Externa (EE): processo elementar da aplicação que processa dados ou informações de controle que vêm de fora da fronteira da aplicação que está sendo controlada. Exemplos: validações, fórmulas e cálculos matemáticos cujos parâmetros vêm de fora da fronteira da aplicação. 2) Saída Externa (SE): processo elementar da aplicação que gera dados ou informações de controle que são enviados para fora da fronteira da aplicação que está sendo controlada. Exemplos: relatórios e gráficos. 3) Consulta Externa (CE): processo elementar da aplicação que representa uma combinação de entrada (solicitação de informação) e saída (recuperação de informação). Exemplos: consultas implícitas, verificação de senhas e recuperação de dados com base em parâmetros. Cada Entrada Externa, Saída Externa e Consulta Externa possui dois tipos de elementos que devem ser contados para cada função identificada: Tipos de Elementos de Dados (TED): campo único, reconhecido pelo usuário, não recursivo. Por exemplo: campos das tabelas. Tipos de Arquivos Referenciados ou Arquivos Referenciados (TAR): arquivos lógicos utilizados para processar a entrada e/ou saída. É o total de ALI e AIE utilizados pela transação. Ao final dessa etapa devem estar identificadas quantas Entradas Externas, Saídas Externas e Consultas Externas o sistema possui e, para elas, quantos são os Tipos de Elementos de Dados e os Arquivos Referenciados encontrados. 4
5 Tipos de Arquivos Referenciados Tipos de Elementos de Registros Análise de Pontos de Função Notas de Aula Monalessa Perini Barcellos (v) Calcular os Pontos de Função Não Ajustados Após serem contadas todas as Funções Tipo Dados e as Funções Tipo Transação e seus elementos, é preciso calcular os pontos de função não ajustados, que refletem especificamente as funcionalidades fornecidas ao usuário pelo produto. Para isso, é preciso identificar a complexidade e a contribuição, em pontos por função, de cada uma das funções e elementos contados. Para determinar a complexidade e contribuição das funções e seus elementos, é necessário utilizar as relações dos valores de complexidade e contribuição fornecidas pela técnica. A seguir são apresentadas tabelas que indicam a complexidade e contribuição das funções e seus elementos em um sistema, de acordo com a contagem estabelecida nas etapas (iii) e (iv). A tabela 1 indica a complexidade de um Arquivo Lógico Interno ou Arquivo de Interface Externa de acordo com o número de Tipos de Elementos de Dados e de Tipos de Elementos de Registros identificados para ele. Tipos de Elementos de Dados 1 a 19 2 a BAIXA BAIXA MÉDIA 2 a 5 BAIXA MÉDIA ALTA 6 MÉDIA ALTA ALTA Tabela 1 Complexidade de Arquivos Lógicos Internos e Arquivos de Interface Externa A tabela 2 indica a complexidade de uma Entrada Externa de acordo com o número de Tipos de Elementos de Dados e de Arquivos Referenciados identificados para ela. Também é utilizada para determinar a complexidade das entradas de uma Consulta Externa. Tipos de Elementos de Dados 1 a 4 5 a a1 BAIXA BAIXA MÉDIA 2 BAIXA MÉDIA ALTA 3 MÉDIA ALTA ALTA Tabela 2 Complexidade de Entradas Externas e Entradas das Consultas Externas 5
6 Complexidades Tipos de Arquivos Referenciados Análise de Pontos de Função Notas de Aula Monalessa Perini Barcellos A tabela 3 indica a complexidade de uma Saída Externa de acordo com o número de Tipos de Elementos de Dados e de Arquivos Referenciados identificados para ela. Também é utilizada para determinar a complexidade das saídas de uma Consulta Externa. Tipos de Elementos de Dados 1 a 5 6 a 19 2 a1 BAIXA BAIXA MÉDIA 2 a 3 BAIXA MÉDIA ALTA 4 MÉDIA ALTA ALTA Tabela 3 - Complexidade de Saídas Externas e Saídas das Consultas Externas A tabela 4 indica as contribuições (pesos) obtidas através das complexidades calculadas para as funções identificadas. Contribuições (pesos) ALI AIE EE SE CE BAIXA MÉDIA ALTA Tabela 4 - Contribuições (pesos) das complexidades Para calcular os pontos de função não ajustados, multiplica-se o número de funções identificadas para uma determinada complexidade por sua contribuição. Ao final, soma-se todos os pontos de função encontrados. A seguir é apresentado um exemplo para o cálculo dos pontos de função não ajustados (PFNA) gerados pelos ALI de um sistema hipotético. O mesmo deve ser feito para a outras funções do sistema (AIE, EE, SE e CE). 6
7 Função ALI Itens Contados por Complexidade 1 Baixa 2 Média 1 Alta Contribuição x 7 x 1 x 15 Total por Complexidade Tabela 5 Exemplo de cálculo dos pontos de função não ajustados Total de PFNA da Função 42 (vi) Calcular Valor do Fator de Ajuste O número de pontos de função não ajustados de um sistema reflete a funcionalidade que o sistema fornecerá ao usuário, sem considerar as especificidades do sistema. Por exemplo, um mesmo sistema pode ser implementado para operar stand alone para um cliente e em arquitetura cliente servidor para outro. As funcionalidades seriam as mesmas, o que resultaria na mesma contagem de pontos de função não ajustados, mas quando considera-se as características do sistema para cada cliente, observa-se que os pontos de função devem ser ajustados para refletir a maior complexidade do sistema na arquitetura cliente servidor. Para ajustar os pontos de função encontrados na etapa (v) devem ser levadas em consideração 14 (quatorze) características do sistema que serão analisadas e fornecerão o valor do fator de ajuste. São elas: Comunicação de Dados, Processamento Distribuído, Performance, Configuração Altamente Utilizada, Taxa de Transações, Entrada de Dados On-Line, Eficiência do Usuário Final, Atualização On-Line, Processamento Complexo, Reutilização, Facilidade de Operação, Facilidade de Instalação, Múltiplos Locais e Modificações Facilitadas. Para cada característica deve ser atribuído um nível de influência de (zero) a 5 (cinco), onde (zero) indica nenhuma influência, 1 (um) influência mínima, 2 (dois) influência moderada, 3 (três) influência média, 4 (quatro) influência significativa e 5 (cinco) grande influência. Para calcular o valor do fator de ajuste deve-se seguir a relação VFA = (GIT *,1) +,65 7
8 Onde VFA é o valor do fator de ajuste GIT é o grau de influência total (soma de todos os valores dos níveis de influência). (vii) Calcular Pontos de Função Ajustados Após calculado o valor do fator de ajuste, os pontos de função não ajustados serão ajustados, multiplicando-se o valor dos pontos de função não ajustados (PFNA), obtidos em (v), pelo valor do fator de ajuste (VFA),obtido em (vi). Assim, PFA = PFNA x VFA O número de pontos de função encontrado representa o tamanho da aplicação de acordo com sua funcionalidade. Para calcular as estimativas de esforço, prazo e custos para a aplicação é necessário conhecer valores como o custo de um ponto de função (por exemplo R$2,) e o tempo necessário para realizar um ponto de função (por exemplo 2,5 h), ou o esforço para realizar um ponto de função (por exemplo 14 pessoas/mês) e o custo do esforço. Com esses valores é possível calcular as estimativas para o projeto através das relações entre o número total de pontos de função do sistema e os valores de um ponto de função. Para determinar os valores de um ponto de função, a organização pode realizar medições em projetos anteriores e obter um valor médio para o ponto de função. Caso não existam projetos anteriores podem ser consultadas tabelas disponibilizadas pelo IFPUG (Institute Function Point Users Group) e por seus órgãos representantes em cada país. 2. Exemplo de Contagem utilizando Análise de Pontos de Função 1 Para exemplificar a utilização da técnica Análise de Pontos de Função, consideremos um pequeno sistema hipotético desenvolvido para uma academia de 1 O exemplo aqui apresentado foi extraído de WEBER et. al (21) 8
9 ginástica, com o objetivo de cadastrar os alunos matriculadose emitir um relatório gerencial que apresente o número de alunos matriculados totalizados por mês. Considere o diagrama abaixo como representação do sistema hipotético. O arquivo (tabela) Alunos possui 1 atributos. SECRETÁRIA Dados dos alunos COORDENADOR Relatório Gerencial SISTEMA Dados dos alunos ALUNOS Figura 2 Diagrama de Contexto do sistema hipotético. Passos: (i) Determinar o Tipo de Contagem O tipo de contagem é para um Projeto de Desenvolvimento, uma vez que se trata de um sistema a ser desenvolvido e não de manutenção ou de medição em aplicação instalada. (ii) Identificar a Fronteira da Aplicação Não há interação com outros sistemas. (iii) Contar Funções Tipo Dados O número de Arquivos Lógicos Internos é 1 pois só há manipulação do arquivo Alunos. O número de Elementos de Dados é 1, que são os atributos do arquivo Alunos. Só há um Tipo de Registro em Alunos, pois não há especialização deste arquivo. Não há Arquivos de Interface Externa, uma vez que não há interação com outros sistemas. Arquivos Lógicos Internos Tipos de Elementos de Dados Tipos de Elementos de Registros 1 (Alunos) 1 (atributos de Alunos) 1 Arquivos de Interface Externa Tipos de Elementos de Dados Tipos de Elementos de Registros (não há interação com outros sistemas) Tabela 6 Exemplo de Contagem de Funções Tipo Dados 9
10 (iv) Contar Funções Tipo Transação Existem três Entradas Externas: inclusão, alteração e exclusão de alunos. Para as duas primeiras existem 1 Elementos de Dados, que são os atributos que são fornecidos como entrada para inclusão ou os atributos que podem ser modificados em uma alteração. Para a exclusão, apenas um Elemento de Dados é considerado, que é o código do aluno que será excluído. Em todas as entradas há apenas um arquivo referenciado: Alunos. Supondo que o sistema possui uma consulta aos dados cadastrais, a função Consultas Externas apresenta contagem 1. Todos os atributos do arquivo Alunos são exibidos, totalizando 1 Elementos de Dados. Apenas o arquivo Alunos é utilizado, então Arquivos Referenciados é igual a 1. A única Saída Externa é o Relatório Gerencial. Supondo que ele apresente: o código do aluno, nome do aluno, mês da matrícula, totalizador de alunos matriculados por mês e totalizador de alunos matriculados no ano, temos 5 Elementos de Dados. Apenas o arquivo Alunos é utilizado, então Arquivos Referenciados é igual a 1. Entradas Externas Tipos de Elementos de Dados Arquivos Referenciados 1 (Inclusão) 1 (Alteração) 1 (Exclusão) 1 (atributos de Alunos) 1 (atributos de Alunos) 1 (código do aluno) 1 (Alunos) 1 (Alunos) 1 (Alunos) Consultas Externas Tipos de Elementos de Dados Arquivos Referenciados 1 (Consulta aos dados cadastrais) 1 (atributos de Alunos) 1 (Alunos) Saídas Externas Tipos de Elementos de Dados Arquivos Referenciados 1 (Relatório Gerencial) 5 (informações apresentadas no 1 (Alunos) relatório) Tabela 7 Exemplo de Contagem de Funções Tipo Transação (v) Calcular os Pontos de Função Não Ajustados Analisando os valores obtidos no passos acima e as tabelas 1 a 4 chegamos aos seguintes valores: 1
11 Itens Contados Total por Função por Contribuição Complexidade Total de PFNA Complexidade da Função 1 Baixa x 7 7 ALI Média x 1 7 Alta x 15 Baixa x 5 AIE Média x 7 Alta x 1 3 Baixa x 3 9 EE Média x 4 9 Alta x 6 1 Baixa x 3 3 CE Média x 4 3 Alta x 6 1 Baixa x 4 4 SE Média x 5 4 Alta x 7 Total de Pontos de Função Não Ajustados: 23 Tabela 8 Exemplo de cálculo dos pontos de função não ajustados (v) Calcular Valor do Fator de Ajuste Para calcular o fator de ajuste, as 14 características foram consideradas, obtendo-se os seguintes valores: 11
12 Características Gerais do Sistema Nível de Influência Justificativa Comunicação de Dados O sistema opera em micro stand-alone, portanto, não possui comunicação de dados. Processamento Distribuído O sistema opera em micro stand-alone. Performance 1 Requisitos de performance foram estabelecidos, mas nenhuma ação especial foi necessária. Configuração altamente utilizada Não há restrições operacionais. Volume de Transações Nenhum período de pico de transações esperado. Entrada de dados on-line 5 Sistema on-line. Eficiência do usuário final 3 Sistema desenvolvido com interface gráfica. Atualização on-line 3 Sistema on-line, sem proteção para perda de dados. Processamento complexo O sistema não executa processamento matemático ou de segurança. Reusabilidade 1 O sistema foi desenvolvido levando-se em conta reuso de rotinas. Facilidade de instalação 4 Utilização de ferramenta automática para implantação do sistema. Facilidade de Operação 2 Sistema on-line. Múltiplos locais Nenhuma solicitação do usuário para implantar a aplicação em mais de um local.. Modificação facilitada Nenhuma solicitação do usuário para projetar a Grau de Influência Total = 19 VFA = (GIT *,1) +,65 =,84 Tabela 9 Exemplo de cálculo dos fator de ajuste aplicação visando minimizar ou facilitar mudanças. (vi) Calcular Pontos de Função Ajustados Para ajustar os pontos de função do sistema, basta multiplicar os pontos de função não ajustados pelo valor do fator de ajuste, como apresentado abaixo: PFA = 23 *,84 = 19,32 Sendo assim, o sistema hipotético possui 19 pontos de função. 12
13 3. As 14 Características Gerais e seus Graus de Influência (Dias, 24) Grau Descrição Nenhuma influência 1 Influência mínima 2 Influência moderada 3 Influência média 4 Influência significante 5 Influência forte Tabela 1 Graus de influência. 1. Comunicação de dados: os aspectos relacionados aos recursos utilizados para a comunicação de dados do sistema deverão ser descritos de forma global. Descrever se a aplicação utiliza protocolos 2 diferentes para recebimento/envio das informações do sistema.. Aplicação batch ou funciona stand-alone; 1. Aplicação batch, mas utiliza entrada de dados ou impressão remota; 2. Aplicação batch, mas utiliza entrada de dados e impressão remota; 3. Aplicação com entrada de dados on-line para alimentar processamento batch ou sistema de consulta; 4. Aplicação com entrada de dados on-line, mas suporta apenas um tipo de protocolo de comunicação; 5. Aplicação com entrada de dados on-line e suporta mais de um tipo de protocolo de comunicação. 2. Processamento de Dados Distribuído: Esta característica refere-se a sistemas que utilizam dados ou processamento distribuído, valendo-se de diversas CPUs.. Aplicação não auxilia na transferência de dados ou funções entre os processadores da empresa; 1. Aplicação prepara dados para o usuário final utilizar em outro processador (do usuário final), tal como planilhas; 2. Aplicação prepara dados para transferência, transfere-os para serem processados em outro equipamento da empresa (não pelo usuário final); 3. Processamento é distribuído e a transferência de dados é on-line e apenas em uma direção; 2 Protocolo é um conjunto de informações que reconhecem e traduzem para um determinado padrão, informações entre dois sistemas ou periféricos, permitindo intercâmbio das informações. 13
14 4. Processamento é distribuído e a transferência de dados é on-line e em ambas as direções; 5. As funções de processamento são dinamicamente executadas no equipamento (CPU) mais apropriada; 3. Desempenho: Trata-se de parâmetros estabelecidos pelo usuário como aceitáveis, relativos a tempo de resposta.. Nenhum requisito especial de desempenho foi solicitado pelo usuário; 1. Requisitos de desempenho foram estabelecidos e revistos, mas nenhuma ação especial foi requerida; 2. Tempo de resposta e volume de processamento são itens críticos durante horários de pico de processamento. Nenhuma determinação especial para a utilização do processador foi estabelecida. A data limite para a disponibilidade de processamento é sempre o próximo dia útil; 3. Tempo de resposta e volume de processamento são itens críticos durante todo o horário comercial. Nenhuma determinação especial para a utilização do processador foi estabelecida. A data-limite necessária para a comunicação com outros sistemas é limitante. 4. Os requisitos de desempenho estabelecidos requerem tarefas de análise de desempenho na fase de planejamento e análise da aplicação. 5. Além do descrito no item anterior, ferramentas de análise de desempenho foram usadas nas fases de planejamento, desenvolvimento e/ou implementação para atingir os requisitos de desempenho estabelecidos pelos usuários. 4. Utilização do Equipamento: Trata-se de observações quanto ao nível de utilização de equipamentos requerido para a execução do sistema. Este aspecto é observado com vista a planejamento de capacidades e custos.. Nenhuma restrição operacional explícita ou mesmo implícita foi incluída. 1. Existem restrições operacionais leves. Não é necessário esforço especial para atender às restrições. 2. Algumas considerações de ajuste de desempenho e segurança são necessárias. 14
15 3. São necessárias especificações especiais de processador para um módulo específico da aplicação. 4. Restrições operacionais requerem cuidados especiais no processador central ou no processador dedicado para executar a aplicação. 5. Além das características do item anterior, há considerações especiais que exigem utilização de ferramentas de análise de desempenho, para a distribuição do sistema e seus componentes, nas unidades processadoras. 5. Volume de transações: Consiste na avaliação do nível de influência do volume de transações no projeto, desenvolvimento, implantação e manutenção do sistema.. Não estão previstos períodos de picos de volume de transação. 1. Estão previstos picos de transações mensalmente, trimestralmente, anualmente ou em certo período do ano. 2. São previstos picos semanais. 3. São previstos picos diários. 4. Alto volume de transações foi estabelecido pelo usuário, ou o tempo de resposta necessário atinge nível alto o suficiente para requerer análise de desempenho na fase de projeto. 5. Além do descrito no item anterior, é necessário utilizar ferramentas de análise de desempenho nas fases de projeto, desenvolvimento e/ou implantação. 6. Entrada de dados on-line: A análise desta característica permite quantificar o nível de influência exercida pela utilização de entrada de dados no modo on-line no sistema.. Todas as transações são processadas em modo batch. 1. De 1% a 7% das transações são entradas de dados on-line. 2. De 8% a 15% das transações são entradas de dados on-line. 3. De 16% a 23% das transações são entradas de dados on-line. 4. De 24% a 3% das transações são entradas de dados on-line. 5. Mais de 3% das transações são entradas de dados on-line. 15
16 7. Usabilidade: a análise desta característica permite quantificar o grau de influência relativo aos recursos implementados com vista a tornar o sistema amigável, permitindo incrementos na eficiência e satisfação do usuário final, tais como: Auxílio à navegação (teclas de função, acesso direto e menus dinâmicos) Menus Documentação e help on-line Movimento automático do cursor. Movimento horizontal e vertical de tela. Impressão remota (via transações on-line) Teclas de função preestabelecidas. Processos batch submetidos a partir de transações on-line Utilização intensa de campos com vídeo reverso, intensificados, sublinhados, coloridos e outros indicadores. Impressão da documentação das transações on-line através de hard copy Utilização de mouse Menus pop-up O menor número possível de telas para executar as funções de negócio. Suporte bilingüe (contar como 4 itens) Suporte multilíngüe. (contar como 6 itens) Pontuação:. Nenhum dos itens descritos. 1. De um a três itens descritos. 2. De quatro a cinco dos itens descritos. 3. Mais de cinco dos itens descritos, mas não há requisitos específicos do usuário quanto a usabilidade do sistema. 4. Mais de cinco dos itens descritos e foram estabelecidos requisitos quanto à usabilidade fortes o suficiente para gerarem atividades específicas envolvendo fatores, tais como minimização da digitação, para mostrar inicialmente os valores utilizados com mais freqüência. 16
17 5. Mais de cinco dos itens descritos e foram estabelecidos requisitos quanto à usabilidade fortes o suficiente para requerer ferramentas e processos especiais para demonstrar antecipadamente que os objetivos foram alcançados. 8. Atualizações on-line: Mede a influência no desenvolvimento do sistema face à utilização de recursos que visem a atualização dos Arquivos Lógicos Internos, no modo online.. Nenhuma. 1. Atualização on-line de um a três arquivos lógicos internos. O volume de atualização é baixo e a recuperação de dados é simples. 2. Atualização on-line de mais de três arquivos lógicos internos. O volume de atualização é baixo e a recuperação dos dados é simples. 3. Atualização on-line da maioria dos arquivos lógicos internos. 4. Em adição ao item anterior, é necessário proteção contra perdas de dados que foi projetada e programada no sistema. 5. Além do item anterior, altos volumes trazem considerações de custo no processo de recuperação. Processos para automatizar a recuperação foram incluídos minimizando a intervenção do operador. 9. Processamento complexo: a complexidade de processamento influencia no dimensionamento do sistema, e, portanto, deve ser quantificado o seu grau de influência, com base nas seguintes categorias: Processamento especial de auditoria e/ou processamento especial de segurança foram considerados na aplicação; Processamento lógico extensivo; Processamento matemático extensivo; Processamento gerando muitas exceções, resultando em transações incompletas que devem ser processadas novamente. Exemplo: transações de autoatendimento bancário interrompidas por problemas de comunicação ou com dados incompletos; 17
18 Processamento complexo para manusear múltiplas possibilidades de entrada/saída. Exemplo: multimídia. Pontuação. Nenhum dos itens descritos. 1. Apenas um dos itens descritos. 2. Dois dos itens descritos. 3. Três dos itens descritos. 4. Quatro dos itens descritos. 5. Todos os cinco itens descritos. 1. Reusabilidade: a preocupação com o reaproveitamento de parte dos programas de uma aplicação em outras aplicações implica em cuidados com padronização. O grau de influência no dimensionamento do sistema é quantificado observando-se os seguintes aspectos:. Nenhuma preocupação com reutilização de código. 1. Código reutilizado foi usado somente dentro da aplicação. 2. Menos de 1% da aplicação foi projetada prevendo utilização posterior do código por outra aplicação. 3. 1% ou mais da aplicação foi projetada prevendo utilização posterior do código por outra aplicação. 4. A aplicação foi especificamente projetada e/ou documentada para ter seu código reutilizado por outra aplicação e a aplicação é customizada pelo usuário em nível de código -fonte. 5. A aplicação foi especificamente projetada e/ou documentada para ter seu código facilmente reutilizado por outra aplicação e a aplicação é customizada para uso através de parâmetros que podem ser alterados pelo usuário. 18
19 11. Facilidade de implantação: a quantificação do grau de influência desta característica é feita, observando-se o plano de conversão e implantação e/ou ferramentas utilizadas durante a fase de testes do sistema.. Nenhuma consideração especial foi estabelecida pelo usuário e nenhum procedimento especial é requerido na implantação. 1. Nenhuma consideração especial foi estabelecida pelo usuário, mas procedimentos especiais são necessários na implementação. 2. Requisitos de conversão e implantação foram estabelecidos pelo usuário e roteiro de conversão e implantação foram providos e testados. O impacto da conversão no projeto não é considerado importante. 3. Requisitos de conversão e implantação foram estabelecidos pelo usuário e roteiro de conversão e implantação foram providos e testados. O impacto da conversão no projeto é considerado importante. 4. Além do item 2, conversão automática e ferramentas de implantação foram providas e testadas. 5. Além do item 3, conversão automática e ferramentas de implantação foram providas e testadas. 12. Facilidade operacional: a análise desta característica permite quantificar o nível de influência na aplicação, com relação a procedimentos operacionais automáticos que reduzem os procedimentos manuais, bem como mecanismos de inicialização, salvamento e recuperação, verificados durante os testes do sistema.. Nenhuma consideração especial de operação, além do processo normal de salvamento foi estabelecida pelo usuário Verifique quais das seguintes afirmativas podem ser identificadas na aplicação. Selecione as que forem aplicadas. Cada item vale um ponto, exceto se definido explicitamente: Foram desenvolvidos processos de inicialização, salvamento e recuperação, mas a intervenção do operador é necessária. 19
20 Foram estabelecidos processos de inicialização, salvamento e recuperação, e nenhuma intervenção do operador é necessária (conte como dois itens) A aplicação minimiza a necessidade de montar fitas magnéticas. A aplicação minimiza a necessidade de manuseio de papel. 5. A aplicação foi desenhada para trabalhar sem operador, nenhuma intervenção do operador é necessária para operar o sistema além de executar e encerrar a aplicação. A aplicação possui rotinas automáticas para recuperação em caso de erro. 13. Múltiplos Locais e Organizações do Usuário: consiste na análise da arquitetura do projeto, observando-se a necessidade de instalação do sistema em diversos lugares.. Os requisitos do usuário não consideraram a necessidade de instalação em mais de um local. 1. A necessidade de múltiplos locais foi considerada no projeto e a aplicação foi desenhada para operar apenas em ambientes de software e hardware idênticos. 2. A necessidade de múltiplos locais foi considerada no projeto e a aplicação está preparada para trabalhar apenas em ambientes similares de software e hardware. 3. A necessidade de múltiplos locais foi considerada no projeto e a aplicação está preparada para trabalhar em diferentes ambientes de hardware e/ou software. 4. Plano de documentação e manutenção foram providos e testados para suportar a aplicação em múltiplos locais, além disso, os itens 1 ou 2 caracterizam a aplicação. 5. Plano de documentação e manutenção foram providos e testados para suportar a aplicação em múltiplos locais, além disso, o item 3 caracteriza a aplicação. 14. Facilidade de mudanças: focaliza a preocupação com a influencia da manutenção no desenvolvimento do sistema. Esta influência deve ser quantificada baseando na observação de atributos, tais como: disponibilidade de facilidades como consultas e relatórios flexíveis para atender necessidades simples (conte como 1 item); 2
21 disponibilidade de facilidades como consultas e relatórios flexíveis para atender necessidades de complexidade média (conte como 2 itens); disponibilidade de facilidades como consultas e relatórios flexíveis para atender necessidades complexas (conte 3 itens); se os dados de controle são armazenados em tabelas que são mantidas pelo usuário através de processos on-line, mas mudanças têm efeitos somente no dia seguinte; se os dados de controle são armazenados em tabelas que são mantidas pelo usuário através de processos on-line, as mudanças têm efeito imediatamente (conte como 2 itens). Pontuação. Nenhum dos itens descritos. 1. Um dos itens descritos. 2. Dois dos itens descritos. 3. Três dos itens descritos. 4. Quatro dos itens descritos. 5. Todos os cinco itens descritos. Referências: DIAS, R., 24, Análise por Pontos de Função: Uma Técnica para Dimensionamento de Sistemas de Informação, on-line. Disponível em: WEBER, C. K., ROCHA, A. R. C., NASCIMENTO, C. J., 21, Qualidade e Produtividade em Software, 4ª Edição, Ed. Makron Books. 21
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO FERRAMENTA DE CÁLCULO DE ESTIMATIVAS DE SOFTWARE ALEXANDRE WENDERLICH BLUMENAU 2008 2008/1-01