Escolar Documentos
Profissional Documentos
Cultura Documentos
Alexandre Vasconcelos
(amlv@cin.ufpe.br)
1
Objetivos
Descrever as principais atividades da
engenharia de requisitos
Introduzir técnicas para a elicitação
e análise de requisitos
Descrever validação de requisitos
Discutir o gerenciamento de
requisitos
2
O Processo da Engenharia de
Requisitos
Estudo de Elicitação de
viabilidade requisitos e
análise
Especificação
de requisitos
Validação
Relatório de de requisitos
viabilidade
Requisitos do
usuário e do
sistema
Modelos do Documento de
sistema requisitos
3
Estudo de Viabilidade
O que é um estudo de viabilidade?
O que estudar e concluir?
Benefícios e custos
Análise de custo/benefício
Alternativas de comparação
4
Estudo de Viabilidade
Estudo que indica se o esforço em
desenvolver a idéia vale a pena
Visa tanto a tomada de decisão
Como a sugestão de possíveis
alternativas de solução
5
Estudo de Viabilidade
Deve oferecer informações para
ajudar na decisão
Se o projeto pode ou não ser feito
Se o produto final irá ou não beneficiar
os usuários interessados
Escolha das alternativas entre as
possíveis soluções
Há uma melhor alternativa?
6
O Que Estudar?
Sistema organizacional apresentado
Usuários, políticas, funções, objetivos,
etc.
Problemas com o sistema apresentado
Inconsistências, funcionalidades
inadequadas, performance, etc.
Objetivos e outros requisitos para o
novo sistema
O que precisa mudar?
7
O Que Estudar?
Restrições
Incluindo requisitos não-funcionais do
sistema (superficialmente)
Alternativas possíveis
Sistema atual é geralmente uma das
alternativas
Vantagens e desvantagens das
alternativas
8
Testes de Viabilidade
Operacional
Medida do grau de adequação da solução
para a organização
Avaliação de como as pessoas se sentem
sobre o sistema/projeto
Técnica
Avaliação da praticidade de uma solução
técnica específica e a disponibilidade dos
recursos técnicos e dos especialistas
9
Testes de Viabilidade
Cronograma
Avaliação de quão razoável está o
cronograma do projeto
Econômica
Avaliação de custo-eficiência de um
projeto ou solução
Conhecida como análise de custo/benefício
10
Viabilidade Operacional
Avalia a urgência do problema (visão e
fases de estudo) ou a aceitação da solução
(definição, seleção, aquisição, e fases do
projeto)
Há dois aspectos da viabilidade operacional
a serem considerados
O problema vale a pena ser resolvido ou a
solução proposta para o problema funcionará?
Como o usuário final e a gerência sentem-se
sobre o problema (solução)?
11
Viabilidade Técnica
A solução ou a tecnologia proposta é
prática?
Já possuímos a tecnologia necessária?
Já possuímos o conhecimento técnico
necessário?
12
Viabilidade de Cronograma
Dado nosso conhecimento técnico, os
prazos dos projetos são razoáveis?
Alguns projetos são iniciados com prazos
específicos
Você precisa determinar se os prazos são
obrigatórios ou desejáveis
Se são mais desejáveis que obrigatórios, o
analista pode propor outros cronogramas
13
Viabilidade Econômica
Talvez a mais crítica
Durante as fases iniciais do projeto, a análise
da viabilidade econômica consiste em julgar se
os possíveis benefícios de solucionar o problema
são ou não vantajosos
Tão logo os requisitos específicos e soluções
sejam identificados, o analista pode levar em
consideração os custos e benefícios de cada
alternativa
Isso é chamado de análise de custo-benefício
14
Tipos de Custos
Custos de desenvolvimento de
sistemas
Desenvolvimento e aquisição
Custos de instalação e de conversão
Custos operacionais (contínuo)
Manutenção
Pessoal
15
Análise Custo-Benefício
Há três técnicas principais
Análise do retorno financeiro (payback
analysis)
Retorno do investimento (return on
investments)
Valor atual líquido (Net present value)
16
Análise de Retorno do
Investimento
A técnica de análise de retorno do
investimento (ROI) compara os benefícios
das diferentes soluções ou projetos
O ROI para uma solução ou projeto é a taxa
percentual que mede a relação entre a
quantia que a empresa obtém de retorno ao
seu investimento e a quantia investida
17
Análise de Retorno do
Investimento
O ROI para uma solução ou projeto
potencial é calculado como a seguir:
ROI = (Benefícios totais - Custos totais) /
Custos totais
ROI = valor atual líquido / Custos totais
Ex: ROI = (22508,64-17321,20)/ 17321,20= 29,95%
EX: ROI = 5187,44/ 17321,20 = 29,95%
A solução que oferecer o ROI mais alto é a
melhor alternativa
18
Matriz de Viabilidade
Como nós comparamos alternativas
quando existem vários critérios de
seleção e nenhuma das alternativas é
superior em todos os aspectos?
Use uma Matriz de Análise de
Viabilidade!
19
Relatório de Viabilidade
Após o esforço inicial, discutido
anteriormente, deve-se elaborar um
relatório de viabilidade
Para cada aspecto apresentado, deve
haver seção de avaliação
Deve haver uma seção conclusiva sobre a
melhor alternativa ou que o sistema não é
viável
20
Exercício
Determine a viabilidade de (+ROI):
1. Sistema para uma padaria de pequeno
porte (Só caixa, no balcão também, etc.);
2. Sistema inteligente de preenchimento
do IRPF pela própria pessoa física;
3. Sistema para gerar alocação de
docentes, salas, horários, local de forma
otimizada.
21
Elicitação de requisitos e
análise
Esta atividade divide-se em dois
esforços maiores:
Elicitação dos requisitos em si
Técnicas de elicitação
Análise do que foi elicitado
Processo de análise
22
Que é um requisito?
Tanto pode ser
Uma declaração abstrata de alto nível de
um serviço
Como uma restrição do sistema
Quanto uma especificação funcional
matemática detalhada
23
Elicitação de Requisitos
Também denominada de descoberta de
requisitos
Envolve pessoal objetivando descobrir o
domínio de aplicação, serviços que devem
ser fornecidos bem como restrições
Deve envolver usuários finais, gerentes,
pessoal envolvido na manutenção,
especialistas no domínio, etc.
(Stakeholders).
24
Visão dos Requisitos
Requisitos do Usuário
Declarações em linguagem natural com
diagramas de serviços que o sistema deve
oferecer e suas restrições operacionais.
Escrito para os clientes
Requisitos do Sistema
Documento estruturado com descrições
detalhadas sobre os serviços do sistema.
Contrato entre cliente e fornecedor
25
Tipos de Requisitos
Requisitos Funcionais
Requisitos Não-Funcionais
Requisitos de Domínio
26
Requisitos Funcionais
Descreve funcionalidade e serviços do
sistema
Depende do
Tipo do software
Usuários esperados
Tipo do sistema onde o software é usado
27
Exemplos de R.F.
[RF001] Usuário pode pesquisar todo ou um
sub-conjunto do banco de dados
[RF002] Sistema deve oferecer
visualizadores apropriados para o usuário
ler documentos armazenados
[RF003] A todo pedido deve ser associado
um identificador único (PID), o qual o
usuário pode copiar para a área de
armazenamento permanente da conta
28
Exercício
Dê alguns exemplos de R.F.s para:
1. Sistema da padaria de pequeno porte;
2. Sistema inteligente de preenchimento
do IRPF;
3. Sistema de alocação docente.
29
Requisitos Não-Funcionais
Definem propriedades e restrições do
sistema (tempo, espaço, etc)
Requisitos de processo também podem
especificar o uso de determinadas
linguagens de programação, método de
desenvolvimento
Requisitos não-funcionais podem ser mais
críticos que requisitos funcionais. Não
satisfaz, sistema inútil.
30
Requisitos Não-Funcionais
Devido à sua própria definição,
requisitos não-funcionais são
esperados mensuráveis
Assim, deve-se associar forma de
medida/referência a cada requisito
não-funcional elicitado
31
Medidas de Requisitos
(Não-Funcionais)
Propriedade Medida
Velocidade Transações processadas/seg
Tempo de resposta do usuário/evento
Tamanho K bytes
No de chips de RAM
Facilidade de uso Tempo de treinamento
No de quadros de ajuda
Confiabilidade Tempo médio de falhas
Probabilidade de indisponibilidade
Taxa de ocorrência de falhas
Robustez Tempo de reinício após falha
Percentual de eventos causando falhas
Probabilidade de corrupção de dados após falha
Portabilidade Percentual de declarações dependentes do destin
No de sistemas destino
32
Classificação de R. N. F.
Requisitos do Produto
Produto deve comportar-se de forma particular
(velocidade de execução, confiabilidade, etc.)
Requisitos Organizacionais
Conseqüência de políticas e procedimentos
organizacionais (padrões de processo usados,
requisitos de implementação, etc.)
Requisitos Externos
Conseqüência de fatores externos ao sistema e
ao processo de desenvolvimento (legislação,
etc.)
33
Exemplos de R. N. F.
Requisitos do Produto
[RNF001] Toda consulta ao B.D., baseada em
código de barras, deve resultar em até 5 s
Requisitos Organizacionais
[RNF002] Todos os documentos entregues
devem seguir o padrão de relatórios XYZ-00
Requisitos Externos
[RNF003] Informações pessoais do usuário não
devem ser vistas pelos operadores do sistema
34
Exercício
Dê alguns exemplos de R.N.F.s para:
1. Sistema da padaria de pequeno porte;
2. Sistema inteligente de preenchimento
do IRPF;
3. Sistema de alocação docente.
35
Requisitos de Domínio
Derivados do domínio da aplicação e
descrevem características do sistema e
qualidades que refletem o domínio
Podem ser requisitos funcionais novos,
restrições sobre requisitos existentes ou
computações específicas
Se requisitos de domínio não forem
satisfeitos, o sistema pode tornar-se
impraticável
36
Requisitos de Domínio
(Problemas)
Entendimento
Requisitos são descritos na linguagem do
domínio da aplicação
Não é entendido pelos engenheiros de
software que vão desenvolver a aplicação
Implicitude
Especialistas no domínio entendem a área
tão bem que não tornam todos os
requisitos de domínio explícitos
37
Requisitos de Domínio
(Exemplo 1)
A desaceleração do trem deve ser
computada através da fórmula
Dtrem=Dcontrole+Dgradiente onde ...
38
Exercício
Dê alguns exemplos de domínio para:
1. Sistema da padaria de pequeno porte;
2. Sistema inteligente de preenchimento
do IRPF;
3. Sistema de alocação docente.
39
Requisitos
Requisitos
Usuário Sistema
40
Técnicas de Elicitação
Entrevistas
Questionários
Casos de Uso
Jogo de Funções
Brainstorming
Workshop de Requisitos
41
Entrevistas
Técnica direta
Pode ser usada na análise do problema e na
elicitação de requisitos
Objetivo
Entender os problemas reais e soluções
potenciais das perspectivas dos usuários,
clientes, e outros stakeholders
42
Entrevistas
Quem são o cliente e o usuário?
Possuem necessidades diferentes?
Quais são suas
Capacidades
Backgrounds
Ambientes, etc.
Qual é o problema?
Como é resolvido atualmente?
43
Entrevistas
Qual a razão para resolvê-lo?
Qual o valor de uma solução bem-
sucedida?
Onde mais uma solução pode ser
encontrada?
45
Casos de Uso
Discuta com o cliente o que o sistema
fará
Identique quem interage com o
sistema
Identique que interfaces o sistema
terá
46
Casos de Uso
Verifique se não há requisitos
faltando
Verifique que os desenvolvedores
entendem os requisitos
Vantagem é ter apelo visual dos
requisitos mais relevantes do cliente
47
Jogo de Funções
Engenheiro de requisitos
Assume a função do usuário ou cliente
Entender o domínio do problema
Cliente
Assume a função do usuário
Entender os problemas que podem passar
48
Brainstorming
Regras para Brainstorming
Estabeleça o objetivo da sessão
Gere quantas idéias for possível
Deixe sua imaginação livre
Não admita críticas ou debates
Ajuste e combine as idéias
49
Workshop de Requisitos
Põe todos os stakeholders
juntos por um período
intensivo (focado)
Facilitador conduz a reunião
Todos têm sua vez de falar
Resultados são disponíveis
imediatamente
Provê um ambiente para
aplicar outras técnicas de
elicitação
50
Exercício
Quais técnicas poderiam ser usadas
em:
1. Sistema da padaria de pequeno porte;
2. Sistema inteligente de preenchimento
do IRPF;
3. Sistema de alocação docente.
51
Análise de Requisitos
Definição e
Documento
especificação
de requisitos
de requisitos
7 8
Validação
dos requisitos
Entendimento 6
Atrib. Prioridade
Entrada do do domínio
1
processo 5
2 4
Coleta de Resolução
requisitos de conflito
3
Classificação
52
Entendimento do Domínio
Desenvolver sistemas envolve domínios
além de software e hardware
Podemos ter que entender sobre
Contabilidade
Saúde
Supermercados
Etc.
53
Coleta de Requisitos
Como vimos anteriormente, a coleta de
requisitos é feita através de técnicas
Nesta etapa, os requisitos são
simplesmente documentados à medida
que são coletados
Resulta em documento preliminar
(draft)
54
Classificação dos Requisitos
Esta etapa consiste basicamente em
agrupar os diversos requisitos coletados
em categorias (clusters) bem-definidos
Por exemplo
Deve ser possível consultar o preço de uma
mercadoria
A consulta deve retornar uma resposta em no
máximo 5s
55
Problema da Análise de
Requisitos
Stakeholders em geral não sabem o
que querem
Stakeholders expressam requisitos
em sua terminologia
Stakeholders diferentes podem gerar
requisitos conflitantes
56
Problema da Análise de
Requisitos
Fatores políticos e organizacionais
podem influenciar os requisitos do
sistema
Requisitos mudam durante o processo
de análise. Stakeholders novos podem
surgir e o ambiente de trabalho
mudar
57
Resolução de Conflitos
É normal que ocorram requisitos
conflitantes
Por exemplo
R-23: O sistema deve ...
R-45: O sistema não deve ...
Cliente/usuário deve ser consultado
para resolver conflitos
(ambigüidades)
58
Atribuição de Prioridade
Alguns requisitos são mais urgentes
que outros
É essencial determinar a prioridade
dos requisitos junto ao cliente
Requisitos de maior prioridade são
considerados em primeiro lugar
59
Prioridade
Requisitos podem ser vistos em três
classes distintas
Essenciais
Importantes
Desejáveis
Em princípio, sistema deve resolver
todos os requisitos de essenciais para
desejáveis
60
Exemplo de Prioridade
[RF001] Consulta X ao B.D. deve retornar
dados A, B, C
Prioridade: Essencial
[RNF001] Consulta X ao B.D. deve visualizar
dados segundo padrão Y
Prioridade: Importante
[RNF010] Consulta X ao B.D. deve usar
cores azuis nos resultados
Prioridade: Desejável
61
Validação dos Requisitos
Será que realmente entendi o que o
cliente deseja?
Devo me certificar de que não houve
falha em nossa interação
(comunicação)
Há diversas técnicas de validação
62
Validação de Requisitos
Demonstrar que os requisitos definem o
sistema que o cliente realmente deseja
Custos com erros de requisitos são altos
Consertar um erro de requisitos após entrega
do sistema pode custar mais de 100 vezes o
custo de um erro de implementação
63
Técnicas de Validação de
Requisitos
Revisões de Requisitos
Análise manual sistemática dos requisitos
Prototipação
Uso de modelo executável do sistema para
avaliar requisitos
Geração de Casos de Teste
Desenvolver testes específicos para os
requisitos para avaliá-los
Análise de Consistência Automática
Avaliar uma especificação dos requisitos
64
Gerenciamento de Requisitos
Gerenciamento de requisitos é o
processo de controlar as mudanças
dos requisitos durante
O processo da engenharia de requisitos
E desenvolvimento do sistema
65
Gerenciamento de Requisitos
Requisitos são inevitavelmente incompletos
e inconsistentes
Requisitos novos surgem durante o processo de
acordo com mudanças nas necessidades do
negócio e um entendimento melhor do sistema é
desenvolvido
Diferentes pontos de vista têm diferentes
requisitos e esses geralmente são
contraditórios
66
Rastreamento
Responsável por dependências entre
requisitos, suas origens e projeto do
sistema
Rastreamento de Origem
Associação entre requisitos e
stakeholders que propuseram tais
requisitos
67
Rastreamento
Rastreamento de Requisitos
Associação entre requisitos dependentes
Rastreamento de Projeto
Associação dos requisitos com o projeto
Usar hipertexto ou referência
cruzada
Ou matriz de rastreamento
68
Rastreamento
1.Rastrear requisitos do
Requisitos usuário nos do sistema
Produto Req A 2.Rastrear requisitos no
(Características) projeto
1 3.Rastrear requisitos nos
procedimentos de teste
Requisitos 4.Rastrear requisitos do
Detalhados Req B usuário no plano
(Casos de Uso)
2 3 4
Req B Req B
Req C Req C
71
Documento de Requisitos
Fonte: IEEE/ANSI (830-1998)
2. Descrição geral
2.1 Perspectiva do produto
2.2 Funções do produto
2.3 Características dos usuários
2.4 Restrições gerais
2.5 Assertivas e dependências
72
Documento de Requisitos
Fonte: IEEE/ANSI (830-1998)
3. Requisitos específicos
requisitos funcionais, não-funcionais, GUI com
o usuário:
funcionalidade, interfaces externas,
Alexandre Vasconcelos
(amlv@cin.ufpe.br)
74
Objetivos
Introduzir conceitos de use case,
ator e fluxo de eventos
Apresentar sub-fluxos de eventos
Discutir sobre identificação, evolução
e organização de use cases
Apresentar notação UML para reusar
atores e use cases
75
Use Case
Seqüência de
ações, executada
pelo sistema, que
gera um resultado
De valor observável
Função E para ator
particular
Emissor/Receptor
77
Use Case e Ator
Função
Emissor
Função
Receptor
78
Use Case e Ator
A descrição de um use case define o
que o sistema faz quando o use case é
realizado
A funcionalidade do sistema é
definida por um conjunto de use
cases, cada um representando um
fluxo de eventos específico
79
Use Case e Ator
Descrição
Passo 1
Passo 2
…
Passo N
Emissor
Função
80
Exemplo de Use Case e Ator
Cliente de banco pode usar um caixa
automático para
sacar dinheiro, transferir dinheiro ou
consultar o saldo da conta
Ator: Cliente
Use cases: Sacar dinheiro, transferir
dinheiro e consultar saldo
81
Exemplo de Use Case e Ator
Valor de
resultado
observável
Transferir
dinheiro
Sacar Consultar
dinheiro saldo
Cliente 82
Identificando Use Cases
Em geral, difícil decidir entre um ou
vários use cases
Por exemplo, seriam use cases
Inserir cartão em um Caixa Automático?
Entrar com a senha?
Receber o cartão de volta?
83
Identificando Use Cases
Representar valor observável para
ator
Pode-se determinar
De interações (seqüência de ações) com o
sistema que resultam valores para atores
Satisfaz um objetivo particular de um
ator que o sistema deve prover
84
Identificando Use Cases
Facilitar gerenciamento durante ciclo
de desenvolvimento
A razão para agrupar funcionalidades e
chamá-las de use cases
85
Exercício
Tenho um sistema que é acionado 2
vezes por dia (às 10:20hs e 17:20hs),
enviando-me um SMS. Também tenho
como obter resultado semelhante
acessando tal funcionalidade a partir
de meu celular (web browser). Crie os
casos de uso correspondentes.
86
Evolução de Use Cases
Inicialmente use cases são simples
Apenas esboço sobre funcionamento é
suficiente
Mas com a sedimentação da modelagem
Descrição mais detalhada do fluxo de eventos
faz-se necessária
Fluxo de eventos deve ser refinado
Todos os stakeholders envolvidos devem estar
de acordo com a descrição
87
Organizando Use Cases
Sistema pequeno não demanda
estruturação
Exemplo, seis use cases, com dois/três
atores
Já sistemas maiores requerem
princípios de estruturação e
organização
Caso contrário, planejamento, atribuição
de prioridades, etc., podem se tornar
difíceis 88
Pacote de Use Case
Primeiro esforço de estruturação
Agrupam-se use cases relacionados
em único container
89
Pacote de Use Cases
Clientes
Clientes :: Atendimento
90
Reuso em Use Cases
Comportamento comum a mais de dois
use cases (ou forma parte
independente)
Pode-se modelar como use case para ser
reusado
Há três possibilidades
Inclusão
Extensão
Generalização/Especialização
91
Inclusão
Vários use cases possuem texto de
fluxo de eventos
Comum/idêntico
Sempre usado
Equivalente a fatoração feita em
programação através de sub-
programas
#include da linguagem C
92
Inclusão
Como exemplo, tanto “Sacar dinheiro”
quanto “Consultar saldo” necessitam da
senha
Pode-se criar novo use case “Autenticar
usuário” e incluí-lo
Mas atenção
NÃO SE DEVE CRIAR USE CASES MÍNIMOS
Deve haver ganho no reuso
93
Inclusão
Autenticar
<< include >> << include >>
usuário
Sacar Consultar
dinheiro saldo
94
Inclusão
Descrição de Consultar saldo
Fluxo de Eventos Principal:
include (Autenticar usuário). Sistema pede a
Cliente que selecione tipo de conta (corrente,
etc). ...
95
Extensão
Use case pode ser estendido por
outro
Extensão de funcionalidade/Caso
excepcional
Extensão ocorre em pontos
específicos
Pontos de extensão
96
Extensão
Há também inclusão de texto (fluxo
de eventos)
Porém sob condições particulares
Pode ser usada para
Simplificar fluxos de eventos complexos
Representar comportamentos opcionais
Lidar com exceções
97
Extensão
Atendimento Atendimento
de urgência
Pontos de extensão
urgente
98
Extensão
Descrição de Atendimento
Fluxo de Eventos Principal:
Colete os itens do pedido. (urgente).
Submeta pedido para processamento.
99
Especialização
Use case pode especializar outro
Adição/refinamento do fluxo de eventos
original
Especialização permite modelar
comportamento de estruturas de
aplicação em comum
100
Especialização
∆
Atendimento Atendimento
de urgência
∆
Cliente Cliente
comercial 101
Fluxo de Eventos
Parte mais importante de um use case
Atividade de requisitos
Define a seqüência de ações entre o
ator e o sistema
102
Fluxo de Eventos
Geralmente em linguagem natural
Uso preciso de termos definidos no
glossário de acordo com o domínio do
problema
Também expresso formalmente
Pré e pós-condições (ou pseudo-código)
103
Exemplo de Fluxo de Eventos
Um esboço inicial sobre Sacar
dinheiro seria
1. O use case inicia quando o Cliente
insere um cartão no CA. Sistema lê e
valida informação do cartão
2. Sistema pede a senha. Cliente entra
com a senha. Sistema valida a senha.
3. Sistema pede seleção do serviço.
Cliente escolhe “Sacar dinheiro”
104
Exemplo de Fluxo de Eventos
Um esboço inicial sobre Sacar
dinheiro seria
4. Sistema pede a quantia a sacar. Cliente
informa.
5. Sistema pede seleção da conta
(corrente, etc). Cliente informa.
6. Sistema comunica com a rede para
validar a conta, senha e o valor a sacar.
105
Exemplo de Fluxo de Eventos
Um esboço inicial sobre Sacar
dinheiro seria
7. Sistema pede remoção do cartão.
Cliente remove.
8. Sistema entrega quantia solicitada.
106
Exercício
Remodele exercício anterior para
mostrar a situação excepcional
quando o serviço pode ser solicitado
pelo browser do celular.
107
Fluxo de Eventos
Na descrição do que o sistema faz
através de fluxos de eventos
completos
Surgem caminhos alternativos
Casos diferentes a considerar
Efeitos/valores diferentes a produzir
Eventualmente descreve todos esses
caminhos possíveis
108
Sub-fluxos de Eventos
Fluxo de eventos visto como
Vários sub-fluxos de eventos
Sub-fluxos são descritos como
Principal
Alternativos/excepcionais
Abordagem visa reuso de fluxos de
eventos (sub-fluxos)
109
Exemplo de Sub-fluxos
Seja o use case Validar usuário
Fluxo principal:
O use case inicia quando o sistema pede ao Cliente a
senha. Cliente entra com senha. Sistema verifica se a
senha é válida. Se a senha é válida, sistema confirma e
termina o use case.
Fluxo excepcional:
Cliente pode cancelar a transação a qualquer momento
pressionando a tecla ESC, reiniciando o use case. Nenhuma
modificação é feita na conta do Cliente.
Fluxo excepcional:
Se Cliente entra com senha inválida, o use case reinicia.
110
Diagrama de Atividades
Descreve fluxo de tarefas
Aspectos dinâmicos de um sistema
Podem também ser usados para criar
sistemas executáveis
Depende do nível de detalhamento e grau de
execução dos elementos usados
Alternativa para modelar fluxos de
eventos de casos de uso
111
Diagrama de atividades: exemplo
112
Exercício
Remodele o exercício anterior usando
um diagrama de atividade no lugar de
linguagem natural
113
Diagramas de Use Cases
Caracterizar limites da funcionalidade
do sistema
Use cases são organizados dentro de um
diagrama
Em diagramas de use cases
Atores são relacionados por
generalização/especialização
114
Exemplo de Diagrama
Sistema de validação
de cartão de crédito
Transação de
cartão
Cliente Instituição
∆ ∆ Processa
fatura vendedora
Reconcilia
transações
Cliente Cliente
Gerencia
individual corporativo conta
Financeira
115
Bibliografia
Sommerville, I. Software Engineering
Kruchten, P. The Rational Unified
Process: An Introduction. 2nd Ed
Booch, G. et al. The Unified Modeling
Language User Guide.
116