Sie sind auf Seite 1von 65

CENTRO UNIVERSITRIO METODISTA BENNETT CURSO DE CINCIA DA COMPUTAO

APOIO TCNICA DE ESTIMATIVA POR PONTOS DE CASO DE USO

Adriana Vieira Bassut Simone Mucks

RIO DE JANEIRO JULHO, 2008

II

CENTRO UNIVERSITRIO METODISTA BENNETT CURSO DE CINCIA DA COMPUTAO

APOIO TCNICA DE ESTIMATIVA POR PONTOS DE CASO DE USO

Alunas: Adriana Vieira Bassut e Simone Mucks. Monografia apresentada ao Curso de Cincia da Computao do Centro Universitrio Metodista Bennett como parte dos requisitos necessrios obteno do ttulo de Bacharel em Cincia da Computao. Msc.Professor Orientador Marcos Kalinowski.

RIO DE JANEIRO JULHO, 2008

III

APOIO TCNICA DE ESTIMATIVA POR PONTOS DE CASO DE USO

Autores: Adriana Vieira Bassut, Simone Mucks Msc. Professor Orientador: Marcos Kalinowski

Monografia de Concluso submetida ao Curso de Graduao em Cincia da Computao do Centro Universitrio Metodista Bennett como parte dos requisitos necessrios obteno do ttulo de Bacharel em Cincia da Computao.

Aprovada por:

_____________________________________ Prof. Msc. Marcos Kalinowski

_____________________________________ Prof. Dsc. Jonice Oliveira

_____________________________________ Prof. Msc. Fabrcio Nogueira

Rio de Janeiro Julho, 2008

IV

FICHA CATALOGRFICA

001.6425 M433s

Bassut, Adriana e Mucks, Simone UCP Calculator: Ferramenta de Apoio Tcnica de Estimativa por Pontos de Caso de Uso Rio de Janeiro : 2008. 65p Monografia (Graduao) Bennett - Centro Universitrio Metodista Curso de Cincia da Computao. l. Informtica. 2. Software. I. Ttulo.

Bibliotecria: Maria de Ftima P. Schtz

CRB-7/5345

AGRADECIMENTOS

Agradecemos aos nossos familiares e amigos pela compreenso nos momentos de ausncia e de estresse, e pelo incentivo na concluso deste trabalho, possibilitando com isso a nossa formao no curso de Bacharelado em Cincia da Computao. Um agradecimento especial ao professor Fabrcio Nogueira, que lecionou a disciplina Programao Web, por contribuir com conhecimentos para o desenvolvimento da ferramenta. Ao professor Marcos Kalinowski, que lecionou a matria de Arquitetura de Software, por contribuir com conhecimentos especficos no assunto principal deste trabalho. professora Claudia Scofano, que lecionou as disciplinas Monografia I e II no curso de Administrao, por sua orientao na reviso desta monografia. nossa amiga Milene Guimares por seu companheirismo, que nos apoiou e nos incentivou durante a construo deste trabalho. E no poderamos deixar de mencionar o professor Jos Xexo, exCoordenador do Curso de Cincia da Computao, por sua competncia em manter a qualidade do curso e por sua tentativa em nos ensinar a ler o livro ao longo do perodo acadmico.

VI RESUMO

APOIO TCNICA DE ESTIMATIVA POR PONTOS DE CASO DE USO

Autor: Adriana Bassut, Simone Mucks Msc.Prof.Orientador: Marcos Kalinowski

Uma necessidade fundamental na rea de gerenciamento de projetos de desenvolvimento de software a adoo de um processo eficiente e simples para medio do tamanho dos projetos e melhoria de sistemas. No entanto, encontra-se pouco apoio para facilitar a utilizao das tcnicas encontradas na literatura para medir o tamanho dos projetos, que ofeream uma interface amoldada ao usurio e de baixo custo. Desta forma, o objetivo deste trabalho a criao de uma ferramenta que d apoio a uma tcnica especfica para estimar o tamanho de projetos de software: a tcnica de Estimativa por Pontos de Caso de Uso. A ferramenta chamada U.C.P Calculator, visa auxiliar os gerentes de projeto quanto ao clculo de ndices importantes, que interferem no planejamento e gerenciamento de projetos de softwares, de forma amigvel, dinmica e eficiente ao usurio atravs de interface Web

Palavras-chave: Casos de Uso, Estimativas por Pontos de Caso de Uso

Rio de Janeiro Julho, 2008

VII

ABSTRACT
Authors: Adriana Bassut and Simone Mucks Advisor: Marcos Kalinowski

An essential need in the field of software development project management is the adoption of an efficient and lean process to measure the size of the projects. However, few support is available to facilitate the use of the techniques found in literature to measure the size of software projects, specially when considering user friendliness and low cost. Thus, the goal of this work is to create a tool that supports a specific technique to estimate the size of software projects: the Use Case Point estimation technique. The tool, called U.C.P Calculator, aims to support project managers to calculate important measures that interfere in software project planning and management, in a user friendly, dynamic and efficient way using a web interface.

Rio de Janeiro Julho, 2008

VIII

LISTA DE QUADROS
Quadro nr. 1: Classificao de atores................................................................21 Quadro nr. 2: Classificao dos Casos de Uso.................................................21 Quadro nr. 3: Fator de complexidade tcnica ...................................................22 Quadro nr. 4: Fator de complexidade ambiental................................................23 Quadro nr. 5: Exemplo de atribuio sobre o grau de influencia do Fator de complexidade tcnica........................................................................................26 Quadro nr. 6: Exemplo de atribuio sobre o grau de Influencia do Fator de complexidade ambiental....................................................................................27 Quadro nr. 7: Exemplo de atribuio de percentual de esforo por fase do projeto................................................................................................................28 Quadro nr. 8: Requisitos no-funcionais............................................................32 Quadro nr. 9: Requisitos funcionais...................................................................32 Quadro nr. 10: Diagrama de Caso de Uso........................................................36 Quadro nr. 11: Mensurar Complexidade dos Atores e dos Casos de Uso........36 Quadro nr. 12: Calcular Fatores de Complexidade Tcnica..............................37 Quadro nr. 13: Calcular Fatores de Complexidade Ambiental..........................38 Quadro nr. 14: Calcular Pontos de Caso de Uso Ajustado e dividir por esforo do esforo..........................................................................................................38 Quadro nr. 15: Cadastrar login..........................................................................39 Quadro nr. 16: Acessar o sistema.....................................................................40

IX

LISTA DE TABELAS
Tabela 4.1 Atributos da tabela do banco de dados nomeada projeto............44 Tabela 4.2 Atributos da tabela do banco de dados nomeada gerentes.........44 Tabela 4.3 Atributos da tabela do banco de dados nomeada Pontoscuajustpordivesforco...............................................................................44 Tabela 4.4 Atributos da tabela do banco de dados nomeada FatorComplexidadeTcnica...............................................................................45 Tabela 4.5 Atributos da tabela do banco de dados nomeada FatorComplexidadeAmbiental............................................................................47 Tabela 4.6 - Atributos da tabela do banco de dados nomeada MensuraComplexAtores CUS............................................................................49

LISTA DE FIGURAS
Figura 3.1 Esboo de tela inicial.....................................................................34 Figura 3.2 - Esboo da tela de mensurao da complexidade dos atores e casos de uso no ajustados..............................................................................34 Figura 3.3 - Esboo da tela calculando os fatores de complexidade tcnica dos casos de uso no ajustados..............................................................................35 Figura 3.4 - Esboo da tela calculando os fatores de complexidade ambiental dos casos de uso no ajustados........................................................................35 Figura 4.1 - Diagrama de classes mostrando como os conceitos referentes a ferramenta se relacionam..................................................................................43 Figura 5.1 - Pgina Inicial..................................................................................51 Figura 5.2 - Cadastro de Login..........................................................................51 Figura 5.3 - Login do Usurio............................................................................52 Figura 5.4 - Acesso ao sistema.........................................................................52 Figura 5.5 - Mensurao da Complexidade dos Atores e Casos de Uso no Ajustados...........................................................................................................53 Figura 5.6 - Clculo dos fatores de complexidade tcnica................................53 Figura 5.7 - Clculo dos fatores de complexidade ambiental............................54 Figura 5.8 - Mensurao por pontos de caso de uso ajustados........................54

11

SUMRIO

1. Introduo.....................................................................................................11 1.1. Motivao...............................................................................................11 1.2. Objetivos.................................................................................................12 1.3. Organizao do Trabalho.......................................................................13 2. Tcnicas de estimativa de tamanho de projetos de software.......................15 2.1. Importncia de se usar estimativas de tamanho....................................15 2.2. Estimativas de tamanho.........................................................................16 2.2.1. Nmero de linhas de cdigo.........................................................16 2.2.2. Pontos de funo.........................................................................17 2.2.3. Pontos de casos de uso................................................................19 2.2.3.1. O processo de mensurao de estimativa por pontos de

caso de uso..............................................................................20 2.2.3.2. Procedimentos de mensurao por pontos de caso de

uso............................................................................................24 2.3. Ferramentas disponveis........................................................................29 3. Requisitos para uma ferramenta de apoio a estimativa de tamanho por pontos de caso de uso..................................................................................30 3.1. Introduo...............................................................................................30 3.2. Viso geral da ferramenta......................................................................30 3.2.1. Escopo..........................................................................................30 3.2.2. Definies.....................................................................................31 3.2.3. Descrio dos atores....................................................................31

12 3.2.4. Perspectiva do produto.................................................................31 3.2.5. Interfaces do sistema....................................................................32 3.3. Requisitos especficos............................................................................32 3.3.1. Requisitos no-funcionais.............................................................32 3.3.2. Requisitos funcionais....................................................................32 3.3.3. Prottipos......................................................................................34 3.3.4. Casos de uso e diagrama.............................................................36 4. Implementao da ferramenta......................................................................41 4.1. Justificativa das escolhas tecnolgicas..................................................41 4.2. Recursos utilizados para o desenvolvimento da ferramenta..................41 4.3. Processo de desenvolvimento................................................................42 4.3.1. Engenharia de requisitos..............................................................42 4.3.2. Projeto e implementao..............................................................43 4.3.2.1. Especificao do banco de dados......................................44

4.3.3. Testes...........................................................................................50 4.3.4. A ferramenta UCP Calculator........................................................51 4.3.5. Telas e funcionalidades................................................................51 4.4. Prova de conceito...................................................................................55 5. Concluso.....................................................................................................59 5.1. Contribuies..........................................................................................59 5.2. Limitaes...............................................................................................59 5.3. Possibilidades de trabalhos futuros........................................................60 Referncias Bibliogrficas..................................................................................62

11

INTRODUO

1.1

Motivao

Vivencia-se no dia-a-dia das empresas de tecnologia e desenvolvedoras de software, a disseminao, amadurecimento e aplicao de conceitos relacionados gerncia de projetos. Uma necessidade fundamental na rea de gerenciamento de projetos de desenvolvimento de software a adoo de um processo eficiente e simples para medio do tamanho dos projetos e melhoria de sistemas. O tamanho de um projeto de software uma das primeiras estimativas a serem realizadas, pois dessa dimenso depende a medio de esforos, custos e prazos necessrios para a definio do plano de desenvolvimento do software (CALDIERA, 1998 apud ANDRADE, 2004). Existem diversos motivos que levam as empresas a adotarem um processo para medir o tamanho dos projetos de desenvolvimento de sistemas, entre eles citam-se alguns dos destacados em (PRESSMAN, 2006): Prover subsdio para determinar esforo, recursos, durao e custo do desenvolvimento; Gerenciar contratos de software; Indicar a qualidade do produto; Formar uma base para estimativas;

12 Avaliar a produtividade do processo. Existem tcnicas disponibilizadas para determinar o tamanho do

desenvolvimento de sistemas, como por exemplo: (LOC) nmeros de linhas de cdigo, (APF) anlise de ponto por funo e (PCU) pontos por caso de uso. Entre estas tcnicas, a tcnica de pontos por caso de uso, como o nome sugere, adequada para projetos especificados atravs de casos de uso. Assim, ela vem sendo utilizada cada vez em projetos que utilizam casos de uso em sua especificao. Adicionalmente, ela se integra bem a projetos que fazem uso de um ciclo de vida incremental, onde cada incremento definido atravs de um conjunto de casos de uso. Nestes projetos a tcnica permite estimar de forma precisa o tamanho de cada um dos incrementos. A tcnica de pontos por funo, por sua vez, considera o sistema como um todo, ficando difcil determinar o tamanho desses incrementos. Apesar da aparente utilidade da tcnica de pontos de caso de uso para estimar o tamanho de projetos de software especificados atravs de casos de uso, encontra-se pouco apoio para facilitar a utilizao dessa tcnica.

1.2 Objetivos

Tendo em vista o cenrio descrito acima, o objetivo deste trabalho a criao de uma ferramenta que d apoio a uma tcnica especfica para estimar o tamanho de projetos de software: a tcnica de estimativa por pontos por caso de uso.

13 Este objetivo pode ser desmembrado em objetivos mais especficos: Realizar uma reviso sobre tcnicas de estimativa, dando nfase tcnica de estimativa por pontos por caso de uso; Identificar e especificar requisitos para apoio computacional tcnica de estimativa por pontos de caso de uso; Implementar uma ferramenta que fornea este apoio; Disponibilizar a ferramenta, para que a mesma possa ser utilizada no apoio a estimativa de tamanhos de projetos de software reais.

1.3 Organizao do Trabalho

Os prximos captulos desta monografia esto organizados da seguinte maneira: No Captulo 2 ser apresentada uma reviso bibliogrfica sobre as tcnicas de estimativa de tamanho de projetos de software. Este captulo descreve resumidamente algumas das principais tcnicas de estimativa de tamanho: linhas de cdigo, pontos por funo e pontos por caso de uso. Alm disto, discutida a importncia da utilizao das estimativas de tamanho e so apresentadas as ferramentas disponveis. No Captulo 3 sero descritos os requisitos para a proposta de apoio aplicao da estimativa por pontos por caso de uso. No Captulo 4 ser apresentada a construo da infra-estrutura da ferramenta.

14 No Captulo 5 sero apresentadas as telas com as funcionalidades da ferramenta e a prova de conceito. No Captulo 6 ser apresentada a concluso deste trabalho indicando contribuies, limitaes e possibilidades para trabalhos futuros.

15

TCNICAS DE ESTIMATIVA DE TAMANHO DE PROJETOS

DE SOFTWARE

2.1

Importncia de se usar Estimativas de Tamanho

A medio de qualquer atividade de engenharia de software fundamental, pois nos permite avali-la de forma objetiva. Possibilita o planejamento e a previso de custos, prazos e esforos associados ao desenvolvimento do projeto. Eficincia, eficcia, entrega do projeto no prazo estimado, dentro do oramento e com um nvel de qualidade desejado pelo cliente so caractersticas que influenciam no sucesso de organizaes de desenvolvimento de softwares no mercado atual. As mtricas de software podem ser aplicadas ao processo de desenvolvimento, apresentadas como melhoria contnua. Elas se referem a um campo de

medies de software, auxiliam no clculo, no domnio da qualidade, na medio da produtividade e no controle do projeto. Podem auxiliar tambm na tomada de decises tticas medida que o projeto evolui. As crescentes mudanas no mercado e as novas tecnologias disponveis para se projetar e desenvolver softwares apresenta um cenrio muito competitivo e dinmico onde as empresas necessitam se adaptar para se manterem. O objetivo da estimativa de tamanho estimar o esforo e o prazo ligados ao desenvolvimento de sistemas, inclusive, facilitar as negociaes contratuais e

16 permitir o controle da qualidade e da produtividade da equipe.

2.2

Estimativas de Tamanho

Estimativa de tamanho de software o corao do processo de estimativas de um projeto de software (PUTNAM, 2003 apud ANDRADE, 2004). Uma das principais atividades durante o ciclo de vida de um projeto determinar o seu tamanho e o seu custo, com base na complexidade e no esforo empregado para desenvolv-lo. importante que o planejamento, a estimativa de prazos, recursos e custos com o cliente, sejam realizados na fase inicial do projeto. Estimar o tamanho de um projeto no influencia apenas em determinar o seu custo, mas tambm impactua na soluo tcnica e na gesto do projeto. interessante considerar que planejar e estimar o tamanho de um projeto possibilita garantir a satisfao do cliente. Relacionam-se abaixo algumas das mais importantes tcnicas para determinar o tamanho do desenvolvimento de sistemas.

2.2.1 Nmero de Linhas de cdigo

A tcnica de mensurao por linhas de cdigo LOC (Lines of Code) uma das medidas mais antigas para determinao do tamanho, esforo e,

conseqentemente, produtividade no desenvolvimento de software.

17 Ela consiste basicamente na contagem da quantidade do nmero de linhas de cdigo de um programa de software. uma tcnica de fcil automatizao e implementao, eliminando esforos manuais. Porm, uma tcnica que conta com algumas desvantagens. Pode-se citar, entre elas: A impreciso em medirmos a produtividade de um projeto, na fase de codificao, somente com a experincia do desenvolvedor, pois o nmero de linhas de cdigo varia de pessoa a pessoa; A diferena entre linguagens, o nmero de linhas de cdigo de uma aplicao desenvolvida em C certamente diferente da quantidade de linhas de cdigo da mesma aplicao desenvolvida na linguagem Java; A ausncia de padres de contagem. J que no h uma definio de certas caractersticas, como a contagem de comentrios, declaraes de dados, e a incapacidade de medio do tamanho de um sistema em fases iniciais de desenvolvimento, tornam o gerenciamento do projeto um tanto quanto complicado.

2.2.2 Pontos de Funo

A anlise de pontos de funo (APF) uma das mtricas de estimativa de tamanho, mais sedimentadas no mercado, que proporcionam resultados cada vez mais precisos medida que artefatos da fase de anlise e projetos so gerados (CALDIERA, 2003 apud ANDRADE, 2004). A Anlise de Pontos de Funo consiste na determinao do tamanho

18 funcional do sistema atravs da viso do usurio, independente da tecnologia utilizada. A unidade de medida utilizada na determinao do tamanho do sistema o Ponto de Funo. Essa tcnica conta com vrios benefcios e vantagens para utilizao: uma ferramenta para determinar o tamanho de um pacote de aplicao adquirido, atravs da contagem de todas as funes includas no pacote; Um fator de normalizao para comparao de software; Um meio para estimar custo e recursos requeridos para o

desenvolvimento e manuteno de software; Uma ferramenta para medir as unidades de um produto de software para suportar a anlise de qualidade e produtividade; Promove benchmarking entre vrias organizaes; Manuteno de dados histricos; Pode medir o tamanho em qualquer fase do ciclo de vida do processo de desenvolvimento de sistemas. Podemos citar tambm algumas desvantagens, como a necessidade de um bom nvel de experincia no assunto para efetuar uma contagem precisa; a incapacidade de automao do processo de contagem, sendo necessrio contagem manual; a necessidade significativa de um nvel de detalhe de informaes do software para uma medio mais confivel como entradas, sadas, consultas, registros, bases, entre outros.

19

2.2.3 Pontos de Casos de Uso

O UCP (Use Case Points) representa uma tcnica proposta em 1993 por Karner para medir o tamanho de projetos de software orientados a objeto (AGUIAR, 2003). O Use Case Points (ou Pontos por Caso de Uso) explora o modelo e a descrio do caso de uso, substitui algumas caractersticas tcnicas propostas pela anlise de pontos de funo (APF), e prope uma estimativa de produtividade. A mtrica pontos por caso de uso foi apresentada para o mercado como uma soluo simples para as estimativas de tamanho, especialmente para os que no conheciam as prticas de contagem de pontos por funo ou as consideravam complexas para serem aplicadas. (IFPUG, 2004 apud HAZAN, 2005). A principal diferena entre anlise de pontos de funo (APF) e pontos de caso de uso (PCU) est relacionada ao momento da coleta de informaes. A APF possui resultados melhores medida que se tem mais informao da anlise e projeto de sistemas (tabelas, campos, associaes, etc.). A tcnica por pontos de caso de uso (PCU) tem como proposta ser utilizada logo no incio do ciclo de desenvolvimento. A forma de lanar uma estimativa o principal diferencial da mtrica por casos de uso. O mtodo trata de estimar o tamanho de um sistema de acordo com o modo como os usurios o utilizaro. A complexidade de aes requeridas por cada tipo de usurio e uma anlise em alto nvel dos passos necessrios para a realizao de cada tarefa, em um nvel muito mais

20 abstrato que a tcnica APF. Esta tcnica ainda est em fase de pesquisas, sendo pouco utilizado se comparado com a Anlise de Pontos de Funo (APF), e a outras tcnicas. De acordo com pesquisas efetuadas, a tcnica de estimativas por pontos de caso de uso apresenta as seguintes caractersticas: utilizada em projetos de software cuja especificao tenha sido expressa por casos de uso; aplicada sobre projetos onde seja necessria a documentao e que a mesma esteja atualizada; Fcil de ser utilizada, no exigindo profissionais certificados ou que tenham muita experincia profissional; O processo de medio empregado depois de concluda a anlise de requisitos, ou seja, no processo inicial do desenvolvimento de sistemas. Possibilita saber o esforo empregado por cada caso de uso;

2.2.3.1 O Processo de Mensurao de Estimativa por Pontos de Caso de Uso A mensurao da estimativa por pontos de caso de uso consiste nos seguintes passos: contar os atores e identificar sua complexidade, contar os casos de uso e identificar sua complexidade, calcular o fator de complexidade tcnica, calcular o fator de complexidade ambiental, calcular os pontos de casos de uso no ajustados, calcular o nmero de pontos de casos de uso ajustados (ANDRADE, 2004). Com o resultado desta medio e sabendo-se a

21 produtividade mdia da organizao para produzir um ponto de caso de uso, pode-se ento estimar o esforo total para o projeto.

Os passos necessrios para a mensurao da estimativa so descritos a seguir. (MEDEIROS, 2004) 1. Relacionar os atores, classific-los de acordo com seu nvel de complexidade (simples, mdio ou complexo) atribuindo respectivamente os pesos 1, 2 ou 3, conforme o quadro 1: Calcular o total de pesos no ajustados dos atores somando os produtos da quantidade de atores pelo seu peso. Complexidade do ator Simples Mdio Complexo Pes o 1 2 3

Descrio Muito poucas entidades de Banco de Dados envolvidas e sem regras de negcio complexas Poucas entidades de Banco de Dados envolvidas e com algumas regras de negcio complexas Regras de negcios complexas e muitas entidades de Bancos de Dados presentes

Quadro nr.1: Classificao de atores (MEDEIROS, 2004)

2. Contar os casos de uso e atribuir o grau de complexidade, sendo a complexidade baseada no nmero de classes e transaes. Calcular o total de pesos no ajustados dos casos de usos somando os produtos da quantidade de casos de usos pelo respectivo peso conforme o quadro 2. Tipo de Caso de Uso Simples Mdio Descrio Considerar at 3 transaes com menos de 5 classes de anlise Considerar de 4 a 7 transaes com 5 a 10 Peso 5 10

22 classes de anlise Considerar de 7 transaes com pelo menos de 10 classes de anlise

Complexo

15

Quadro nr. 2: Classificao dos Casos de Uso (MEDEIROS, 2004)

3. Calcular PCUs no ajustados, tambm chamado de PCUNA, de acordo com a seguinte frmula: PCUNA = SOMATRIO Peso de Atores +

SOMATRIO Pesos de Casos de uso 4. Determinar o fator de complexidade tcnica. Os fatores de complexidade tcnica variam numa escala de 0 a 5, de acordo com o grau de dificuldade do sistema a ser construdo. O valor 0 indica que o grau no est presente ou no influente, 3 influncia mdia e o valor 5 indica influncia significativa atravs de todo o processo. Aps determinar o valor dos fatores, multiplicar pelo respectivo peso ilustrado no quadro 3, somar o total e aplicar a seguinte frmula: Fator de complexidade tcnica = 0.6 + (0.01 * Somatrio do Fator tcnico) Fator Tcnico Sistema distribudo Tempo de resposta (desempenho) Eficincia do usurio final Complexidade do processamento interno Cdigo reutilizvel Fcil instalao Fcil de usar Portvel Fcil de modificar Concorrente Caractersticas especiais de segurana Acesso direto ao software Necessidade de treinamento especial para o usurio
Quadro nr. 3: Fator de complexidade tcnica (MEDEIROS, 2004)

Peso 2 1 1 1 1 0,5 0,5 2 1 1 1 1 1

23 5. Determinar o fator de complexidade ambiental: os fatores de complexidade ambiental indicam a eficincia do projeto e esto relacionados ao nvel de experincia dos profissionais. Esses fatores descritos no quadro 4 so determinados atravs da escala de 0 a 5, onde 0 indica baixa experincia, 3 indica mdia experincia e 5 indica alta experincia. Aps determinar o valor de cada fator, multiplicar pelo peso e somar o total dos valores. Em seguida, aplicar a seguinte frmula: Fator de complexidade ambiental = 1,4 + (-0,03 * Somatrio do Fator Ambiental) Escala 0 (nenhuma) - 5 Usa um processo formal de desenvolvimento (especialista) Usurios tm experincia com algum 0 (nenhuma) - 5 aplicativo anterior (especialista) Experincia da equipe em orientao a 0 (nenhuma) - 5 objetos (especialista) 0 (nenhum) - 5 Capacidade do analista tcnico (especialista) Motivao da equipe 0 (nenhuma) - 5 (alta) 0 (instveis) - 5 Requisitos estveis (inalterados) Trabalhadores em tempo parcial 0 (nenhum) - 5 (todos) Dificuldades na linguagem de programao 0 (fcil) - 5 (muito difcil)
Quadro nr. 4: Fator de complexidade ambiental (MEDEIROS, 2004)

Fator ambiental

Peso 1,5 0,5 1 0,5 1 2 -1 -1

6. Calcular os PCUs ajustados: esse clculo realizado com base na multiplicao dos PCU no ajustados, na complexidade tcnica e na complexidade ambiental atravs da seguinte frmula: PCUAjustado = PCUNoAjustado * Fator de complexidade tcnica * Fator de complexidade ambiental.

24 7. Calcular a estimativa de horas de programao. Karner, o criador da estimativa, sugere a utilizao de 20 pessoas-hora por unidade de PCU, caso a organizao no possua dados histricos.

2.2.3.2 Procedimentos de Mensurao por Pontos de Caso de uso A mensurao por pontos de casos de uso realizada em sete passos, conforme apresentado neste capitulo, item 2.2.3.1. Para analisar o resultado dos clculos, apresentaremos como exemplo as informaes que sero utilizadas para a demonstrao da prova de conceito, descrita no capitulo 5, item 5.2. Portanto, para exemplificar o passo 1 necessrio contar os atores que fazem parte do sistema e atribuir o grau de complexidade respectivo. Neste projeto conta-se apenas um ator, que o Gerente de Projetos. Este ator

classificado, pelo grau de complexidade descrito no quadro nr. 1, como complexo, portanto ser atribudo o peso 3, que multiplicado pela quantidade apresentar valor 3. Todos os valores da multiplicao so somados, e

apresentados como valor total de atores, no caso o total ser 3. Pode-se usar a generalizao dos atores, caso 2 ou mais atores tenha muito em comum. Assim, pode ser considerado um super ator e cont-lo apenas uma vez (ANDA, et al. 2001; RIBU, 2001 apud ANDRADE, 2004). No passo 2 necessrio contar os casos de uso e atribuir o grau de complexidade. Devem ser observadas as regras para identificar as transaes, j que a complexidade do caso de uso definida com base no nmero de transaes. Entende-se por transao um conjunto de atividades atmicas, as

25 quais so executadas completamente ou no (SCHNEIDER; WINTERS, 2001 apud ANDRADE, 2004). Ribu (2001) sugere as seguintes regras para identificar os casos de uso e respectivas transaes: a. Quando a mesma transao ocorrer em diversos casos de uso, como ex: login ou procedimentos de segurana, a transao deve ser contada apenas uma vez porque a funo implementada uma vez e reutilizada em outros casos de uso; b. Contar os casos de uso estendidos e includos separadamente apenas uma vez e no como uma transao de cada caso de uso que o utiliza; c. Identificar as classes de anlise (no as de projeto) que implementam as funes do caso de uso para auxiliar na determinao da complexidade do caso de uso. As classes podem ser identificadas na descrio dos casos de uso, nos diagramas de seqncia ou no diagrama de classes de anlise; d. Comparar as transaes (descritas no caso de uso) com as transaes do diagrama de seqncia e com o nmero de classes de anlise utilizadas para implementar o caso de uso para verificar se a complexidade do caso de uso foi definida corretamente; e. Quando a documentao no apresenta descrio dos casos de uso, deve-se utilizar o diagrama de seqncia para contar as transaes (apenas aquelas que indicam o que fazer e no as que indicam o como fazer) ou as classes que implementam o caso de uso.

26 Aps identificar as transaes, deve-se atribuir o peso de cada caso de uso de acordo com o quadro 2, apresentado no item 2.2.3.1 deste captulo. Neste projeto todos os 6 casos de uso so de complexidade mdia, por possuir de 4 a 7 transaes incluindo passos alternativos, portanto receber o peso 10, que multiplicado pela quantidade, apresentar o valor 60. Todos os valores da multiplicao so somados, e apresentados como valor total de casos de uso, no caso o total ser 60. Com base nas informaes apresentadas nos passos 1 e 2, no passo 3 ser possvel calcular os pontos de caso de uso no ajustados. Aplica-se o

somatrio dos totais de atores e casos de uso, conforme frmula apresentada no item 2.2.3.1 deste capitulo. Somando os totais dos valores anteriores temos o valor 63, que representa o total de PCUs no ajustados, deste projeto. No passo 4 ser calculado o fator de complexidade tcnica. Para isso,

necessrio determinar o grau de influncia sobre cada item. Este grau de influncia deve ser definido em uma escala de 0 a 5, conforme apresentado no item 2.2.3.1 deste captulo. O grau de influncia definido para este projeto, esta representado no quadro 5. Fator Tcnico Sistema distribudo Tempo de resposta (desempenho) Eficincia do usurio final Complexidade do processamento interno Cdigo reutilizvel Fcil instalao Fcil de usar Portvel Fcil de modificar Concorrente Caractersticas especiais de segurana Acesso direto ao software Avaliao 0 5 2 0 1 0 0 0 0 0 2 0

27 Necessidade de treinamento especial para o usurio


Quadro nr. 5: Exemplo de atribuio sobre o grau de influencia do Fator de complexidade tcnica. Fonte: Elaborao prpria

A avaliao atribuda ao grau de influencia de cada fator tcnico multiplicado por seu respectivo peso. Os valores da avaliao so somados e o seu total e aplicado frmula apresentada no item 2.2.3.1, deste capitulo. O fator de complexidade tcnica deste projeto foi calculado e apresentado o valor 0.7 como resultado. No passo 5 ser calculado o fator de complexidade ambiental. Para isso, necessrio determinar o grau de influncia sobre cada item. Este grau de influncia deve ser definido em uma escala de 0 a 5, conforme apresentado no item 2.2.3.1 deste captulo. O grau de influncia definido para este projeto, esta representado no quadro 6. Fator ambiental Avaliao Usa um processo formal de desenvolvimento 1 Usurios tm experincia com algum 0 aplicativo anterior Experincia da equipe em orientao a 0 objetos Capacidade do analista tcnico 1 Motivao da equipe 3 Requisitos estveis 4 Trabalhadores em tempo parcial 0 Dificuldades na linguagem de programao 5
Quadro nr. 6: Exemplo de atribuio sobre o grau de Influencia do Fator de complexidade ambiental Fonte: Elaborao prpria

A avaliao atribuda ao grau de influencia de cada fator ambiental multiplicado por seu respectivo peso. Os valores da avaliao so somados e o seu total e aplicado frmula apresentada no item 2.2.3.1, deste capitulo. O fator de complexidade ambiental deste projeto foi calculado e apresentado o

28 valor 1.235 como resultado. Com base nas informaes apresentadas nos passos 1, 2, 3, 4 e 5, nos passos 6 e 7 ser possvel calcular os pontos de caso de uso ajustados e o esforo homem/hora. Aplicando a frmula apresentada no item 2.2.3.1, deste capitulo, para calcular o total de PCUs ajustados, obtivemos o valor 54.4635. Para calcular o esforo homem/hora, necessrio informar o seu fator de ajuste, no caso, foi informado o valor 20, conforme orientao apresentada no item 2.2.3.1, deste capitulo. Multiplicando o total de PCUs ajustados pelo fator de ajuste homem/hora, obtivemos o valor 1089.27, que representa o valor do esforo homem/hora deste projeto. Com a execuo destes passos possvel calcular a diviso do esforo por cada fase do projeto. Neste caso, basta informar a porcentagem do esforo de cada fase e multiplic-la pelo esforo homem/hora, encontrado anteriormente atravs do calculo referente aos passos anteriores. No quando 7 apresentamos a atribuio do percentual e o calculo da diviso do esforo por fase do projeto. Diviso do Esforo Porcentagem Esforo Fase 1 - Planejamento do projeto e especificao dos 25 272.318 requisitos e dos testes do software Fase 2 - Anlise e projeto, implementao, integrao 40 435.708 e testes de software. Fase 3 - Documentao, homologao e 35 381.245 encerramento do projeto.
Quadro nr. 7: Exemplo de atribuio de percentual de esforo por fase do projeto Fonte: Elaborao prpria

29 2.3 Ferramentas disponveis

Foram encontradas ferramentas que entre outras funes realizam o clculo da estimativa de tamanho por pontos de caso de uso. A ferramenta denominada Controla, desenvolvida por Clayton Vieira Fraga Filho (FILHO, 2007) representa um software gratuito disponibilizado na internet, que visa apoiar diversas atividades do processo de desenvolvimento de software. Entre estas atividades, ela apia a estimativa de tamanho de projetos de software atravs de pontos de caso de uso. Entretanto, a ferramenta desktop e faz uso de uma base local para cada um dos gerentes, sendo assim difcil fazer uso da base histrica de projetos. A ferramenta denominada Enterprise Architect (SPARKS SYSTEMS), uma ferramenta de anlise, design e desenvolvimento de aplicaes em UML (Unified Modeling Language), que representa um software proprietrio. Pode

ser utilizada por vrios usurios, baseada em Windows, totalmente grfica e de fcil manuteno. Entretanto, a integrao da tcnica de estimativa por pontos de caso de uso com as demais atividades de desenvolvimento torna a de difcil utilizao para este propsito especfico. Aps a apresentao das ferramentas disponveis neste captulo, o objetivo no prximo especificar os requisitos para a ferramenta de apoio estimativa de tamanho por pontos por caso de uso.

30

3 REQUISITOS PARA UMA FERRAMENTA DE APOIO A ESTIMATIVA DE TAMANHO POR PONTOS DE CASO DE USO

3.1

Introduo

As sees a seguir apresentam os requisitos para a ferramenta de apoio a estimativa de tamanho por pontos de caso de uso.

3.2

Viso geral da ferramenta

Nesta seo ser introduzido o conceito bsico da ferramenta denominada UCP Calculator, que tem por objetivo apoiar a estimativa de tamanho por pontos de caso de uso.

3.2.1 Escopo

A ferramenta UCP Calculator visa auxiliar o gerente de projetos quanto ao clculo de ndices importantes que interferem no planejamento e

gerenciamento de projetos de softwares. De forma amigvel ao usurio, o sistema permite calcular Fatores de Complexidade Ambiental e Tcnica, calcular os pontos de caso de uso

31 ajustados e calcular o esforo homens/hora. Tais clculos so efetuados de forma dinmica e eficiente, aps o estabelecimento de taxas como peso, avaliao dos fatores ambientais e avaliao dos fatores tcnicos.

3.2.2 Definies

Os usurios do sistema sero os gerentes de projeto. A tcnica de estimativa por pontos de caso de uso uma tcnica que mais utilizada em estimativas de tamanho de projeto.

3.2.3 Descrio do Atores

Os atores do sistema sero os gerentes de projeto.

3.2.4 Perspectiva do Produto

Criao de uma ferramenta de apoio aplicao da estimativa por pontos de caso de uso, para ser disponibilizada aos gerentes de projeto e futuramente outros usurios. Desta forma, a tarefa de estimativa de tamanho de projeto pode ser simplificada, permitindo que os clculos sejam realizados por usurios no familiarizados com pontos por caso de uso.

32 3.2.5 Interfaces do Sistema

A ferramenta no ter interface com nenhum outro sistema, apenas com o usurio. A Interface com o usurio dever disponibilizar uma tela com os dados a serem preenchidos para o clculo.

3.3

Requisitos Especficos

Nesta seo ser feita uma lista completa com os requisitos que o sistema dever atender especificados em requisitos no funcionais e requisitos funcionais.

3.3.1 Requisitos no-funcionais


RNF1: O UCP CALCULATOR deve manter todas as senhas armazenadas.

RNF2:

O UCP CALCULATOR deve estar disponvel 24 horas. Quadro nr. 8 Requisitos no-funcionais Fonte: Elaborao prpria.

3.3.2 Requisitos funcionais

RF1:

O Sistema deve calcular o valor de cada tipo de ator no ajustado baseado na multiplicao entre o peso e a quantidade de cada ator no ajustado.

UC1

33
RF2: O Sistema deve calcular o valor de cada tipo de caso de uso no ajustado baseado na multiplicao entre o peso e a quantidade de cada caso de uso no ajustado. O Sistema deve calcular o Total de atores no ajustados O Sistema deve calcular o Total de casos de uso no ajustados O Sistema deve calcular o Total de pcus no ajustados, baseado na soma entre o total dos atores e o total dos casos de uso no ajustados. O Sistema deve calcular o total de pcus ajustados ( fator de ajuste X total de pcus ajustados) O Sistema deve calcular o valor homens/hora O Sistema deve calcular a porcentagem de esforo homens/hora para a diviso do esforo no projeto na Fase 1 O Sistema deve calcular a porcentagem de esforo homens/hora para a diviso do esforo no projeto na Fase 2 O Sistema deve calcular a porcentagem de esforo homens/hora para a diviso do esforo no projeto na Fase 3 O Sistema deve calcular a porcentagem de esforo homens/hora total para o processo de desenvolvimento O Sistema deve calcular o ponto de caso de uso ajustado dos casos de uso O Sistema deve calcular o produto entre o Peso e a Avaliao do Fator de complexidade ambiental O Sistema deve calcular o somatrio total dos Fatores de complexidade ambiental O Sistema deve calcular o Fator de Complexidade Ambiental O Sistema deve calcular o produto entre o Peso e a Avaliao do Fator Complexidade Tcnica O sistema deve calcular o somatrio total dos fatores de complexidade tcnica O Sistema deve calcular o Fator de Complexidade Tcnica O Sistema deve permitir o armazenamento de todos os valores e clculos Quadro nr. 9 Requisitos funcionais Fonte: Elaborao prpria. UC1

RF3: RF4: RF5:

UC1 UC1 UC1

RF6: RF7: RF8: RF9: RF10: RF11: RF12: RF13: RF14: RF15: RF16: RF17: RF18: RF19:

UC7 UC7 UC5 UC5 UC5 UC5 UC7 UC2 UC2 UC2 UC2 UC2 UC2 UC1, UC2, UC3

34 3.3.3 Prottipos Os esboos ilustrados nas figuras abaixo fazem parte deste como uma representao artstica, com muitos detalhes omissos, caracterizando um nvel de prototipagem baixa. A concepo de desenho possibilita facilitar melhor compreenso e estruturao das telas, com o mnimo de trabalho, evitando assim a perda de tempo com detalhes grficos. Estes esboos serviram como apoio para a criao dos modelos de interface do sistema.

Figura 3.1 Esboo de tela inicial

Figura 3.2 - Esboo da tela de mensurao da complexidade dos atores e casos de uso no ajustados

35

Figura 3.3 - Esboo da tela calculando os fatores de complexidade tcnica dos casos de uso no ajustados

Figura 3.4 - Esboo da tela calculando os fatores de complexidade ambiental dos casos de uso no ajustados

36 3.3.4 Casos de uso e diagrama

Quadro nr. 10 - Diagrama de Caso de Uso Fonte: Elaborao prpria

UC01 Mensurar Complexidade dos Atores e dos Casos de Uso Objetivo: Requisitos: Ator(es): Pr-condies: Trigger: Fluxo Principal: Permitir ao Gerente de Projeto a incluso, excluso ou alterao da quantidade de atores e da quantidade de casos de uso. RF1; RF2; RF3; RF4; RF5; RF20 Gerente de Projeto O Gerente de projeto ter sido autenticado no sistema Usurio ter escolhido o nome do projeto existente ou inserido o nome de um novo projeto. 1. O Gerente de projeto insere a quantidade de atores do projeto e clica no boto calcular. [A1] 2. O Sistema calcula o valor referente complexidade dos atores no ajustados. 3. O Gerente de projeto insere a quantidade de casos de uso do projeto e clica no boto calcular. [A1] 4. O Sistema calcula o valor referente complexidade dos casos de

37
uso no ajustados e o total dos pontos de caso de uso no ajustados. 5. O Gerente de projeto clica no boto salvar. 6. O sistema salva as informaes no banco de dados. Fluxo Alternativo: [A1] Campo quantidade de atores do projeto no foi preenchido. [A1.1] O sistema exibe na tela uma mensagem informando que o campo quantidade de atores do projeto deve ser preenchido. [A1.2] O sistema retorna ao passo 1. Ps-condies: A mensurao da complexidade dos atores e dos casos de uso calculada, apresentada na tela e os dados armazenados no banco de dados.

Quadro nr. 11 Mensurar Complexidade dos Atores e dos Casos de Uso Fonte: Elaborao prpria

UC02 Calcular Fatores de Complexidade Tcnica Objetivo: Requisitos: Ator(es): Pr-condies: Trigger: Fluxo Principal: Permitir ao Gerente de Projeto definir o valor de avaliao para cada fator tcnico RF17, RF18, RF19, RF20 Gerente de Projeto Caso de uso UC01 ter sido realizado. O Gerente de projeto ter escolhido a opo calcular fatores de complexidade tcnica. 1. O Gerente de projeto insere o valor de avaliao de cada fator tcnico [A1] 2. O Sistema calcula o peso da avaliao, o total do peso da avaliao de cada fator tcnico e o fator de complexidade tcnica dos casos de uso no ajustados. 3. O gerente de projeto clica no boto salvar 4. O Sistema salva as informaes no banco de dados. Fluxo Alternativo: [A1] Campo valor de avaliao no foi preenchido. [A1.1] O sistema exibe na tela uma mensagem informando que o campo valor de avaliao deve ser preenchido [A1.2] O sistema retorna ao passo 1. Ps-condies: Os fatores de complexidade tcnica so calculados, apresentados na tela e os dados armazenados no banco de dados.

Quadro nr. 12 - Calcular Fatores de Complexidade Tcnica Fonte: Elaborao prpria

38

UC03 Calcular Fatores de Complexidade Ambiental Objetivo: Requisitos: Ator(es): Pr-condies: Trigger: Fluxo Principal: Permitir ao Gerente de Projeto definir o valor de avaliao para cada fator ambiental RF14; RF15; RF16; RF20 Gerente de Projeto O caso de uso UC02 ter sido realizado. O Gerente de Projeto deve ter escolhido a opo Calcular Fatores de Complexidade ambiental 1. O Gerente de Projeto insere o valor de avaliao de cada fator ambiental [A1] 2. O Sistema calcula o peso da avaliao, o total do peso da avaliao de cada fator ambiental e o fator de complexidade ambiental dos casos de uso no ajustados. 3. O gerente de projeto clica no boto salvar 4. O sistema salva as informaes no banco de dados Fluxo Alternativo: [A1] Campo valor de avaliao no foi preenchido. [A1.1] O sistema exibe na tela uma mensagem informando que o campo valor de avaliao deve ser preenchido [A1.2] O sistema retorna ao passo 1. Ps-condies: Os fatores de complexidade ambiental so calculados, apresentados na tela e os dados armazenados no banco de dados.

Quadro nr. 13 - Calcular Fatores de Complexidade Ambiental Fonte: Elaborao prpria

UC04 Calcular Pontos de Caso de Uso Ajustado e dividir por esforo do esforo Objetivo: Requisitos: Ator(es): Pr-condies: Trigger: Fluxo Principal: Calcular ponto por caso de uso ajustados e dividir o esforo por fase do projeto RF11; RF12; RF13; RF14 Gerente de Projeto Os casos de uso UC1, UC2, UC3 terem sido realizados O gerente de projeto deve ter escolhido a opo mensurao por pontos de casos de uso ajustados. 1- O Gerente de Projeto informa o fator de ajuste por homem/hora e clica no boto calcular [A1] 2- O sistema calcula total de PCUs ajustados e o valor do esforo homens hora. 3- O gerente de projeto informa o percentual de diviso de esforo por fase do projeto, que deve ser atualizado de acordo com a

39
base histrica da organizao, e clica no boto calcular. [A2] 4- O sistema calcula o esforo por fase do projeto. 5- O gerente de projeto clica no boto salvar. 6- O sistema armazena as informaes no banco de dados. Fluxo Alternativo: [A1] Campo fator de ajuste homem hora, complexidade dos atores e casos de uso no foi preenchido. [A1.1] O sistema exibe na tela uma mensagem informando que o campo deve ser preenchido. [A1.2] O sistema retorna ao passo 1. [A2] Campo porcentagem no foi preenchido. [A2.1] O sistema exibe na tela uma mensagem informando que o campo porcentagem deve ser preenchido [A2.2] O sistema retorna ao passo 3. Ps-condies: Os Pontos de Caso de Uso Ajustado so calculados e apresentados na tela

Quadro nr. 14 - Calcular Pontos de Caso de Uso Ajustado e dividir por esforo do esforo Fonte: Elaborao prpria

UC05 - Cadastrar Login Objetivo: Requisitos: Ator(es): Pr-condies: Trigger: Fluxo Principal: Permitir o cadastro do ator para acesso ao sistema RNF1 Gerente de Projeto Gerente do projeto deve ter escolhido a opo cadastrar login O Sistema mostra a tela para cadastro do ator. 1. O ator insere os dados de nome, sobrenome, usurio, senha e clica no boto enviar dados. [A1] 2. Sistema insere os dados no banco de dados Fluxo Alternativo: [A1] Campo sobrenome, usurio, senha no foi preenchido. [A1.1] O sistema exibe na tela uma mensagem informando que o campo sobrenome, usurio, senha deve ser preenchido [A1.2] O sistema retorna ao passo 1. Ps-condies: O ator cadastrado no sistema Quadro nr. 15 Cadastrar login Fonte: Elaborao prpria

40

UC6 Acessar o sistema Objetivo: Requisitos: Ator(es): Pr-condies: Trigger: Fluxo Principal: Permitir o ator acessar ao sistema RNF1 Gerente de Projeto Gerente ter se cadastrado no sistema e escolhido a opo login. O Sistema mostra a tela de acesso ao sistema. 1. O gerente do projeto informa o usurio e senha cadastrada e clica no boto acessar. [A1] 2. O sistema faz a autenticao do usurio e exibe tela solicitando que escolha um projeto existente ou crie um novo projeto 3. O gerente de sistema escolhe nome do projeto existente ou digita o nome de um novo projeto e clica no boto entrar no sistema. 4. O sistema apresenta a tela mensurao da complexidade dos atores e casos de uso no ajustados. 5. boto enviar dados. [A1]

6. Sistema insere os dados no banco de dados Fluxo Alternativo: [A1] Dados do login no foram preenchido. [A1.1] O sistema exibe na tela uma mensagem informando que os dados devem ser preenchidos [A1.2] O sistema retorna ao passo 1. Ps-condies: Gerente de projeto tem acesso ao sistema. Quadro nr. 16 Acessar o sistema Fonte: Elaborao prpria

41

IMPLEMENTAO DA FERRAMENTA

4.1

Justificativa das escolhas tecnolgicas

Por ser uma ferramenta para uso acadmico foram escolhidas as tecnologias para desenvolvimento PHP, HTML, e o SGBD MySQL, devido a sua gratuidade, independncia de plataforma, rapidez e segurana, alm da facilidade de aprendizado1.

4.2

Recursos utilizados para o desenvolvimento da ferramenta

A seguir se encontram listados os recursos utilizados para o desenvolvimento da ferramenta.


Hardware: Notebook Acer Processador Semprom 3400 com 256 MB memria RAM, 80 GB de HD. Software: Sistema operacional: Microsoft Windows XP. Peopleware: 02 analistas/desenvolvedoras com conhecimentos em PHP, HPTML, MySQL e modelagem de sistemas adquiridos durante o curso de graduao. Ferramentas de apoio: Jude Community (utilizado para elaborao de diagramas de anlise de sistemas) versao 3.1.1, Xampp distribuio apache contendo PHP, MySQL e Perl versao 2.1 Sistema Gerenciador de Banco de Dados: MySQL Linguagem para desenvolvimento de sistemas: PHP, HTML, Java Script.
1

Para elaborao da ferramenta a fonte utilizada foi: THOMPSON, Laura; WELLING, Luke. PHP e MySql: Desenvolvimento web.

42 4.3 Processo de desenvolvimento

O processo adotado para a construo do software seguiu o ciclo de vida em cascata e foram definidas as seguintes fases: Engenharia de Requisitos, Projeto e Implementao e Testes.

4.3.1 Engenharia de Requisitos

A Engenharia de Requisitos estuda mtodos, tcnicas e ferramentas que possibilite ao engenheiro de software um amplo entendimento do produto a ser produzido, conforme as necessidades e desejos dos futuros consumidores daqueles produtos. Embora o cliente, provavelmente, acredite conhecer o que software deve fazer, esta tarefa requer habilidade e experincia para reconhecer defeitos como omisses, ambigidades e informaes

inconsistentes nos requisitos. Os requisitos foram elaborados pelos participantes deste projeto, analisando as necessidades de se estimar o tamanho de projetos de software utilizando a tcnica de estimativa de pontos por caso de uso. Os artefatos gerados nesta fase foram: listagem de requisitos funcionais e no funcionais, o diagrama de caso de uso e descrio dos casos de uso.

43 4.3.2 Projeto e Implementao

Na atividade de projeto e implementao o foco construir um software que atenda aos requisitos especificados na fase de engenharia de requisitos. No caso da ferramenta a ser construda, foram considerados todos os requisitos especificados no capitulo anterior. O paradigma estruturado foi adotado para o desenvolvimento da ferramenta. Para o projeto foi elaborado um diagrama de classes mostrando como os conceitos referentes ferramenta se relacionam. Deste diagrama foi derivada a estrutura do banco de dados. O diagrama referente est ilustrado na Figura 4.1.

Figura 4.1 - Diagrama de classes mostrando como os conceitos referentes a ferramenta se relacionam Fonte: Elaborao prpria

44 A implementao da ferramenta foi realizada pelos integrantes do projeto, utilizando as tecnologias definidas anteriormente, que tiveram que aprimorar seus conhecimentos nas mesmas para viabilizar a implementao.

4.3.2.1

Especificao do Banco de Dados

Nome da tabela: Projeto Descrio da tabela: armazena os dados do projeto Atributos Nome Tipo Descrio idprojeto Integer (2) Id da tabela nomeProjeto char (50) armazena o nome do projeto idgerentes Integer (2) chave estrangeira da tabela gerente
Tabela 4.1 Atributos da tabela do banco de dados nomeada projeto Fonte: Elaborao prpria

Nome da tabela: Gerentes Descrio da tabela: armazena os dados do ator Atributos Nome Tipo Descrio idgerentes Integer (2) Id da tabela firstname lastname senha senhare idprojeto login Integer (100) Integer (100) Varchar(20) Varchar(20) Integer (2) Varchar(20) armazena o primeiro nome do usurio armazena o ltimo nome do usurio armazena a senha do usurio armazena a confirmao de senha do usurio chave estrangeira da tabela projeto armazena o login do usurio

Tabela 4.2 Atributos da tabela do banco de dados nomeada gerentes Fonte: Elaborao prpria

Nome da tabela: Pontoscuajustpordivesforco Descrio da tabela: armazena os dados da tela do sistema, ref ao UC4 Atributos Nome Tipo Descrio

45

idprojeto idpcuajustadopdivesforco fatorAjusteHH totalPCUsAjust esforcoHH porcentagemDivEsforcoF1 porcentagemDivEsforcoF2 porcentagemDivEsforcoF3 esforcoF1 esforcoF2 esforcoF3

Integer (2) Integer (2) float float float float float float float float float

chave estrangeira da tabela projeto Id da tabela armazena o valor do fator de ajuste homem/hora armazena o valor total de PCU's ajustados armazena o valor do esforo homem/hora armazena o valor da porcentagem da diviso do esforo do projeto Fase 1 armazena o valor da porcentagem da diviso do esforo do projeto Fase 2 armazena o valor da porcentagem da diviso do esforo do projeto Fase 3 armazena o valor do esforo calculado para a fase 1 armazena o valor do esforo calculado para a fase 2 armazena o valor do esforo calculado para a fase 3

Tabela 4.3 Atributos da tabela do banco de dados nomeada Pontoscuajustpordivesforco Fonte: Elaborao prpria

Nome da tabela: FatorComplexidadeTcnica Descrio da tabela: armazena os dados da tela do sistema, ref ao UC2 Atributos Nome Tipo Descrio IdcomplexTecnica Integer (2) Id da tabela pesoFT1 pesoFT2 pesoFT3 pesoFT4 pesoFT5 pesoFT6 pesoFT7 Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) armazena o peso do fator de complexidade tcnica 1 armazena o peso do fator decomplexidade tcnica 2 armazena o peso do fator de complexidade tcnica 3 armazena o peso do fator de complexidade tcnica 4 armazena o peso do fator de complexidade tcnica 5 armazena o peso do fator de complexidade tcnica 6 armazena o peso do fator de complexidade tcnica 7

46
armazena o peso do fator de complexidade tcnica 8 armazena o peso do fator de complexidade tcnica 9 armazena o peso do fator de complexidade tcnica 10 armazena o peso do fator de complexidade tcnica 11 armazena o peso do fator de complexidade tcnica 12 armazena o peso do fator de complexidade tcnica 13 armazena a avaliao do fator de complexidade tcnica 1 armazena a avaliao do fator de complexidade tcnica 2 armazena a avaliao do fator de complexidade tcnica 3 armazena a avaliao do fator de complexidade tcnica 4 armazena a avaliao do fator de complexidade tcnica 5 armazena a avaliao do fator de complexidade tcnical 6 armazena a avaliao do fator de complexidade tcnica 7 armazena a avaliao do fator de complexidade tcnica 8 armazena a avaliao do fator de complexidade tcnica 9 armazena a avaliao do fator de complexidade tcnica 10 armazena a avaliao do fator de complexidade tcnica 11 armazena a avaliao do fator de complexidade tcnica 12 armazena a avaliao do fator de complexidade tcnica 13 armazena o peso da avaliao do fator de complexidade tcnica 1 armazena o peso da avaliao do fator de complexidade tcnica 2 armazena o peso da avaliao do fator de complexidade tcnica 3

pesoFT8 pesoFT9 pesoFT10 pesoFT11 pesoFT12 pesoFT13 avalFT1 avalFT2 avalFT3 avalFT4 avalFT5 avalFT6 avalFT7 avalFT8 avalFT9 avalFT10 avalFT11 avalFT12 avalFT13 pavalFT1 pavalFT2 pavalFT3

Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3)

47
armazena o peso da avaliao do fator de complexidade tcnica 4 armazena o peso da avaliao do fator de complexidade tcnica 5 armazena o peso da avaliao do fator de complexidade tcnica 6 armazena o peso da avaliao do fator de complexidade tcnica 7 armazena o peso da avaliao do fator de complexidade tcnica 8 armazena o peso da avaliao do fator de complexidade tcnica 9 armazena o peso da avaliao do fator de complexidade tcnica 10 armazena o peso da avaliao do fator de complexidade tcnica 11 armazena o peso da avaliao do fator de complexidade tcnica 12 armazena o peso da avaliao do fator de complexidade tcnica 13 total avaliaao do fator de complexidade tcnica total do fator de complexidade tcnica chave estrangeira da tabela gerente chave estrangeira da tabela projeto

pavalFT4 pavalFT5 pavalFT6 pavalFT7 pavalFT8 pavalFT9 pavalFT10 pavalFT11 pavalFT12 pavalFT13 TotalAvaltec fatorCompleTec idgerente idprojeto

Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) float Integer (2) Integer (2)

Tabela 4.4 Atributos da tabela do banco de dados nomeada FatorComplexidadeTcnica Fonte: Elaborao prpria

Nome da tabela: FatorComplexidadeAmbiental Descrio da tabela: armazena os dados da tela do sistema, ref ao UC3 Atributos Nome Tipo Descrio IdcomplexAmbiental Integer (2) Id da tabela armazena o peso do fator de pesoAmb1 float complexidade ambiental 1 pesoAmb2 pesoAmb3 float float armazena o peso do fator decomplexidade ambiental 2 armazena o peso do fator de complexidade ambiental 3

48
armazena o peso do fator de complexidade ambiental 4 armazena o peso do fator de complexidade ambiental 5 armazena o peso do fator de complexidade ambiental 6 armazena o peso do fator de complexidade ambiental 7 armazena o peso do fator de complexidade ambiental 8 armazena a avaliao do fator de complexidade ambiental 1 armazena a avaliao do fator de complexidade ambiental 2 armazena a avaliao do fator de complexidade ambiental 3 armazena a avaliao do fator de complexidade ambiental 4 armazena a avaliao do fator de complexidade ambiental 5 armazena a avaliao do fator de complexidade ambiental 6 armazena a avaliao do fator de complexidade ambiental 7 armazena a avaliao do fator de complexidade ambiental 8 armazena o peso da avaliaao do fator de complexidade ambiental 1 armazena o peso da avaliaao do fator de complexidade ambiental 2 armazena o peso da avaliaao do fator de complexidade ambiental 3 armazena o peso da avaliaao do fator de complexidade ambiental 4 armazena o peso da avaliaao do fator de complexidade ambiental 5 armazena o peso da avaliaao do fator de complexidade ambiental 6 armazena o peso da avaliaao do fator de complexidade ambiental 7 armazena o peso da avaliaao do fator de complexidade ambiental 8 armazena o total da avaliaao do fator de complexidade ambiental armazena o total do fator de complexidade ambiental

pesoAmb4 pesoAmb5 pesoAmb6 pesoAmb7 pesoAmb8 avalAmb1 avalAmb2 avalAmb3 avalAmb4 avalAmb5 avalAmb6 avalAmb7 avalAmb8 pavalAmb1 pavalAmb2 pavalAmb3 pavalAmb4 pavalAmb5 pavalAmb6 pavalAmb7 pavalAmb8 TotalAvalAmb fatorComplexAmb

float float float float float float float float float float float float float float float float float float float float float float float

49
idgerente idprojeto Integer (2) Integer (2) Chave estrangeira da tabela gerente Chave estrangeira da tabela projeto

Tabela 4.5 Atributos da tabela do banco de dados nomeada FatorComplexidadeAmbiental Fonte: Elaborao prpria

Nome da tabela: MensuraComplexAtores CUS Descrio da tabela: armazena os dados da tela do sistema, ref ao UC1 Atributos Nome Tipo Descrio IdcomplexAtoresCUS pesoAna1 pesoAna2 pesoAna3 qtdeAna1 qtdeAna2 qtdeAna3 vlrAna1 vlrAna2 vlrAna3 totalAna pesoCUna1 pesoCUna2 pesoCUna3 vlrCUna1 vlrCUna2 vlrCUna3 Integer (2) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Decimal (3) Id da tabela armazena o peso dos atores no ajustados1 armazena o peso dos atores no ajustados2 armazena o peso dos atores no ajustados3 armazena a quantidade dos atores no ajustados1 armazena a quantidade dos atores no ajustados2 armazena a quantidade dos atores no ajustados3 armazena o valor dos atores no ajustados1 armazena o valor dos atores no ajustados2 armazena o valor dos atores no ajustados3 armazena o total dos atores no ajustados armazena o peso dos casos de uso no ajustados1 armazena o peso dos casos de uso no ajustados2 armazena o peso dos casos de uso no ajustados3 armazena o valor dos casos de uso no ajustados1 armazena o valor dos casos de uso no ajustados2 armazena o valor dos casos de uso no ajustados3

50
armazena o total dos casos de uso no ajustados armazena o total de pontos dos casos de uso no ajustados chave estrangeira da tabela gerente chave estrangeira da tabela projeto armazena a quantidade dos casos de uso no ajustados1 armazena a quantidade dos casos de uso no ajustados2 armazena a quantidade dos casos de uso no ajustados3

totalCUna totalPCUsna id gerente id projeto qtdeCUna1 qtdeCUna2 qtdeCUna3

Decimal (3) Decimal (3) Integer (2) Integer (2) Decimal (3) Decimal (3) Decimal (3)

Tabela 4.6 - Atributos da tabela do banco de dados nomeada

MensuraComplexAtores CUS
Fonte: Elaborao prpria

4.3.3 Testes

Embora os benefcios de testar formalmente sejam conhecidos, os testes funcionais do UCP Calculator foram conduzidos informalmente e pelos prprios implementadores. importante ressaltar que a conduo dos testes no deveria ser realizada pelos prprios integrantes, mas que o projeto contou com recursos limitados. (PRESSMAN, 2006).

51

5
5.1

A FERRAMENTA UCP CALCULATOR


Telas e Funcionalidades

A tela denominada pagina inicial a primeira tela de acesso ao sistema, que deve possibilitar o cadastramento ou acesso do usurio ao sistema, ilustrada na figura 5.1.

Figura 5.1 - Pgina Inicial Fonte: Elaborao prpria

A tela denominada cadastro de login, deve possibilitar o cadastramento de usurio e senha, ilustrada na figura 5.2.

Figura 5.2 - Cadastro de Login Fonte: Elaborao prpria

A tela denominada login do usurio, deve possibilitar autenticao do usurio

52 no sistema, conforme lustrado na figura 5.3

Figura 5.3 - Login do Usurio Fonte: Elaborao prpria

A tela ilustrada na figura 5.4, denominada acesso ao sistema deve possibilitar a incluso de um novo projeto a partir do seu nome, ou caso o projeto j exista, a visualizao dos nomes dos projetos armazenados no banco de dados. Deve permitir tambm o acesso a tela ilustrada na figura 5.5.

Figura 5.4 - Acesso ao sistema Fonte: Elaborao prpria

A tela denominada Mensurao da Complexidade dos Atores e Casos de Uso No Ajustados deve possibilitar o calculo da mensurao da complexidade dos atores e dos casos de uso no ajustados, conforme ilustrado na figura 5.5.

53

Figura 5.5 - Mensurao da Complexidade dos Atores e Casos de Uso no Ajustados Fonte: Elaborao prpria

A tela denominada Calculando os Fatores de Complexidade Tcnica deve possibilitar o calculo do fator de complexidade tcnica, conforme ilustrado na figura 5.6.

Figura 5.6 - Clculo dos fatores de complexidade tcnica Fonte: Elaborao prpria

A tela denominada Calculando os Fatores de Complexidade Ambiental deve possibilitar o calculo do fator de complexidade ambiental, conforme ilustrado na figura 5.7.

54

Figura 5.7 - Clculo dos fatores de complexidade ambiental Fonte: Elaborao prpria

A tela denominada Mensurao por pontos de caso de uso ajustados deve possibilitar o calculo do esforo por homem hora e o clculo do esforo por diviso do esforo por fase do projeto, conforme ilustrado na figura 5.8.

Figura 5.8 - Mensurao por pontos de caso de uso ajustados Fonte: Elaborao prpria

Tendo em vista as demais ferramentas comparveis a UCP Calculator oferece uma interface de fcil utilizao, e por ser uma ferramenta desenvolvida para web, sua base de dados no local, permitindo assim facilidade na utilizao da base histrica dos projetos.

55 5.2 Prova de Conceito

O objetivo deste item realizar a prova de conceito, demonstrando a aplicao da tcnica abordada no tema desta monografia, com a utilizao da ferramenta UCP Calculator. Para a realizao da prova de conceito, ser utilizado estimativa de esforo, baseado nos dados referentes ao nosso projeto, conforme exemplo apresentado no capitulo 2, item 2.2.3.2. Em primeiro lugar, foi Inserido o nome de um novo projeto denominado UCP Calculator, conforme figura 5.9.

Figura 5.9 - Inserindo o nome de um projeto Fonte: Elaborao prpria

Em seguida, foi definida a complexidade dos atores e dos casos de uso no ajustados. Neste caso o projeto tem apenas um ator de complexidade

complexa, e todos os casos de uso esto classificados em complexidade mdia, como demonstrado na figura 5.10.

56

Figura 5.10 - Calculando a complexidade dos atores e casos de uso no ajustados Fonte: Elaborao prpria

De acordo com os passos 1, 2 e 3 do capitulo 2, item 2.2.3.1, o sistema calcula o total de pontos de casos de uso no ajustados. Na figura 5.11 apresentada tela para a incluso da avaliao referente aos pesos dos fatores tcnicos.

Figura 5.11 - Calculando o fator de complexidade tcnica Fonte: Elaborao prpria

De acordo com o passo 4 do capitulo 2, item 2.2.3.1, o sistema calcula fator de

57 complexidade tcnica. Na figura 5.12 apresentada a tela para a incluso da avaliao referente aos pesos dos fatores ambientais.

Figura 5.12 - Calculando o fator de complexidade ambiental Fonte: Elaborao prpria

De acordo com o passo 5 do capitulo 2, item 2.2.3.1, o sistema calcula fator de complexidade tcnica. Na tela apresentada na figura 5.12, o sistema informa o calculo de PCUs ajustados, e permite a incluso do fator de ajuste homem/hora.

Figura 5.13 - Calculando PCUs ajustados e diviso de esforo no projeto Fonte: Elaborao prpria

58 De acordo com os passos 6 e 7 do capitulo 2, item 2.2.3.1, aps calcular o esforo homem/hora, o sistema permite a incluso do percentual de esforo, por fase do projeto, e calcula o esforo por fase.

59

CONCLUSO

6.1

Contribuies

Nesse trabalho define-se, desenvolve-se e disponibiliza-se uma verso da ferramenta denominada U.C.P Calculator, uma ferramenta que dar apoio uma tcnica especfica para estimar o tamanho de projetos de software: a tcnica de estimativa de pontos por caso de uso.

6.2

Limitaes

A implementao da ferramenta U.C.P. Calculator no contempla o clculo de complexidade, discriminado por caso de uso. De forma a no oferecer suporte ao clculo de valor Homem/Hora para o caso de uso individualmente. A implementao do controle de acesso limitada relao entre usurios e projetos, no sendo possvel restringir o acesso de usurios a projetos especficos. A ferramenta no permite a anlise e agrupamento dos dados que so registrados individualmente para cada projeto. Assim, a organizao precisa acessar cada um dos projetos para poder obter dados consolidados como, por exemplo, o tamanho mdio de seus projetos.

60 Algumas crticas adicionais de preenchimento dos dados poderiam ser fornecidas pela ferramenta. Por exemplo, a ferramenta no informa ao usurio se o valor da avaliao informado est fora do valor estabelecido na escala de fator ambiental e tcnica. Ajuda adicional com explicaes e exemplos de como preencher os valores poderiam ser fornecidos.

6.3

Possibilidades de trabalho futuros

Os itens que fazem parte das possibilidades de trabalhos futuros so: 1 A implementao de suporte ao Clculo de PCUs Ajustados por Complexidade para cada caso de uso com o foco no clculo de valor Homem/Hora; 2 Controle de versionamento de Clculo de Estimativas de Caso de Uso por projeto, de acordo com as alteraes de cada usurio, com o intuito de proporcionar e escolha de uma melhor estimativa de PCUs de acordo com os parmetros envolvidos no clculo; 3 Implementao da ferramenta com foco na distribuio dos dados relacionados aos clculos efetuados por cada projeto, para que o conhecimento adquirido por cada projeto sirva como entrada para os projetos futuros. 4 Realizar crtica quando usurio informa o valor da avaliao e a mesma se encontra fora do valor estabelecido na escala de fator ambiental e

61 tcnica. 5 Implementar a possibilidade de ajuda adicional com explicaes e exemplos de como preencher os valores poderiam ser fornecidos.

62

REFERNCIAS BIBLIOGRFICAS
ABNT, ASSOCIAO BRASILEIRA DE NORMAS TCNICAS NBR ISSO/TEC. Gesto de Qualidade diretrizes para qualidade de gerenciamento de projetos. Rio de Janeiro ABNT.2000. AGUIAR, Maurcio. Pontos de Funo ou Pontos de Caso de Uso: Como estimar projetos orientados a objetos. Disponvel em: http://www.bfpug.com.br/Artigos/UCP-AguiarPontos_de_Funcao_ou_Pontos_por_Caso_de_Uso.pdf Acesso em: 20 mar.2008. ANDA, B. Comparing effort estimates based on Use Case Points with expert oordinat. Empirical Assessment in Software Engineering (EASE 2002). Keele, UK, April, 8 10, 2002. 13 p. ANDRADE, Edmia. - Pontos de caso de uso e pontos de funo na gesto de estimativa de tamanho de projetos de software orientado a objetos UCB Universidade Catlica de Braslia, 2004. BFPUG, Brasilian Function Point Users Group Enciclopdia Livre Disponvel em: www.bfpug.org - Acesso em: 01 mar. 2008. CALDIERA, GIANLUIGI; LOKAN, CHRISTOPHER; ANTONIOL, GIULIANO; FUITEM, ROBERTO A function point-like Measure for object oriented software. Empirical Software engineering 4.(1999). DAMODARAN, M; WASHINGTON, A. Estimation using use case points. Computer Science Program. Texas Victoria: University of Houston. S.d. 4 p. Disponvel em: http://bfpug.com.br/Artigos/UCP/DamodaranEstimation_Using_Use_Case_Points.pdf - Acesso em 17/07/2008 HAZAN, Cludia; STAA, Arndt von. Anlise e Melhoria de um Processo de Estimativas de Tamanho de Projetos de Software PUC Pontifcia Universidade Catlica, 2005. HAZAN, Cludia - Implantao de um Processo de medies de software agosto, 2002 . Disponvel em: http://www.bfpug.com.br/artigos.htm . Acesso em: 20 mar. 2008. IFPUG, International Function Point Users Group Counting Practices Manual. Version 4.2, 2004. Enciclopdia Livre Disponvel em: www.ifpug.org - Acesso em: 01 mar. 2008. FOWLER, Martin, Uml Essencial. So Paulo: Bookman Companhia, 3ed., 2005. MEDEIROS, Ernani. Desenvolvendo Software com UML 2.0. So Paulo: Makron Books, 2004. PADRES de projeto de software. Enciclopdia Livre. Disponvel em:

63 http://pt.wikipedia.org/wiki/Padr%C3%B5es_de_projeto_de_software. em: 01 de jul.2008. Acesso

POMPILHO, S., Anlise Essencial Guia Prtico de Anlise de Sistemas. Rio de Janeiro: Cincia Moderna, 2003. PRESSMAN, Roger S., Engenharia de Software. 5. ed. Rio de Janeiro: McGraw-Hill, 2006. PUTNAM, L. Trends in measurement, estimation, and control. IEEE Software. 1991. RIBU, K. Estimating object-oriented software projects with use cases. Oslo: University of Oslo, 2001.132 p. Tese (Mestrado Department of Informatics) SCHNEIDER, G.; WINTERS, J. Use case and project plan. In: ----------. Appying use cases: a practical guide. 2. ed. New York: Addison Weslwy, 2001. captulo 10, p. 143 159. THOMSON, LAURA; WELLING, LUKE; PHP e MySql Desenvolvimento Web. Rio de Janeiro: ed. Campus, 2005. Clayton Vieira Fraga Filho FILHO, Clayton V. F., Ferramenta Controla Faculdade de Viosa (FDV), 2005.

Das könnte Ihnen auch gefallen