O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
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
Certifi...
• 5 campi
• 55 doutorados, 58 mestrados,
116 cursos de graduação
• +45,000 estudantes
• +2,000 professores
• +3,000 técnic...
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...
http://www.gqs.ufsc.br/
“Pesquisa científica, desenvolvimento e transferência de
modelos, métodos e ferramentas de engenha...
Agenda desta Palestra
◉ Casos de Uso
◉ Motivação para Use-Case 2.0
◉ Os seis Princípios
◉ Use-Case Slices e Stories
◉ Como...
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 Cases: a sequence of actions
a system performs that yields an
observable result of value to a
particular user.
Ivar ...
Ator
Um papel desempenhado
por um usuário ou qualquer
outro sistema que interage
com o sistema-alvo
(subject).
Conceitos d...
Narrativa
Texto em linguagem natural
que descreve o conjunto de
comportamentos realizados
pelos casos de uso.
Conceitos de...
[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 d...
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
FB – Fluxo Base
1. Atendente abre novo cadastro d...
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
...
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 tran...
Slices
Sistemas podem ser
muito grandes, então
devem ser
implementados em
partes: identificar a
coisa mais útil que o
sist...
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.
T...
Use Case Slices
Uma ou mais histórias selecionadas e
agrupadas a partir de um Caso de Uso para
formar um item de trabalho ...
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
FB – Fluxo Base
1. Atendente abre novo cadastro d...
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 UC0...
Cliente com
CompraCliente Comum Crédito Não
Aprovado
Crédito
Aprovado
Slice UC01.01 Slice UC01.02 Slice UC01.03
Slicing
• ...
Scoped Prepared Analyzed
Implemente
d
Verified
Estados dos Use-Case Slices
Inserido no
escopo;
Histórias
identificadas
Nar...
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...
Slice UC01.01
Iníci
o
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
Primeiro
Incremento
Segundo...
Slice UC01.01
Iníci
o
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
Primeiro
Incremento
Segundo...
Slice UC01.01
Iníci
o
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
Primeiro
Incremento
Segundo...
Slice UC01.01
Iníci
o
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
Primeiro
Incremento
Segundo...
Em qual nível de Detalhe?
Seguindo o princípio de adaptar à realidade da
organização, os Casos de Uso podem ser
definidos ...
Limites do
Sistema
Estabelecidos
Modelo de
Casos de Uso
Narrativa de
Casos de Uso
Realização de
Casos de Uso
Caso de Teste...
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/i...
Referências
JACOBSON, Ivar; Spence, Ian; Bittner, Kurt. USE-CASE 2.0 - The Guide to Succeeding with Use
Cases. Ivar Jacobs...
Credits
Special thanks to all the people who made and
released these awesome resources for free:
◉Presentation template by...
Licença
Atribuição-Uso-Não-Comercial-Compartilhamento pela Licença 2.5 Brasil
Exceto os materiais/imagens explicitamente r...
Use-Case 2.0
Use-Case 2.0
Próximos SlideShares
Carregando em…5
×

Use-Case 2.0

866 visualizações

Publicada em

Incorporando Práticas Ágeis aos Casos de Uso
Palestra ministrada no TDC 2016 (http://www.thedevelopersconference.com.br/tdc/2016/florianopolis/trilha-analise-de-negocios)

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Use-Case 2.0

  1. 1. Use-Case 2.0 Incorporando Práticas Ágeis aos Casos de Uso
  2. 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. 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. 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. 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. 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. 7. Casos de Uso Histórico e Conceitos 1
  8. 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. 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. 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. 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
  12. 12. [OMG, 2015, pp. 637]
  13. 13. Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido
  14. 14. Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido Caso de Uso
  15. 15. Ator Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido
  16. 16. Sistema (Subject) Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido
  17. 17. Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido Narrativa de Caso de Uso
  18. 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. 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. 20. Motivação para Use-Case 2.0 O advento das abordagens ágeis e os Casos de Uso 2
  21. 21. [https://www.youtube.com/watch?v=Af4NbMZxmIQ]
  22. 22. Uma estória ... Porque Use Case 2.0
  23. 23. “ 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]
  24. 24. Os seis Princípios Adotando Casos de Uso com sucesso! 3
  25. 25. [http://www.denneen.com/] É tudo uma questão de Princípios ...
  26. 26. 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]
  27. 27. 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]
  28. 28. Use-Case Slices e Stories Alinhando os Casos de Uso às abordagens ágeis 4
  29. 29. “ 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]
  30. 30. 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
  31. 31. 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
  32. 32. FB FA1 FA2 FA3
  33. 33. FB FA1 FA2 FA3 Cliente Comum História
  34. 34. FB FA1 FA2 FA3 Cliente com CompraCliente Comum História
  35. 35. FB FA1 FA2 FA3 Cliente com CompraCliente Comum Crédito Não Aprovado História
  36. 36. FB FA1 FA2 FA3 Cliente com CompraCliente Comum Crédito Não Aprovado Crédito Aprovado História
  37. 37. 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
  38. 38. 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
  39. 39. 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
  40. 40. Slice UC01.01 Iníci o Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido Primeiro Incremento
  41. 41. 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
  42. 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 UC02.01 Slice UC01.02 Slice UC01.01 Slice UC01.02 Terceiro Incremento
  43. 43. 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
  44. 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 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
  45. 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 [JACOBSON et al, 2011] Sistema Pronto Sistema Entregue
  46. 46. 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
  47. 47. 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]
  48. 48. Como utilizar na prática? Algumas alternativas de Implementação 5
  49. 49. [www.skydive.com/photo14.htm]
  50. 50. UseCase Slice
  51. 51. Test Case
  52. 52. Iniciado
  53. 53. Iniciado Scoped Prepared Analyzed Implemente d Verified
  54. 54. Alguma Pergunta ? Entre em contato: ◉ jean.hauck@ufsc.br ◉ https://www.inf.ufsc.br/~jeanhauck/ ◉ https://br.linkedin.com/in/jeanhauck Obrigado!
  55. 55. 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/
  56. 56. Credits Special thanks to all the people who made and released these awesome resources for free: ◉Presentation template by SlidesCarnival ◉Photographs by Unsplash
  57. 57. 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.

×