SlideShare une entreprise Scribd logo
1  sur  59
Use-Case 2.0
Incorporando Práticas Ágeis aos Casos de Uso
Eu sou Jean
Hauck
Dr. Engenharia do Conhecimento
Mestre em Ciência da Computação
Graduado em Ciência da Computação
Certified Professional for Requirements Engineering
Professor INE/CTC/UFSC
Site: https://www.inf.ufsc.br/~jeanhauck/
LinkedIn: https://br.linkedin.com/in/jeanhauck
Olá!
• 5 campi
• 55 doutorados, 58 mestrados,
116 cursos de graduação
• +45,000 estudantes
• +2,000 professores
• +3,000 técnicos
• 5 campi
• 55 doutorados, 58 mestrados,
116 cursos de graduação
• +45,000 estudantes
• +2,000 professores
• +3,000 técnicos
Graduação: Ciências da
Computação, Sistemas de
Informação
Pós-Graduação: Ciência
da Computação, Métodos e
Gestão em Avaliação
http://ine.ufsc.br/
http://www.gqs.ufsc.br/
“Pesquisa científica, desenvolvimento e transferência de
modelos, métodos e ferramentas de engenharia de
software, para apoiar a melhoria da qualidade e
produtividade de software.”
• Melhoria de Processos de Software (CMMI, MPS.BR, ISO/IEC 29110, ISO/IEC 15504, etc.)
• Gerenciamento de Projetos de Software
• Ensino de Engenharia de Software / Jogos Educacionais
• Interação Humano-Computador / Engenharia de Usabilidade
Agenda desta Palestra
◉ Casos de Uso
◉ Motivação para Use-Case 2.0
◉ Os seis Princípios
◉ Use-Case Slices e Stories
◉ Como utilizar na prática?
Casos de Uso
Histórico e Conceitos
1
Histórico dos Casos de Uso
OOPSLA
87Conceito
apresentado
USE
CASE 2.0
2001
Manifesto
Ágil
Adoção
Inicial
1992
Livro: OOSE Use
Case Driven
Approach
1996
Use Cases
incorporados à
UML
Incorporando
práticas
ágeis
User
Stories
2011
“
Use Cases: a sequence of actions
a system performs that yields an
observable result of value to a
particular user.
Ivar Jacobson
[JACOBSON et al,
2011]
Ator
Um papel desempenhado
por um usuário ou qualquer
outro sistema que interage
com o sistema-alvo
(subject).
Conceitos de Casos de Uso
Caso de Uso
Um comportamento que um
sistema pode executar em
colaboração com um ou
mais atores. Um “diálogo“
entre atores e o sistema.
[OMG, 2015]
Narrativa
Texto em linguagem natural
que descreve o conjunto de
comportamentos realizados
pelos casos de uso.
Conceitos de Casos de Uso
[OMG, 2015]
Sistema
O “sujeito” ao qual se refere
o Caso de Uso. Aquele
responsável pelo
comportamento descrito no
Caso de Uso
[OMG, 2015, pp. 637]
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
Caso de Uso
Ator
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
Sistema (Subject)
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
Narrativa de Caso de Uso
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
FB – Fluxo Base
1. Atendente abre novo cadastro de Cliente
2. Atentente informa documento do Cliente
…
9. Sistema grava o novo cadastro
FA1 – Fluxo Alternativo 1 – Cliente com Compra
2.1. Atendente seleciona última compra do Cliente
2.2. Sistema carrega dados da última compra
2.3. Sistema calcula …
…
FA2 – Fluxo Alternativo 2 – Cliente sem Compra
…
FA3 – Fluxo Alternativo 3 – Crédito não Aprovado
…
Narrativa de Caso de Uso
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
FB – Fluxo Base
1. Atendente abre novo cadastro de Cliente
2. Atentente informa documento do Cliente
…
9. Sistema grava o novo cadastro
FA1 – Fluxo Alternativo 1 – Cliente com Compra
2.1. Atendente seleciona última compra do Cliente
2.2. Sistema carrega dados da última compra
2.3. Sistema calcula …
…
FA2 – Fluxo Alternativo 2 – Cliente sem Compra
…
FA3 – Fluxo Alternativo 3 – Crédito não Aprovado
…
Narrativa de Caso de Uso
FB FA1 FA2 FA3
Motivação para Use-Case 2.0
O advento das abordagens ágeis e os Casos de Uso
2
[https://www.youtube.com/watch?v=Af4NbMZxmIQ]
Uma estória ...
Porque Use Case
2.0
“
Use-Case 2.0: A scalable, agile practice
that uses use-cases to capture a set of
requirements and drive the incremental
development of a system to fulfill them
Ivar Jacobson
[JACOBSON et al, 2011]
Os seis Princípios
Adotando Casos de Uso com sucesso!
3
[http://www.denneen.com/]
É tudo uma
questão de
Princípios ...
Os Seis Princípios para adoção
de Use-Case 2.0
Keep it Simple
Contar histórias é a
maneira mais simples e
eficaz para transmitir
conhecimento de uma
pessoa para outra. Os
Casos de Uso
fornecem uma maneira
de identificar e capturar
todas as histórias de
uma forma simples e
abrangente
The big Picture
Compreender o
sistema como um todo
é essencial. Um
diagrama de Caso de
Uso é uma maneira
simples de apresentar
uma visão geral dos
requisitos de um
sistema
Focus on value
Valor é gerado quando
um sistema é usado.
Os Casos de Uso
focam em como o
sistema é utilizado para
atingir um objetivo
específico para um
determinado utilizador.
[JACOBSON et al, 2016]
Slices
Sistemas podem ser
muito grandes, então
devem ser
implementados em
partes: identificar a
coisa mais útil que o
sistema deve fazer,
pegar essa
funcionalidade e cortar
em fatias finas, estimar
e começar a
implementar
Deliver in
increments
Sitemas grandes são
desenvolvidos/evoluem
em incrementos. Cada
incremento fornece
uma versão
demonstrável ou
utilizável do sistema.
Adapt
Não existe bala de
prata! Use-Case 2.0
deve ser adaptado à
realidade da
organização. A equipe
deve decidir se quer ir
além do essencial,
detalhando as histórias.
Os Seis Princípios para adoção
de Use-Case 2.0
[JACOBSON et al, 2016]
Use-Case Slices e
Stories
Alinhando os Casos de Uso às abordagens ágeis
4
“
Use cases capture the requirements, and
each use case is scope managed by
slicing it up into a set of use-case slices.
Telling stories bridges the gaps between
the stakeholders, the use cases, and the
use-case slices.
Ivar Jacobson
[JACOBSON et al, 2016]
Use Case Slices
Uma ou mais histórias selecionadas e
agrupadas a partir de um Caso de Uso para
formar um item de trabalho que entrega valor
para o cliente
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
FB – Fluxo Base
1. Atendente abre novo cadastro de Cliente
2. Atentente informa documento do Cliente
…
9. Sistema grava o novo cadastro
FA1 – Fluxo Alternativo 1 – Cliente com Compra
2.1. Atendente seleciona última compra do Cliente
2.2. Sistema carrega dados da última compra
2.3. Sistema calcula …
…
FA2 – Fluxo Alternativo 2 – Cliente sem Compra
…
FA3 – Fluxo Alternativo 3 – Crédito não Aprovado
…
Narrativa de Caso de Uso
FB FA1 FA2 FA3
FB FA1 FA2 FA3
FB FA1 FA2 FA3
Cliente Comum
História
FB FA1 FA2 FA3
Cliente com
CompraCliente Comum
História
FB FA1 FA2 FA3
Cliente com
CompraCliente Comum Crédito Não
Aprovado
História
FB FA1 FA2 FA3
Cliente com
CompraCliente Comum Crédito Não
Aprovado
Crédito
Aprovado
História
FB FA1 FA2 FA3
Cliente com
CompraCliente Comum Crédito Não
Aprovado
Crédito
Aprovado
Slice UC01.01 Slice UC01.02 Slice UC01.03
Cliente com
CompraCliente Comum Crédito Não
Aprovado
Crédito
Aprovado
Slice UC01.01 Slice UC01.02 Slice UC01.03
Slicing
• Criar itens de tamanho
adequado
• Ajustar ao prazo e ao
orçamento
• Entregar o maior valor
para as partes
interessadas
• Evidenciar o
andamento do projeto
ou a compreensão das
necessidades
Scoped Prepared Analyzed
Implemente
d
Verified
Estados dos Use-Case Slices
Inserido no
escopo;
Histórias
identificadas
Narrativa
expandida;
Casos de Teste
definidos
Impacto nos
componentes
de software
entendido
Codificação
realizada e
pronta para
testes
Considerado
pronto para ser
incluído no
release
Slice UC01.01
Iníci
o
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
Primeiro
Incremento
Slice UC01.01
Iníci
o
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
Primeiro
Incremento
Segundo
Incremento
Slice UC01.01
Slice UC01.02
Slice UC01.01
Iníci
o
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
Primeiro
Incremento
Segundo
Incremento
Slice UC01.01
Slice UC02.01
Slice UC01.02
Slice UC01.01
Slice UC01.02
Terceiro
Incremento
Slice UC01.01
Iníci
o
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
Primeiro
Incremento
Segundo
Incremento
Terceiro
Incremento
Quarto
Incremento
Slice UC01.01
Slice UC02.01
Slice UC01.02
Slice UC01.01
Slice UC01.02
Slice UC02.01
Slice UC01.01
Slice UC01.02
Slice UC02.02
Slice UC02.03
Slice UC01.03
Slice UC01.01
Iníci
o
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
Primeiro
Incremento
Segundo
Incremento
Terceiro
Incremento
Quarto
Incremento
Release
Pronto
Slice UC01.01
Slice UC02.01
Slice UC01.02
Slice UC01.01
Slice UC01.02
Slice UC02.01
Slice UC01.01
Slice UC01.02
Slice UC02.02
Slice UC02.03
Slice UC01.03
Release
Candidate
Slice UC01.01
Iníci
o
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
Primeiro
Incremento
Segundo
Incremento
Terceiro
Incremento
Quarto
Incremento
Release
Pronto
Slice UC01.01
Slice UC02.01
Slice UC01.02
Slice UC01.01
Slice UC01.02
Slice UC02.01
Slice UC01.01
Slice UC01.02
Slice UC02.02
Slice UC02.03
Slice UC01.03
Release
Candidate
[JACOBSON et al, 2011]
Sistema
Pronto
Sistema
Entregue
Em qual nível de Detalhe?
Seguindo o princípio de adaptar à realidade da
organização, os Casos de Uso podem ser
definidos em diferentes níveis de detalhe no Use-
Case 2.0
Limites do
Sistema
Estabelecidos
Modelo de
Casos de Uso
Narrativa de
Casos de Uso
Realização de
Casos de Uso
Caso de Teste
Requisitos
Complementare
s
Rascunho
Essencial
Melhorado
Valor
Estabelecido
Expandido
Expandido++
Itens
Numerados
Brevemente
Descrito
Estruturado
Essencial
Detalhadamente
Descrito
Elementos de
Implementação
Identificados
Responsabilida-
des Alocadas
Detalhadamente
Descrito
Cenários
Identificados
Ideias de Teste
Formuladas
Variáveis
Identificadas
Variáveis
Definidas
Scripts
Automatizados
Especificação
Simplificada
Esboçado
Modelado e
Ilustrado
Definido de
Forma
Abrangente
[JACOBSON et al, 2011]
Como utilizar na prática?
Algumas alternativas de Implementação
5
[www.skydive.com/photo14.htm]
UseCase Slice
Test Case
Iniciado
Iniciado
Scoped Prepared
Analyzed
Implemente
d
Verified
Alguma Pergunta ?
Entre em contato:
◉ jean.hauck@ufsc.br
◉ https://www.inf.ufsc.br/~jeanhauck/
◉ https://br.linkedin.com/in/jeanhauck
Obrigado!
Referências
JACOBSON, Ivar; Spence, Ian; Bittner, Kurt. USE-CASE 2.0 - The Guide to Succeeding with Use
Cases. Ivar Jacobson International, 2011. Disponível em:
https://www.ivarjacobson.com/publications/white-papers/use-case-ebook
JACOBSON, Ivar; Spence, Ian; Bittner, Kurt. USE-CASE 2.0 - The Hub of Software Development.
ACM Queue, January-February, 2016.
OMG – Object Management Group. OMG Unified Modeling Language TM (OMG UML), Version 2.5.
Technical report formal/2015-03-01, 2015. Disponível em: http://www.omg.org/spec/UML/2.5/
Credits
Special thanks to all the people who made and
released these awesome resources for free:
◉Presentation template by SlidesCarnival
◉Photographs by Unsplash
Licença
Atribuição-Uso-Não-Comercial-Compartilhamento pela Licença 2.5 Brasil
Exceto os materiais/imagens explicitamente referenciados*, você pode:
- copiar, distribuir, exibir e executar a obra
- criar obras derivadas
Sob as seguintes condições:
Atribuição — Você deve dar crédito ao autor original, da forma especificada pelo autor ou
licenciante.
Uso Não-Comercial — Você não pode utilizar esta obra com finalidades comerciais.
Compartilhamento pela mesma Licença — Se você alterar, transformar, ou criar outra obra com
base nesta, você somente poderá distribuir a obra resultante sob uma licença idêntica a esta.
Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-sa/2.5/br/ ou
mande uma carta para Creative Commons, 171 Second Street, Suite 300, San Francisco, California,
94105, USA.
*Os materiais explicitamente referenciados seguem as licenças estabelecidas nos originais.

Contenu connexe

Similaire à Use-Case 2.0: Incorporando práticas ágeis

TEORIA GERAL DE SISTEMAS - Prototipo Controle Financeiro
TEORIA GERAL DE SISTEMAS - Prototipo Controle FinanceiroTEORIA GERAL DE SISTEMAS - Prototipo Controle Financeiro
TEORIA GERAL DE SISTEMAS - Prototipo Controle FinanceiroDiogo Rocha Ferreira de Menezes
 
1 estrutura e commerce para alavancar negócios-termo+de+abertura+do+projeto
1 estrutura e commerce para alavancar negócios-termo+de+abertura+do+projeto1 estrutura e commerce para alavancar negócios-termo+de+abertura+do+projeto
1 estrutura e commerce para alavancar negócios-termo+de+abertura+do+projetoandre sabaliuskas
 
[SIN-NA7] Gestão de Projetos e Empreendedorismo - Atividade: Status Report
[SIN-NA7] Gestão de Projetos e Empreendedorismo - Atividade: Status Report[SIN-NA7] Gestão de Projetos e Empreendedorismo - Atividade: Status Report
[SIN-NA7] Gestão de Projetos e Empreendedorismo - Atividade: Status ReportAlessandro Almeida
 
Scrum Gathering Rio 2016 - Cinco Desafios na Definição de uma Metodologia Ági...
Scrum Gathering Rio 2016 - Cinco Desafios na Definição de uma Metodologia Ági...Scrum Gathering Rio 2016 - Cinco Desafios na Definição de uma Metodologia Ági...
Scrum Gathering Rio 2016 - Cinco Desafios na Definição de uma Metodologia Ági...Rafael Targino
 
Scrum Gathering Rio 2016 - Cinco Desafios na Definição de uma Metodologia Ági...
Scrum Gathering Rio 2016 - Cinco Desafios na Definição de uma Metodologia Ági...Scrum Gathering Rio 2016 - Cinco Desafios na Definição de uma Metodologia Ági...
Scrum Gathering Rio 2016 - Cinco Desafios na Definição de uma Metodologia Ági...Marena Cutnei
 
Projeto organização área comercial e de serviços
Projeto   organização área comercial e de serviçosProjeto   organização área comercial e de serviços
Projeto organização área comercial e de serviçoslucasbissoliba
 
Dicas diagrama de casos de uso
Dicas diagrama de casos de usoDicas diagrama de casos de uso
Dicas diagrama de casos de usoRita Almeida
 
Scrum: Uma Aplicação em uma Software House
Scrum: Uma Aplicação em uma Software HouseScrum: Uma Aplicação em uma Software House
Scrum: Uma Aplicação em uma Software HouseUnimed Planalto Médio
 
Gt5 - Plano de Projeto
Gt5 - Plano de ProjetoGt5 - Plano de Projeto
Gt5 - Plano de ProjetoManoel Mota
 
Modelo Planejamento Estratégico
Modelo Planejamento EstratégicoModelo Planejamento Estratégico
Modelo Planejamento EstratégicoLuiz Francisco Bozo
 
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdfPedro Alcantara
 
Exemplo especificacaoderequisitos(locadora)
Exemplo especificacaoderequisitos(locadora)Exemplo especificacaoderequisitos(locadora)
Exemplo especificacaoderequisitos(locadora)Bruno Santana
 

Similaire à Use-Case 2.0: Incorporando práticas ágeis (20)

Proj informacional cap06
Proj informacional cap06Proj informacional cap06
Proj informacional cap06
 
Wellington Vasconcelos - Priorização de requisitos
Wellington Vasconcelos - Priorização de requisitosWellington Vasconcelos - Priorização de requisitos
Wellington Vasconcelos - Priorização de requisitos
 
TEORIA GERAL DE SISTEMAS - Prototipo Controle Financeiro
TEORIA GERAL DE SISTEMAS - Prototipo Controle FinanceiroTEORIA GERAL DE SISTEMAS - Prototipo Controle Financeiro
TEORIA GERAL DE SISTEMAS - Prototipo Controle Financeiro
 
1 estrutura e commerce para alavancar negócios-termo+de+abertura+do+projeto
1 estrutura e commerce para alavancar negócios-termo+de+abertura+do+projeto1 estrutura e commerce para alavancar negócios-termo+de+abertura+do+projeto
1 estrutura e commerce para alavancar negócios-termo+de+abertura+do+projeto
 
Aula 02, 18 02 15 sistemas de producao
Aula 02, 18 02 15 sistemas de producaoAula 02, 18 02 15 sistemas de producao
Aula 02, 18 02 15 sistemas de producao
 
TCC2 - Seminário de andamento
TCC2 - Seminário de andamentoTCC2 - Seminário de andamento
TCC2 - Seminário de andamento
 
[SIN-NA7] Gestão de Projetos e Empreendedorismo - Atividade: Status Report
[SIN-NA7] Gestão de Projetos e Empreendedorismo - Atividade: Status Report[SIN-NA7] Gestão de Projetos e Empreendedorismo - Atividade: Status Report
[SIN-NA7] Gestão de Projetos e Empreendedorismo - Atividade: Status Report
 
Scrum Gathering Rio 2016 - Cinco Desafios na Definição de uma Metodologia Ági...
Scrum Gathering Rio 2016 - Cinco Desafios na Definição de uma Metodologia Ági...Scrum Gathering Rio 2016 - Cinco Desafios na Definição de uma Metodologia Ági...
Scrum Gathering Rio 2016 - Cinco Desafios na Definição de uma Metodologia Ági...
 
Scrum Gathering Rio 2016 - Cinco Desafios na Definição de uma Metodologia Ági...
Scrum Gathering Rio 2016 - Cinco Desafios na Definição de uma Metodologia Ági...Scrum Gathering Rio 2016 - Cinco Desafios na Definição de uma Metodologia Ági...
Scrum Gathering Rio 2016 - Cinco Desafios na Definição de uma Metodologia Ági...
 
Projeto organização área comercial e de serviços
Projeto   organização área comercial e de serviçosProjeto   organização área comercial e de serviços
Projeto organização área comercial e de serviços
 
Dicas diagrama de casos de uso
Dicas diagrama de casos de usoDicas diagrama de casos de uso
Dicas diagrama de casos de uso
 
Scrum: Uma Aplicação em uma Software House
Scrum: Uma Aplicação em uma Software HouseScrum: Uma Aplicação em uma Software House
Scrum: Uma Aplicação em uma Software House
 
Gt5 - Plano de Projeto
Gt5 - Plano de ProjetoGt5 - Plano de Projeto
Gt5 - Plano de Projeto
 
[Parfor] esw aula 04
[Parfor] esw   aula 04[Parfor] esw   aula 04
[Parfor] esw aula 04
 
modeloplanest01
modeloplanest01modeloplanest01
modeloplanest01
 
Totem Pessoal (Totem Mobile)
Totem Pessoal (Totem Mobile)Totem Pessoal (Totem Mobile)
Totem Pessoal (Totem Mobile)
 
Modelo Planejamento Estratégico
Modelo Planejamento EstratégicoModelo Planejamento Estratégico
Modelo Planejamento Estratégico
 
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
 
Exemplo especificacaoderequisitos(locadora)
Exemplo especificacaoderequisitos(locadora)Exemplo especificacaoderequisitos(locadora)
Exemplo especificacaoderequisitos(locadora)
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 

Use-Case 2.0: Incorporando práticas ágeis

  • 1. Use-Case 2.0 Incorporando Práticas Ágeis aos Casos de Uso
  • 2. Eu sou Jean Hauck Dr. Engenharia do Conhecimento Mestre em Ciência da Computação Graduado em Ciência da Computação Certified Professional for Requirements Engineering Professor INE/CTC/UFSC Site: https://www.inf.ufsc.br/~jeanhauck/ LinkedIn: https://br.linkedin.com/in/jeanhauck Olá!
  • 3. • 5 campi • 55 doutorados, 58 mestrados, 116 cursos de graduação • +45,000 estudantes • +2,000 professores • +3,000 técnicos • 5 campi • 55 doutorados, 58 mestrados, 116 cursos de graduação • +45,000 estudantes • +2,000 professores • +3,000 técnicos
  • 4. Graduação: Ciências da Computação, Sistemas de Informação Pós-Graduação: Ciência da Computação, Métodos e Gestão em Avaliação http://ine.ufsc.br/
  • 5. http://www.gqs.ufsc.br/ “Pesquisa científica, desenvolvimento e transferência de modelos, métodos e ferramentas de engenharia de software, para apoiar a melhoria da qualidade e produtividade de software.” • Melhoria de Processos de Software (CMMI, MPS.BR, ISO/IEC 29110, ISO/IEC 15504, etc.) • Gerenciamento de Projetos de Software • Ensino de Engenharia de Software / Jogos Educacionais • Interação Humano-Computador / Engenharia de Usabilidade
  • 6. Agenda desta Palestra ◉ Casos de Uso ◉ Motivação para Use-Case 2.0 ◉ Os seis Princípios ◉ Use-Case Slices e Stories ◉ Como utilizar na prática?
  • 7. Casos de Uso Histórico e Conceitos 1
  • 8. Histórico dos Casos de Uso OOPSLA 87Conceito apresentado USE CASE 2.0 2001 Manifesto Ágil Adoção Inicial 1992 Livro: OOSE Use Case Driven Approach 1996 Use Cases incorporados à UML Incorporando práticas ágeis User Stories 2011
  • 9. “ Use Cases: a sequence of actions a system performs that yields an observable result of value to a particular user. Ivar Jacobson [JACOBSON et al, 2011]
  • 10. Ator Um papel desempenhado por um usuário ou qualquer outro sistema que interage com o sistema-alvo (subject). Conceitos de Casos de Uso Caso de Uso Um comportamento que um sistema pode executar em colaboração com um ou mais atores. Um “diálogo“ entre atores e o sistema. [OMG, 2015]
  • 11. Narrativa Texto em linguagem natural que descreve o conjunto de comportamentos realizados pelos casos de uso. Conceitos de Casos de Uso [OMG, 2015] Sistema O “sujeito” ao qual se refere o Caso de Uso. Aquele responsável pelo comportamento descrito no Caso de Uso
  • 13. Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido
  • 14. Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido Caso de Uso
  • 15. Ator Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido
  • 16. Sistema (Subject) Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido
  • 17. Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido Narrativa de Caso de Uso
  • 18. Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido FB – Fluxo Base 1. Atendente abre novo cadastro de Cliente 2. Atentente informa documento do Cliente … 9. Sistema grava o novo cadastro FA1 – Fluxo Alternativo 1 – Cliente com Compra 2.1. Atendente seleciona última compra do Cliente 2.2. Sistema carrega dados da última compra 2.3. Sistema calcula … … FA2 – Fluxo Alternativo 2 – Cliente sem Compra … FA3 – Fluxo Alternativo 3 – Crédito não Aprovado … Narrativa de Caso de Uso
  • 19. Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido FB – Fluxo Base 1. Atendente abre novo cadastro de Cliente 2. Atentente informa documento do Cliente … 9. Sistema grava o novo cadastro FA1 – Fluxo Alternativo 1 – Cliente com Compra 2.1. Atendente seleciona última compra do Cliente 2.2. Sistema carrega dados da última compra 2.3. Sistema calcula … … FA2 – Fluxo Alternativo 2 – Cliente sem Compra … FA3 – Fluxo Alternativo 3 – Crédito não Aprovado … Narrativa de Caso de Uso FB FA1 FA2 FA3
  • 20. Motivação para Use-Case 2.0 O advento das abordagens ágeis e os Casos de Uso 2
  • 22. Uma estória ... Porque Use Case 2.0
  • 23.
  • 24. “ Use-Case 2.0: A scalable, agile practice that uses use-cases to capture a set of requirements and drive the incremental development of a system to fulfill them Ivar Jacobson [JACOBSON et al, 2011]
  • 25. Os seis Princípios Adotando Casos de Uso com sucesso! 3
  • 27. Os Seis Princípios para adoção de Use-Case 2.0 Keep it Simple Contar histórias é a maneira mais simples e eficaz para transmitir conhecimento de uma pessoa para outra. Os Casos de Uso fornecem uma maneira de identificar e capturar todas as histórias de uma forma simples e abrangente The big Picture Compreender o sistema como um todo é essencial. Um diagrama de Caso de Uso é uma maneira simples de apresentar uma visão geral dos requisitos de um sistema Focus on value Valor é gerado quando um sistema é usado. Os Casos de Uso focam em como o sistema é utilizado para atingir um objetivo específico para um determinado utilizador. [JACOBSON et al, 2016]
  • 28. Slices Sistemas podem ser muito grandes, então devem ser implementados em partes: identificar a coisa mais útil que o sistema deve fazer, pegar essa funcionalidade e cortar em fatias finas, estimar e começar a implementar Deliver in increments Sitemas grandes são desenvolvidos/evoluem em incrementos. Cada incremento fornece uma versão demonstrável ou utilizável do sistema. Adapt Não existe bala de prata! Use-Case 2.0 deve ser adaptado à realidade da organização. A equipe deve decidir se quer ir além do essencial, detalhando as histórias. Os Seis Princípios para adoção de Use-Case 2.0 [JACOBSON et al, 2016]
  • 29. Use-Case Slices e Stories Alinhando os Casos de Uso às abordagens ágeis 4
  • 30. “ Use cases capture the requirements, and each use case is scope managed by slicing it up into a set of use-case slices. Telling stories bridges the gaps between the stakeholders, the use cases, and the use-case slices. Ivar Jacobson [JACOBSON et al, 2016]
  • 31. Use Case Slices Uma ou mais histórias selecionadas e agrupadas a partir de um Caso de Uso para formar um item de trabalho que entrega valor para o cliente
  • 32. Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido FB – Fluxo Base 1. Atendente abre novo cadastro de Cliente 2. Atentente informa documento do Cliente … 9. Sistema grava o novo cadastro FA1 – Fluxo Alternativo 1 – Cliente com Compra 2.1. Atendente seleciona última compra do Cliente 2.2. Sistema carrega dados da última compra 2.3. Sistema calcula … … FA2 – Fluxo Alternativo 2 – Cliente sem Compra … FA3 – Fluxo Alternativo 3 – Crédito não Aprovado … Narrativa de Caso de Uso FB FA1 FA2 FA3
  • 33. FB FA1 FA2 FA3
  • 34. FB FA1 FA2 FA3 Cliente Comum História
  • 35. FB FA1 FA2 FA3 Cliente com CompraCliente Comum História
  • 36. FB FA1 FA2 FA3 Cliente com CompraCliente Comum Crédito Não Aprovado História
  • 37. FB FA1 FA2 FA3 Cliente com CompraCliente Comum Crédito Não Aprovado Crédito Aprovado História
  • 38. FB FA1 FA2 FA3 Cliente com CompraCliente Comum Crédito Não Aprovado Crédito Aprovado Slice UC01.01 Slice UC01.02 Slice UC01.03
  • 39. Cliente com CompraCliente Comum Crédito Não Aprovado Crédito Aprovado Slice UC01.01 Slice UC01.02 Slice UC01.03 Slicing • Criar itens de tamanho adequado • Ajustar ao prazo e ao orçamento • Entregar o maior valor para as partes interessadas • Evidenciar o andamento do projeto ou a compreensão das necessidades
  • 40. Scoped Prepared Analyzed Implemente d Verified Estados dos Use-Case Slices Inserido no escopo; Histórias identificadas Narrativa expandida; Casos de Teste definidos Impacto nos componentes de software entendido Codificação realizada e pronta para testes Considerado pronto para ser incluído no release
  • 41. Slice UC01.01 Iníci o Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido Primeiro Incremento
  • 42. Slice UC01.01 Iníci o Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido Primeiro Incremento Segundo Incremento Slice UC01.01 Slice UC01.02
  • 43. Slice UC01.01 Iníci o Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido Primeiro Incremento Segundo Incremento Slice UC01.01 Slice UC02.01 Slice UC01.02 Slice UC01.01 Slice UC01.02 Terceiro Incremento
  • 44. Slice UC01.01 Iníci o Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido Primeiro Incremento Segundo Incremento Terceiro Incremento Quarto Incremento Slice UC01.01 Slice UC02.01 Slice UC01.02 Slice UC01.01 Slice UC01.02 Slice UC02.01 Slice UC01.01 Slice UC01.02 Slice UC02.02 Slice UC02.03 Slice UC01.03
  • 45. Slice UC01.01 Iníci o Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido Primeiro Incremento Segundo Incremento Terceiro Incremento Quarto Incremento Release Pronto Slice UC01.01 Slice UC02.01 Slice UC01.02 Slice UC01.01 Slice UC01.02 Slice UC02.01 Slice UC01.01 Slice UC01.02 Slice UC02.02 Slice UC02.03 Slice UC01.03 Release Candidate
  • 46. Slice UC01.01 Iníci o Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido Primeiro Incremento Segundo Incremento Terceiro Incremento Quarto Incremento Release Pronto Slice UC01.01 Slice UC02.01 Slice UC01.02 Slice UC01.01 Slice UC01.02 Slice UC02.01 Slice UC01.01 Slice UC01.02 Slice UC02.02 Slice UC02.03 Slice UC01.03 Release Candidate [JACOBSON et al, 2011] Sistema Pronto Sistema Entregue
  • 47. Em qual nível de Detalhe? Seguindo o princípio de adaptar à realidade da organização, os Casos de Uso podem ser definidos em diferentes níveis de detalhe no Use- Case 2.0
  • 48. Limites do Sistema Estabelecidos Modelo de Casos de Uso Narrativa de Casos de Uso Realização de Casos de Uso Caso de Teste Requisitos Complementare s Rascunho Essencial Melhorado Valor Estabelecido Expandido Expandido++ Itens Numerados Brevemente Descrito Estruturado Essencial Detalhadamente Descrito Elementos de Implementação Identificados Responsabilida- des Alocadas Detalhadamente Descrito Cenários Identificados Ideias de Teste Formuladas Variáveis Identificadas Variáveis Definidas Scripts Automatizados Especificação Simplificada Esboçado Modelado e Ilustrado Definido de Forma Abrangente [JACOBSON et al, 2011]
  • 49. Como utilizar na prática? Algumas alternativas de Implementação 5
  • 51.
  • 56. Alguma Pergunta ? Entre em contato: ◉ jean.hauck@ufsc.br ◉ https://www.inf.ufsc.br/~jeanhauck/ ◉ https://br.linkedin.com/in/jeanhauck Obrigado!
  • 57. Referências JACOBSON, Ivar; Spence, Ian; Bittner, Kurt. USE-CASE 2.0 - The Guide to Succeeding with Use Cases. Ivar Jacobson International, 2011. Disponível em: https://www.ivarjacobson.com/publications/white-papers/use-case-ebook JACOBSON, Ivar; Spence, Ian; Bittner, Kurt. USE-CASE 2.0 - The Hub of Software Development. ACM Queue, January-February, 2016. OMG – Object Management Group. OMG Unified Modeling Language TM (OMG UML), Version 2.5. Technical report formal/2015-03-01, 2015. Disponível em: http://www.omg.org/spec/UML/2.5/
  • 58. Credits Special thanks to all the people who made and released these awesome resources for free: ◉Presentation template by SlidesCarnival ◉Photographs by Unsplash
  • 59. Licença Atribuição-Uso-Não-Comercial-Compartilhamento pela Licença 2.5 Brasil Exceto os materiais/imagens explicitamente referenciados*, você pode: - copiar, distribuir, exibir e executar a obra - criar obras derivadas Sob as seguintes condições: Atribuição — Você deve dar crédito ao autor original, da forma especificada pelo autor ou licenciante. Uso Não-Comercial — Você não pode utilizar esta obra com finalidades comerciais. Compartilhamento pela mesma Licença — Se você alterar, transformar, ou criar outra obra com base nesta, você somente poderá distribuir a obra resultante sob uma licença idêntica a esta. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-sa/2.5/br/ ou mande uma carta para Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. *Os materiais explicitamente referenciados seguem as licenças estabelecidas nos originais.