Anda di halaman 1dari 60

Open-source Education

Palestrante / Instrutor
• Kleber Xavier

• Formado em Engenharia Mecatrônica pela POLI-USP e Mestrando


em Engenharia de Software pelo IME-USP
• Experiência Internacional em projetos em Cingapura e Equador
• Certificações:Java Programmer(SJCP), Web Component
Developer(SCWCD), Business Component Developer(SCBCD) e
Enterprise Architect(SCEA-I).
• Instrutor Globalcode;
Agenda

 Conceitos Gerais
 Casos de Uso
 Diagrama de Casos de Uso
 Documentos de Casos de Uso
 Diagrama de Atividades
 Unified Process
 Pontos de Caso de Uso
 Estudo de Caso
Agenda

 Conceitos Gerais
 Casos de Uso
 Diagrama de Casos de Uso
 Documentos de Casos de Uso
 Diagrama de Atividades
 Unified Process
 Pontos de Caso de Uso
 Estudo de Caso
Conceitos Gerais
 Requisito: condição ou capacidade que um sistema deve
atender.
 Requisito funcional: descreve uma funcionalidade que deve
ser fornecida pelo sistema.
Ex: cadastrar novos produtos, gerar relatório de vendas,etc.
 Requisito não funcional: descreve características do
sistema não relacionadas a funcionalidades.
Ex: performance, escalabilidade, etc.
Conceitos Gerais
 Técnicas para levantamento de requisitos:
• Entrevista
• Workshop
• Brainstorming
• Prototipagem
Agenda
 Conceitos Gerais
 Casos de Uso
 Diagrama de Casos de Uso
 Documentos de Casos de Uso
 Diagrama de Atividades
 Unified Process
 Pontos de Caso de Uso
 Estudo de Caso
Casos de Uso
 Representam uma unidade funcional fornecida pelo
sistema.
 Conceito criado por Ivar Jacobson.
 Cada caso de uso captura um ou mais cenários que
descrevem como o sistema deve interagir com os usuários
para atingir determinada meta ou funcionalidade.
 Importância dos casos de uso:
• Modelagem de requisitos funcionais
• Estimativa de esforço
• Planejamento de testes
Agenda
 Conceitos Gerais
 Casos de Uso
 Diagrama de Casos de Uso
 Documentos de Casos de Uso
 Diagrama de Atividades
 Unified Process
 Pontos de Caso de Uso
 Estudo de Caso
Diagrama de Casos de Uso
 Diagrama da UML utilizado para representação gráfica dos
casos de uso.
 Seus principais elementos são:
• Caso de uso
• Ator
• Associação
• Relacionamento de inclusão
• Relacionamento de extensão
• Generalização
Diagrama de Casos de Uso

 Caso de uso: representado graficamente por uma elipse


com o nome do caso de uso.
Diagrama de Casos de Uso

 Ator: representa um papel representado por uma pessoa,


sistema ou dispositivo que interage com o sistema.
Diagrama de Casos de Uso
 Associação: representa a interação entre um ator e um
caso de uso.
Diagrama de Casos de Uso
 Relacionamento de inclusão: relacionamento entre casos
de uso no qual um caso de uso inclui incondicionalmente
outro caso de uso.
Diagrama de Casos de Uso
 Relacionamento de extensão: relacionamento entre casos
de uso no qual um caso de uso pode estender a
funcionalidade de outro caso de uso.
Diagrama de Casos de Uso
 Generalização: relacionamento no qual um ator ou caso de
uso possui as mesmas características de um elemento
base, mais suas características específicas.
Diagrama de Casos de Uso
 Os diagramas de casos de uso visam dois objetivos
principais:
• Definição de escopo: permitem que sejam visualizadas
as funcionalidades presentes no sistema.
• Identificação de papéis: permitem identificar quem
interage com o sistema e a que funcionalidades tem
acesso.
 Não permitem detalhar os passos necessários para
implementação da funcionalidade.
Agenda
 Conceitos Gerais
 Casos de Uso
 Diagrama de Casos de Uso
 Documentos de Casos de Uso
 Diagrama de Atividades
 Unified Process
 Pontos de Caso de Uso
 Estudo de Caso
Documentos de Casos de Uso
 Texto que descreve as características relevantes do caso
de uso.
 Apresenta informações que não podem ser representadas
no diagrama de casos de uso.
 Existem diversos modelos de documentos.
Documentos de Casos de Uso
 Algumas informações importantes que devem fazer parte
do documento de caso de uso:
• Nome
• Contexto: uma breve descrição do caso de uso.
• Ator primário: qual o principal usuário do caso de uso.
• Pré-condições: o que se espera que já tenha sido.
realizado antes da execução do caso de uso.
Documentos de Casos de Uso
 Outras informações importantes:
• Pós-condições: condições esperadas no sistema após a
execução do caso de uso.
• Cenário principal de sucesso: lista de passos que
devem ser seguidos na situação normal para completar
o caso de uso.
• Cenários alternativos: lista de passos que devem ser
seguidos em situações anormais ou alternativas.
Agenda
 Conceitos Gerais
 Casos de Uso
 Diagrama de Casos de Uso
 Documentos de Casos de Uso
 Diagrama de Atividades
 Unified Process
 Pontos de Caso de Uso
 Estudo de Caso
Diagrama de Atividades
 Diagrama da UML utilizado para representar o fluxo de
atividades dentro de um processo.
 No contexto da análise de requisitos, pode ser utilizado
para detalhamento dos passos de um caso de uso.
 Semelhantes a fluxogramas.
Elementos do Diagrama de Atividades
 Atividade: representa uma etapa em um processo.
Elementos do Diagrama de Atividades
 Transição: fluxo de uma atividade para outra.
Elementos do Diagrama de Atividades
 Condição de guarda:condição necessária para a realização
da transição.
Elementos do Diagrama de Atividades
 Decisão: dependendo de uma condição, mostra as
diferentes transições.
Elementos do Diagrama de Atividades
 Ponto de junção: mostra a união de atividades em um único
fluxo.
Elementos do Diagrama de Atividades
 Início e fim: indicam o início e o término do fluxo de
atividades.
Elementos do Diagrama de Atividades
 Concorrência: indica atividades executando em paralelo.
Elementos do Diagrama de Atividades
 Raia: separa as atividades de acordo com o ator que as
executa.
Agenda
 Conceitos Gerais
 Casos de Uso
 Diagrama de Casos de Uso
 Documentos de Casos de Uso
 Diagrama de Atividades
 Unified Process
 Pontos de Caso de Uso
 Estudo de Caso
Unified Process
 Estabelece um conjunto de tarefas para transformar os
requisitos do cliente em um software.
 Baseado em desenvolvimento iterativo utilizando os
seguintes elementos:
• Atividades: tarefas a serem realizadas.
• Trabalhadores: aqueles que realizam as tarefas.
• Artefatos: documentos produzidos pelas tarefas.
• Workflow: define a ordem na qual as atividades são
executadas.
Unified Process
 Cada workflow tem seu conjunto de trabalhadores,
atividades e artefatos bem definido.
 O processo unificado define os seguintes workflows:
• Requisitos
• Análise
• Projeto
• Implementação
• Testes
Unified Process
 O processo é dividido em quatro fases:
• Concepção
• Elaboração
• Construção
• Transição
 Em cada fase podem ser executadas diversas iterações,
onde cada iteração corresponde a um ciclo completo,
desde a captura de requisitos até a execução de testes.
Unified Process
Agenda
 Conceitos Gerais
 Casos de Uso
 Diagrama de Casos de Uso
 Documentos de Casos de Uso
 Diagrama de Atividades
 Unified Process
 Pontos de Caso de Uso
 Estudo de Caso
Pontos de Caso de Uso
 Metodologia para estimativa de esforço de
desenvolvimento de sistemas de software.
 Criada por Gustav Karner em 1993.
 Baseada no princípio de que o tamanho do software está
relacionado as funcionalidades que o usuário enxerga no
sistema (casos de uso).
 Semelhante ao método de pontos de função.
Pontos de Caso de Uso
 A metodologia envolve os seguintes passos:
1. Contagem do número de atores (UAW): somam-se os
atores envolvidos em todos os casos de uso aplicando-
se um peso de acordo com sua complexidade.

Classificação Peso Descrição

simples 1 Sistema com API bem definida

médio 2 Sistema através de protocolo de


comunicação
complexo 3 Usuário via interface gráfica
Contagem de Atores

• Para um sistema com 1 ator médio e 4 complexos:

UAW = 1 * 2 + 4 * 3 = 14
Contagem de Casos de Uso
2. Contagem dos casos de uso (UUCW) : somam-se os os
casos de uso aplicando-se um peso de acordo com sua
complexidade.
Classificação Peso Descrição

simples 5 3 ou menos transações

médio 10 4 a 7 transações

complexo 15 Mais de 7 transações


Contagem de Casos de Uso
• Para um sistema com 3 casos de uso simples, 6 médios
e 1 complexos:

UUCW = 3 * 5 + 6 * 10 + 1 * 15 = 90
Complexidade Técnica
3. Estabelecer o fator de complexidade técnica (TCF):
calculado aplicando-se um valor de 0 a 5 a cada um dos
fatores técnicos e multiplicando pelo respectivo peso. O
valor encontrado (Tfactor) é aplicado na fórmula.
TCF = 0,6 + (0,01*Tfactor)

Fator Peso
Sistema distribuído 2
Tempo de resposta 1
Eficiência do usuário final 1
Processamento complexo 1
Complexidade Técnica
Fator Peso
Código reutilizável 1
Facilidade de instalação 0,5
Facilidade de uso 0,5
Portabilidade 2
Facilidade de mudanças 1
Concorrente 1
Segurança 1
Acesso a sistemas de terceiros 1
Treinamento especial necessário 1
Fator de Ambiente
4. Estabelecer o fator de ambiente (EF): calculado
aplicando-se um valor de 0 a 5 a cada um dos fatores
de ambiente e multiplicando pelo respectivo peso. O
valor encontrado (Efactor) é aplicado na fórmula.
EF = 1,4 + (-0,03*Efactor)
Fator Peso
Familiaridade com processo 1,5
Experiência em desenvolvimento 0,5
Experiência em OO 1
Capacitação do analista líder 0,5
Fator de Ambiente

Fator Peso
Motivação 1
Estabilidade dos requisitos 2
Trabalhadores em tempo parcial -1
Linguagem de programação -1
Cálculo Final
5. Aplicar a fórmula para o cálculo do número de pontos
de caso de uso.
UCP = (UAW + UUCW) * TCF * EF
6. Transformar o número de pontos calculados em número
de horas. O método original recomenda atribuir 20
horas a cada ponto. Experiências de mercado tem
mostrado que este valor fica entre 15 e 30 horas.
Agenda
 Conceitos Gerais
 Casos de Uso
 Diagrama de Casos de Uso
 Documentos de Casos de Uso
 Diagrama de Atividades
 Unified Process
 Pontos de Caso de Uso
 Estudo de Caso
Sistema de Vendas Online
 Apresentamos a seguir um exemplo de utilização de casos
de uso para um sistema de vendas online.
Diagrama de Casos de Uso
Documento de Casos de Uso
 Exemplo de documento para o caso de uso Comprar
Produtos:

Nome Comprar Produtos (VO-03)


Contexto O ator primário deseja comprar produtos
oferecidos pelo catálogo da loja online.
Ator primário Cliente
Pré-condições O cliente está logado no sistema.
Pós- É criado um pedido de compras para o
condições cliente.
Documento de Casos de Uso
Cenário 1 – cliente solicita compra de produtos
principal de 2 – cliente visualiza catalogo de produtos
sucesso (caso de uso VO-02)
3 – cliente seleciona produto para compra.
4 – sistema adiciona o produto no carrinho
de compras do cliente.
cliente repete passos 3 e 4 até indicar que
terminou
5 – cliente efetua pagamento (caso de uso
VO-06).
6 – sistema cria um pedido.
7 – sistema confirma criação de pedido
para cliente.
Documento de Casos de Uso
Cenários 3a – cliente remove um produto da lista de
alternativos compras:
.1 – sistema remove o produto do
carrinho de compras
4a – carrinho de compras inexistente:
.1 sistema cria um carrinho de compras
para o cliente.
volta ao passo 4
Pontos de Caso de Uso
1. Contagem de atores: 1 ator complexo
UAW = 1*3 = 3

2. Contagem de casos de uso: 4 casos de uso simples e 4


médios
UUCW = 4 * 5 + 4 * 10 = 60
Pontos de Caso de Uso
3. Fator de complexidade técnica :
Fator Peso Valor Valor
ajustado
Sistema distribuído 2 3 6

Tempo de resposta 1 2 2

Eficiência do usuário final 1 1 1

Processamento complexo 1 3 3

Código reutilizável 1 3 3

Facilidade de instalação 0,5 0 0

Facilidade de uso 0,5 0 0


Pontos de Caso de Uso
Fator Peso Valor Valor
ajustado
Portabilidade 2 1 2

Facilidade de mudanças 1 3 3

Concorrente 1 1 1

Segurança 1 1 1

Acesso a sistemas de terceiros 1 1 1

Treinamento especial necessário 1 0 0

TCF = 0,6 + (0,01 * 23) = 0,83


Pontos de Caso de Uso
4. Fator de ambiente :
Fator Peso Valor Valor
ajustado
Familiaridade com processo 1,5 3 4,5

Experiência em desenvolvimento 0,5 5 2,5

Experiência em OO 1 5 5

Capacitação do analista líder 0,5 5 2,5

Motivação 1 4 4

Estabilidade dos requisitos 2 4 8


Pontos de Caso de Uso
Fator Peso Valor Valor
ajustado
Trabalhadores em tempo parcial -1 0 0

Linguagem de programação -1 1 -1

EF = 1,4 + (-0,03 * 25,5) = 0,635


Cálculo Final
5. Cálculo do número de pontos de caso de uso:
UCP = (3 + 60) * 0,83 * 0,635 = 33,20
6. Número de horas:
estimativa = 33,20 * 20 = 664 horas
Referências
 Alistair Cockburn – Escrevendo Casos de Uso Eficazes
 Brazilian Function Point User Group:
http://www.bfpug.com.br
 Pontos de Casos de Uso – Kirsten Ribu