apoio automatizado ao cÁlculo de estimativa de projetos de software utilizando o mÉtodo de pontos...

127
FUNDAÇÃO DE ASSISTÊNCIA E EDUCAÇÃO - FAESA FACULDADES INTEGRADAS ESPÍRITO-SANTENSES BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO GEORGE MAESTRI FURTADO DA ROSA JOSE CARLOS PIMENTEL LUIZ FERNANDO ROSÁRIO APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS POR CASO DE USO VITÓRIA 2008

Upload: viniciusgusmao

Post on 28-Jul-2015

1.492 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

FUNDAÇÃO DE ASSISTÊNCIA E EDUCAÇÃO - FAESA FACULDADES INTEGRADAS ESPÍRITO-SANTENSES

BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

GEORGE MAESTRI FURTADO DA ROSA JOSE CARLOS PIMENTEL

LUIZ FERNANDO ROSÁRIO

APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO

DE PONTOS POR CASO DE USO

VITÓRIA

2008

Page 2: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

GEORGE MAESTRI FURTADO DA ROSA JOSE CARLOS PIMENTEL

LUIZ FERNANDO ROSÁRIO

APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO

DE PONTOS POR CASO DE USO

Trabalho de Conclusão de Curso de Graduação em Ciência da Computação apresentado às Faculdades Integradas Espírito-santenses, como requisito parcial para obtenção do título de Bacharel em Ciência da Computação, sob orientação da profa. Denise Franzotti Togneri.

VITÓRIA 2008

Page 3: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

GEORGE MAESTRI FURTADO DA ROSA JOSE CARLOS PIMENTEL

LUIZ FERNANDO ROSÁRIO

APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO

DE PONTOS POR CASO DE USO

BANCA EXAMINADORA

Profa Denise Franzotti Togneri Orientadora

Profº Eliana

Profº Andromeda Trabalho de Conclusão de Curso aprovado em ____ / ____/ ____.

Page 4: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

AGRADECIMENTOS

À DEUS, por me dar força, saúde, sabedoria e paciência nos momentos em que

mais precisei, aos meus pais Luiz e Eliana, por terem me proporcionado os estudos,

me apoiando e incentivando para a concretização de mais um sonho a ser realizado,

à minha noiva Amanda pela compreensão, ajuda e companheirismo, à nossa

orientadora Denise Franzotti Togneri e professores pelos ensinamentos.

George Maestri Furtado da Rosa.

À minha mãe, por acreditar nesse momento, pela educação e por estar sempre

presente. Ao meu irmão, pelo apoio e confiança. Às minhas tias Josélia, Francisca e

Nazaret, pelos conselhos e ensinamentos. À minha namorada por ter estado ao meu

lado todo esse tempo. Aos meus familiares e amigos pelos momentos de

descontração. À professora Denise Franzotti Togneri, que nos orientou e tornou

possível a realização desse trabalho.

Jose Carlos Pimentel.

Agradeço, primeiramente, à DEUS, por me dar sabedoria e forças, por seu amor e

suas misericórdias a cada dia. Aos meus pais Luiz e Marta por acreditarem em mim

e investirem em meu futuro e por me mostrarem o caminho correto. À minha esposa

Suéllen por sua compreensão e paciência nos momentos difíceis. À nossa

orientadora Denise por sua orientação e ensinamento.

Luiz Fernando Rosário.

Page 5: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

"Embora ninguém possa voltar atrás e fazer um novo começo, qualquer um pode começar agora e fazer um novo fim."

Chico Xavier

Page 6: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

LISTA DE QUADROS QUADRO 1 – Modelo de descrição de caso de uso ................................................. 21

QUADRO 2 – Peso dos atores .................................................................................. 23

QUADRO 3 – Peso dos casos de uso ....................................................................... 24

QUADRO 4 – Peso dos fatores de complexidade técnica ........................................ 25

QUADRO 5 – Peso dos fatores ambientais .............................................................. 26

QUADRO 6 – Dicionário de Dados da ferramenta proposta ..................................... 43

Page 7: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

LISTA DE FIGURAS

FIGURA 1 – Diagrama de Casos de Uso .................................................................. 17

FIGURA 2 – Ator do diagrama de Casos de Uso ...................................................... 17

FIGURA 3 – Caso do uso do diagrama de Casos de Uso ........................................ 18

FIGURA 4 – Relacionamento de generalização entre casos de uso ......................... 19

FIGURA 5 – Relacionamento de inclusão entre casos de uso .................................. 19

FIGURA 6 – Relacionamento de extensão entre casos de uso ................................ 19

FIGURA 7 – Diagrama de Caso de Uso Principal. .................................................... 31

FIGURA 8 – Diagrama de Caso de Uso GerenciarProjetos ...................................... 32

FIGURA 9 – Diagrama de Caso de Uso GerenciarDadosGerais .............................. 33

FIGURA 10 – Diagrama de Caso de Uso GerenciarDiagramaCasoUso ................... 34

FIGURA 11 – Diagrama de Caso de Uso ImportarCasoUso. .................................... 35

FIGURA 12 – Diagrama de Caso de Uso GerenciarEstimativaProjeto. .................... 36

FIGURA 13 – Diagrama de Classe da ferramenta proposta. .................................... 40

FIGURA 14 – Diagrama de Seqüência IncluirProjeto. ............................................... 44

FIGURA 15 – Diagrama de Seqüência IncluirCasoUso. ........................................... 45

FIGURA 16 – Diagrama de Seqüência IncluirAtor. ................................................... 46

FIGURA 17 – Diagrama de Seqüência IncluirPesoComplexAtor. ............................. 47

FIGURA 18 – Diagrama de Seqüência IncluirPesoComplexCasoUso. ..................... 48

FIGURA 19 – Diagrama de Seqüência CalcularEstimativa. ...................................... 49

FIGURA 20 – Arquitetura Cliente-Servidor. ............................................................... 51

FIGURA 21 – Diagrama Relacional do Banco de Dados. ......................................... 53

FIGURA 22 – Tela principal da ferramenta UCPCALC. ............................................ 56

FIGURA 23 – Tela de configuração do peso dos Atores. .......................................... 57

FIGURA 24 – Tela de configuração do peso dos Casos de Uso. .............................. 58

FIGURA 25 – Tela de configuração dos Fatores de Complexidade Técnica. ........... 59

FIGURA 26 – Tela de configuração dos Fatores Ambientais. ................................... 60

FIGURA 27 – Tela de cadastro de projetos ou importação de arquivo. .................... 61

FIGURA 28 – Tela de definir Fatores de complexidade Técnica do projeto. ............. 62

FIGURA 29 – Tela de definir Fatores Ambientais do projeto..................................... 63

FIGURA 30 – Tela de definir Atores do projeto. ........................................................ 64

FIGURA 31 – Tela de Inclusão de Ator. .................................................................... 65

Page 8: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

FIGURA 32 – Tela de definir Casos de Uso do projeto. ............................................ 66

FIGURA 33 – Tela de Inclusão de Caso de Uso. ...................................................... 67

FIGURA 34 – Tela de Inclusão do Fluxo Normal. ..................................................... 68

FIGURA 35 – Tela de Inclusão do Fluxo Alternativo. ................................................ 69

FIGURA 36 – Tela de importação de projetos aba Atores. ....................................... 70

FIGURA 37 – Tela de importação de projetos aba Caso de Uso. ............................. 71

FIGURA 38 – Tela de Exibição da Estimativa do Projeto. ......................................... 72

Page 9: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

RESUMO

Atualmente a tecnologia de orientação a objetos e os modelos Linguagem de

Modelagem Unificada (UML - Unified Modeling Language) encontram-se bastante

difundida e utilizada nas diversas organizações. Dentre esses modelos, destaca-se o

diagrama de casos de uso. Os casos de uso são, geralmente, criados nas fases

iniciais do projeto e isso tornou possível a proposição de algumas métricas baseadas

em casos de uso, conhecidas como Pontos por Caso de Uso (PCU) que possibilitam

estimar, na fase de planejamento, o tamanho de um software baseado no esforço

medido em pessoas-mês, tempo e esforço. O objetivo geral deste trabalho é o

desenvolvimento de uma ferramenta denominada UCPCalc que auxiliará o gerente

de projeto na estimativa de tempo e esforço de um determinado projeto de software,

utilizando o método de pontos por caso de uso. Para isso, foi adotada uma

metodologia composta de revisão bibliográfica, elicitação, modelagem e

documentação de requisitos a serem atendidos pela ferramenta, utilizando-se do

paradigma da orientação a objetos, para o projeto, o desenvolvimento e os testes do

sistema. UCPCalc foi desenvolvida adotando-se a arquitetura cliente/servidor em

duas camadas, com linguagem de programação Delphi 2007 for Win32 e sistema

gerenciador de banco de dados relacional MySQL 5.0. O desenvolvimento e

implementação de UCPCalc demonstrou a viabilidade de apoio automatizado ao

cálculo de estimativas de tempo e esforço, utilizando como base o método de pontos

por caso de uso.

Palavras-chave: pontos por caso de uso, diagrama de casos de uso, estimativas de

software. UCPCalc.

Page 10: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

SUMÁRIO 1 INTRODUÇÃO ..................................................................................................... 11

2 ESTIMATIVA DE PROJETO DE SOFTWARE ORIENTADO A OBJETOS ........ 14

2.1 ANÁLISE ORIENTADA A OBJETOS ................................................................ 14

2.2 A LINGUAGEM DE MODELAGEM UNIFICADA ............................................... 15

2.3 DIAGRAMA DE CASOS DE USO ..................................................................... 16

2.3.1 Ator ................................................................................................................ 17

2.3.2 Caso de uso .................................................................................................. 18

2.3.3 Relacionamentos .......................................................................................... 18

2.3.4 Descrição de casos de uso .......................................................................... 20

2.4 O MÉTODO DE PONTOS POR CASO DE USO .............................................. 22

2.4.1 Classificação e contagem dos atores ......................................................... 22

2.4.2 Classificação e contagem dos casos de uso ............................................. 23

2.4.3 Cálculo dos pontos por caso de uso não ajustados – UUCP ................... 24

2.4.4 Determinação dos fatores de complexidade técnica – TCF ...................... 25

2.4.5 Determinação dos fatores ambientais – EF ................................................ 26

2.4.6 Cálculo dos pontos por caso de uso ajustados – UCP ............................. 27

2.5 VANTAGENS E DESVANTAGENS NA ESTIMATIVA DE PONTOS POR CASO

DE USO..................................................................................................................... 27

2.6 CONSIDERAÇÕES FINAIS .............................................................................. 28

3 UMA PROPOSTA PARA APOIO AUTOMATIZADO AO CÁLCULO DE

ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE

PONTOS POR CASO DE USO ................................................................................ 30

3.1 REQUISITOS FUNCIONAIS ............................................................................. 30

3.1.1 Caso de Uso GerenciarProjeto .................................................................... 32

3.1.2 Caso de Uso GerenciarDadosGerais .......................................................... 33

3.1.3 Caso de Uso GerenciarDiagramaCasoUso ................................................. 34

3.1.4 Caso de Uso GerenciarEstimativaProjeto .................................................. 35

3.2 TRABALHOS CORRELATOS ........................................................................... 36

3.3 CONSIDERAÇÕES FINAIS .............................................................................. 38

4 ANÁLISE ............................................................................................................. 39

4.1 MODELAGEM DE CLASSES............................................................................ 39

4.2 DIAGRAMAS DE SEQÜÊNCIA ......................................................................... 44

Page 11: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

4.3 CONSIDERAÇÕES FINAIS .............................................................................. 50

5 PROJETO E IMPLEMENTAÇÃO ........................................................................ 51

5.1 PROJETO ......................................................................................................... 51

5.1.1 Projeto de Arquitetura do Sistema .............................................................. 51

5.1.2 Projeto de banco de dados .......................................................................... 52

5.2 IMPLEMENTAÇÃO ........................................................................................... 54

5.2.1 Tecnologia e linguagem utilizada ................................................................ 54

5.2.2 Restrições de implementação ..................................................................... 55

5.2.3 Protótipo da ferramenta ............................................................................... 55

5.2.4 Instalação e funcionamento do protótipo ................................................... 73

5.3 CONSIDERAÇÕES FINAIS .............................................................................. 73

6 CONCLUSÕES E PERSPECTIVAS FUTURAS .................................................. 74

REFERÊNCIAS ......................................................................................................... 75

ANEXOS ................................................................................................................... 77

Page 12: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

11

1 INTRODUÇÃO Antes que o projeto de software, como um todo, comece, é necessário que a equipe

de projeto estime o trabalho, o tempo e os recursos necessários para implementá-lo.

É nessa fase que a atividade de planejamento de projeto se inicia. A fase de

planejamento tem como objetivo fornecer um conjunto de dados que permita ao

gerente do projeto fazer essas estimativas. O planejamento envolve atividades tais

como: definição do escopo, estudo de viabilidade, análise de risco, definição de

recursos, estimativas de custo e esforço e elaboração do cronograma do projeto.

Estimar tempo e esforço é fundamental para assegurar que o projeto de software

seja concluído dentro do orçamento previsto e aprovado. Para apoiar este processo,

diversos modelos de estimativa de esforço foram propostos e incluem o tamanho do

software como um parâmetro importante.

Atualmente, um dos métodos de cálculo de estimativas mais utilizados pelos

gerentes de projeto é a análise por pontos de função, que mede os requisitos

funcionais do projeto. No entanto, apresenta alguns problemas como: o método é

aplicado somente ao final da atividade de Engenharia de Requisitos de Software,

após ser feita a descrição funcional do sistema, impactando no estudo de viabilidade

do projeto em termos de custo e tempo e necessita do Diagrama de Fluxo de Dados

modelado, que é um diagrama pouco utilizado atualmente.

Temos como hipótese para este trabalho o apoio automatizado ao cálculo de

estimativa de custo e esforço de projetos de software, utilizando o método de Pontos

por Caso de Uso, pode contribuir para a solução dos problemas levantados.

O método de estimativa por pontos de caso de uso (UCP – Use Case Point) foi

proposto por Gustav Karner em 1993, com o objetivo de estimar o esforço numa fase

mais inicial do processo de software, durante o levantamento de requisitos. É

inspirado no modelo de estimativas de Pontos de Função proposto por Allan

Albrecht, em 1979, e utiliza o Diagrama de Casos de Uso, um dos modelos da

Linguagem de Modelagem Unificada (UML – Unified Modeling Language), como

base para medir a funcionalidade do sistema.

Page 13: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

12

O objetivo geral deste trabalho é o desenvolvimento de uma ferramenta para apoiar

o gerente na atividade de estimativa de tempo e esforço de um projeto de software,

utilizando o método de estimativas por pontos de caso de uso. Os objetivos

específicos são:

Investigar o estado da arte sobre Diagramas de Caso de Uso e cálculos de

estimativas via Pontos por Caso de Uso;

Levantar os requisitos para uma ferramenta de apoio ao gerente de projeto na

atividade de estimativas de tempo e esforço utilizando pontos por caso de

uso;

Analisar, projetar, construir e testar a ferramenta.

Este trabalho se justifica, pois a automatização do cálculo de estimativa pode dar

mais agilidade e qualidade ao planejamento do projeto de software, uma vez que

será possível calcular a estimativa assim que o Diagrama de Casos de Uso estiver

aprovado pelos usuários. De posse de uma ferramenta de estimativas de projetos, o

gerente de projetos poderá analisar os pontos a serem aprimorados, ajustar o tempo

de desenvolvimento de cada tarefa em função da produtividade real da equipe,

melhorar o processo de desenvolvimento, avaliar os pontos fortes e fracos da equipe

e fornecer ao cliente um custo e tempo mais precisos possível.

Para uma melhor compreensão do sistema a ser desenvolvido e na busca da melhor

solução para o desenvolvimento de uma ferramenta para estimar tempo e esforços

de projetos de software, foi adotada uma metodologia composta das seguintes

fases:

revisão bibliográfica. Inicialmente foi feito um estudo sobre análise orientada a

objetos, Linguagem de Modelagem Unificada, Diagrama de Casos de Uso e

métodos para estimativas de software, para que se pudesse adquirir uma

base sobre esses assuntos;

engenharia de requisitos. Os requisitos foram levantados e documentados

para que pudesse ser dado início à implementação do sistema;

Page 14: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

13

projeto do sistema. Nesta etapa, os recursos tecnológicos a serem utilizados

no desenvolvimento do sistema foram definidos, foi feita a especificação da

arquitetura de hardware e software, estrutura de dados e estruturas de

controles;

implementação: foi feita a codificação da ferramenta, utilizando a tecnologia

Borland Delphi e banco de dados MySQL;

testes: o teste do sistema foi planejado e executado.

Este trabalho contém, além desta introdução, mais cinco capítulos.

O Capítulo 2 – Estimativa de Projeto de Software Orientado a Objetos – apresenta

uma base teórica sobre o método de estimativas por pontos de caso de uso e

conceitos relacionados à estimativa de software, análise OO e UML.

O Capítulo 3 – Uma Proposta para Apoio Automatizado ao Cálculo de Estimativa de

Projetos de Software utilizando o Método de Pontos por Casos de Uso - propõe uma

ferramenta para a estimativa de projetos baseada na estimativa de projetos por

pontos de casos de uso. Descreve os requisitos funcionais da ferramenta,

apresentando os diagramas de casos de uso e suas descrições e a análise de

algumas ferramentas correlatas.

O Capítulo 4 – Análise Orientada a Objetos – apresenta a análise OO da ferramenta

proposta incluindo os diagramas de classes e de seqüência.

O Capítulo 5 – Projeto e Implementação – aborda as fases de projeto orientado a

objetos e implementação da ferramenta proposta.

O Capítulo 6 – Conclusões e Perspectivas Futuras – apresenta as conclusões e

perspectivas futuras deste trabalho.

Page 15: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

14

2 ESTIMATIVA DE PROJETO DE SOFTWARE ORIENTADO A OBJETOS

Neste capítulo, serão abordados, de maneira geral, conceitos relacionados à Análise

Orientada a Objetos, Linguagem de Modelagem Unificada (UML - Unified Modeling

Language), Diagrama de Casos de Uso, Estimativas de Projeto de Software e o

método de Pontos por Caso de Uso proposto por Gustav Karner.

2.1 ANÁLISE ORIENTADA A OBJETOS A Análise Orientada a Objetos (AOO) é a primeira atividade técnica que é realizada

como parte da Engenharia de Software Orientada a Objetos. A AOO não se utiliza

do modelo de entrada-processamento-saída ou de estruturas hierárquicas; ela cria

um modelo orientado às classes baseado na Orientação a Objetos.

Para modelar sistemas orientados a objetos, Grady Booch, James Rumbaugh e Ivar

Jacobson combinaram as melhores características de seus métodos individuais e

propuseram uma linguagem de modelagem denominada Linguagem de Modelagem

Unificada (UML – Unified Modeling Language), que se tornou amplamente utilizada

na indústria.

Inicialmente, é feita uma descrição de casos de uso baseada em cenários de como

atores interagem com o produto a ser construído. A AOO examina um domínio do

problema definido como um conjunto de casos de uso em um esforço para extrair

classes que definam o problema. Cada classe tem um conjunto de atributos e

operações. Classes estão relacionadas entre si por uma variedade de modos e são

modeladas por meio de Diagramas de Classe (PRESSMAN, 2006, p. 181). Além

disso, a UML, abordada a seguir, também propõe que na AOO devem ser

modelados, dentre outros, os Diagramas de Seqüência e os Diagramas de Estado.

Page 16: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

15

2.2 A LINGUAGEM DE MODELAGEM UNIFICADA A UML é uma linguagem-padrão para a elaboração da estrutura de projeto de

software, que poderá ser empregada para visualizar, especificar, construir e

documentar artefatos de um sistema ou projeto e pode ser utilizada com todos os

processos ao longo do ciclo de desenvolvimento. Ela é apenas uma notação e,

portanto, é somente uma parte de um método para desenvolvimento de software. É

um facilitador de comunicação para todas as pessoas envolvidas no

desenvolvimento de um projeto ou sistema, por ser uma linguagem de fácil

entendimento.

A UML possui dois tipos de diagramas que são os estruturais e os comportamentais.

Os diagramas estruturais são responsáveis por documentar os aspectos estáticos do

sistema, onde se enquadram (BOOCH, RUMBAUGH, JACOBSON, 2000, p. 13):

diagrama de classes: estrutura lógica estática em uma superfície de duas

dimensões mostrando uma coleção de elementos declarativos de modelo,

como classes, tipos e seus respectivos conteúdos e relações;

diagrama de objetos: faz a modelagem de instâncias de itens contidos em

diagramas de classes;

diagrama de componentes: representa, de forma estática, aspectos físicos do

sistema sendo modelado;

diagrama de implantação: mostra a configuração de nós de processamento

em tempo de execução e os componentes que neles existem.

Os diagramas comportamentais são responsáveis por documentar os aspectos

dinâmicos do sistema, onde se enquadram (BOOCH, RUMBAUGH, JACOBSON,

2000, p. 13):

diagrama de seqüência: é usado para modelar a interação entre objetos em

um sistema;

diagrama de colaboração: é uma outra alternativa para a modelagem de

interações entre objetos de um sistema;

Page 17: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

16

diagrama de estados: é usado para modelar o comportamento dinâmico de

um sistema;

diagrama de atividades: é essencialmente um gráfico que mostra o fluxo de

controle de uma atividade para outra;

diagrama de casos de uso: ilustra um conjunto de casos de uso para um

sistema, os atores e a relação entre os atores e os casos de uso.

O Diagrama de Casos de Uso será abordado em detalhes na próxima seção.

2.3 DIAGRAMA DE CASOS DE USO Os diagramas de casos de uso são uma representação diagramática de um caso de

uso que é utilizado para modelar o sistema do ponto de vista do usuário. São

importantes principalmente para a organização e modelagem dos comportamentos

de um sistema, e, como são gerados na fase inicial do levantamento e

documentação de requisitos, facilitam o desenvolvimento de várias técnicas de

medição de tempo e esforço de um software.

O diagrama é necessário para a visualização, especificação e documentação dos

comportamentos de um elemento. Através do diagrama é mais fácil o entendimento

do sistema, subsistemas e classes, por ser um diagrama que apresenta uma visão

externa de como os elementos ali contidos podem ser utilizados.

Em um diagrama de caso de uso podem ser identificados três componentes

principais: atores, casos de uso e relacionamentos, descritos a seguir (BOOCH,

RUMBAUGH, JACOBSON, 2000, p. 231-233). A Figura 1 apresenta um exemplo de

um diagrama de casos de uso.

Page 18: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

17

FIGURA 1 – Diagrama de Casos de Uso

2.3.1 Ator Um ator representa um conjunto coerente de papéis que os usuários de casos de

uso desempenham quando interagem com esses casos de uso. Tipicamente, um

ator representa um papel que um ser humano, um dispositivo de hardware ou até

outro sistema desempenha com o sistema. Um ator é representado no diagrama por

um stickman com seu nome abaixo do desenho, conforme a Figura 2.

FIGURA 2 – Ator do diagrama de Casos de Uso

Mesmo utilizando atores na modelagem do Caso de Uso, eles não são parte do

sistema; são apenas representação de uma entidade externa ao sistema (BOOCH,

RUMBAUGH, JACOBSON, 2000, p. 221).

Page 19: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

18

2.3.2 Caso de uso Um caso de uso especifica o comportamento de um sistema ou de parte de um

sistema e é uma descrição de um conjunto de seqüências de ações, incluindo

variantes realizadas pelo sistema para produzir um resultado observável do valor de

um ator. Podem ser aplicados para captar o comportamento pretendido do sistema

que está sendo desenvolvido, sem ser necessário especificar como esse

comportamento é implementado.

Os casos de usos fornecem uma maneira para os desenvolvedores chegarem a uma

compreensão comum com os usuários finais do sistema e com os especialistas do

domínio. Além disso, servem para ajudar a validar a arquitetura e para verificar o

sistema à medida que ele evolui durante seu desenvolvimento. Os casos de uso são

representados por elipses que contêm o nome (título) do caso de uso; esse título

pode ser posicionado no interior ou, opcionalmente, abaixo de cada elipse, conforme

a Figura 3 (BOOCH, RUMBAUGH, JACOBSON, 2000, p. 217).

FIGURA 3 – Caso do uso do diagrama de Casos de Uso

2.3.3 Relacionamentos Além das ligações entre casos de uso com ator, existem também ligações entre caso

do uso com outro caso de uso, que podem ser de três tipos: inclusão, extensão e de

generalização.

A generalização entre casos de uso é semelhante à generalização entre as classes.

Aqui a generalização significa que o caso de uso filho herda o comportamento e o

significado do caso de uso pai; o filho deverá acrescentar ou sobrescrever o

comportamento de seu pai; e o filho poderá ser substituído em qualquer local no

qual o pai apareça (ambos, o pai e o filho poderão ter instâncias concretas). A

Page 20: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

19

generalização entre casos de uso é representada como uma linha cheia direcionada

com uma seta aberta, exatamente como ocorre com a generalização entre classes.

FIGURA 4 – Relacionamento de generalização entre casos de uso

Um relacionamento de inclusão entre casos de uso significa que o caso de uso base

incorpora explicitamente o comportamento de outro caso de uso em uma localização

especificada na base. Este relacionamento e utilizado para evitar descrever o

mesmo fluxo de eventos várias vezes, incluindo o comportamento comum em um

caso de uso próprio (o caso de uso incluído em um caso de uso básico).

FIGURA 5 – Relacionamento de inclusão entre casos de uso

Um relacionamento de extensão entre casos de uso significa que o caso de uso

base incorpora implicitamente o comportamento de outro caso de uso em um local

especificado indiretamente pelo caso de uso estendido. Um relacionamento

estendido é utilizado para a modelagem da parte de um caso de uso que o usuário

poderá considerar como um comportamento opcional do sistema. Desse modo,

separa-se o comportamento opcional do comportamento obrigatório (BOOCH,

RUMBAUGH, JACOBSON, 2000, p. 224-226).

FIGURA 6 – Relacionamento de extensão entre casos de uso

Page 21: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

20

2.3.4 Descrição de casos de uso Não existe um modelo específico de descrição de um caso de uso. Qualquer texto

descrevendo o que um sistema pode ser ou fazer pode ser considerado uma

descrição de um caso de uso (KOIRALA, 2007, p. 97).

Segundo Cockburn (2000, p. 94) existem alguns passos a serem seguidos para a

construção de casos de usos:

usar gramática simples: A sentença dever ser bastante simples, sujeito...

verbo...objeto direto...predicado. Isso é tudo que deve conter. Se a sentença

for mal formulada, o passo-a-passo será difícil de seguir;

ser claro: o ator que será o sujeito da sentença, o primeiro ator nomeado,

deve ser de preferência a primeira ou segunda palavra da frase;

deve ser escrito com “Visão de pássaro”: ou seja, o caso de uso deve ser

escrito dando uma visão geral, não se prendendo muito a detalhes. Por

exemplo, ao invés de “O usuário pega o cartão do bolso e insere na máquina”,

deve ser escrito como “O usuário insere o cartão”;

descrever a intenção do ator, não os movimentos: descrever os movimentos

do ator é um dos erros mais comuns. Por exemplo, ao invés de descrever “O

usuário move o mouse até a caixa de texto e escreve o nome”, deve ser

escrito como “O usuário preenche o nome”.

Vários modelos de descrição dos casos de uso foram propostos desde que

Jacobson criou o conceito de casos de uso. Alguns elementos são comuns a todos

os modelos, como é o caso da seção “fluxo normal” e da seção “fluxo alternativo”,

porém, alguns elementos aparecem de acordo com a necessidade do analista. A

descrição dos casos de uso pode conter as seguintes seções (WAZLAWICK, 2004,

p.84):

atores: listas as entidades do mundo real que interagem com o sistema por

meio dos casos de uso;

Page 22: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

21

interessados: a parte que tem interesse nos resultados produzidos pelo caso

de uso. É útil listar os interessados porque o caso de uso deve satisfazer a

todos os interessados;

precondições: fatos considerados verdadeiros antes do início do caso de uso,

necessários para a sua execução;

pós-condições: descreve os resultados, o que será verdadeiro após a

execução do caso de uso;

requisitos correlacionados: correlação entre os requisitos e os casos de uso;

variações tecnológicas: registram as possíveis variações tecnológicas que

poderiam ser utilizadas para realizar o caso de uso;

questões em aberto: dúvidas que no momento o analista não pode sanar

talvez por estar trabalhando sem a presença do cliente.

Cockburn (2000, p.126) propõe o seguinte modelo para descrição dos Casos de

Uso, como mostra o quadro 1:

Caso de Uso: Nome do caso de uso

Breve descrição: Descrição sucinta do caso de uso.

Atores: Descrição dos atores do caso de uso.

Gatilho: Ação do ator que inicia o caso de uso.

Fluxo de Eventos

Fluxo Normal

Descrição do cenário principal de sucesso.

Fluxo Alternativo

Descrição dos cenários alternativos ou de exceção.

Requisitos especiais: Descrição das funcionalidades não descrita nos casos de uso, mas que devem ser levadas em conta no projeto ou implementação.

Pré-Condição: Descrição das condições que devem ser supridas para o início dos casos de uso.

Pós-condições: Descrição das condições que devem acontecer após o fim dos casos de uso.

Pontos de extensão: Descrição dos casos de uso de extensão do diagrama.

QUADRO 1 – Modelo de descrição de caso de uso Fonte: COCKBURN, 2000, p. 126

Page 23: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

22

Os casos de uso e suas descrições podem ser usados como base para medir o

tamanho do esforço de desenvolvimento do software, como, por exemplo, o método

de pontos por caso de uso, descrito na próxima seção.

2.4 O MÉTODO DE PONTOS POR CASO DE USO O método de Pontos por Caso de Uso (UCP- Use Case Point) foi proposto por

Gustav Karner, em 1993, e é inspirado no modelo de estimativas de Pontos de

Função proposto por Allan Albrecht em 1979. O UCP tem como objetivo estimar o

tamanho do esforço (em pessoa-mês) para desenvolver projetos de software

orientado a objetos. O Diagrama de Casos de Uso é utilizado como base para medir

a funcionalidade do sistema através da contagem dos Pontos por Caso de Uso Não

Ajustados (UUCP). Os Fatores de Complexidade Técnica (TCF) e os Fatores

Ambientais (EF) envolvidos no projeto também são considerados pelo método. Os

Pontos por Caso de Uso são obtidos através do produto desses três fatores

(KARNER, 1993, p. 2).

Segundo ANDRADE (2004, p. 22), o processo de contagem dos Pontos por Caso de

Uso consiste nas seguintes etapas: classificar e contar os atores e os casos de uso,

calcular os pontos por caso de uso não ajustados, determinar os fatores de

complexidade técnica, determinar os fatores ambientais e calcular os pontos por

caso de uso ajustados, que são abordados a seguir.

2.4.1 Classificação e contagem dos atores Nesta etapa, os atores devem ser classificados de acordo com a sua complexidade

que pode ser definida como simples, média e complexa. Os atores com mesma

complexidade deverão ser somados. O total de atores de mesma complexidade

deverá ser multiplicado pelo seu respectivo peso de acordo com o Quadro 2

(ANDRADE, 2004, p. 22).

Page 24: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

23

Complexidade (i) Definição Peso (Wi)

Simples Um ator é simples se representa um outro sistema com uma API definida.

1

Médio

Um ator é médio se ele é:

1. Uma interação com outro sistema através de um protocolo.

2. Uma interação humana com um terminal.

2

Complexo Um ator é complexo se ele interage através de uma interface gráfica com o usuário.

3

QUADRO 2 – Peso dos atores Fonte: KARNER, 1993, p. 2

O peso dos atores não ajustados (UAW) pode ser obtido utilizando a fórmula (RIBU,

2001, p. 20):

i

i

i WnUAW *3

1

(1)

onde:

UAW = peso dos atores não ajustado

i = complexidade

ni = quantidade de atores com a complexidade i

Wi = peso da complexidade i

2.4.2 Classificação e contagem dos casos de uso Nesta etapa os casos de uso devem ser classificados de acordo com a sua

complexidade definida como simples, média e complexa. A complexidade do caso

de uso é determinada pelo número de transações presentes no mesmo. Os casos de

uso com mesma complexidade deverão ser somados. O total de casos de uso de

mesma complexidade deverá ser multiplicado pelo seu respectivo peso de acordo

com o Quadro 3 (ANDRADE, 2004, p. 23).

Page 25: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

24

Complexidade (i) Definição Peso (Wi)

Simples

Um caso de uso é simples se tem 3 ou menos transações incluindo cursos alternativos. Você deverá ser capaz de compreender o caso de uso com menos que 5 objetos de análise.

5

Médio

Um caso de uso é médio se tem de 3 a 7 transações incluindo cursos alternativos. Você deverá ser capaz de compreender o caso de uso com 5 a 10 objetos de análise.

10

Complexo

Um caso de uso é complexo se ele tem mais do que 7 transações incluindo cursos alternativos. O caso de uso deverá, pelo menos, necessitar de 10 objetos de análise.

15

QUADRO 3 – Peso dos casos de uso Fonte: KARNER, 1993, p. 2

O Peso dos Casos de Uso Não Ajustados (UUCW) pode ser obtido utilizando a

fórmula (RIBU, 2001, p. 20):

i

i

i WnUUCW *3

1

(2)

onde:

UUCW = peso dos casos de uso não ajustado

i = complexidade

ni = quantidade de casos de uso com a complexidade i

Wi = peso da complexidade i

2.4.3 Cálculo dos pontos por caso de uso não ajustados – UUCP Os Pontos por Caso de Uso Não Ajustados podem ser obtidos utilizando a fórmula

(RIBU, 2001, p. 21):

UUCWUAWUUCP (3)

onde:

UUCP = pontos por caso de uso não ajustados

UAW = peso dos atores não ajustado

UUCW = peso dos casos de uso não ajustado

Page 26: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

25

2.4.4 Determinação dos fatores de complexidade técnica – TCF Para determinar os Fatores de Complexidade Técnica cada fator Fi deve ser

classificado numa escala de zero a cinco, onde zero indica que o fator é irrelevante e

cinco indica que o fator é essencial. Se o fator não é nem importante nem

irrelevante, ele terá o valor três. Caso todos os fatores tenham o valor três, o TCF ≈

1. Após classificar cada fator, o valor Fi deve ser multiplicado pelo seu respectivo

peso conforme o Quadro 4 (KARNER, 1993. p. 3).

Fi Fatores que Contribuem para Complexidade Wi

F1 Sistemas distribuídos. 2

F2 Objetivos de desempenho da aplicação, em qualquer resposta ou taxa

de transferência. 1

F3 Eficiência do usuário final (on-line). 1

F4 Processamento interno complexo. 1

F5 Reusabilidade, o código deve permitir reutilização em outras

aplicações. 1

F6 Fácil instalação. 0,5

F7 Fácil operação, usabilidade. 0,5

F8 Portabilidade. 2

F9 Fácil manutenção. 1

F10 Concorrência. 1

F11 Características especiais de segurança. 1

F12 Proporcionar acesso direto a terceiros. 1

F13 Facilidades de treinamento especiais. 1

QUADRO 4 – Peso dos fatores de complexidade técnica Fonte: KARNER, 1993, p. 3

O Fator de Complexidade Técnica pode ser obtido utilizando a fórmula (KARNER,

1993, p. 3):

i

i

i WFCCTCF **13

1

21 (4)

Page 27: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

26

onde:

TCF = fator de complexidade técnica do projeto

C1 = 0,6

C2 = 0,01

Fi = fator de complexidade técnica

Wi = peso do fator de complexidade técnica (Fi)

2.4.5 Determinação dos fatores ambientais – EF Os Fatores Ambientais são obtidos da mesma maneira que os Fatores de

Complexidade Técnica. Cada fator Fi deve ser classificado numa escala de zero a

cinco, onde zero indica que o fator é irrelevante e cinco indica que o fator é

essencial. Se o fator não é nem importante nem irrelevante, ele terá o valor três.

Caso todos os fatores tenham o valor três, o EF ≈ 1. Após classificar cada fator, o

valor Fi deve ser multiplicado pelo seu respectivo peso conforme o Quadro 5

(KARNER, 1993, p. 3).

Fi Fatores que Contribuem para Eficiência Wi

F1 Familiaridade com o processo de desenvolvimento de software. 1,5

F2 Trabalhadores de tempo parcial. -1

F3 Capacidade do analista. 0,5

F4 Experiência com a aplicação. 0,5

F5 Experiência com a orientação a objetos. 1

F6 Motivação. 1

F7 Dificuldade com a linguagem de programação. -1

F8 Requisitos estáveis. 2

QUADRO 5 – Peso dos fatores ambientais Fonte: KARNER, 1993, p. 3

O Fator Ambiental pode ser obtido utilizando a fórmula (KARNER, 1993, p. 3):

i

i

i WFCCEF **8

1

21 (5)

Page 28: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

27

onde:

EF = fator ambiental do projeto

C1 = 1,4

C2 = -0,03

Fi = fator ambiental Wi = peso do fator ambiental (Fi)

2.4.6 Cálculo dos pontos por caso de uso ajustados – UCP Finalmente, depois de ter obtido os Pontos por Caso de Uso Não Ajustados, os

Fatores de Complexidade Técnica e os Fatores Ambientais, os Pontos por Caso de

Uso Ajustados podem ser calculados utilizando fórmula (KARNER, 1993, p. 4):

EFTCFUUCPUCP ** (6)

Onde:

UCP = pontos por caso de uso ajustados

UUCP = pontos por caso de uso não ajustados

TCF = fator de complexidade técnica do projeto

EF = fator ambiental do projeto

Após a realização do cálculo dos Pontos por Caso de Uso Ajustados, é possível

obter o tamanho do esforço necessário para desenvolver o projeto, mapeando os

Pontos por Caso de Uso Ajustados em pessoa-hora. Karner sugere um total de 20

pessoas-horas por unidade de ponto de caso de uso, mas em média fica entre 15 e

30 pessoas-horas (KARNER, 1993, p. 5).

2.5 VANTAGENS E DESVANTAGENS NA ESTIMATIVA DE PONTOS POR CASO DE USO

A abordagem pelo método de Pontos por Caso de Uso possui algumas vantagens e

desvantagens. As vantagens são (COHN, 2005, p. 12):

o processo de estimativas por Pontos de Caso de Uso pode ser otimizado,

como, por exemplo, ajustando ferramentas que gerenciam casos de uso para

contar automaticamente o número de pontos por caso de uso no sistema. Isso

Page 29: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

28

pode reduzir o tempo de realização da estimativa, porém, pessoas da área

argumentam que uma estimativa é tão boa quanto o esforço nela aplicado;

a organização poderá estabelecer um tempo médio de implementação de

pontos por caso de uso. Isso será útil para realizar futuras previsões. O nível

de detalhamento na escrita do caso de uso deverá ser o mesmo para todos

os autores de casos de uso;

os Pontos por Caso de Uso são uma medida de tamanho pura, já que o

tamanho da aplicação independe do tamanho, da tecnologia envolvida e da

experiência da equipe.

As desvantagens são (COHN, 2005, p. 12):

a estimativa de pontos por caso de uso não pode ser realizada até que todos

os casos de uso tenham sido escritos. Escrever casos de uso com os

objetivos do usuário representa um esforço de 10-20% do esforço total de um

projeto, isso poderá atrasar a criação do Plano de Projeto;

casos de uso demandam muito trabalho para serem realizados no

planejamento de um sistema. A melhor abordagem seria separar o caso de

uso em user stories e estimar user stories em story points ou ideal times;

as regras que determinam o que constitui uma transação são imprecisas. A

contagem do número de passos no user goal ou no user story é uma

aproximação, o que torna a técnica imprecisa, já que o detalhamento do caso

de uso varia muito de autor para autor;

alguns Fatores de Complexidade Técnica não impactam o projeto como um

todo. Porém, como são multiplicados pelo peso dos casos de uso e atores

esses fatores acabam impactando todo o projeto.

2.6 CONSIDERAÇÕES FINAIS Neste capítulo foram abordados os conceitos relacionados à Análise Orientada a

Objetos, à Linguagem de Modelagem Unificada, ao Diagrama de Casos de Uso, às

Page 30: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

29

Estimativas de Projeto de Software e ao método de Pontos por Caso de Uso. No

próximo capítulo será apresentada uma proposta para apoio automatizado ao

cálculo de estimativa de projetos de software utilizando o método de pontos por caso

de uso.

Page 31: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

30

3 UMA PROPOSTA PARA APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS POR CASO DE USO

Neste capítulo, são apresentados os requisitos funcionais do sistema, abordando os

casos de uso e uma breve descrição de cada um, bem como alguns softwares

correlatos desenvolvidos para o cálculo de estimativas de projetos.

O software proposto permitirá ao gerente fazer o registro de projetos, atores e casos

de uso, sendo que casos de uso e atores poderão ser importados para o sistema

através de um arquivo XMI (arquivo gerado por ferramentas de modelagem que dão

suporte a essa importação).

Após o cadastro ou importação dos casos de uso e atores de um projeto, o

engenheiro de software fará a descrição de cada caso de uso e o gerente informará

a complexidade de cada ator registrado no sistema. A inserção da descrição dos

casos de uso será feita de forma a otimizar a contagem de transações do caso de

uso. O gerente informará também os valores de complexidade técnica e fatores

ambientais do projeto (informações essas que variam de projeto para projeto).

Com base nessas informações o software efetuará o cálculo dos pontos por caso de

uso, utilizando o método proposto por Karner (1993), fornecendo ao final a

quantidade de tempo e o esforço do projeto.

No sistema ficarão armazenados os históricos de tempo/esforços anteriores para

que o gerente possa fazer uma comparação do projeto atual com os anteriores.

3.1 REQUISITOS FUNCIONAIS Os requisitos funcionais serão apresentados através dos Diagramas de Caso de Uso

e suas descrições. Eles foram elicitados através de revisão bibliográfica, entrevistas

com especialistas da área, tendo os seguintes atores que interagem com o sistema:

Gerente de Projeto: Responsável pelo projeto, possui acesso total e irrestrito

ao sistema;

Page 32: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

31

Engenheiro de Software: Tem acesso somente às funções mais básicas,

como por exemplo, cadastrar atores e casos de uso e efetuar consultas.

Os diagramas de caso de uso e suas descrições são apresentados a seguir, de

forma sucinta. A sua descrição completa é apresentada no anexo A. O diagrama de

Caso de Uso principal é representado na Figura 7.

FIGURA 7 – Diagrama de Caso de Uso Principal.

Os casos de uso principais do sistema são: GerenciarProjeto,

GerenciarDadosGerais, GerenciarDiagramaCasoUso e GerenciarEstimativaProjeto e

serão descritos a seguir.

Page 33: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

32

3.1.1 Caso de Uso GerenciarProjeto O caso de uso GerenciarProjeto é utilizado pelo ator Gerente de Projeto e pelo

Engenheiro de Software, sendo que este somente consulta os dados. É responsável

por gerenciar os dados relacionados ao projeto no sistema, como mostra a Figura 8,

e é decomposto nos seguintes casos de uso:

CadastrarProjetos. É responsável pelo gerenciamento das informações do

projeto;

CadastrarRelFatComplexTecProjeto. É responsável pelo gerenciamento da

relevância dos fatores relacionados à complexidade técnica do projeto;

CadastrarRelFatAmbientaisProjeto. É responsável pelo gerenciamento da

relevância dos fatores ambientais do projeto;

ConsultarDadosHistoricos. Mostra os dados referentes a projetos anteriores

cadastrados no sistema.

FIGURA 8 – Diagrama de Caso de Uso GerenciarProjetos

Page 34: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

33

3.1.2 Caso de Uso GerenciarDadosGerais O caso de uso GerenciarDadosGerais é utilizado pelo ator Gerente de Projeto e pelo

Engenheiro de Software, sendo que este apenas consulta os dados. É responsável

por gerenciar os dados gerais do sistema, como mostra a Figura 9, e é decomposto

nos seguintes casos de uso:

CadastrarPesoComplexAtor. É responsável pelo cadastro dos pesos das

complexidades dos atores;

CadastrarPesoComplexCasoUso. É responsável pelo cadastro dos pesos das

complexidades dos casos de uso;

CadastrarPesoFatComplexTec. É responsável pelo cadastro dos pesos das

complexidades técnicas do sistema;

CadastrarPesoFatAmbientais. É responsável pelo cadastro dos pesos dos

fatores ambientais do sistema.

FIGURA 9 – Diagrama de Caso de Uso GerenciarDadosGerais

Page 35: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

34

3.1.3 Caso de Uso GerenciarDiagramaCasoUso O caso de uso GerenciarDiagramaCasoUso, apresentado na Figura 10, é utilizado

pelo atores Gerente de Projeto e Engenheiro de Software, sendo que o Engenheiro

de Software só tem permissão para gerenciar os casos de uso e atores.

FIGURA 10 – Diagrama de Caso de Uso GerenciarDiagramaCasoUso

É responsável pelas funções de gerenciamento dos diagramas de casos de uso de

um projeto no sistema. É decomposto nos seguintes casos de uso:

GerenciarCasoUso. Responsável pelo cadastro de casos de uso de um

projeto no sistema;

GerenciarAtor. Responsável pelo cadastro de atores de um projeto no

sistema;

ImportarDCasoUso. Responsável pela importação do diagrama de casos de

uso e atores de um arquivo XMI. É subdividido em casos de uso menores

como importar diagrama de casos de uso e importar atores, conforme a

Figura 11. O gerente irá selecionar o arquivo XMI e o sistema irá analisar o

arquivo e fazer a importação desses dados para o sistema.

Page 36: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

35

FIGURA 11 – Diagrama de Caso de Uso ImportarCasoUso.

3.1.4 Caso de Uso GerenciarEstimativaProjeto O caso de uso GerenciarEstimativaProjeto é executado pelo Gerente de Projeto e

Engenheiro de Software, sendo que esse apenas consulta a estimativa do projeto.

Tem como objetivo fazer o cálculo da estimativa de projeto. É apresentado na Figura

12 e é decomposto nos seguintes casos de uso:

EstimarProjeto. É responsável pelo cálculo dos valores da complexidade do

ator e casos de uso, PCU não ajustado e PCU ajustado, do esforço de

pessoas-hora por caso de uso e o prazo estimado para a conclusão do

desenvolvimento de cada caso de uso, onde cada um deles é executado por

um caso de uso específico;

ConsultarEstimativa. É responsável por gerar um relatório do cálculo da

estimativa do projeto informado;

Page 37: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

36

FIGURA 12 – Diagrama de Caso de Uso GerenciarEstimativaProjeto.

3.2 TRABALHOS CORRELATOS O cálculo de estimativa de projetos de software através de pontos por casos de uso

pode ser desenvolvido de diversas formas. Muitas pesquisas já foram efetuadas

nessa área o que resultou na implementação de algumas ferramentas.

A Ferramenta de Cálculo de Pontos por Casos de Uso denominada SISPCU foi

desenvolvida por alunos de Ciência da Informação da Faculdade Vitoriana de

Tecnologia – FVT, Espírito Santo. A SISPCU é uma ferramenta para o cálculo da

estimativa de projeto de software. A ferramenta foi implementada em Delphi sendo

executada na plataforma Windows.

A SISPCU permite a estimativa de tempo e esforço de projetos de software

utilizando o método de Pontos por Caso de Uso. Também permite o cadastro de

cargos e salários (valor/hora), armazena também os funcionários que irão participar

do projeto para um maior controle dos recursos humanos. Permite a consulta de

margem de erro dos projetos desenvolvidos, ou seja, a diferença entre o estimado e

o realizado. Possui cadastro de módulos e funcionalidades, sendo que esses dados

Page 38: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

37

ajudam na precisão do cálculo, diminuindo a margem de erros, melhorando assim, a

eficiência da ferramenta (CORTELETTI, SANTOS, 2005, p. 43).

Kusumoto et al. (2006) apresentaram a ferramenta U-EST - Use case based

Estimation Supporting Tool, que foi desenvolvida na Graduate School of Information

Science and Technology, na Osaka University, tendo como base a métrica baseada

por pontos de caso de uso. Ela foi desenvolvida em JAVA e Xerces2 Java Parser.

A U-EST foi proposta com o objetivo de se criar uma ferramenta para estimativas de

projetos o mais automática possível. Nela a entrada principal de dados é um arquivo

XMI contendo o diagrama de casos de uso. Esse arquivo passa por um analisador e

são extraídos os atores e casos de uso, que são analisados e é feita a atribuição da

complexidade para cada um deles. Caso haja necessidade de algum ajuste na

classificação, o sistema permite o ajuste antes de ser feito o cálculo. Depois de ser

feito o cálculo, os dados são armazenado em um banco de dados servindo como

base histórica para outros projetos.

O Controla é uma ferramenta desenvolvida por alunos da Faculdade de Viçosa –

FDV, Minas Gerais. Ela é uma ferramenta para apoio ao processo de

desenvolvimento de software, contendo várias funcionalidades:

Cadastro e manutenção de projetos de software;

Gerenciamento de Casos de Uso;

Gerenciamento de Casos de Teste;

Estimativa de tamanho de software por Pontos de Casos de Uso;

Gerenciamento de implementações.

A ferramenta apresenta um conjunto de indicadores que possibilita ao Gerente de

Projeto tomar decisões junto aos clientes para que o projeto seja conduzido com

maior controle, reduzindo os problemas inerentes ao desenvolvimento de um

software. O sistema ainda permite ao final do processo um relatório detalhado do

projeto.

Page 39: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

38

O Controla possui usuários espalhados por todo o país, cerca de 3000 cópias foram

distribuídas. Uma versão multi-usuário para ambiente Web está sendo desenvolvida,

que possibilitará a colaboração on-line para equipes de desenvolvimento em

múltiplos projetos, incluindo recursos de fórum de discussão, workflow e

acompanhamento de métricas pré-estabelecidas (FILHO, REIS, 2007, p. 3).

A análise das ferramentas de apoio ao cálculo de estimativas de projetos de

software teve como objetivo o entendimento e a comparação das semelhanças e

diferenças entre as ferramentas.

Assim como o SISPCU, U-EST e o Controla, a ferramenta proposta também auxilia

ao gerente de projeto uma melhor estimativa do projeto de software, permitindo a ele

mensurar com maior segurança e com uma taxa menor de erros o tempo e esforço

de um determinado projeto. Ainda permite a melhoria do processo de

desenvolvimento de software e conseqüentemente do produto gerado.

Assim como a U-EST, a ferramenta proposta permite uma automatização do

processo de classificação dos atores e casos de uso quanto a sua complexidade.

Permite também ao final do processo do cálculo um relatório detalhado das

informações envolvidas no cálculo do esforço, permitindo um maior controle por

parte do gerente, assim como na ferramenta Controla.

A ferramenta proposta não permite a inserção de funcionários e cargos no sistema,

diferente da ferramenta SISPCU, porém permite a importação do diagrama de casos

de uso através de um arquivo XMI, para evitar o retrabalho do gerente do projeto.

3.3 CONSIDERAÇÕES FINAIS Este capítulo apresentou os requisitos funcionais do sistema dando uma breve

descrição dos casos de uso. Abordou também algumas ferramentas de estimativas

de projetos de software, suas vantagens e desvantagens, e uma comparação com a

ferramenta proposta. No próximo capítulo será abordada a análise orientada a

objetos do projeto.

Page 40: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

39

4 ANÁLISE Este capítulo aborda a Análise Orientada a Objetos da ferramenta proposta. A

Análise Orientada a Objeto será feita utilizando a Linguagem de Modelagem

Unificada (UML – Unified Modeling Language), na qual serão apresentados os

produtos gerados durante o processo de Análise. A modelagem de classes é

discutida na seção 4.1. A seção 4.2 apresenta a modelagem do comportamento

através dos diagramas de seqüência.

4.1 MODELAGEM DE CLASSES A Figura 13 apresenta o diagrama de classes desenvolvido para a ferramenta

proposta.

Page 41: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

40

FIGURA 13 – Diagrama de Classe da ferramenta proposta.

Page 42: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

41

A classe Projeto permite ao gerente cadastrar um determinado projeto que se

relaciona com a classe Fator, que é responsável por armazenar os fatores de

complexidade técnica e ambiental do projeto. A classe Projeto também se relaciona

com a classe DiagramaCasoUso, que armazena os diagramas de caso de uso de

um projeto. A classe DiagramaCasoUso se relaciona com Ator para registrar os

atores dos casos de uso e também se relaciona com CasoUso para registrar as

descrições dos casos de uso. A classe Ator se relaciona com ComplexidadeAtor,

que é uma subclasse da superclasse Complexidade. A mesma situação acontece

com a classe CasoUso, que se relaciona com ComplexidadeCasoUso, que

também é uma subclasse da superclasse Complexidade. A classe CasoUso se

relaciona também com Curso, que é uma superclasse e possui duas subclasses

que são CursoNormal e CursoAlternativo relativos à descrição dos casos de uso.

A subclasse CursoNormal registra as descrições dos casos normais do caso de

uso. Já a subclasse CursoAlternativo registra as descrições dos casos alternativos

do caso de uso. A superclasse Curso é associada à classe Transação, que é

responsável por armazenar as transações do caso de uso. A classe Transação se

relaciona com CursoAlternativo para registrar as transações do CursoAlternativo.

O Quadro 6 apresenta o Dicionário de Dados referentes às classes do Diagrama de

classes do projeto, bem como a Lista de Restrições de Integridade.

Page 43: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

42

DICIONÁRIO DE DADOS

Classe Atributo

Obrigato rieda

de (S/N)

Descrição Valores

Possíveis

Projeto

código S Código de identificação do Projeto

nome S Nome do Projeto

descrição S Descrição do Projeto

dataInicio S Data de Inicio do Projeto

dataFim S Data de Termino do Projeto

horasPCU S Horas de Trabalho por Pontos de Caso de Uso

Fator

descrição S Descrição do Fator de Ajuste

peso S Peso do Fator de Ajuste

tipo S Tipo do Fator de Ajuste Técnico, Ambiental

FatorProjeto relevância S Relevância do Fator de

Ajuste

DiagramaCasoU

so

nome S Nome do Diagrama

descrição S Descrição

CasoUso

nome S Nome do Caso de Uso

descrição S Descrição do Caso de Uso

gatilho S Dispara o Caso de Uso

requisitoEspecial N

Descrição das Funcionalidades não Descrita nos Casos de Uso

Page 44: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

43

DICIONÁRIO DE DADOS

Classe Atributo

Obrigato rieda

de (S/N)

Descrição Valores

Possíveis

preCondicao N Precondições para Inicio do Caso de Uso

posCondicao N Poscondicoes ao Termino do Caso de Uso

pontosExtensao N Descrição dos Casos de Uso de Extensão do Diagrama

Ator nome S Nome do Ator

descricao S Descrição do Ator

Complexidade

descricao S Descrição da Complexidade

definicao S Definição da Complexidade

peso S Peso das Complexidades

RelacionamentoCasoUso

tipo S Tipo do Relacionamento do Caso de Uso

Extende, Include

Curso nome S Nome dos Fluxos

descricao S Descrição do Curso

Transação

descricao S Descrição da Transação

ordem S Ordem do Curso

tipo S Tipo da Transação

Evento, Resposta do Sistema, Passo Complemantar

LISTA DE RESTRIÇÃO DE INTEGRIDADE

R1 = Somente transações relacionadas ao curso normal podem ser associados a algum curso alternativo.

QUADRO 6 – Dicionário de Dados da ferramenta proposta

Page 45: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

44

4.2 DIAGRAMAS DE SEQÜÊNCIA A seguir serão apresentados os diagramas de seqüência construídos para mostrar

como os objetos colaboram para a execução de alguns casos de uso descritos

anteriormente no capítulo 3.

As Figuras 14, 15, 16 apresentam respectivamente os diagramas de seqüência

IncluirProjeto, IncluirCasoUso e IncluirAtor. O diagrama de seqüência IncluirProjeto

tem como objetivo a inclusão de um projeto para ser estimado. O diagrama

incluirCasoUso é responsável pela inclusão dos casos de uso do projeto. Já o

diagrama incluirAtor é responsável pela inclusão dos atores envolvidos no projeto.

FIGURA 14 – Diagrama de Seqüência IncluirProjeto.

Page 46: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

45

FIGURA 15 – Diagrama de Seqüência IncluirCasoUso.

Page 47: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

46

FIGURA 16 – Diagrama de Seqüência IncluirAtor.

Page 48: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

47

As Figuras 17, 18, 19 apresentam respectivamente os diagramas de seqüência

IncluirPesoComplexAtor, IncluirPesoComplexCasoUso e CalcularEstimativa. O

diagrama IncluirPesoComplexAtor tem como objetivo incluir o peso dos atores do

projeto. O diagrama IncluirPesoComplexCasoUso é responsável por incluir o peso

dos casos de uso do projeto. Já o diagrama de seqüência CalcularEstimativa, que

tem como objetivo efetuar o cálculo de estimativa do projeto selecionado.

FIGURA 17 – Diagrama de Seqüência IncluirPesoComplexAtor.

Page 49: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

48

FIGURA 18 – Diagrama de Seqüência IncluirPesoComplexCasoUso.

Page 50: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

49

FIGURA 19 – Diagrama de Seqüência CalcularEstimativa.

Page 51: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

50

4.3 CONSIDERAÇÕES FINAIS Este capítulo apresentou a Análise Orientada a Objetos da ferramenta proposta. No

próximo capítulo serão apresentados o projeto e a implementação do sistema.

Page 52: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

51

5 PROJETO E IMPLEMENTAÇÃO Este capítulo aborda o projeto orientado a objeto e a implementação da ferramenta

para estimativa de tempo/esforço utilizando o método de pontos por caso de uso.

5.1 PROJETO Nesta seção são descritos o projeto da ferramenta “UCPCalc”. Na seção 5.1.1

apresenta o projeto de interface da ferramenta. A seção 5.1.2 contém o projeto de

banco de dados.

5.1.1 Projeto de Arquitetura do Sistema O projeto de Arquitetura do Sistema é apresentado na Figura 20.

Estações de Trabalho

Servidor de Banco de Dados

Arquitetura Cliente/Servidor

FIGURA 20 – Arquitetura Cliente-Servidor.

A arquitetura utilizada pela ferramenta proposta será a arquitetura Cliente/Servidor.

Esta arquitetura se divide em duas partes claramente diferenciadas, a primeira é a

parte do servidor e a segunda a de um conjunto de clientes “estações de trabalho”.

Page 53: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

52

Os servidores são entidades passivas, pois apenas respondem a requisições

enviadas pelos clientes, após seu processamento específico. Os clientes são

entidades ativas, que submetem suas requisições aos servidores e, geralmente,

implementam a interface com o usuário final do serviço.

Podemos dizer que esta arquitetura necessita de três tipos de software para seu

correto funcionamento:

Software de gerenciamento de dados: Este software se encarrega da

manipulação e gerenciamento de dados armazenados e requeridos pelas

diferentes aplicações. Normalmente este software se hospeda no servidor.

Software de desenvolvimento: este tipo de software se hospeda nos clientes e

só naqueles que se dediquem ao desenvolvimento de aplicações.

Software de interação com os usuários: Também reside nos clientes e é a

aplicação gráfica de usuário para a manipulação de dados, sempre é claro, a

nível de usuário (consultas principalmente).

5.1.2 Projeto de banco de dados O Projeto de Dados transforma o modelo do domínio do problema criado durante a

análise em estruturas de dados que serão requeridas para a implementação do

software. O modelo do Sistema Gerenciador do Banco de Dados usado no projeto

será o modelo relacional. A Figura 21 apresenta o projeto do Banco de Dados

Relacional para a ferramenta proposta. O Sistema Gerenciador do Banco de Dados

utilizado para armazenar os dados do sistema será o MySQL 5.0 desenvolvido pela

MySQL AB.

Page 54: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

53

FIGURA 21 – Diagrama Relacional do Banco de Dados.

Page 55: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

54

5.2 IMPLEMENTAÇÃO Esta seção apresenta as tecnologias utilizadas para a construção da ferramenta

proposta, as restrições de implementação e o protótipo da ferramenta.

5.2.1 Tecnologia e linguagem utilizada As tecnologias e linguagens utilizadas para a elaboração da ferramenta foram:

CodeGear RAD Studio 2007, Delphi 2007 for Win32 e o sistema gerenciador de

banco de dados MySQL 5.0.

O CodeGear RAD Studio é composto por Delphi para Win32, C + + Builder e o novo

Delphi for .NET, desenvolvido em um único ambiente integrado. Ele é um ambiente

de desenvolvimento que suporta tanto o desenvolvimento para aplicações nativas

MS-Windows (2000, XP e Vista) quanto .NET. Assim, os desenvolvedores podem

construir aplicações Windows, Web ou cliente / servidor para qualquer uma das três

plataformas. O CodeGear RAD Studio oferece ao desenvolvedor flexibilidade para

os sistemas operacionais que precisam das suas melhores suítes enquanto

desenvolvem para múltiplos sistemas operacionais em Windows, incluindo Windows

Vista e Web.

O Delphi for Win32 é o único IDE que suporta a criação de aplicações de código

nativo compatíveis com Windows 2000, XP e Vista. O Delphi for Win32 não apenas

permite que você desenvolva para as três plataformas, mas também que você

distribua para qualquer delas. Isso cria a flexibilidade de utilizar o sistema

operacional que melhor atenda às suas necessidades, mesmo quando

desenvolvendo para outras plataformas Windows mais populares. O Delphi for

Win32 capacita o desenvolvimento de aplicações suportadas pelo Vista a partir do

familiar ambiente Win32, a fácil criação de aplicações web que suportam AJAX, e

uma dinamizada conectividade a banco de dados corporativos (CODEGEAR, 2008).

O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a

linguagem SQL (Structured Query Language - Linguagem de Consulta Estruturada)

Page 56: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

55

como interface. É atualmente um dos bancos de dados mais populares, com mais de

6 milhões de instalações pelo mundo (MYSQL BRASIL, 2008).

5.2.2 Restrições de implementação Não foram implementados os casos de uso CadastrarPesoComplexAtor,

CadastrarPesoComplexCasoUso, CadastrarPesoFatComplexTec,

CadastrarPesoFatAmbientais, pois esse trabalho foi desenvolvido como um

projeto de conclusão de curso, onde o tempo é um fato limitante.

5.2.3 Protótipo da ferramenta A seguir será apresentado o protótipo da ferramenta para estimativa de

tempo/esforço utilizando o método de pontos por caso de uso.

Page 57: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

56

A Figura 22 apresenta a tela principal da ferramenta UCPCALC.

FIGURA 22 – Tela principal da ferramenta UCPCALC.

Na tela inicial do sistema existem duas abas principais: Projetos e Configurações.

Na aba Projetos é possível buscar um projeto cadastrado no sistema, preenchendo

as informações nos campos e clicando em Localizar, poderá incluir um novo projeto

através do botão Novo. Através dos botões Excluir e Estimar o usuário poderá

excluir um projeto ou consultar a estimativa, respectivamente.

Page 58: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

57

A Figura 23 mostra a tela que é responsável pela configuração dos pesos dos

atores.

FIGURA 23 – Tela de configuração do peso dos Atores.

Na aba Configurações o usuário poderá configurar através de cada aba os seguintes

parâmetros: Peso de cada complexidade dos atores (Figura 23) e Casos de Uso

(Figura 24), o peso de cada Fator de Complexidade Técnica (Figura 25) e o peso de

cada Fator Ambiental (Figura 26). Na aba Peso dos Atores, os pesos para as

complexidades dos atores poderão ser ajustados pelo usuário.

Page 59: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

58

A Figura 24 mostra a tela que é responsável pela configuração do peso dos Casos

de Uso.

FIGURA 24 – Tela de configuração do peso dos Casos de Uso.

Na aba Peso dos Casos de Uso, os pesos para as complexidades dos casos de uso

poderão ser ajustados pelo usuário.

Page 60: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

59

A Figura 25 mostra a tela que é responsável pela configuração do peso dos Fatores

de Complexidade Técnica.

FIGURA 25 – Tela de configuração dos Fatores de Complexidade Técnica.

Na aba Fatores de Complexidade Técnica, o peso de cada fator de complexidade

técnica poderá ser ajustado pelo usuário.

Page 61: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

60

A Figura 26 mostra a tela que é responsável pela configuração do peso dos Fatores

Ambientais.

FIGURA 26 – Tela de configuração dos Fatores Ambientais.

Na aba Fatores Ambientais, o peso de cada fator ambiental poderá ser ajustado pelo

usuário.

Page 62: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

61

A Figura 27 mostra a tela que é responsável pelo cadastro de projetos ou pela

importação de arquivos criados em ferramentas de modelagem de dados com

suporte a XMI.

FIGURA 27 – Tela de cadastro de projetos ou importação de arquivo.

Ao clicar no botão Novo na tela inicial o usuário tem acesso a tela de Cadastros de

Projetos. Nessa tela o usuário poderá informar os dados do projeto e através das

abas informar a relevância de cada Fator de Complexidade Técnica (Figura 28), a

relevância de cada Fator Ambiental (Figura 29), cadastrar e classificar os atores

(Figura 30) e cadastrar e classificar os casos de uso (Figura 31).

Page 63: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

62

A Figura 28 mostra a tela que é responsável pela definição das relevâncias dos

fatores de complexidade técnica de um projeto.

FIGURA 28 – Tela de definir Fatores de complexidade Técnica do projeto.

Na aba Fatores de Complexidade Técnica, o usuário deverá determinar a relevância

de cada fator de complexidade técnica do projeto selecionado.

Page 64: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

63

A Figura 29 mostra a tela que é responsável pela definição das relevâncias dos

fatores ambientais de um projeto.

FIGURA 29 – Tela de definir Fatores Ambientais do projeto.

Na aba Fatores Ambientais, o usuário deverá determinar a relevância de cada fator

ambiental do projeto selecionado.

Page 65: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

64

A Figura 30 mostra a tela que é responsável pela definição dos atores que irão

participar de um projeto.

FIGURA 30 – Tela de definir Atores do projeto.

Na aba Atores o usuário poderá buscar atores já cadastrados no sistema,

informando os parâmetros da busca e clicar no botão Localizar. Clicando no botão

Novo será aberta um nova janela para a inserção do ator (Figura 31) . O usuário

poderá excluir um ator cadastrado selecionado ele na lista e clicando no botão

Excluir.

Page 66: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

65

A Figura 31 mostra a tela que é responsável pela inclusão do ator.

FIGURA 31 – Tela de Inclusão de Ator.

Nesta tela, o usuário preenche ou altera as informações referentes ao ator

selecionado.

Page 67: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

66

A Figura 32 mostra a tela que é responsável pela definição dos Casos de Uso de um

projeto.

FIGURA 32 – Tela de definir Casos de Uso do projeto.

Na aba Casos de Uso, o usuário poderá buscar casos de uso já cadastrados no

sistema informando os parâmetros da busca e clicando no botão Localizar. Ao clicar

no botão Inserir uma nova janela será aberta para a inserção do caso de uso (Figura

33) . Ao selecionar um caso de uso na lista e clicar no botão Excluir o caso de uso

será apagado do sistema.

Page 68: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

67

A Figura 33 mostra a tela que é responsável pela inclusão do Caso de Uso.

FIGURA 33 – Tela de Inclusão de Caso de Uso.

Nesta tela, o usuário preenche ou altera as informações referentes ao caso de uso

selecionado. Na aba Caso de Uso, o usuário informa nome, complexidade,

descrição, gatilho, requisitos especiais, pré-condição, pós-condição e pontos de

extensão.

Page 69: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

68

A Figura 34 mostra a tela que é responsável inclusão e visualização dos fluxos

normais.

FIGURA 34 – Tela de Inclusão do Fluxo Normal.

Na aba Fluxo Normal, o usuário deverá descrever os passos do fluxo normal.

Page 70: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

69

A Figura 35 mostra a tela que é responsável pela inclusão e visualização dos fluxos

Alternativos.

FIGURA 35 – Tela de Inclusão do Fluxo Alternativo.

Na aba Fluxo Alternativo o usuário poderá cadastrar os fluxo alternativos do caso de

uso selecionando o tipo do fluxo e a qual passo normal ele está associado. Será

possível a navegação em cada fluxo normal através dos botões na parte superior da

tela.

Page 71: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

70

A Figura 36 mostra a tela que é responsável pela importação dos projetos com

extensão XMI. Visualizando a aba Atores.

FIGURA 36 – Tela de importação de projetos aba Atores.

Nessa tela, o usuário fará a importação do arquivo XMI e verificará através das abas

Atores e Casos de Uso (Figura 37) o que foi importado. Na aba Atores, os atores

encontrado no arquivos XMI serão exibidos.

Page 72: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

71

A Figura 37 mostra a tela que é responsável pela importação dos projetos com

extensão XMI. Visualizando a aba Casos de Uso.

FIGURA 37 – Tela de importação de projetos aba Caso de Uso.

Na aba Casos de Uso, os casos de uso encontrados no arquivo XMI serão exibidos.

Page 73: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

72

A Figura 38 mostra a tela que é responsável pela exibição da estimativa do projeto.

FIGURA 38 – Tela de Exibição da Estimativa do Projeto.

Ao clicar no botão Estimar na tela principal, o sistema exibe uma janela com as

informações da estimativa e as varíaveis utilizadas e geradas para o cálculo.

Page 74: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

73

5.2.4 Instalação e funcionamento do protótipo Para executar o UCPCalc é necessário ter instalado no computador a última versão

do banco de dados MySQL. Após a instalação do banco é necessária a configuração

do banco. Primeiro é necessário a criação de um usuário no banco de dado com o

usuário “ucpcalc” e senha “mysql”, e é necessário dar todas as permissões ao

mesmo. Após a configuração é necessária a instalação do pacote msxml4.msi, pois

o mesmo permite a importação do arquivo com extensão XML para o sistema.

Depois de executar os passos acima será possível a execução do sistema UCPCalc.

5.3 CONSIDERAÇÕES FINAIS Este capítulo apresentou o Projeto e a Implementação da ferramenta UCPCalc

proposta. No próximo capítulo serão apresentadas as conclusões e perspectivas

futuras deste trabalho.

Page 75: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

74

6 CONCLUSÕES E PERSPECTIVAS FUTURAS No mercado atual, uma das grandes preocupações das empresas é o cumprimento

de prazos e cronogramas de seus projetos de desenvolvimento de software. Tanto o

prazo quanto o custo dependem, dentre outros, de um planejamento efetivo do

projeto.

Com isso, em um mercado tão competitivo, é indispensável a existência de apoio

automatizado que auxilie no processo de planejamento de sistemas, para não

extrapolar custos e prazos.

Diante dessa necessidade, foi implementada UCPCalc - uma ferramenta para

estimativa de tempo e esforço de um projeto de software baseada em pontos por

caso de uso, estimativas essas que podem, então, ser geradas na fase de

levantamento de requisitos.

Essas estimativas podem ser cada vez mais apuradas e precisas, pois com

UCPCalc é possível manter um histórico de estimativas de projetos anteriores.

Este trabalho demonstrou a viabilidade de apoiar, de forma automatizada, o cálculo

de estimativa de tempo e esforço de projeto de software, durante a engenharia de

requisitos de software, utilizado pontos por caso de uso, de forma a antecipar o

início do estudo de viabilidade.

Algumas dificuldades em relação ao método foram levantadas. Uma das mais

agravantes é que não existe uma maneira padronizada de descrever os casos de

uso, o que torna o cálculo um pouco mais complicado. Por isso, foi adotada a forma

de descrição de casos de uso proposta por Cockburn (2000).

Tendo em vista que este trabalho foi desenvolvido como um projeto de conclusão de

curso, onde o tempo é um fato limitante, podem ser citadas como perspectivas

futuras da ferramenta dentre outras:

associar à ferramenta um analisador léxico e morfológico da língua portuguesa,

com o intuito de classificar os atores e casos de uso de um caso de uso.

implementar alguns relatórios que mostrem dados de projetos já analisados.

implementar uma comparação do projeto atual com projetos anteriores.

Page 76: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

75

REFERÊNCIAS ANDRADE, E. L. P. Pontos de Caso de Uso e Pontos de Função na gestão de estimativa de tamanho de projetos de software orientados a objetos. 2004. 143f. Dissertação (Mestrado em Gestão do Conhecimento e Tecnologia da Informação) – Universidade Católica de Brasília, Brasília.

BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML: guia do usuário. Tradução por Fábio Freitas da Silva. Rio de Janeiro: Ed. Campos, 2000. 482 p.

COCKBURN, A. Writing Effective Use Cases. New Jersey: Addison-Wesley Professional, 2000, 304 p.

CODEGEAR RAD Studio 2007. On-line. Disponível em: <http://www.codegear.com/br/products/radstudio>. Acesso em: 13 mai. 2008.

COHN, M. Estimating with use case points. Methods & Tools. Vevey, v. 13, n. 3, p. 3-13, set. - dez. 2005.

CORTELETTI, J.; SANTOS, M. Realização de Estimativas utilizando Pontos por Caso de Uso. 2005. 132 f. Trabalho de Conclusão de Curso (Graduação em Sistemas de Informação) – Faculdade Vitoriana de Tecnologia, Vitória, 2005.

FILHO, C. V. F.; REIS, J. M. dos. Controla: ferramenta de apoio ao processo de desenvolvimento de software em pequenas empresas. Faculdade de Viçosa, 07 f. 2006

KARNER, G. Resource Estimation for Objectory. 1993. On-line. Disponível em: <http://www.bfpug.com.br>. Acesso em: 22 fev. 2008.

KOIRALA, S. How to Prepare Software Quotation. 2004. On-line. Disponível em: <http://k.1asphost.com/UseCasePoints/UseCasePoints.pdf>. Acesso em: 22 fev. 2008.

KUSUMOTO, S. et al. Efort Estimation Tool Based on Use Case Points Method. 2005. 08 f. Graduate School of Information Science and Technology, Osaka University, Osaka, Japão, 2005.

MYSQL BRASIL. On-line. Disponível em: <http://www.mysqlbrasil.com.br>. Acesso em: 13 mai. 2008.

PRESSMAN, R. S. Engenharia de software. 6. ed. Tradução por José Carlos Barbosa dos Santos. São Paulo: Makron Books, 2006. 752 p.

RIBU, K. Estimating Object-Oriented Software Projects with Use Cases. 2001.147f. Dissertação (Master of Science Thesis) - University of Oslo, Oslo.

ROCHA, C. M. Explorando o relacionamento entre métricas baseadas em caso de uso e o número de casos de teste. 2005. 81f. Dissertação (Mestrado em Informática) – Setor de Ciências Exatas, Universidade Federal do Paraná, Curitiba.

Page 77: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

76

WAZLAWICK, R. S. Análise e projeto de sistemas de informação orientados a objetos. Rio de Janeiro: Elsevier, 2004. 298 p.

Page 78: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

77

ANEXOS

Page 79: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

78

Principal

Projeto: Sistema de Cálculo de Pontos por Caso de Uso

Sub-Sistema:

Nome do Caso de Uso: Principal

Descrição: O caso de uso Principal tem como objetivo gerenciar os projetos que

serão estimados por pontos de caso de uso através dos atores e casos de uso dos

diagramas de caso de uso contidos no projeto.

O Sistema de Cálculo de Pontos por Caso de Uso possui os seguintes atores:

Gerente de Projeto: gerente do projeto responsável por realizar as

estimativas;

Engenheiro de Software: analista de sistema responsável pelo levantamento

de requisitos.

Page 80: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

79

Gerenciar Projetos

Projeto: Sistema de Cálculo de Pontos por Caso de Uso

Sub-Sistema: Principal

Nome do Caso de Uso: Gerenciar Projetos

Descrição: O caso de uso Gerenciar Projetos tem como objetivo cadastrar os

projetos que serão estimados, os fatores de complexidade técnica e os fatores

ambientais relevantes para o projeto.

Page 81: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

80

Cadastrar Projetos

Projeto: Sistema de Cálculo de Pontos por Caso de Uso

Sub-Sistema: Gerenciar Projetos

Nome do Caso de Uso: Cadastrar Projetos

1. Caso de Uso: ConsultarProjeto.

1.1. Breve Descrição

O caso de uso Consultar Projeto tem como objetivo visualizar os projetos já

cadastrados no sistema.

1.2. Atores

Gerente de Projeto e Engenheiro de Software

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O gerente de projeto seleciona o projetor a ser consultado.

2. O sistema exibe as informações referentes ao projeto consultado.

2.2. Fluxo Alternativo

Não possui.

3. Requisitos especiais

Não possui.

4. Pré-Condição

O projeto deve existir no banco de dados do sistema.

5. Pós-condições

Não possui.

6. Pontos de extensão

Não possui.

Page 82: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

81

1. Caso de Uso: Incluir Projeto.

1.1. Breve Descrição

O caso de uso Incluir Projeto tem como objetivo registrar os projetos que

serão estimados pelo software.

1.2. Atores

Gerente de Projeto.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O gerente de projeto entra com os dados do projeto.

2. O sistema valida os dados inseridos.

2.2. Fluxo Alternativo

2.a. Caso o gerente de projeto tenha deixado de preencher algum campo ou

tenha preenchido com algum dado invalido o sistema retornara uma

mensagem de erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Não possui.

5. Pós-condições

Após a validação dos dados pelo sistema, o mesmo é inserido no banco de

dados do sistema.

6. Pontos de extensão

Não possui.

Page 83: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

82

1. Caso de Uso: AlterarProjeto.

1.1. Breve Descrição

O caso de uso Alterar Projeto tem como objetivo alterar as informações

referentes a algum projeto já cadastrado anteriormente.

1.2. Atores

Gerente de Projeto.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O Gerente de Projetos seleciona o projeto a ser alterado.

2. O Gerente de Projeto faz as alterações necessárias.

3. O sistema valida os dados alterados.

2.2. Fluxo Alternativo

3.a. Caso o gerente de projeto tenha alterado algum campo com dados

inválidos ou deixado de preencher o sistema retornara uma mensagem de

erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

O projeto deve existir no banco de dados do sistema.

5. Pós-condições

Após a validação dos dados pelo o sistema, os dados são alterados.

6. Pontos de extensão

Não possui.

Page 84: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

83

1. Caso de Uso: ExcluirProjeto.

1.1. Breve Descrição

O caso de uso Excluir Projeto tem como objetivo excluir um projeto inserido

anteriormente.

1.2. Atores

Gerente de Projeto.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O gerente de projeto seleciona o projeto a ser excluído.

2. O sistema pede a confirmação da exclusão.

2.2. Fluxo Alternativo

Não possui.

3. Requisitos especiais

Não possui.

4. Pré-Condição

O projeto deve existir no banco de dados do sistema.

5. Pós-condições

Após a confirmação da exclusão, o projeto é excluído do banco de dados do

sistema.

6. Pontos de extensão

Não possui.

Page 85: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

84

CadastrarRelFatComplexTecProjeto

Projeto: Sistema de Cálculo de Pontos por Caso de Uso

Sub-Sistema: Gerenciar Projetos

Nome do Caso de Uso: CadastrarRelFatComplexTecProjeto

1. Caso de Uso: ConsultarRelevanciaFatoresComplexTecnica.

1.1. Breve Descrição

O caso de uso Consultar Relevância dos Fatores de Complexidade Técnica

tem como objetivo visualizar as informações das relevâncias dos fatores

técnicos do projeto.

1.2. Atores

Gerente de Projeto e Engenheiro de Software.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O gerente de projeto seleciona a relevância a ser consultado.

2. O sistema exibe as informações da relevância dos fatores de

complexidade técnica.

2.2. Fluxo Alternativo

Não possui.

3. Requisitos especiais

Não possui.

4. Pré-Condição

As relevâncias devem estar cadastras no banco de dados do sistema.

5. Pós-condições

Não possui.

6. Pontos de extensão

Não possui.

Page 86: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

85

1. Caso de Uso: IncluirRelevanciaFatoresComplexTecnica.

1.1. Breve Descrição

O caso de uso Incluir Relevância dos Fatores de Complexidade Técnica tem

como objetivo registrar o grau de relevância dos fatores de complexidade

técnica do projeto.

1.2. Atores

Gerente de Projeto.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O gerente de projeto entra com os dados da relevância dos fatores de

complexidade técnica do projeto.

2. O sistema valida os dados inseridos.

2.2. Fluxo Alternativo

2.a. Caso o gerente de projeto tenha deixado de preencher algum campo ou

tenha preenchido com algum dado invalido o sistema retornara uma

mensagem de erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Não possui.

5. Pós-condições

Após a validação dos dados pelo sistema, o mesmo é inserido no banco de

dados do sistema.

6. Pontos de extensão

Não possui.

Page 87: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

86

1. Caso de Uso: AlterarRelevanciaFatoresComplexTecnica.

1.1. Breve Descrição

O caso de uso Alterar Relevância dos Fatores de Complexidade Técnica tem

como objetivo alterar as informações referente a relevância técnica já

cadastrado anteriormente.

1.2. Atores

Gerente de Projeto.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O Gerente de Projetos seleciona a relevância a ser alterada.

2. O Gerente de Projeto faz as alterações necessárias.

3. O sistema valida os dados alterados.

2.2. Fluxo Alternativo

3.a. Caso o gerente de projeto tenha alterado algum campo com dados

inválidos ou deixado de preencher o sistema retornara uma mensagem de

erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

A relevância deve existir no banco de dados do sistema.

5. Pós-condições

Após a validação dos dados pelo o sistema, os dados são alterados.

6. Pontos de extensão

Não possui.

1. Caso de Uso: ExcluirRelevanciaFatoresComplexTecnica.

1.1. Breve Descrição

Page 88: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

87

O caso de uso Excluir Relevância dos Fatores de Complexidade Técnica tem

como objetivo excluir o grau de relevância dos fatores de complexidade

técnica.

1.2. Atores

Gerente de Projeto.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O gerente de projeto seleciona o grau da relevância a ser excluída.

2. O sistema pede a confirmação da exclusão.

2.2. Fluxo Alternativo

Não possui.

3. Requisitos especiais

Não possui.

4. Pré-Condição

A relevância deve existir no banco de dados do sistema.

5. Pós-condições

Após a confirmação da exclusão, o grau da relevância é excluído do banco de

dados do sistema.

6. Pontos de extensão

Não possui.

Page 89: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

88

CadastrarRelFatAmbientaisProjeto

Projeto: Sistema de Cálculo de Pontos por Caso de Uso

Sub-Sistema: Gerenciar Projetos

Nome do Caso de Uso: CadastrarRelFatAmbientaisProjeto

1. Caso de Uso: ConsultarRelevanciaFatoresAmbientais.

1.1. Breve Descrição

O caso de uso Consultar Relevância dos Fatores Ambientais tem como

objetivo visualizar as informações das relevâncias dos fatores ambientais do

projeto.

1.2. Atores

Gerente de Projeto e Engenheiro de Software.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O gerente de projeto seleciona a relevância a ser consultado.

2. O sistema exibe as informações da relevância ambiental.

2.2. Fluxo Alternativo

Não possui.

3. Requisitos especiais

Não possui.

4. Pré-Condição

As relevâncias devem estar cadastras no banco de dados do projeto.

5. Pós-condições

Não possui.

6. Pontos de extensão

Não possui.

Page 90: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

89

1. Caso de Uso: IncluirRelevanciaFatoreAmbientais.

1.1. Breve Descrição

O caso de uso Incluir Relevância dos Fatores Ambientais tem como objetivo

registrar o grau de relevância dos fatores de complexidade técnica.

1.2. Atores

Gerente de Projeto.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O gerente de projeto entra com os dados das relevâncias ambientais do

projeto.

2. O sistema valida os dados inseridos.

2.2. Fluxo Alternativo

2.a. Caso o gerente de projeto tenha deixado de preencher algum campo ou

tenha preenchido com algum dado invalido o sistema retornara uma

mensagem de erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Não possui.

5. Pós-condições

Após a validação dos dados pelo sistema, o mesmo é inserido no banco de

dados do sistema.

6. Pontos de extensão

Não possui.

Page 91: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

90

1. Caso de Uso: AlterarRelevanciaFatoresAmbientais.

1.1. Breve Descrição

O caso de uso Alterar Relevância dos Fatores Ambientais tem como objetivo

alterar as informações referente a relevância dos fatores ambientais já

cadastrado anteriormente.

1.2. Atores

Gerente de Projeto.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O Gerente de Projetos seleciona a relevância a ser alterada.

2. O Gerente de Projeto faz as alterações necessárias.

3. O sistema valida os dados alterados.

2.2. Fluxo Alternativo

3.a. Caso o gerente de projeto tenha alterado algum campo com dados

inválidos ou deixado de preencher o sistema retornara uma mensagem de

erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

A relevância deve existir no banco de dados do sistema.

5. Pós-condições

Após a validação dos dados pelo o sistema, os dados são alterados.

6. Pontos de extensão

Não possui.

Page 92: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

91

1. Caso de Uso: ExcluirRelevanciaFatoreAmbientais.

1.1. Breve Descrição

O caso de uso Excluir Relevância dos Fatores Ambientais tem como objetivo

excluir o grau de relevância dos fatores ambientais.

1.2. Atores

Gerente de Projeto.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O gerente de projeto seleciona o grau da relevância a ser excluída.

2. O sistema pede a confirmação da exclusão.

2.2. Fluxo Alternativo

Não possui.

3. Requisitos especiais

Não possui.

4. Pré-Condição

A relevância deve existir no banco de dados do sistema.

5. Pós-condições

Após a confirmação da exclusão, o grau da relevância é excluído do banco de

dados do sistema.

6. Pontos de extensão

Não possui.

Page 93: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

92

1. Caso de Uso: ConsultarDadosHistoricos.

1.1. Breve Descrição

O caso de uso Consultar Dados Históricos tem como objetivo consultar os

projetos estimados anteriormente para usá-los como referência para

estimativas futuras e na determinação do fator de produtividade.

1.2. Atores

Gerente de Projeto.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O gerente de projeto seleciona os dados históricos de um projeto a ser

consultado.

2. O sistema exibe as informações dos dados históricos do projeto.

2.2. Fluxo Alternativo

Não possui.

3. Requisitos especiais

Não possui.

4. Pré-Condição

O projeto deve ter sua estimativa já concluída anteriormente.

5. Pós-condições

Não possui.

6. Pontos de extensão

Não possui.

Page 94: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

93

Gerenciar Dados Gerais

Projeto: Sistema de Cálculo de Pontos por Caso de Uso

Sub-Sistema: Principal

Nome do Caso de Uso: Gerenciar Dados Gerais

Descrição: O caso de uso Gerenciar Dados Gerais tem como objetivo registrar as informações de apoio ao cálculo realizado pelo sistema.

Page 95: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

94

Gerenciar Peso de Complexidade do Ator

Projeto: Sistema de Cálculo de Pontos por Caso de Uso

Sub-Sistema: Gerenciar Dados Gerais

Nome do Caso de Uso: Gerenciar Peso de Complexidade do Ator

1. Caso de Uso: ConsultarPesoComplexAtor

1.1. Breve descrição

O caso de uso Consultar Peso da Complexidade do Ator tem como objetivo

visualizar o peso de cada complexidade de ator cadastrado no sistema.

1.2. Atores

Gerente de Projeto e Engenheiro de Software.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. Gerente de Projeto seleciona a complexidade do ator desejado.

2. O sistema exibe o peso selecionado.

2.2. Fluxo Alternativo

Não possui.

3. Requisitos especiais

Não possui

4. Pré-Condição

Deverá existir alguma complexidade de ator cadastrada no sistema.

5. Pós-condições

Não possui.

6. Pontos de extensão

Não possui.

Page 96: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

95

1. Caso de Uso: IncluirPesoComplexAtor

1.1. Breve descrição

O caso de uso Cadastrar Peso da Complexidade do Ator tem como objetivo

registrar o peso de cada complexidade de ator prevista pelo método de

Pontos por Caso de Uso.

1.2. Atores

Gerente de Projeto

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O Gerente de Projetos informa o peso da complexidade do ator.

2. O sistema valida os dados inseridos.

2.2. Fluxo Alternativo

1.a. Caso o peso informado seja inválido o sistema exibe um aviso

informando o erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Não possui.

5. Pós-condições

Após a validação dos dados pelo o sistema, os dados são armazenados.

6. Pontos de extensão

Não possui.

1. Caso de Uso: AlterarPesoComplexAtor

1.1. Breve descrição

O caso de uso Alterar Peso de Complexidade do Ator tem como objetivo

alterar o peso de complexidade de um caso de uso inserido previamente.

1.2. Atores

Gerente de Projeto

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

Page 97: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

96

2.1. Fluxo Normal

1. O Gerente de Projetos seleciona a complexidade do ator a ser alterado.

2. O Gerente informa o valor do novo peso.

3. O sistema valida os dados inseridos.

2.2. Fluxo Alternativo

1.a. Caso o peso informado seja inválido o sistema exibe um aviso

informando o erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Existir uma complexidade de ator cadastrado previamente no sistema.

5. Pós-condições

Após a validação dos dados pelo o sistema, os dados são alterados.

6. Pontos de extensão

Não possui.

Page 98: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

97

Gerenciar Peso de Complexidade do Caso de Uso

Projeto: Sistema de Cálculo de Pontos por Caso de Uso

Sub-Sistema: Gerenciar Dados Gerais

Nome do Caso de Uso: Gerenciar Peso de Complexidade do Caso de Uso

1. Caso de Uso: ConsultarPesoComplexCasoUso

1.1. Breve descrição

O caso de uso Consultar Peso da Complexidade do Caso de Uso tem como

objetivo visualizar o peso de cada complexidade de caso de uso cadastrado

no sistema.

1.2. Atores

Gerente de Projeto e Engenheiro de Software.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. Gerente de Projeto seleciona a complexidade do caso de uso desejado.

2. O sistema exibe o peso selecionado.

2.2. Fluxo Alternativo

Não possui.

3. Requisitos especiais

Não possui

4. Pré-Condição

Deverá existir alguma complexidade de caso de uso cadastrada no sistema.

5. Pós-condições

Não possui.

6. Pontos de extensão

Não possui.

Page 99: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

98

1. Caso de Uso: IncluirPesoComplexCasoUso

1.1. Breve descrição

O caso de uso Cadastrar Peso da Complexidade do Caso de Uso tem como

objetivo registrar o peso de cada complexidade de caso de uso prevista pelo

método de Pontos de Caso de Uso.

1.2. Atores

Gerente de Projeto

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O Gerente de Projetos informa o peso da complexidade do caso de uso.

2. O sistema valida os dados inseridos.

2.2. Fluxo Alternativo

1.a. Caso o peso informado seja inválido o sistema exibe um aviso

informando o erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Não possui.

5. Pós-condições

Após a validação dos dados pelo o sistema, os dados são armazenados.

6. Pontos de extensão

Não possui.

1. Caso de Uso: AlterarPesoComplexCasoUso

1.1. Breve descrição

O caso de uso Alterar Peso de Complexidade do Caso de Uso tem como

objetivo alterar o peso de complexidade de um caso de uso inserido

previamente.

1.2. Atores

Gerente de Projeto

1.3 Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

Page 100: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

99

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O Gerente de Projetos seleciona a complexidade de caso de uso a ser

alterado.

2. O Gerente informa o valor do novo peso.

3. O sistema valida os dados inseridos.

2.2. Fluxo Alternativo

1.a. Caso o peso informado seja inválido o sistema exibe um aviso

informando o erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Existir uma complexidade de caso de uso cadastrado previamente no sistema.

5. Pós-condições

Após a validação dos dados pelo o sistema, os dados são alterados.

6. Pontos de extensão

Não possui.

Page 101: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

100

Gerenciar Peso dos Fatores de Complexidades Técnica

Projeto: Sistema de Cálculo de Pontos por Caso de Uso

Sub-Sistema: Gerenciar Dados Gerais

Nome do Caso de Uso: Gerenciar Peso dos Fatores de Complexidade Técnica

1. Caso de Uso: ConsultarPesoFatComplexTecnica

1.1. Breve descrição

O caso de uso Consultar Peso dos Fatores de Complexidade Técnica tem

como objetivo visualizar o peso de cada fator complexidade técnica

cadastrado no sistema.

1.2. Atores

Gerente de Projeto e Engenheiro de Software.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. Gerente de Projeto seleciona o fator técnico desejado.

2. O sistema exibe o peso selecionado.

2.2. Fluxo Alternativo

Não possui.

3. Requisitos especiais

Não possui

4. Pré-Condição

Deverá existir um algum fator de complexidade técnica cadastrado no sistema.

5. Pós-condições

Não possui.

6. Pontos de extensão

Não possui.

Page 102: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

101

1. Caso de Uso: IncluirPesoFatComplexTecnica

1.1. Breve descrição

O caso de uso Incluir Peso dos Fatores de Complexidade Técnica tem como

objetivo inserir o peso de cada fator complexidade técnica previsto pelo

método de Pontos por Caso de Uso.

1.2. Atores

Gerente de Projeto

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O Gerente de Projetos informa o peso do fator de complexidade técnica.

2. O sistema valida os dados inseridos.

2.2. Fluxo Alternativo

1.a. Caso o peso informado seja inválido o sistema exibe um aviso

informando o erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Não possui.

5. Pós-condições

Após a validação dos dados pelo o sistema, os dados são armazenados.

6. Pontos de extensão

Não possui.

1. Caso de Uso: AlterarPesoFatComplexTecnica

1.1. Breve descrição

O caso de uso Alterar Peso dos Fatores de Complexidade Técnica tem como

objetivo alterar o peso de um fator complexidade técnica inserido

previamente.

1.2. Atores

Gerente de Projeto

1.3. Gatilho

Page 103: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

102

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O Gerente de Projetos seleciona o fator a ser alterado.

2. O Gerente Informa o valor do novo peso.

3. O sistema valida os dados inseridos.

2.2 Fluxo Alternativo

1.a. Caso o peso informado seja inválido o sistema exibe um aviso

informando o erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Existir o fator cadastrado previamente no sistema.

5. Pós-condições

Após a validação dos dados pelo o sistema, os dados são alterados.

6. Pontos de extensão

Não possui.

Page 104: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

103

Gerenciar Peso dos Fatores Ambientais

Projeto: Sistema de Cálculo de Pontos por Caso de Uso

Sub-Sistema: Gerenciar Dados Gerais

Nome do Caso de Uso: Gerenciar Peso dos Fatores Ambientais

1. Caso de Uso: ConsultarPesoFatAmbientais

1.1. Breve descrição

O caso de uso Consultar Peso dos Fatores Ambientais tem como objetivo

visualizar o peso de cada fator ambiental cadastrado no sistema.

1.2. Atores

Gerente de Projeto e Engenheiro de Software.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. Gerente de Projeto seleciona o fator ambiental desejado.

2. O sistema exibe o peso selecionado.

2.2. Fluxo Alternativo

Não possui.

3. Requisitos especiais

Não possui

4. Pré-Condição

Deverá existir um algum fator ambiental cadastrado no sistema.

5. Pós-condições

Não possui.

6. Pontos de extensão

Não possui.

Page 105: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

104

1. Caso de Uso: IncluirPesoFatAmbientais

1.1. Breve descrição

O caso de uso Incluir Peso dos Fatores Ambientais tem como objetivo inserir

o peso de cada fator complexidade técnica previsto pelo método de Pontos

por Caso de Uso.

1.2. Atores

Gerente de Projeto

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O Gerente de Projetos informa o peso do fator ambiental.

2. O sistema valida os dados inseridos.

2.2 Fluxo Alternativo

1.a. Caso o peso informado seja inválido o sistema exibe um aviso

informando o erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Não possui.

5. Pós-condições

Após a validação dos dados pelo o sistema, os dados são armazenados.

6. Pontos de extensão

Não possui.

1. Caso de Uso: AlterarPesoFatAmbientais

1.1. Breve descrição

O caso de uso Alterar Peso dos Fatores Ambientais tem como objetivo alterar

o peso de um fator ambiental inserido previamente.

1.2. Atores

Gerente de Projeto

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

Page 106: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

105

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O Gerente de Projetos seleciona o fator ambiental a ser alterado.

2. O Gerente informa o valor do novo peso.

3. O sistema valida os dados inseridos.

2.2. Fluxo Alternativo

1.a. Caso o peso informado seja inválido o sistema exibe um aviso

informando o erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Existir o fator ambiental cadastrado previamente no sistema.

5. Pós-condições

Após a validação dos dados pelo o sistema, os dados são alterados.

6. Pontos de extensão

Não possui.

Page 107: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

106

Gerenciar Diagrama de Caso de Uso

Projeto: Sistema de Cálculo de Pontos por Caso de Uso

Sub-Sistema: Principal

Nome do Caso de Uso: Gerenciar Diagrama de Caso de Uso

Page 108: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

107

Gerenciar Ator

Projeto: Sistema de Cálculo de Pontos por Caso de Uso

Sub-Sistema: Gerenciar Diagrama de Caso de Uso

Nome do Caso de Uso: Gerenciar Ator

1. Caso de Uso: ConsultarAtor

1.1. Breve descrição

O caso de uso Consultar Ator tem como objetivo visualizar as informações

dos atores de casos de uso.

1.2. Atores

Gerente de Projeto e Engenheiro de Software

1.3. Gatilho

Gerente de Projeto/Engenheiro de Software seleciona a opção na interface do

sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O Gerente de Projeto/Engenheiro de Software seleciona um ator a ser

visualizado.

2. O sistema exibe as informações do ator selecionado.

2.2. Fluxo Alternativo

Não possui.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Existir um ator cadastrado previamente no sistema.

5. Pós-condições

Não possui.

6. Pontos de extensão

Não possui.

Page 109: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

108

1. Caso de Uso: IncluirAtor

1.1. Breve descrição

O caso de uso Incluir Ator tem como objetivo registrar os atores dos casos de

uso.

1.2. Atores

Gerente de Projeto e Engenheiro de Software

1.3. Gatilho

Gerente de Projeto/Engenheiro de Software seleciona a opção na interface do

sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O Gerente de Projeto/Engenheiro de Software informa os dados do ator.

2. O sistema valida os dados inseridos.

2.2. Fluxo Alternativo

Não possui.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Não possui.

5. Pós-condições

Após a validação dos dados, o sistema armazena as informações.

6. Pontos de extensão

Não possui.

1. Caso de Uso: AlterarAtor

1.1. Breve descrição

O caso de uso Alterar Ator tem como objetivo alterar um ator inserido

previamente.

1.2. Atores

Gerente de Projeto e Engenheiro de Software

1.3. Gatilho

Gerente de Projeto/Engenheiro seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

Page 110: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

109

1. O Gerente de Projeto/Engenheiro seleciona o ator a ser alterado.

2. O Gerente de Projeto/Engenheiro informa os dados a serem alterados.

3. O sistema valida os dados inseridos.

2.2. Fluxo Alternativo

1.a. Caso os dados informados sejam inválidos o sistema exibe um aviso

informando o erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Existir o ator cadastrado previamente no sistema.

5. Pós-condições

Após a validação dos dados pelo o sistema, os dados são alterados.

6. Pontos de extensão

Não possui.

1. Caso de Uso: ExcluirAtor

1.1. Breve descrição

O caso de uso Excluir Ator tem como objetivo excluir um ator inserido

previamente.

1.2. Atores

Gerente de Projeto e Engenheiro de Software

1.3. Gatilho

Gerente de Projeto/Engenheiro seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O Gerente de Projeto/Engenheiro excluir o ator desejado.

2. O sistema pede a confirmação da exclusão.

2.2. Fluxo Alternativo

1.a. Caso os o ator a ser excluído estiver vinculado a um caso de uso o

sistema exibe um aviso informando o erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Existir o ator cadastrado previamente no sistema.

Page 111: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

110

O ator não pode estar vinculado a um caso de uso.

5. Pós-condições

Após a confirmação da exclusão, os dados do ator são apagados do sistema.

6. Pontos de extensão

Não possui.

Page 112: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

111

Gerenciar Casos de Uso

Projeto: Sistema de Cálculo de Pontos por Caso de Uso

Sub-Sistema: Gerenciar Diagrama de Caso de Uso

Nome do Caso de Uso: Gerenciar Casos de Uso

1. Caso de Uso: ConsultarCasoUso

1.1. Breve descrição

O caso de uso Consultar Caso de Uso tem como objetivo visualizar as

informações dos casos de uso do projeto.

1.2. Atores

Gerente de Projeto e Engenheiro de Software

1.3. Gatilho

Gerente de Projeto/Engenheiro de Software seleciona a opção na interface do

sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O Gerente de Projeto/Engenheiro de Software seleciona um caso de uso a

ser visualizado.

2. O sistema exibe as informações do caso de uso selecionado.

2.2. Fluxo Alternativo

Não possui.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Existir um caso de uso cadastrado previamente no sistema.

5. Pós-condições

Não possui.

6. Pontos de extensão

Não possui.

Page 113: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

112

1. Caso de Uso: IncluirCasoUso

1.1. Breve descrição

O caso de uso Incluir Caso de Uso tem como objetivo registrar os casos de

uso do projeto.

1.2. Atores

Gerente de Projeto e Engenheiro de Software

1.3. Gatilho

Gerente de Projeto/Engenheiro de Software seleciona a opção na interface do

sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O Gerente de Projeto/Engenheiro de Software informa os dados do caso de

uso.

2. O sistema valida os dados inseridos.

2.2. Fluxo Alternativo

Não possui.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Não possui.

5. Pós-condições

Após a validação dos dados, o sistema armazena as informações.

6. Pontos de extensão

Não possui.

1. Caso de Uso: AlterarCasoUso

1.1. Breve descrição

O caso de uso Alterar Caso de Uso tem como objetivo alterar um caso de uso

inserido previamente.

1.2. Atores

Gerente de Projeto e Engenheiro de Software

1.3. Gatilho

Gerente de Projeto/Engenheiro seleciona a opção na interface do sistema.

2. Fluxo de Eventos

Page 114: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

113

2.1. Fluxo Normal

1. O Gerente de Projeto/Engenheiro seleciona o caso de uso a ser alterado.

2. O Gerente de Projeto/Engenheiro informa os dados a serem alterados.

3. O sistema valida os dados inseridos.

2.2. Fluxo Alternativo

1.a. Caso os dados informados sejam inválidos o sistema exibe um aviso

informando o erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Existir o caso de uso cadastrado previamente no sistema.

5. Pós-condições

Após a validação dos dados pelo o sistema, os dados são alterados.

6. Pontos de extensão

Não possui.

1. Caso de Uso: ExcluirCasoUso

1.1. Breve descrição

O caso de uso Excluir Caso de Uso tem como objetivo excluir um caso de uso

inserido previamente.

1.2. Atores

Gerente de Projeto e Engenheiro de Software

1.3. Gatilho

Gerente de Projeto/Engenheiro seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O Gerente de Projeto/Engenheiro excluir o caso de uso desejado.

2. O sistema pede a confirmação da exclusão.

2.2. Fluxo Alternativo

Não possui.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Existir o caso de uso cadastrado previamente no sistema.

Page 115: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

114

5. Pós-condições

Após a confirmação da exclusão, os dados do caso de uso são apagados do

sistema.

6. Pontos de extensão

Não possui.

Page 116: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

115

Importar Diagrama de Caso de Uso

Projeto: Sistema de Cálculo de Pontos por Caso de Uso

Sub-Sistema: Gerenciar Diagrama de Caso de Uso

Nome do Caso de Uso: Importar Diagrama de Caso de Uso

Page 117: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

116

1. Caso de Uso: ImportarAtor

1.1. Breve descrição

O caso de uso Importar Ator tem como objetivo importar os atores do projeto

modelados em uma ferramenta com suporte a XMI.

1.2. Atores

Gerente de Projeto e Engenheiro de Software

1.3. Gatilho

Gerente de Projeto/Engenheiro seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O Gerente de Projeto/Engenheiro seleciona o arquivo a ser carregado pelo

sistema.

2. O sistema verifica a extensão do arquivo e a integridade.

2.2. Fluxo Alternativo

1.a. Caso a extensão do arquivo não for compatível o sistema exibe um aviso

informando o erro.

2.a. Caso o arquivo esteja corrompido, o sistema exibe um aviso.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Não possui.

5. Pós-condições

Após a validação do arquivo pelo sistema, os dados são armazenados.

6. Pontos de extensão

Não possui.

1. Caso de Uso: ImportarCasoUso

1.1. Breve descrição

O caso de uso Importar Caso de Uso tem como objetivo importar os caso de

uso do projeto modelados em uma ferramenta com suporte a XMI.

1.2. Atores

Gerente de Projeto e Engenheiro de Software

1.3. Gatilho

Gerente de Projeto/Engenheiro seleciona a opção na interface do sistema.

Page 118: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

117

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O Gerente de Projeto/Engenheiro seleciona o arquivo a ser carregado pelo

sistema.

2. O sistema verifica a extensão do arquivo e a integridade.

2.2. Fluxo Alternativo

1.a. Caso a extensão do arquivo não for compatível o sistema exibe um aviso

informando o erro.

2.a. Caso o arquivo esteja corrompido, o sistema exibe um aviso.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Não possui.

5. Pós-condições

Após a validação do arquivo pelo sistema, os dados são armazenados.

6. Pontos de extensão

Não possui.

Page 119: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

118

Gerenciar Estimativa Projetos

Projeto: Sistema de Cálculo de Pontos por Caso de Uso

Sub-Sistema: Principal

Nome do Caso de Uso: Gerenciar Estimativa Projetos

Descrição: O caso de uso Gerenciar Estimativa Projetos tem como objetivo aplicar o

método de Pontos por Caso de Uso em um determinado projeto.

Page 120: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

119

Estimar Projeto

Projeto: Sistema de Cálculo de Pontos por Caso de Uso

Sub-Sistema: Gerenciar Estimativa Projetos

Nome do Caso de Uso: Estimar Projeto

1. Caso de Uso: CalcularComplexAtor.

1.1. Breve Descrição

O caso de uso Calcular Complexidade do Ator tem como objetivo calcular a

complexidade de cada ator envolvido no projeto.

1.2. Atores

Gerente de Projeto.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O sistema efetua o calculo da complexidade dos atores.

2.2. Fluxo Alternativo

1.a. Caso os dados de cadastro do projeto não tenha sido anteriormente

inseridos no sistema o mesmo retornara uma mensagem de erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Todos os dados necessários para o calculo devem já estar inseridos no

sistema.

5. Pós-condições

O sistema exibe o resultado do calculo.

6. Pontos de extensão

Não possui.

Page 121: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

120

1. Caso de Uso: CalcularComplexCasoUso.

1.1. Breve Descrição

O caso de uso Calcular Complexidade do Caso de Uso tem como objetivo

calcular a complexidade de cada caso de uso do projeto.

1.2. Atores

Gerente de Projeto.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O sistema efetua o calculo da complexidade dos casos de uso.

2.2. Fluxo Alternativo

1.a. Caso os dados de cadastro do projeto não tenha sido anteriormente

inseridos no sistema o mesmo retornara uma mensagem de erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Todos os dados necessários para o calculo devem já estar inseridos no

sistema.

5. Pós-condições

O sistema exibe o resultado do calculo.

6. Pontos de extensão

Não possui.

Page 122: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

121

1. Caso de Uso: CalcularPCUNaoAjustado.

1.1. Breve Descrição

O caso de uso Calcular Ponto de Caso de Uso Não Ajustado tem como

objetivo calcular os pontos por casos de uso ainda não ajustado do projeto.

1.2. Atores

Gerente de Projeto.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O sistema efetua o calculo dos pontos por casos de uso ainda não

ajustado.

2.2. Fluxo Alternativo

1.a. Caso os dados de cadastro do projeto não tenha sido anteriormente

inseridos no sistema o mesmo retornara uma mensagem de erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Antes que este caso de uso inicie e necessário que os casos de uso

CalcularComplexAtor e CalcularComplexCasoUso, já tenho sido anteriormente

executados.

5. Pós-condições

O sistema exibe o resultado do calculo.

6. Pontos de extensão

Não possui.

Page 123: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

122

1. Caso de Uso: CalcularPCUAjustado.

1.1. Breve Descrição

O caso de uso Calcular Ponto de Caso de Uso Ajustado tem como objetivo

calcular os pontos por casos de uso após o calculo dos fatores de ajuste do

projeto.

1.2. Atores

Gerente de Projeto.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O sistema efetua o calculo dos pontos por casos de uso ajustado.

2.2. Fluxo Alternativo

1.a. Caso os dados de cadastro do projeto não tenha sido anteriormente

inseridos no sistema o mesmo retornara uma mensagem de erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Antes que este caso de uso inicie e necessário que o calculo dos fatores de

ajuste, já tenham sido feitos anteriormente.

5. Pós-condições

O sistema exibe o resultado do calculo.

6. Pontos de extensão

Não possui.

Page 124: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

123

1. Caso de Uso: CalcularEsforcoHH.

1.1. Breve Descrição

O caso de uso Calcular Esforço Homem Horas tem como objetivo calcular o

esforço de horas de trabalho por caso de uso.

1.2. Atores

Gerente de Projeto.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O sistema efetua o calculo do esforço de horas de trabalho.

2.2. Fluxo Alternativo

1.a. Caso os dados de cadastro do projeto não tenha sido anteriormente

inseridos no sistema o mesmo retornara uma mensagem de erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Antes que este caso de uso inicie e necessário que o caso de uso

CalcularPCUAjustado, já tenham sido anteriormente executado.

5. Pós-condições

O sistema exibe o resultado do calculo.

6. Pontos de extensão

Não possui.

Page 125: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

124

1. Caso de Uso: EstimarPrazoEquipe.

1.1. Breve Descrição

O caso de uso Estimar Prazo da Equipe tem como objetivo estimar prazos

para o desenvolvimento do projeto.

1.2. Atores

Gerente de Projeto.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O sistema efetua a estimativa de prazos para o desenvolvimento do

projeto.

2.2. Fluxo Alternativo

1.a. Caso os dados de cadastro do projeto não tenha sido anteriormente

inseridos no sistema o mesmo retornara uma mensagem de erro.

3. Requisitos especiais

Não possui.

4. Pré-Condição

Antes que este caso de uso inicie e necessário que o caso de uso

CalcularEsforcoHH, já tenham sido anteriormente executado.

5. Pós-condições

O sistema exibe o resultado da estimativa.

6. Pontos de extensão

Não possui.

Page 126: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO

125

1. Caso de Uso: Consultar Estimativa.

1.1. Breve Descrição

O caso de uso Consultar Estimativas tem como objetivo consultar os projetos

já estimados.

1.2. Atores

Gerente de Projeto.

1.3. Gatilho

Gerente de Projeto seleciona a opção na interface do sistema.

2. Fluxo de Eventos

2.1. Fluxo Normal

1. O gerente de projeto seleciona um projetor já estimado para ser

consultado.

2. O sistema exibe as informações da estimativa do projeto.

2.2. Fluxo Alternativo

Não possui.

3. Requisitos especiais

Não possui.

4. Pré-Condição

O projeto já deve ter tido sua estimativa concluída.

5. Pós-condições

O sistema exibe o resultado completo da estimativa.

6. Pontos de extensão

Não possui.

Page 127: APOIO AUTOMATIZADO AO CÁLCULO DE ESTIMATIVA DE PROJETOS DE SOFTWARE UTILIZANDO O MÉTODO DE PONTOS DE CASO DE USO