análise de pontos de função de uma agenda eletrônica

12
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS Curso de Sistemas de Informação Marcela Miranda Melo Patrícia Corniani Wíliam Gonçalves ANÁLISE DE PONTOS DE FUNÇÃO DE AGENDA ELETRÔNICA Arcos 2013

Upload: marcela-miranda

Post on 05-Jun-2015

1.235 views

Category:

Technology


2 download

DESCRIPTION

O presente trabalho tem por objetivo colocar em prática os conceitos de análise de pontos de função através da elaboração de um software de agenda eletrônica. As imagens citadas no trabalho encontram-se no link seguinte, de uma pasta compactada no Dropbox: http://goo.gl/gXQhWs

TRANSCRIPT

Page 1: Análise de pontos de função de uma agenda eletrônica

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS Curso de Sistemas de Informação

Marcela Miranda Melo Patrícia Corniani Wíliam Gonçalves

ANÁLISE DE PONTOS DE FUNÇÃO DE AGENDA ELETRÔNICA

Arcos 2013

Page 2: Análise de pontos de função de uma agenda eletrônica

Marcela Miranda Melo Patrícia Corniani Wíliam Gonçalves

ANÁLISE DE PONTOS DE FUNÇÃO DE AGENDA ELETRÔNICA

Arcos 2013

Trabalho apresentado à disciplina Qualidade de Software, do curso Sistemas de Informação da Pontifícia Universidade Católica de Minas Gerais. Orientadora: Sílvio Garbes Lara.

Page 3: Análise de pontos de função de uma agenda eletrônica

1 INTRODUÇÃO

A crise do software que se expandiu na década de 1980 e se arrasta até os dias de

hoje tem reflexos imensamente negativos para o processo de desenvolvimento. Problemas

como a produtividade não acompanhar a demanda por serviços, a qualidade do software,

em alguns sistemas, não ser adequada e as estimativas de prazo e custo serem

frequentemente imprecisas têm sido contornados através da busca pelo aperfeiçoamento

do processo e consequente qualidade dele. Para tal, existem técnicas de medição de

software que definem com maior precisão seu tamanho funcional para que o projeto seja

definitivamente adequado ao seu planejamento.

A análise de pontos de função é uma técnica para mensuração de sistemas criada

em 1979. Esta análise dimensiona o software, considerando a perspectiva do usuário,

quantificando a funcionalidade que ele proporciona ao seu usuário final baseado

principalmente no seu desenho lógico. Com a aplicação desta técnica, há diversas

utilidades que partem dela: realizar estimativa de dimensão de projetos, estimar o nível de

produtividade da equipe, dimensionar o esforço para desenvolvimento e calcular a taxa de

manutenção do software.

O presente trabalho propõe a análise de pontos de função de um software hipotético

– uma agenda eletrônica – a fim de aplicar a teoria envolta neste processo de mensuração

de software. Foram feitos o levantamento de requisitos, a criação dos diagramas de caso

de uso e de classe, a formulação das interfaces para o usuário e a análise propriamente

dita, a fim de fazer a primeira medição de um software como forma de contínuo aprendizado

e aperfeiçoamento da prática.

Page 4: Análise de pontos de função de uma agenda eletrônica

2 DESENVOLVIMENTO

Esta seção tem o objetivo de detalhar e conceituar a análise de pontos de função

realizada sobre o levantamento de requisitos do software de agenda de telefones

especificado.

2.1 Levantamento de requisitos funcionais

O software a ser analisado para o presente trabalho é caracterizado por tornar mais

simples e eficiente o armazenamento e a consulta de contatos em um agenda eletrônica.

Todo e qualquer software é composto por funcionalidades que, em sua maioria, são

requisitadas pelos usuários. Os requisitos funcionais levantados para a agenda eletrônica

são:

a) Permitir várias agendas administradas por usuários diferentes: a agenda é

pessoal e pode ser acessada por usuários diferentes armazenados nela.

b) Fazer login: como permite agenda de vários usuários, estes devem realizar login

para poderem ter acesso à sua.

c) Gerenciar usuário: inserir/alterar/remover/mostrar usuários da agenda e a própria

agenda, pois ao se criar um novo usuário, automaticamente cria-se uma nova

agenda.

d) Gerenciar contato: inserir/alterar/remover/mostrar contatos da agenda de cada

usuário.

e) Gerenciar grupos: cada contato deve estar em algum grupo, e estes são pré-

definidos: favoritos, trabalho, amigos e família. Então, a agenda deve possibilitar

inserir o contato no grupo, remover o contato do grupo e mostrar membros dos

grupos e os próprios grupos.

f) Gerar relatórios: nos relatórios gerados devem constar informações gerais de

quantidade de contatos por agenda, último login, última alteração, dentre outras.

Page 5: Análise de pontos de função de uma agenda eletrônica

2.2 Diagrama de casos de uso

Figura 1 – Diagrama de casos de uso da agenda eletrônica

2.3 Diagrama de classes

Figura 2 – Diagrama de classes da agenda eletrônica

Page 6: Análise de pontos de função de uma agenda eletrônica

2.4 Diagrama de interfaces

As imagens encontram-se em anexo na pasta do arquivo ZIP.

2.5 Análise de pontos por função

A análise de pontos de função é uma métrica de software que se concentra na

funcionalidade ou utilidade do software e não no número de linhas de código. Os pontos

por função são derivados se usando uma relação empírica baseada em medidas de

informações e complexidade de software. Esta técnica envolve um processo com os

seguintes passos, demonstrados na Figura 3:

Figura 3 - Processo de análise de pontos de função

Fonte: BARCELLOS, 2013.

Para realizar a análise de pontos de função da agenda eletrônica, estes passos

foram seguidos.

a) Determinar tipo de contagem: o tipo de contagem é para um projeto de

Desenvolvimento, uma vez que se trata de um sistema a ser desenvolvido.

b) Identificar a fronteira da aplicação: não há interação com outros sistemas.

c) Contar funções tipo dados:

ALI: arquivo lógico interno / TED: tipo de elementos de dados / TER: tipo de elemento

de registros.

Funções Tipo Dados

ALI TED TER

Usuário 3 (nome, login, senha) 2 (Usuário e Usuário

Master)

Page 7: Análise de pontos de função de uma agenda eletrônica

Agenda 2 (dono, quantidade de contatos) 1 (Agenda)

Contato 5 (nome, idade, endereço, e-mail, telefone) 2 (Contato e Grupo)

Grupo 2 (descrição, quantidade de membros) 4 (Favoritos, Família, Amigos e Trabalho)

AIE TED TER

- - -

- - -

- - -

- - -

d) Contar funções tipo transações:

EE: entrada externa / SE: saída externa / CE: consulta externa / TED: tipo de

elementos de dados / TAR: tipo de arquivo referenciado.

Funções Tipo Transação

EE

ALI Função TED TAR

Usuário Inserir

8 (nome, login, repetir login, senha, repetir senha, inserir,

“inserção realizada com sucesso”, OK)

2 (Usuário e Agenda)

Remover 6 (login, senha, remover,

“deseja confirmar a remoção do registro?”, sim, não)

4 (Usuário, Agenda, Contato, Grupo)

Alterar

8 (nome, login, repetir login, senha, repetir senha, inserir,

“inserção realizada com sucesso”, OK)

2 (Usuário e Agenda)

Fazer login 3 (login, senha, entrar) 2 (Usuário e

Agenda)

Agenda Criar 1 (dono) 1 (Agenda)

Excluir 1 (dono) 1 (Agenda)

Contato Inserir

8 (nome, idade, endereço, e-mail, telefone, inserir,

“inserção realizada com sucesso”, OK)

1 (Contato)

Remover 6 (nome, telefone, remover, “deseja confirmar a remoção

do registro?”, sim, não) 1 (Contato)

Alterar 7 (nome do contato, buscar, nome, telefone, endereço, e-

mail, alterar) 1 (Contato)

Grupo Inserir contato 5 (nome do contato, grupo, inserir, “inserção realizada

com sucesso”, OK) 2 (Contato e Grupo)

Remover contato 6 (grupo, contato, remover,

“deseja confirmar remoção?”, sim, não)

2 (Contato e Grupo)

SE

- Relatório 7 (usuário, pesquisar, último

acesso, última alteração, 3 (Usuário, Contato

e Grupo)

Page 8: Análise de pontos de função de uma agenda eletrônica

quantidade de contatos, quantidade de grupos,

quantidade de contatos por grupo)

CE – Saídas

Usuário Mostrar todos 2 (usuário, senha) 1 (Usuário)

Agenda - - -

Contato Mostrar todos 2 (nome, telefone) 1 (Contato)

Grupo Mostrar grupo 2 (nome, quantidade de

contatos) 1 (Grupo)

Mostrar membros 2 (nome, telefone) 2 (Contato e Grupo)

CE – Entradas

Usuário - - -

Agenda - - -

Contato Mostrar todos - -

Grupo Mostrar grupo 1 (grupo) 1 (Grupo)

Mostrar membros 1 (grupo) 2 (Contato e Grupo)

e) Calcular pontos não-ajustados: (com base nas tabelas de complexidade fornecidas)

Pontos não-ajustados ALI e AIE

ALI Complexidade

Usuário Baixa

Agenda Baixa

Contato Baixa

Grupo Baixa

AIE Complexidade

- -

- -

- -

- -

Pontos não-ajustados EE

ALI Função Complexidade

Usuário Inserir Média

Remover Alta

Alterar Média

Fazer login Média

Agenda Criar Baixa

Excluir Baixa

Contato Inserir Baixa

Remover Baixa

Alterar Baixa

Grupo Inserir contato Média

Remover contato Média

Page 9: Análise de pontos de função de uma agenda eletrônica

Pontos não-ajustados SE

ALI Função Complexidade

- Relatório Média

Pontos não-ajustados CE – Saídas

ALI Função Complexidade

Usuário Mostrar todos Baixa

Agenda - -

Contato Mostrar todos Baixa

Grupo Mostrar grupo Baixa

Mostrar membros Baixa

Pontos não-ajustados CE – Entradas

ALI Função Complexidade

Usuário - -

Agenda - -

Contato - -

Grupo Mostrar grupo Baixa

Mostrar membros Baixa

Resultado de PFNA

Função Multiplicação Resultado

ALI 4 x Baixa (7) 28

AIE - 0

EE 5 x Baixa (3) 15

5 x Média (4) 20

1 x Alta (6) 6

SE 1 x Média (5) 5

CE 7 x Baixa (3) 21

Soma: 95

f) Calcular fator de ajuste:

Resultado de FA

Fator Pontuação

O sistema requer backup e recuperação confiáveis? 4

São exigidas as comunicações de dados? 0

Há funções de processamento distribuídas? 0

O desempenho é crítico? 1

O sistema funcionará num ambiente operacional existente, muito utilizado? 1

O sistema requer entrada de dados on-line? 0

A entrada de dados on-line exige que a transação de entrada seja elaborada em múl-tiplas telas ou operações?

0

Os arquivos-mestres são atualizados on-line? 0

A entrada, saída, arquivos ou consultas são complexos? 2

Page 10: Análise de pontos de função de uma agenda eletrônica

O processo interno é complexo? 0

O código foi projetado de forma a ser reusável? 1

A conversão e instalação estão incluídas no processo? 4

O sistema é projetado para múltiplas instalações em diferentes organizações? 3

A aplicação é projetada de forma a facilitar mudanças e o uso pelo usuário? 3

Soma: 19

Fórmula

VFA = (GIT * 0,01) + 0,65

VFA = (19 * 0,01) + 0,65 0,84

g) Calcular pontos de função ajustados:

Resultado de PFA

PFA = PFNA x VFA

PFA = 95 x 0,84 79,8

A agenda eletrônica hipotética abordada neste trabalho possui 79 pontos de função,

estes obtidos pela análise e cálculos demonstrados nos quadros acima.

Page 11: Análise de pontos de função de uma agenda eletrônica

3 CONCLUSÃO

A análise de pontos de função é parte de um processo de estimativas de projetos

completo e foi desenvolvida como tentativa para sanar um dos graves problemas trazidos

pela crise do software na década de 1980: as estimativas de prazo e custo eram

frequentemente imprecisas. Com a estimativa do tamanho funcional do projeto de software,

têm-se uma maior precisão e se possibilita a medição de produtividade, o que mais se

necessita para a produção de um software. Por isso, conhecer e realizar a análise é de

grande valia. Para o software de agenda eletrônica analisado no presente trabalho, o

processo foi simples, entretanto foram necessários recálculos para determinar o resultado

final a que se chegou até que se detectassem os parâmetros corretos. É um processo

trabalhoso, mas que transforma todo o projeto e define seu sucesso na ponta do lápis.

Page 12: Análise de pontos de função de uma agenda eletrônica

Referências bibliográficas

BARCELLOS, Monalessa Perini. Realização de Estimativas utilizando Análise de

Pontos de Função. Espírito Santo. Disponível em: <

http://www.inf.ufes.br/~monalessa/PaginaMonalessa-NEMO/ES/AnalisePontos Funcao.pdf

>. Acesso em: 08 nov. 2013.

FILHO, Alfredo Jorge Reimann. Análise por Pontos de Função. Curitiba. Disponível em:

< http://www.batebyte.pr.gov.br/modules/conteudo/conteudo .php?conteudo=1335 >.

Acesso em: 04 nov. 2013.

HAZAN, Claudia. Análise de Pontos de Função. Disponív el em: <

http://www.devmedia.com.br/artigo-engenharia-de-software-2-analise-de-pontos-de-

funcao/9146 >. Acesso em: 08 nov. 2013.