Beruflich Dokumente
Kultur Dokumente
II
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.
III
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:
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.
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
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
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.
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
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;
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.
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
DE SOFTWARE
2.1
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
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.
A tcnica de mensurao por linhas de cdigo LOC (Lines of Code) uma das medidas mais antigas para determinao do tamanho, esforo e,
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.
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
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
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
Complexo
15
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)
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
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
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
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
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.
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.
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.
RNF2:
O UCP CALCULATOR deve estar disponvel 24 horas. Quadro nr. 8 Requisitos no-funcionais Fonte: Elaborao prpria.
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
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.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
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.
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.
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
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
Para elaborao da ferramenta a fonte utilizada foi: THOMPSON, Laura; WELLING, Luke. PHP e MySql: Desenvolvimento web.
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.
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.
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
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
Decimal (3) Decimal (3) Integer (2) Integer (2) Decimal (3) Decimal (3) Decimal (3)
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 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.
A tela denominada cadastro de login, deve possibilitar o cadastramento de usurio e senha, ilustrada na figura 5.2.
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.
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.
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.
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.
57 complexidade tcnica. Na figura 5.12 apresentada a tela para a incluso da avaliao referente aos pesos dos fatores ambientais.
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
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:
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.