Escolar Documentos
Profissional Documentos
Cultura Documentos
realização desta pesquisa, por renovar as minhas vontades quando elas já pareciam ter se
Agradeço minha família por todo apoio e incentivos recebidos, em especial aos meus
pais, Regina e Valdir, e ao meu avô, Adilson, cuja lembrança está sempre presente.
Agradeço ao Instituto Federal de São Paulo por ter me proporcionado uma ótima
Agradeço a todos os professores que passaram por minha vida nestes três anos, e
Agradeço ao meu orientador Breno, pela paciência e boa vontade ao me auxiliar nesta
pesquisa, por ser tão prestativo e estar sempre disponível para me ajudar.
Também agradeço à empresa Netmake, por sua incrível atenção em tudo que precisei
para realização desta pesquisa, em especial à Priscilla Candeia, a qual fica minha enorme
Por fim, agradeço aos meus amigos, os do Instituto Federal e os de fora, que estiveram
sempre presentes, me ajudando e apoiando desde o início deste trabalho, que estiveram do
meu lado quando tudo ia bem, mas principalmente quando parecia que não estava tão bem
Projetos, tratando sobre os processos de estimativa de esforços que existem para serem
aplicação da técnica de estimativa por Pontos de Caso de Uso, desenvolvida em 1993 por
Gustav Karner, por meio do ambiente proposto por este trabalho. Este ambiente foi
desenvolvimento, ele foi aplicado em um estudo de caso com sucesso e com isto validou-se
This research present topics in the Software Engineering and Project Management
development. This work describes the design and development of an environment using the
Use Case Points, developed in 1993 by Gustav Karner. The proposed environment was
developed with the intention to assist stakeholders in planning of project resources in order to
enable it to develop as expected. At the end of the development, it was applied on a case study
successfully and it was possible to validate its performance and show its performing.
Management.Software Engineering.
LISTA DE FIGURAS
Figura 1 – Fases do Gerenciamento de Projetos ........................................................ 23
Figura 2 - Ator – Diagrama de Caso de Uso ............................................................... 25
Figura 3 - Caso de Uso – Diagrama de Caso de Uso ................................................. 26
Figura 4 - Etapas do desenvolvimento desta pesquisa ............................................... 41
Figura 5 – Fluxo de atividades para obter as horas estimadas ................................... 45
Figura 6 – MER do ambiente de estimativa ................................................................ 46
Figura 7 – Modelo Relacional do ambiente de estimativa ........................................... 47
Figura 8 – Interface para cadastro de projetos ............................................................ 49
Figura 9 – Interface peso e complexidade de ator ...................................................... 50
Figura 10 – Interface peso e complexidade de caso de uso........................................ 51
Figura 11 – Interface de fator de complexidade técnica – Sistemas distribuídos,
Desempenho e Eficiência ........................................................................................... 52
Figura 12 - Interface de fator de complexidade técnica – Processamento,
Reutilização, Facilidade de instalação e operação, Portabilidade e Mutabilidade ....... 53
Figura 13 - Interface de fator de complexidade técnica – Simultaneidade,
Segurança, Acesso de terceiros e Treinamento especial ............................................ 54
Figura 14 – Interface do fator ambiental...................................................................... 55
Figura 15 – Interface do fator ambiental - Continuação............................................... 56
Figura 16 – Interface de consulta de estimativas ........................................................ 57
Figura 17 – Interface de consulta de estimativas - Continuação ................................. 58
Figura 18 – Interface para relato de feedbacks ........................................................... 62
Figura 19 – Definição de ator – Projeto Medida Certa................................................. 64
Figura 20 – Definição de casos de uso – Projeto Medida Certa .................................. 65
Figura 21 – Estimativa finalizada do projeto Medida Certa ......................................... 68
Figura 22 – Versão número 1 da Estimativa ............................................................... 71
Figura 23 – Versão número 2 da estimativa ................................................................ 71
Figura 24 – Versão número 3 da estimativa ................................................................ 72
Figura 25 – Desenvolvimento dos pontos de casos de uso ........................................ 74
LISTA DE TABELAS
Tabela 1 - Complexidade dos tipos de função ............................................................ 29
Tabela 2 - Características que influenciam na complexidade...................................... 30
Tabela 3 - Peso e complexidade do ator ..................................................................... 34
Tabela 4 - Peso e complexidade do caso de uso ........................................................ 35
Tabela 5 - Fatores que contribuem para a complexidade ........................................... 36
Tabela 6 - Fatores que contribuem para a eficiência .................................................. 38
Tabela 7 – Fatores de Sucesso do Projeto ................................................................. 60
Tabela 8 – Fatores de Projeto Desafiado .................................................................... 60
Tabela 9 – Fatores de Projeto Prejudicado ................................................................. 61
Tabela 10 – Influência dos feedbacks ......................................................................... 61
Tabela 11 – Complexidade atores – Medida Certa ..................................................... 63
Tabela 12 – Complexidade de casos de uso – Medida Certa ..................................... 64
Tabela 13 – Definição do fator técnico – Medida Certa ............................................... 66
Tabela 14 – Definição fator ambiental – Medida Certa................................................ 67
Tabela 15 – Feedback Projeto Medida Certa .............................................................. 75
LISTA DE EQUAÇÕES
Equação 01 - PFNA Pontos por Função Não Ajustados........................................................29
Equação 02 - FAPF Fator de Ajuste de Pontos por Função..................................................30
Equação 03 - PFA Pontos por Função Ajustados..................................................................30
Equação 04 - Esforço.............................................................................................................31
Equação 05 - Prazo................................................................................................................31
Equação 06 - Custo................................................................................................................31
Equação 07 - UAW Peso não ajustado por Ator....................................................................34
Equação 08 - UUCW Peso não ajustado por Casos de Uso..................................................35
Equação 09 - UUCP Pontos não ajustados por Casos de Uso..............................................36
Equação 10 - Tfactor Fator de Complexidade Técnica..........................................................37
Equação 11 - TCF Fator de Complexidade Técnica..............................................................37
Equação 12 - Efactor Fator Ambiental....................................................................................38
Equação 13 - EF Fator Ambiental..........................................................................................38
Equação 14 - UCP Pontos por Casos de Uso........................................................................38
LISTA DE SIGLAS
EF Environmental Factor
ES Engineering Software
1 INTRODUÇÃO ........................................................................................................... 17
2.4.2 FPA (Function Point Analysis – Análise de Pontos por Função) ...................................... 28
2.4.4.1 1ª Fase – Cálculo do UAW (Unadjusted Actor Weight – Peso Não Ajustado por
Ator) 34
2.4.4.2 2ª Fase – Cálculo do UUCW (Unadjusted Use Case Weight – Peso Não Ajustado
2.4.4.3 3ª Fase – Cálculo dos Pontos Não Ajustados por Caso de Uso (UUCP) ...................... 36
Técnica) 36
3 METODOLOGIA ....................................................................................................... 41
4 RESULTADOS .......................................................................................................... 70
5 CONCLUSÕES .......................................................................................................... 77
REFERÊNCIAS ............................................................................................................... 79
Capítulo
17
1 Introdução
software é de grande valia que se saiba o quanto de recursos será investido para que ele seja
desenvolvimento.
de esforços para o desenvolvimento, que auxilia quanto ao planejamento de tais recursos para
Hoje em dia, é importante para as empresas investir em medidas que possam avaliar
Um projeto cujo caminho seja bem definido tem mais chances de ser desenvolvido
projetos, com realização de cronogramas e metas a serem cumpridas. Por outro lado, não
existe muita preocupação quanto às estimativas de esforço de software, o que é errado, pois
estimar é uma tarefa importante. A estimativa deve ser realizada no ínicio do projeto e ser
algo, avaliar, calcular o preço e a quantidade. Estimar um software significa que serão feitos
18
PORTUGUESA, 1999).
Levando esses pontos em consideração, foi identificada certa deficiência para estimar,
corretamente pode ocasionar atrasos na entrega das fases do projeto, prejudicando-o como
Segundo pesquisa do grupo THE STANDISH GROUP REPORTER (1995), uma das
antes mesmo de serem concluídos. Uma possível solução para este problema é fazer a
estimativa de software para obter uma base de como organizar custos e desenvolvimento na
software, dentre as principais podem-se citar: Pontos de Caso de Uso (KARNER, 1993),
Pontos por Função (ALBRECHT, 1981), COCOMO - Constructive Cost Model (BOEHM,
1981). Diante deste contexto, surge a necessidade de ambientes automatizados que possam
auxiliar na aplicação de uma destas técnicas de estimativa, sendo este o escopo desta
pesquisa.
oferecendo uma estimativa cujos riscos sejam toleráveis e perto do valor real (ARNOLD,
PEDROSS, 1998).
19
1.2 Objetivos
Diante do contexto relatado anteriormente, esta seção apresenta o objetivo geral desta
utilizando a técnica de Pontos de Caso de Uso (UCP – Use Case Points) através do
A fim de alcançar o objetivo geral descrito acima, este trabalho tem como objetivos
específicos:
funcionamento; e
um estudo de caso.
O capítulo 4 apresenta uma análise dos resultados obtidos com este trabalho.
21
2 Levantamento Bibliográfico
demonstrar o quanto estimar projetos envolve várias áreas da disciplina de Engenharia e como
é difícil fornecer o custo aproximado do valor real, sem uso de análise e estudo do sistema
desenvolvimento de software.
Este processo a que referimos é algo que possui início, meio e fim e que necessita
certo esforço empreendido para que seja concluído, sejam esses esforços orçamentais, de
2004).
até sua conclusão, aplicando práticas de gerenciamento de projetos que visam a organização,
projeto a fim de atender todos os seus requisitos definidos. Trata-se de uma estratégia para
organizações, permitindo que elas unam os resultados dos projetos com os objetivos do
A fase de Controle ocorre desde o início até o fim do projeto e tem como objetivo
controlar e monitorar o andamento do projeto. Esta fase também é responsável por fazer o
Sendo assim, o foco desta pesquisa que é estimativa de software está incluso, de forma direta,
do guia PMBOK, e que esses guias não são obrigatórios de serem seguidos. A finalidade de
ambos é servir como base para organizar o desenvolvimento de um projeto, garantindo assim
é a modelagem do projeto. Nessa fase, inclui-se a utilização da notação chamada UML, que
Grady Booch, o método do sueco Ivar Jacobson e o método do americano James Rumbaugh.
notações diferentes. Assim, em certa metodologia havia características que faltavam em outra,
Quando foi lançada a primeira versão da UML, foi estabelecido um consórcio com
várias empresas que atuavam na área de desenvolvimento de software, entre essas empresas
informações para melhorar a linguagem. Dessa forma, em 1997, a UML 1.0 se tornou
uma linguagem padrão de modelagem de projetos, mantida pela OMG (Object Management
desenvolvimento. Ela pode ser empregada para especificar, visualizar, construir e documentar
Esta notação abrange vários diagramas para especificar os requisitos do sistema, entre
eles estão o diagrama de classes, que demonstra todas as classes do projeto, com seus
diagrama de caso de uso e define os passos para realização do caso de uso a qual pertence; e o
diagrama de estado, que mostra os estados de um objeto durante seu ciclo de vida no projeto
O diagrama de caso de uso é o que mais se aproxima da visão do cliente. Com base
com o sistema. Este papel pode ser uma pessoa ou outros sistemas que irão interagir com os
casos de uso.
O caso de uso, ilustrado na Figura 2, por sua vez, expressa uma função do sistema, e
nome, as pré-condições para que ele ocorra, um breve descritivo sobre sua função no sistema,
uso deverá seguir. No fluxo principal são descritos os passos da forma que se espera que eles
ocorram e no fluxo alternativo são descritos as exceções daquele caso de uso (BOOCH;
desenvolvimento de um software é tarefa importante para as empresas que atuam nessa área.
De acordo com Pressman (2011) para que a estimativa seja realizada, é necessário que
sistema.
1
Conjunto de pessoas ou organizações que têm interesse na realização de um determinado projeto
(TECNOLOGIA DE PROJETOS, 2008).
27
este será desenvolvido é possível obter informações sobre tempo, custos e recursos que serão
sistemas, que se feito com a máxima proximidade possível, permite que o projeto evolua
conforme o planejado.
Atualmente, existem várias técnicas disponíveis para estimar um software, sendo que
Os proponentes dessa ténica argumentam que LOC está presente em todos os projetos
e pode ser facilmente contado, que muitos modelos de estimativas utilizam LOC e que
existem muitos trabalhos escritos sobre essa técnica. Por outro lado, os oponentes
projetos bem elaborados, mas menores, e também que essa técnica não pode acomodar
(PRESSMAN, 2011).
28
independente das tecnologias que serão utilizadas no projeto. Ela mede desde custos até
Segundo Albrecht (1979), a FPA utiliza uma métrica que se divide em três etapas:
Karner (1993) cita que este modelo leva em consideração o número de complexidade de:
simultânea; e
5. Arquivos Lógicos Externos: número de ligações que este sistema pode ter com
outro sistema.
Para cada um desses itens são aplicados os níveis simples, médio ou complexo, com
Após o cálculo de UFC, é feito a segunda etapa dessa métrica, em que se mede o
Macoratti (2004) cita em seu artigo “Quanto vale o software que você produz?” um
Para o cálculo do PFA neste exemplo o autor considerou estes tipos de função como
necessário multiplicá-la pelo seu respectivo peso, que pode ser visto na Tabela 1 abaixo.
Equação 01:
30
Onde:
TP = Tipo de Função
C = Complexidade
atribuições.
Característica Descrição
1 Comunicação de dados
2 Processamento distribuído
3 Performance
4 Utilização do equipamento
5 Volume de transações
6 Entrada de dados on-line
7 Eficiência do usuário final
8 Atualização on-line
9 Processamento complexo
10 Reutilização de código
11 Facilidades de implantação
12 Facilidade Operacional
13 Múltiplos Locais
14 Facilidades a mudanças
O valor do FAPF para este exemplo será de 1,1, pode-se observar o cálculo na
equação abaixo.
Equação 2:
Onde:
I = Influência
Por fim, para obter os PFA deve-se multiplicar os dois valores obtidos anteriormente.
Equação 3:
31
Onde:
Com este valor em mãos, é possível estimar o esforço, prazo e custo desse sistema de
Equação 4:
Equação 5:
Equação 6:
O resultado é de 187 horas necessárias de esforço para conclusão desse sistema; com
Com este exemplo é possível observar a aplicação dessa métrica e como utilizá-la para
estimativa de Pontos por Função apresenta como vantagens o fato de ser feita baseada no
ponto de vista do usuário, ser uma métrica de fácil aprendizagem e aplicação. Ela também
desenvolvimento demanda esforço na contagem dos pontos por função de cada fase e
Devido à incapacidade de lidar com ciclos de vida iterativos, uma nova versão
chamada COCOMO II foi lançada no ano de 2000. Este modelo aplicado ao RUP
Para utilizar esse modelo é preciso calibrá-lo de acordo com o ambiente alvo a qual
ele se destina. Esta calibração pode ser feita de acordo com dados históricos disponíveis
sobre o ambiente e, na ausência de tais dados, devem ser escolhidos projetos equivalentes
para fazer a calibração. Os dados históricos selecionados devem ser validados antes do
De acordo com Aguiar (2010) o modelo COCOMO II é calibrado com dados de 161
A estimativa deste modelo é feita com base nas linhas de código do projeto, caso a
organização que esteja estimando não utilize o método de LOC também é possível estimar
Dessa forma, percebe-se que COCOMO é utilizado sempre em conjunto com alguma
desenvolvimento.
fórmula matemática e, além disso, também pode ser aplicado nas diversas fases do
Como desvantagens, essa técnica apresenta o fato de ser dependente da tecnologia que
será utilizada, não fornece indicadores e também depende de experiências anteriores para
Esta técnica de estimativa foi proposta por Gustav Karner em 1993, e será utilizada no
Conforme Ribu (2001) a técnica de UCP trata da estimativa por Pontos de Caso de
Uso, ou seja, mede o custo do projeto baseado no diagrama de caso de uso da UML.
Como este diagrama é um dos primeiros que pode ser feito, baseado nos requisitos do
Segundo Karner (1993) esta técnica tem como base o modelo de FPA, porém foram
determinando o quanto esta equipe conhece a linguagem que será utilizada, sua
Para utilizar essa métrica, é necessário seguir seis fases que levam aos UCP, estas
2.4.4.1 1ª Fase – Cálculo do UAW (Unadjusted Actor Weight – Peso Não Ajustado
por Ator)
Para realização deste cálculo, é necessário saber a quantidade de cada tipo de ator
quantidade de atores de cada tipo pelo seu respectivo peso. Dessa forma, obtém-se o peso
anteriormente.
Equação 7:
Onde:
2.4.4.2 2ª Fase – Cálculo do UUCW (Unadjusted Use Case Weight – Peso Não
Para o cálculo desta fase, é preciso saber a quantidade de cada tipo de caso de uso
informações da Tabela 4.
Assim como na primeira fase, após ter obtido esses dados deve-se fazer a
multiplicação de cada tipo de caso de uso pelo seu respectivo peso, e por fim somar os
Equação 8:
Onde:
2
Transação neste caso refere-se aos cursos principal e alternativo documentados no caso de uso em questão
(KARNER, 1993).
36
2.4.4.3 3ª Fase – Cálculo dos Pontos Não Ajustados por Caso de Uso (UUCP)
Após ter feito os cálculos descritos anteriormente é possível obter o valor do UUCP,
Equação 9:
Assim, obtém-se o valor de Pontos de Caso de Uso Não Ajustados (KARNER, 1993).
Complexidade Técnica)
Segundo Karner (1993) o TCF mede o quão difícil de desenvolver será o sistema em
questão. É quase o mesmo da análise de FPA, mas foram adicionados e removidos alguns
fatores.
Na tabela 5 é possível observar quais são esses fatores e seus respectivos pesos.
Para cada fator listado na Tabela 5, deve ser atribuído de 0 a 5 a influência que ele tem
no sistema que será desenvolvido. Após essa atribuição, multiplica-se o valor atribuído pelo
Logo em seguida, deve-se somar todos os valores obtidos nas multiplicações feitas
Equação 10:
Onde:
Equação 11:
(KARNER, 1993).
O próximo passo é fazer o cálculo do fator ambiental. Este fator mede o quão eficiente
Para medí-lo, deve-se proceder da mesma maneira que o cálculo do fator anterior.
respectivos pesos.
38
Do mesmo modo que o fator técnico deve ser feita uma atribuição de 0 a 5
representando a influência do fator no sistema que será desenvolvido. Após a atribuição dos
valores, deve ser feita a multiplicação do peso do fator por sua influência, e por fim os
resultados das multiplicações devem ser somados. A este somatório atribui-se o nome de
EFactor.
Equação 12:
Onde:
Equação 13:
anteriormente:
Equação 14:
39
desenvolvimento e sim quanto tempo, em horas, levará para que o projeto seja concluído.
Com base nos pontos por caso de uso, é possível calcular o custo se você tiver em mãos o
preço da hora de serviço, pois por recomendação, deve-se utilizar a média de 20 horas por
Dessa forma, ao multiplicar os pontos de caso de uso por 20 obtém-se o valor total de
horas que serão trabalhadas. Após isso, basta multiplicar o preço da hora pela quantidade de
A seguir serão apresentados trabalhos cujo tema está relacionado ao desta pesquisa.
de software, e além disso, com esta ferramenta também é possível controlar os projetos
através de consultas e emissão de relatórios. Na ferramenta desenvolvida por esse autor, são
abordadas as técnicas de estimativa de pontos por caso de uso, pontos por função e
COCOMO, ela permite recalibragem dos parâmetros das métricas se for necessário ou uma
Em 2009, Caio Silva fez uma pesquisa propondo um novo modelo de estimativa de
desenvolvida uma ferramenta que estima por pontos de caso de uso que permite ajuste dos
fatores técnicos e ambientais de acordo com o meio em que o projeto está envolvido.
por pontos de caso de uso, mesmo que os casos de uso não estejam escritos por extenso. O
trabalho dele também mostra como os casos de uso podem ser dimensionados em outras
41
3 Metodologia
Esta pesquisa tem como objetivo a concepção de um ambiente para auxiliar na estimativa
Ter um ambiente que faça essa estimativa é importante devido ao fato de tornar possível
quando há necessidade de fazer alterações nas mesmas, devido a mudanças que surgiram no
representado na Figura 4.
Para o desenvolvimento deste ambiente, será utilizada a técnica de estimativa por UCP
por se tratar de uma técnica de fácil aplicação, que não requer muito tempo de treinamento ou
42
experiência prática. Além disto, justifica-se sua escolha, pois o diagrama e a documentação de
casos de uso de um sistema pode ser feito logo após a conclusão da fase de análise de
requisitos do projeto.
retornar informações ao cliente sobre os custos e número total de horas, de forma mais rápida.
Ambiente
sistema.
linguagem é do tipo scripting, ou seja, que pode ser executada do interior de outras
desenvolvimento web, já que pode ser incorporada ao código de uma página HTML (Hyper
ágil e dinâmico, devido à facilidade em utilizar o código entre as marcações HTML. É uma
linguagem simples para iniciantes, mas que oferece vários recursos para um programador
profissional (MANUAL PHP, 2013). Essa linguagem pode ser executada em vários sistemas
possui licença gratuita, está sempre atualizado com correções de falhas, adição de novos
e reportamento de erros”.
Além disto, optou-se também pelo PHP para desenvolver o ambiente proposto, pois a
autora desta pesquisa possui experiência de trabalho com essa linguagem, de modo que esse
de Banco de Dados (SGBD) será utilizado o MySql, por se tratar de um SGBD open source e
A fim de trabalhar com os bancos relacionais, será utilizada a linguagem padrão para
Estruturada).
dados; e
anteriormente.
44
que é um gerador de aplicações em linguagem PHP e que se conecta com vários bancos de
dados como Oracle, Firebird e inclusive o Mysql que é o banco utilizado nessa pesquisa. Ele
funciona na rede local ou na internet e gera aplicações que rodam em qualquer servidor PHP.
Escolheu-se utilizar essa ferramenta devido à familiaridade que a autora desse trabalho possui
com ela, de modo que esse conhecimento auxiliou na concepção do ambiente de estimativa.
Apoiados pelo uso das tecnologias citadas, busca-se atingir ao objetivo final deste
Esta seção apresenta a concepção do ambiente para estimar software, abordando como
utilizado por ele e também apresenta o desenvolvimento propriamente dito deste ambiente.
do desenvolvimento.
45
fornecidas representam a complexidade dos atores e dos casos de uso e os pesos dos fatores
técnicos e ambientais.
realizados os cálculos a fim de obter o total de pontos por casos de uso do sistema, de acordo
Após isso, o ambiente fará a conversão dos pontos encontrados para horas necessárias
aperfeiçoar os dados inseridos no ambiente para que ele possa fornecer um dado mais preciso
desempenho a ele, foi desenvolvido o Modelo Entidade Relacionamento (MER), onde foram
1. O projeto pode ter mais de uma versão de estimativa e a versão, por sua vez,
outros casos que podem implicar no sucesso ou não desse projeto. Com estas
feita de forma mais precisa pela empresa, possibilitando que haja sempre uma
essas melhoras.
Na Figura 6, pode-se observar o MER do banco de dados desenvolvido para uso nesse
ambiente.
Figura 6.
estimativa todo o suporte necessário para seu bom funcionamento. Além disto, com a
utilização de um banco de dados para armazenar todos os passos para o cálculo da estimativa
de esforços por pontos de caso de uso, pode-se utilizar estas informações como referência
para futuros projetos, inclusive auxiliando nas decisões quanto aos fatores ambientais e
técnicos.
O modelo físico do banco de dados desenvolvido e utilizado pelo ambiente foi criado
Nessa seção, será apresentada a concepção do ambiente para realizar a estimativa por
Foi desenvolvida uma interface independente do cálculo de estimativa para que esse
Após o projeto ter sido cadastrado, é possível iniciar o cálculo da estimativa. Para isso,
A fase 1 dessa técnica de estimativa trata do cálculo do peso não ajustado por ator
(UAW).
Este cálculo define quantos atores dos tipos simples, médio e complexo existem no
Com isto, o usuário deverá informar quantos atores de cada tipo há em seu projeto.
Após isso, o ambiente fará o cálculo, multiplicando a quantidade de atores de cada tipo pelo
seu peso e, finalmente, irá somar os valores encontrados, conforme descrito no Capítulo 2
deste trabalho.
descrição de cada tipo, servindo como base para a identificação de cada ator. Isto considera as
Na fase 2, faz-se o cálculo do peso não ajustado por casos de uso (UUCW).
Assim como na fase anterior, o usuário deverá informar a quantidade de cada tipo de
tipo de caso de uso pelo seu respectivo peso e somará os resultados obtidos, conforme
corresponde à fase 2.
51
O ambiente não armazena detalhadamente cada ator e caso de uso, pois este não é o
foco dessa pesquisa. Além disso, tais informações não influenciam no cálculo da estimativa.
Ele trata somente da quantidade de cada tipo existente no projeto, porém essas informações
Nesta fase, faz-se o cálculo dos pontos não ajustados por caso de uso (UUCP).
Para obter esse valor, devem-se somar os dois resultados obtidos nas fases anteriores:
UAW + UUCW.
Essa fase não apresenta uma IHM referente, pois este cálculo será feito pelo próprio
ambiente. Dessa forma, torna-se desnecessária qualquer interferência do usuário para que ela
A fase 4 determina o valor do Fator de Complexidade Técnica (TCF). Este fator mede
Para cada fator técnico, deve-se atribuir a influência que varia de 0 a 5, lembrando que
os fatores técnicos são aqueles que medem as dificuldades que serão encontradas para
Cada fator possui seu respectivo peso e ao atribuir o valor da sua influência no sistema
que será desenvolvido, faz-se a multiplicação desses valores e, por fim, somam-se todos os
sistema. As Figuras 11, 12 e 13 ilustram a IHM do ambiente que corresponde à fase 4 deste
processo.
Desempenho e Eficiência
Todas as descrições de relevâncias dos fatores técnicos utilizadas neste trabalho foram
Na fase 5 é calculado o valor do fator ambiental (EF). Este fator mede a eficiência do
Para realizar este cálculo deve-se atribuir a influência de 0 a 5, para cada fator listado.
Do mesmo modo que no caso anterior, após fazer a atribuição das influências, o
sistema fará a multiplicação pelo respectivo peso do fator e somará os resultados obtidos.
55
Após isso, aplica-se a fórmula descrita no Capítulo 2 deste trabalho e obtém-se o valor do
Assim como no fator técnico, todas as descrições de relevâncias dos fatores ambientais
utilizadas neste trabalho foram feitas com base nos trabalhos de Karner (1993) e Silva (2009).
Por fim, na fase 6 faz-se o cálculo dos pontos por caso de uso (UCP). Este cálculo é
automaticamente pelo ambiente, por isso esta fase não apresenta uma IHM referente.
O ambiente que foi desenvolvido permite que o usuário consulte as estimativas que
Na IHM de consulta, apresentam-se todas as informações que foram passadas para que
atores e casos de uso, como também a definição dos fatores técnicos e ambientais.
A partir dessa IHM, se desejar, o usuário pode iniciar uma nova estimativa.
57
uma interface de feedback onde é possível ao usuário relatar casos que possam ter
Este relato deve ser feito ao término do projeto, pois assim é possível definir com mais
detalhes o que pode ter influenciado de uma forma positiva ou negativa, como por exemplo,
se houve mudança nos requisitos. Após a definição dos feebacks ter sido feita, o projeto terá
Esses dados de feedback poderão ser consultados a qualquer instante, de modo que
sirvam como justificativa para explicar os motivos de um projeto ter sofrido alterações em seu
custo e/ou prazo de entrega. Porém, não será possível redefinir a influência dos feedbacks,
Os casos de feedbacks utilizados neste ambiente foram feitos com base na pesquisa
especificado.
o ciclo de desenvolvimento.
projeto são:
Reinício do projeto;
Deslizes de custos;
Deslizes de tempo; e
O aspecto mais importante da pesquisa é descobrir por que os projetos falham. Para
fazer isso, o Standish Group pesquisou gerentes executivos de TI e suas opiniões sobre os
As três principais razões para que um projeto seja bem-sucedido são: o envolvimento
do usuário, apoio executivo à gestão e uma declaração clara dos requisitos (THE STADISH
Existem outros critérios de sucesso, mas com estes três elementos no local, as chances
Na tabela abaixo, estão as respostas obtidas dos gerentes para os casos em que houve
sucesso do projeto.
60
Com isto, o usuário deverá inicialmente escolher para qual projeto ele fará a definição
e, após isso, indicar a influência de 0 a 5, de acordo com a tabela abaixo, para cada fator.
Nessa IHM, também é possível informar o tempo que foi realmente necessário para
terminar o projeto. Dessa forma, fica disponível para consulta o tempo aproximado gerado
Para essa validação, foi escolhido o projeto “Medida Certa” trabalhado em sala de aula
Este projeto foi desenvolvido pela turma do curso Tecnólogo em Sistemas para
ambientais, com base no documento de casos de uso desse projeto, que pode ser consultado
Capítulo 2, obtém-se o UAW igual a 5, conforme pode ser visto na Figura 19, já utilizando o
ambiente proposto.
64
Como último passo dessa técnica, deve-se multiplicar todos os valores obtidos
anteriormente (UUCP * TCF * EF). Assim, como valor de UCP obtém-se 178.
É importante lembrar que o total de horas de trabalho por mês foi elaborado da
seguinte forma: cada pessoa da turma trabalhou no projeto em média 8 horas por semana e ao
multiplicar esse valor por 4,5 semanas obtém-se o valor de 36 horas por mês para cada
valor total de horas mensais de serviço foi de 540 horas. Já quanto ao valor da hora de
trabalho, foi utilizado um número fictício, portanto o custo exibido abaixo não implica no
Na Figura 21, é possível ver a quantidade de pontos de casos de uso obtidos com essa
estimativa. O valor das horas por pontos de caso de uso é constante e igual a 20, pois por
definição da literatura de Karner (1993), gasta-se em média vinte horas para desenvolver cada
O total de horas para conclusão do projeto é feito através da multiplicação dos valores
de total de pontos de casos de uso e horas gastas para cada um. Dessa forma, obtém-se o valor
O dado de margem de erro tem grande importância no processo de estimativa, pois ele
garante que além do tempo estimado seja acrescido mais alguns dias de desenvolvimento,
fornecendo assim uma margem de segurança para os desenvolvedores, caso ocorra algum
que já foi finalizado, verificando erros, aumentando sua confiabilidade, facilidade de uso,
69
entre outros casos que podem ser abordados e tratados quando se há mais tempo para
trabalhar em um projeto. O valor fornecido nesse campo será aplicado no valor total de horas
Também nessa IHM deve-se informar o total de horas mensais que serão dedicadas à
realização desse projeto. Com esse valor é possível chegar à quantidade aproximada de meses
que levará para concluir esse projeto, quando faz-se a divisão do total de horas pela
participantes do projeto. Assim ao realizar a multiplicação do total de horas por esse valor, é
70
4 Resultados
aplicação em um estudo de caso, foram feitas três estimativas para o projeto Medida Certa,
desenvolvimento. Seu valor é aplicado a esse total atribuindo de forma percentual mais horas
para realização do software em questão. Dessa forma, quanto maior a margem de erro mais
horas terá o desenvolvimento dos pontos de casos de uso e, consequentemente, mais tempo
haverá para concluir o projeto. Indicar esse dado é importante, pois ele garante mais tempo ao
desenvolvimento, e esse tempo pode ser usado para aperfeiçoar o sistema e garantir que ele se
torne mais confiável, com melhor usabilidade e até mesmo trabalhar em funções para
melhorá-las e que não puderam ser tão aprofundadas no tempo normal de desenvolvimento.
Em um primeiro momento a estimativa foi feita com margem de erro igual a 0%, isso
proporcionou que o desenvolvimento desse projeto fosse avaliado de modo que ocorresse
completamente dentro do esperado, mesmo que este dado seja aproximado e sem um espaço
de tempo que poderia servir como folga para desenvolver o sistema com mais segurança e
confiabilidade. Os outros dados observados como horas de trabalho mensal e valor da hora de
Como é possível observar, caso essa margem de erro fosse o caso real encontrado no
desenvolvimento desse projeto, ele duraria aproximadamente sete meses e teria um total de
Após essa estimativa, foi atribuído à margem de erro o valor de 5% e o resultado pode
Aplicando essa margem de erro, o valor total de horas necessárias aumentou para 3738
obtendo como diferença para a estimativa anterior o valor de 178 horas. Apesar de haver tal
valor atribuído à margem de erro a essa versão da estimativa foi baseado no caso real do
desenvolvimento.
Por fim, a última aplicação apresentada por esta pesquisa tem como margem de erro o
valor de 15%. Esse valor foi adotado por Silva (2009) em sua tese de mestrado, e foi
considerado como a margem de erro mais segura para ser utilizada durante o processo de
estimativa, por conter o prazo estimado com 0%, possibilitar tempo a mais de
desenvolvimento e permitir contornar situações que não foram previstas, por isso este valor
comparado aos casos anteriores, subindo para oito meses necessários e o total de horas
Esse valor proporcionaria que o desenvolvimento tivesse certo tempo para tratar
possíveis problemas que poderiam aparecer ou elaborar um software mais seguro e confiável,
devido à folga obtida no total de horas. Dentre os possíveis problemas que poderiam ser
resolvidos com esse tempo estão os casos de mudança de requisitos - que inclusive aconteceu
no projeto Medida Certa. Com esse tempo extra, seria possível fazer o levantamento de
requisitos de forma mais segura e melhor estudada para que não acontecessem tais mudanças,
É importante ressaltar que até o término dessa pesquisa, o projeto multidisciplinar não
havia sido finalizado, portanto não é possível indicar ao certo quanto tempo realmente foi
meses e meio. Esse valor foi levantado com cada grupo, ao ser analisado a quantidade restante
Observando esse gráfico, pode-se concluir que a estimativa feita pelo ambiente,
utilizando a margem de erro de 5% como caso real, em que se obteve como tempo necessário
Para finalizar, foi levantada a influência dos feedbacks pela equipe do projeto
multidisciplinar, liderada pela gerente do mesmo, e os dados atribuídos podem ser vistos na
tabela a seguir.
75
Feedback Influência
Declaração clara de requisitos 5 - Influenciou completamente
apenas os que influenciaram esse projeto e para cada um deles foi atribuído seu respectivo
grau de influência.
Observando essa tabela, pode-se identificar que a declaração clara de requisitos foi o
que mais influenciou no andamento desse projeto, mas também que os prazos irrealistas, a
falta de planejamento e por se tratar de uma tecnologia nova tiveram um grau de influência
início do projeto, causando atrasos na entrega. Por outro lado, a equipe competente e focada
trabalharam mais no final para cumprir as metas estabelecidas de cada disciplina, e como a
estimativa foi feita com menos horas e não foi possível estimar essas horas no final, isso
validação, o que apresenta um atraso ainda maior no projeto Medida Certa. Dessa forma,
pode-se observar o quão importante é utilizar uma margem de erro de 15% como segurança,
pois se adotado esse valor o projeto não teria sofrido tanto atraso assim.
77
5 Conclusões
Linguagem UML.
deste processo mais conhecidas e utilizadas. Também foram apresentados alguns trabalhos
que estão diretamente relacionados a este, ressaltando a importância deste tema tanto na
Para desenvolver o ambiente proposto por este trabalho, foram definidas algumas
utilizada, concepção do banco de dados que dará suporte a esse ambiente e, por fim, o
desenvolvimento do ambiente.
caso do projeto Medida Certa, desenvolvido por alunos do Instituto Federal de Educação,
Ciência e Tecnologia do campus de São João da Boa Vista, e pôde-se comprovar que a
estimativa feita por ele se aproximou muito do caso real observado no projeto estudado.
Dessa forma, o ambiente se demonstrou eficaz não só para auxiliar gerentes em suas tomadas
de decisões, como também para mostrar aos clientes os recursos que serão empreendidos no
desenvolvê-lo.
78
Utilizando esse ambiente para fazer a estimativa de esforços pode-se garantir que a
Sendo assim, atingiu o seu objetivo com sucesso, pois todas as etapas propostas foram
alcançadas de forma satisfatória, e como resultado esse trabalho apresenta uma ferramenta
de uso.
Para conceber este ambiente foram encontradas algumas dificuldades logo no início da
fase de desenvolvimento. A ferramenta Scriptcase utilizada não possui licença gratuita, e sim
uma versão disponível para download no site que funciona durante 20 dias, porém não
publica o projeto que foi desenvolvido. Dessa forma, a autora dessa pesquisa entrou em
contato com a empresa responsável pelo Scriptcase, a Netmake, e conversou sobre uma
possível licença para concluir essa pesquisa. A Netmake por sua vez, atendeu prontamente ao
pedido e liberou duas licenças válidas por 30 dias, totalizando 60 dias para desenvolvimento,
A autora dessa pesquisa deixa como sugestão para trabalhos futuros uma adaptação do
ambiente para serem gravados os nomes dos atores e dos casos de uso, para ter uma
de cada tipo de ator e casos de uso existentes. Também como sugestão pode-se fazer o
controle de acessos de acordo com o perfil dos usuários, realizando cadastros e login no
sistema.
79
Como recomendação, pode-se fazer com que o ambiente permita que uma estimativa
já feita possa ser alterada, desde que seja uma alteração pequena, pois refazer o processo
Referências
AGUIAR, M. Estimando os projetos com COCOMO II. Rio de Janeiro, Project
Management Institute, 2010.
ARNOLD M., PEDROSS P., Software size measurement and productivity rating in a
large-scale software development department, Software Engineering,
1998.Proceedingsofthe 1998 International Conference, vol., no., pp.490, 493, 19-25 Abril
1998.
BOOCH, G.; RUMBAUGH, J.; JACOBSON, I.UML: Guia do Usuário. 2 ed. Rio de
Janeiro: Elsevier, 2005. Disponível em:
<http://books.google.com.br/books?id=ddWqxcDKGF8C&printsec=frontcover&hl=pt-
PT#v=onepage&q&f=false>. Acesso em: 05 de junho de 2013.
DATE, C. J. Introdução a sistemas de banco de dados. 8 ed. Rio de Janeiro: Elsevier, 2003.
Disponível em:
<http://books.google.com.br/books?id=xBeO9LSlK7UC&printsec=frontcover&hl=pt-
PT#v=onepage&q&f=false>. Acesso em: 06 de junho de 2013.
MACORATTI. Quanto vale o software que você produz?. 2004. Disponível em:
<http://www.macoratti.net/eng_qvs.htm>. Acesso em: 13 de maio de 2013.
descricao varchar(100),
codTipoFator char(1) not null,
codFatorRelevancia int,
codVersao int,
status char(1),
primary key(id_proj_feed),
FOREIGN KEY(codProjeto) REFERENCES projeto (codProjeto)
);