Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC...

61
Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado

Transcript of Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC...

Page 1: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Planejamento de Software

Leonardo Sameshima TabaPaulo Eduardo Papotti

Engenharia de Software        PPG-CCProfa. Dra. Rosângela Aparecida Delloso Penteado

Page 2: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Métricas de Software

Page 3: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

O que é métrica?

Muitos termos são usados, indistintamente, mas representam conceitos distintos.

• Medida• Medição• Métrica• Indicador

Page 4: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Métricas Orientadas a Tamanho

Erros por KLOC (milhares de linhas de código), defeitos por KLOC, $ por KLOC e páginas de documentação por KLOC. Adicionalmente, outras métricas interessantes podem ser calculadas: erros por pessoa-mês, KLOC por pessoa-mês, $ por página de documentação.

Page 5: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Métricas Orientadas a Tamanho

• Vantagens

• Desvantagens

Page 6: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Métricas Orientadas a Tamanho

Vantagens

• Fáceis de serem obtidas• Vários modelos de medidas• Baseados em LOC ou KLOC

 Desvantagens

• LOC depende da linguagem de programação• Penalizam programas bem projetados, • Mas pequenos• Não se adaptam às linguagens não procedimentais• Difícil de obter em fase de planejamento

Page 7: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Métricas Orientadas a Função

• Métricas de software orientadas a função usam uma medida de funcionalidade entregue pela aplicação como valor de normalização.

• A métrica orientada a função mais amplamente usada é a pontos por função (function point – FP).

Page 8: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Pontos por Função

Page 9: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Fatores de Ajuste - Fi

1. O sistema requer salvamento (backup) e recuperação (recovery)?2. Comunicações de dados são necessárias?3. Há funções de processamento distribuídas?4. O desempenho é crítico?5. O sistema vai ser executado em um ambiente operacional existente, intensamente utilizado?6. O sistema requer entrada de dados on-line?7. A entrada de dados on-line exige que a transação de entrada seja construída através de várias telas ou operações?8. Os arquivos mestre são atualizados on-line?9. As entradas, saídas, arquivos ou consultas são complexas?10. O processamento interno é complexo?11. O código é projetado para ser reusado?12. A conversão e a instalação estão incluídas no projeto?13. O sistema está projetado para instalações múltiplas em diferentes organizações?14. A aplicação está projetada para facilitar modificações e para facilidade de uso pelo usuário?

Page 10: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Classificação das Fi

Cada resposta deve obedecer a uma escala de 0 a 5., em que 0 significa não-importante ou não-aplicável e 5 absolutamente essencial.

PF = total de contagem x [0,65 + 0,01 x Σ(Fi)] 

Artigo para consulta

Albrecht, A. J. "Measuring Application Development Productivity". Proc. IBM Application Development Sysmposium, Monterey, CA, out. de 1979, p 83-92.

Page 11: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Métricas Orientadas a Função

• Vantagens

• Desvantagens

Page 12: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Vantagens• Independentes da linguagem;• Ideal para aplicações que usam linguagem não procedimental;• Se baseiam em dados mais fáceis de serem conhecidos

durante a evolução do projeto. 

Desvantagens• Cálculo baseado em dados subjetivos;• Resultado é apenas um número.

Métricas Orientadas a Função

Page 13: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.
Page 14: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Exemplo de utilização de PF

Page 15: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Pontos por caso de uso

A análise de sistemas Orientados a Objetos utiliza normalmente, os diagramas de Casos de Uso para descrever as funcionalidades do sistema.

Permite que seja possível estimar o tamanho do sistema ainda na fase de levantamento de Casos de Uso.

Grau de detalhe dos Casos de Uso analisados influencia diretamente na qualidade final da medição.

Page 16: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

1. Calcular total de pesos não ajustados dos atores

Relacionar os atores, classificá-los de acordo com seu nível de complexidade (simples, médio ou complexo)

TPNAA = 1*numAtoresSimples + 2*numAtoresMedio + 3*NumAtoresComplexo

Page 17: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

2. Calcular pesos não ajustados dos casos de uso

Contar os casos de uso e atribuir o grau de complexidade sendo a complexidade com base no número de classes e transações.

TPNAUC= 5*numCasoUsoSimples + 10*numCasoUsoMedio + 15*NumCasoUsoComplexo

Page 18: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

3. Calcular pontos de casos de uso não ajustados

PCUNA = TPNAA + TPNAUC 

Page 19: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

4. Calcular fator de complexidade técnica

FCT = 0.6 + (0.01 * Somatório dos Ti*Peso)

Page 20: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

5. Calcular fatores de complexidade ambiental

FCA = 1.4 + (-0.03 * Somatório dos Fi*Peso)

Page 21: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

6. Calcular pontos de casos de uso ajustados

PCUA = PCUNA * FCT * FCA 

Page 22: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

7. Calculos finais

• Pessoa-hora por unidade de PCU (Karner sugere 20)• Estimativa em pessoa-hora (PCUA * PH-PCU)• Tamanho da equipe (dado de entrada• Estimativa em horas(EPH/TE)• Estimativa em meses (EH/160 - considerando 4

semanas e 40 horas por semana)

Artigo para consultaKarner, G. "Resource Estimation for Objectory Projects". ObjectiveSystems SF AB (copyright owned by Rational Software), 1993

Page 23: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Exemplo de utilização de PCU

Page 24: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Estimativas de software

Page 25: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Objetivos do planejamento de projeto

• Obter estimativas de recursos, custo e tempo

• Tentar definir cenários de melhor caso, caso mais provável e pior caso

Page 26: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Escopo

• Primeira atividade do planejamento • Deve ser detalhado, fechado e não ambíguo

 • Definido em acordo com o cliente

   • O projeto é factível?

Page 27: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Recursos

Page 28: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Estimando

• Atualmente, o software é o componente mais caro de sistemas computacionais

• É importante estimar o mais precisamente possível

• Não é uma atividade exata • Técnicas de decomposição• Modelos empíricos

Page 29: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Técnicas de decomposição

• Dimensionamento de softwareo Dim. de "lógica nebulosa"o Dim. de pontos de funçãoo Dim. de componentes padrãoo Dim. de modificação

• Estimativa de três pontos ou valor esperado

S = (Sot + 4Spr + Spe) / 6

Page 30: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Estimativa baseada no problema

• A partir do escopo, decompõe o software em funções do problema

• LOC ou FP, variáveis de estimativa, são estimadas a partir das funções

• Métricas de produtividade como LOC/pm ou FP/pm são aplicadas à variavel

• As estimativas de cada função são combinadas para produzir uma estimativa global do projeto

• São feitas estimativas otimistas, mais prováveis e pessimistas

S = (Sot + 4Spr + Spe) / 6

Page 31: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Estimativa baseada no problema - LOC

Produtividade média: 620 LOC/pmCusto médio: $8000/mêsCusto por LOC: $13    Custo total: $431.000     Esforço: 54 pm

Page 32: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Estimativa baseada no problema - FP

Page 33: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Estimativa baseada no problema - FP

Page 34: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Estimativa baseada no problema - FP

FPestimados = total x [0.65 + 0.01 x E(Fi)]FPestimados = 375

Produtividade média: 6,5 FP/pmCusto médio: $8000/mêsCusto por FP: $1230Custo total: $461.000Esforço estimado: 58 pm

Page 35: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Estimativa baseada em processo

• Como na estimação baseada no problema, o software é decomposto em suas funções 

 • O processo de desenvolvimento também é dividido

 • É estimado o esforço necessário para cada parte

do processo de cada função • Métricas de produtividade como custo por

undidade de esforço são aplicadas

Page 36: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Estimativa baseada em processo

Custo médio: $8000/mêsCusto total: $368.000           Esforço estimado: 46 pm

Page 37: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Modelos empíricos

• Desenvolvidos através de experimentação com amostras de diversos projetos

 • Estrutura

 

 • Seus resultados devem ser analisados com

cuidado

E = A + B x (ve)c

Page 38: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Modelos empíricos

• Baseados em LOC

• Baseados em FP

Page 39: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

COCOMO II

• Pontos por objeto • Quantidade de

o Telas (interface)o Relatórioso Componentes 

• Classificação em três níveis de complexidade

Page 40: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

COCOMO II

• NOP = (pontos por objeto) x [(100 - %reúso)/100] • PROD = NOP/pessoas-mês (esforço)•      Esforço estimado = NOP/PROD

Page 41: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Equação do software

• E = [LOC x B0.333/P]3 x (1/t4)• E = esforço em pessoas-mês ou pessoas-ano• t = duração do projeto em meses ou anos• B = “fator de aptidões especiais”• Aumenta lentamente à medida que o projeto se torna mais

complexo. Para programas pequenos (de 5 a 15 KLOC), B = 0,16. Para programas maiores que 70 KLOC, B =0,39

• P = “parâmetro de produtividade”• Reflete a maturidade global do processo e práticas de gestão.

Valores típicos podem ser P = 2.000 para um sistema embarcado de tempo real, P = 10.000 para software de telecomunicações e P = 28.000 para sistemas comerciais

Page 42: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Comprar ou fazer?

• Normalmente, comprar um componente pronto é mais barato que desenvolvê-lo

• Árvore de decisões

• Terceirização

Page 43: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Árvore de decisão

custo estimado =E (probabilidade do caminho)ix (custo estimado do caminho)i

Page 44: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Resumindo

• Estimaro Quanto tempo,o Quanto esforço eo Quantas pessoas serão necessárias

• Utilizando o escopoo Técnicas de decomposiçãoo Modelos empíricos

• Deve-se utilizar mais de uma estimativa para aumentar a precisão

Page 45: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Gestão de configuração de software

Page 46: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Gestão de configuração de software (SCM)

 • Controlar mudanças

• Atidade “umbrella”, ocorrendo por todo o ciclo de vida do software

• Objetivo: Aumentar ao máximo a facilidade com que mudanças são gerenciadas no decorrer do projeto

Page 47: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Elementos de um sistema de gestão de configuração

 • Elementos de componente

 • Elementos de processo

 • Elementos de construção

 • Elementos humanos

Page 48: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Item de configuração de software (SCI)

• Informações que são criadas como parte do processo de desenvolvimento de software

• São organizados para formar objetos de configuração

Page 49: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Objetos de configuração

Page 50: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Baseline (referenciais)

• Itens de configuração de software armazenados que passaram por análise e revisões técnicas e foram aprovados.

• Exemplos de itens de baseline:o Especificação do sistemao Requisitos do softwareo Especificação do projetoo Código fonteo Planos e casos de testeo Sistema operacional

Page 51: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Baseline

Page 52: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Repositório

• Além de ser um SGBD, deve auxiliar nas tarefas de SCMo Determinação de versão

 o Acompanhamento de dependências e gestão de

modificações  

o Acompanhamento de requisitos 

o Gestão de configuração 

o Pistas de auditoria

Page 53: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Processo de SCM

• Identificar • Controle de versão • Controle de modificação • Auditoria de configuração • Status reporting

Page 54: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Identificação de objetos

• Abordagem orientada a objetos • Dois tipos

o Objetos simples Unidades de informação

o Objetos agregados Coleção de objetos simples e agregados

 • Objeto

o Nomeo Descriçãoo Lista de recursoso "Realização"

Page 55: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Controle de versão

• Repositório (banco de dados de projeto)

• Capacidade de gestão de versão • Facilidade de construir

 • Acompanhamento de tópicos (bugs)

 • Exemplos: CVS, SVN (não são sistemas "de

construção")

Page 56: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Controle de modificação

• Pedido de modificação• Relatório de modificação• Autoridade de controle de modificação (change

control authority, CCA)• Ordem de modificação de engenharia (engineering

change order, ECO)• Modificação é feita• Atividades de qualidade (software quality

assurance, SQA)• Atualização no repositório

Page 57: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

• Deve-se tomar cuidado com burocracia demais • Camadas de controle

 o Nível informal

SCI não está no baseline  

o Nível de projeto SCI está no baseline

 o Nível formal

Produto já foi entregue

Controle de modificação

Page 58: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Auditoria de configuração

• Como garantir que as modificações foram adequadamente implementadas?

 • Revisões técnicas formais

 • Auditoria de configuração

Page 59: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Auditoria de configuração

• 6 questões:• A modificação especificada na ECO foi feita?• Uma revisão técnica formal foi conduzida para

avaliar a correção técnica?• O processo de software foi seguido e as normas de

ES foram aplicadas?• A modificação foi refletida no SCI? O autor e a data

da modificação foram registrados?• Os procedimentos da SCM para anotar a

modificação, registrá-la e relatá-la foram seguidos?• Todos os SCIs relacionados foram adequadamente

atualizados?

Page 60: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Status reporting

• Questões:o O que aconteceu?o Quem fez?o Quando aconteceu?o O que mais será afetado?

 • Relatório de estado de configuração (configuration

status reporting, CSR)o Todas as modificações no gerenciamento da

configuração são relatadoso Pode ser colocado em um BD on-line ou site

Page 61: Planejamento de Software Leonardo Sameshima Taba Paulo Eduardo Papotti Engenharia de Software PPG-CC Profa. Dra. Rosângela Aparecida Delloso Penteado.

Bibliografia

[1] Pressman, R. S. - Engenharia de Software - 6ª edição 

[2] Pressman, R. S. - Software Engineering, A Practitioner's Approach - 5th edition

[3] Karner, G. "Resource Estimation for Objectory Projects". ObjectiveSystems SF AB (copyright owned by Rational Software), 1993

[4] Albrecht, A. J. "Measuring Application Development Productivity". Proc. IBM Application Development Sysmposium, Monterey, CA, out. de 1979, p 83-92.

[5] Heimberg, V. Grahl, E. A. Estudo de Caso de Aplicação da Métrica de Pontos deCasos de Uso numa Empresa de Software. Disponível em: http://www.inf.furb.br/seminco/2005/artigos/130-vf.pdf. Acesso: 03/04/2010