SlideShare uma empresa Scribd logo
1 de 66
Baixar para ler offline
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á!
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, CERTICS, 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
◉ Requisitos
◉ Casos de Uso
◉ Motivação para Use-Case 2.0
◉ Os seis Princípios
◉ Use-Case Slices e Stories
◉ Como utilizar na prática?
Engenharia de Requisitos
A Abordagem Clássica
1
Quem é o nosso cliente/usuário?
Como coletamos os requisitos?
Conseguimos entender o que eles
realmente precisam?
Caos na Comunicação?
Caos na Comunicação?
Requisito
Um requisito é uma declaração
que traduz ou expressa uma
necessidade e suas restrições e
condições associadas (IEEE
29148, 2011).
Requisito é ...
Sommerville (2011) define que
requisitos são as descrições do
que um sistema deve fazer, os
serviços que oferece e as
restrições ao seu
funcionamento.
Requisito é ...
(SOMMERVILLE, 2011)
IEEE 29148 (2011)
Um BOM requisito é ...
Necessário
Livre de implementação
Não ambíguo
Consistente
Completo
Singular
Viável
Rastreável
Verificável
Casos de Uso
Histórico e Conceitos
2
Histórico dos Casos de Uso
OOPSLA 87
Conceito
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 pela realização do
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
3
[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!
4
[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
Sistemas 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
5
“
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
Compra
Cliente Comum
História
FB FA1 FA2 FA3
Cliente com
Compra
Cliente Comum Crédito Não
Aprovado
História
FB FA1 FA2 FA3
Cliente com
Compra
Cliente Comum Crédito Não
Aprovado
Crédito
Aprovado
História
FB FA1 FA2 FA3
Cliente com
Compra
Cliente Comum Crédito Não
Aprovado
Crédito
Aprovado
Slice UC01.01 Slice UC01.02 Slice UC01.03
Cliente com
Compra
Cliente 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 Implemented 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ício
Módulo de Vendas
UC01 - Cadastrar
Cliente
Atendente
UC02 - Emitir Pedido
Primeiro
Incremento
Slice UC01.01
Início
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ício
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ício
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ício
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ício
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
Complementares
Esboço
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
6
[www.skydive.com/photo14.htm]
UseCase Slice
Test Case
Iniciado
Iniciado
Scoped Prepared
Analyzed
Implemented 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.

Mais conteúdo relacionado

Semelhante a Use-Case 2.0: Práticas Ágeis

[Planejamento e controle da produ -o - tubino] lista de exerc-cios resolvidos
[Planejamento e controle da produ -o - tubino]  lista de exerc-cios resolvidos[Planejamento e controle da produ -o - tubino]  lista de exerc-cios resolvidos
[Planejamento e controle da produ -o - tubino] lista de exerc-cios resolvidosLuiz Fabiano Bonetti
 
Tutorial painel administrativo do site
Tutorial   painel administrativo do siteTutorial   painel administrativo do site
Tutorial painel administrativo do siteDFSGolBusiness
 
Dicas diagrama de casos de uso
Dicas diagrama de casos de usoDicas diagrama de casos de uso
Dicas diagrama de casos de usoRita Almeida
 
Relatorio andrest
Relatorio andrestRelatorio andrest
Relatorio andrestVasco Silva
 
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
 
Plano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiaisPlano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiaisMarcos Pessoa
 
docslide.com.br_sistema-de-processamento-de-transacoes-spt-comercio-eletronic...
docslide.com.br_sistema-de-processamento-de-transacoes-spt-comercio-eletronic...docslide.com.br_sistema-de-processamento-de-transacoes-spt-comercio-eletronic...
docslide.com.br_sistema-de-processamento-de-transacoes-spt-comercio-eletronic...LazaroJunior10
 
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
 
Clientes Splunk Brasil
Clientes Splunk BrasilClientes Splunk Brasil
Clientes Splunk BrasilSplunk
 
Modelo Planejamento Estratégico
Modelo Planejamento EstratégicoModelo Planejamento Estratégico
Modelo Planejamento EstratégicoLuiz Francisco Bozo
 
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
 

Semelhante a Use-Case 2.0: Práticas Ágeis (20)

[Planejamento e controle da produ -o - tubino] lista de exerc-cios resolvidos
[Planejamento e controle da produ -o - tubino]  lista de exerc-cios resolvidos[Planejamento e controle da produ -o - tubino]  lista de exerc-cios resolvidos
[Planejamento e controle da produ -o - tubino] lista de exerc-cios resolvidos
 
Tutorial painel administrativo do site
Tutorial   painel administrativo do siteTutorial   painel administrativo do site
Tutorial painel administrativo do site
 
Dicas diagrama de casos de uso
Dicas diagrama de casos de usoDicas diagrama de casos de uso
Dicas diagrama de casos de uso
 
Relatorio andrest
Relatorio andrestRelatorio andrest
Relatorio andrest
 
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
 
Wellington Vasconcelos - Priorização de requisitos
Wellington Vasconcelos - Priorização de requisitosWellington Vasconcelos - Priorização de requisitos
Wellington Vasconcelos - Priorização de requisitos
 
Plano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiaisPlano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiais
 
Aula6 diagrama casos de uso
Aula6 diagrama casos de usoAula6 diagrama casos de uso
Aula6 diagrama casos de uso
 
docslide.com.br_sistema-de-processamento-de-transacoes-spt-comercio-eletronic...
docslide.com.br_sistema-de-processamento-de-transacoes-spt-comercio-eletronic...docslide.com.br_sistema-de-processamento-de-transacoes-spt-comercio-eletronic...
docslide.com.br_sistema-de-processamento-de-transacoes-spt-comercio-eletronic...
 
modeloplanest01
modeloplanest01modeloplanest01
modeloplanest01
 
[Parfor] esw aula 04
[Parfor] esw   aula 04[Parfor] esw   aula 04
[Parfor] esw aula 04
 
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
 
Clientes Splunk Brasil
Clientes Splunk BrasilClientes Splunk Brasil
Clientes Splunk Brasil
 
Totem Pessoal (Totem Mobile)
Totem Pessoal (Totem Mobile)Totem Pessoal (Totem Mobile)
Totem Pessoal (Totem Mobile)
 
TCC2 - Seminário de andamento
TCC2 - Seminário de andamentoTCC2 - Seminário de andamento
TCC2 - Seminário de andamento
 
Modelo Planejamento Estratégico
Modelo Planejamento EstratégicoModelo Planejamento Estratégico
Modelo Planejamento Estratégico
 
Templategsi
TemplategsiTemplategsi
Templategsi
 
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
 
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
 

Mais de Congresso Catarinense de Ciências da Computação

Mais de Congresso Catarinense de Ciências da Computação (19)

UTILIZANDO PROGRAMAÇÃO PARALELA NA CRIAÇÃO DE UM JOGO PARA AUXÍLIO NO ENSINO ...
UTILIZANDO PROGRAMAÇÃO PARALELA NA CRIAÇÃO DE UM JOGO PARA AUXÍLIO NO ENSINO ...UTILIZANDO PROGRAMAÇÃO PARALELA NA CRIAÇÃO DE UM JOGO PARA AUXÍLIO NO ENSINO ...
UTILIZANDO PROGRAMAÇÃO PARALELA NA CRIAÇÃO DE UM JOGO PARA AUXÍLIO NO ENSINO ...
 
Comparação entre bancos de dados de modelo não relacional
Comparação entre bancos de dados de modelo não relacionalComparação entre bancos de dados de modelo não relacional
Comparação entre bancos de dados de modelo não relacional
 
Comparativo do uso de linguagens de programação e geradores de código no dese...
Comparativo do uso de linguagens de programação e geradores de código no dese...Comparativo do uso de linguagens de programação e geradores de código no dese...
Comparativo do uso de linguagens de programação e geradores de código no dese...
 
Jogo das derivadas
Jogo das derivadasJogo das derivadas
Jogo das derivadas
 
Docker
DockerDocker
Docker
 
UTILIZAÇÃO DOS SISTEMAS DE SINGLE SIGN-ON (SSO) DO GOOGLE E FACEBOOK
UTILIZAÇÃO DOS SISTEMAS DE SINGLE SIGN-ON (SSO) DO GOOGLE E FACEBOOKUTILIZAÇÃO DOS SISTEMAS DE SINGLE SIGN-ON (SSO) DO GOOGLE E FACEBOOK
UTILIZAÇÃO DOS SISTEMAS DE SINGLE SIGN-ON (SSO) DO GOOGLE E FACEBOOK
 
Reprodutor de Audio MR
Reprodutor de Audio MRReprodutor de Audio MR
Reprodutor de Audio MR
 
Jogo do Dino
Jogo do DinoJogo do Dino
Jogo do Dino
 
Filtro de Prewitt
Filtro de PrewittFiltro de Prewitt
Filtro de Prewitt
 
Sistema de Irrigação Automatizado com Interface de Controle e Monitoramento O...
Sistema de Irrigação Automatizado com Interface de Controle e Monitoramento O...Sistema de Irrigação Automatizado com Interface de Controle e Monitoramento O...
Sistema de Irrigação Automatizado com Interface de Controle e Monitoramento O...
 
Banco de Dados Orientado a Objetos para Aplicações Android - ORMLite
Banco de Dados Orientado a Objetos para Aplicações Android - ORMLiteBanco de Dados Orientado a Objetos para Aplicações Android - ORMLite
Banco de Dados Orientado a Objetos para Aplicações Android - ORMLite
 
Teoria Geral de Sistemas
Teoria Geral de SistemasTeoria Geral de Sistemas
Teoria Geral de Sistemas
 
Computação na Escola
Computação na EscolaComputação na Escola
Computação na Escola
 
Engenharia e Gestão do Conhecimento: Conceitos e Cases
Engenharia e Gestão do Conhecimento: Conceitos e CasesEngenharia e Gestão do Conhecimento: Conceitos e Cases
Engenharia e Gestão do Conhecimento: Conceitos e Cases
 
Segurança da Informação e Governança em TI
Segurança da Informação e Governança em TISegurança da Informação e Governança em TI
Segurança da Informação e Governança em TI
 
Empreendedorismo tecnológico
Empreendedorismo tecnológicoEmpreendedorismo tecnológico
Empreendedorismo tecnológico
 
O poder da visão
O poder da visãoO poder da visão
O poder da visão
 
Mineração de patentes (rio do sul)
Mineração de patentes (rio do sul)Mineração de patentes (rio do sul)
Mineração de patentes (rio do sul)
 
Ataque Cibernético em Veículos Autônomos
Ataque Cibernético em Veículos AutônomosAtaque Cibernético em Veículos Autônomos
Ataque Cibernético em Veículos Autônomos
 

Use-Case 2.0: 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. 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, CERTICS, 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
  • 4. Agenda desta Palestra ◉ Requisitos ◉ Casos de Uso ◉ Motivação para Use-Case 2.0 ◉ Os seis Princípios ◉ Use-Case Slices e Stories ◉ Como utilizar na prática?
  • 5. Engenharia de Requisitos A Abordagem Clássica 1
  • 6.
  • 7.
  • 8. Quem é o nosso cliente/usuário? Como coletamos os requisitos? Conseguimos entender o que eles realmente precisam? Caos na Comunicação?
  • 10. Requisito Um requisito é uma declaração que traduz ou expressa uma necessidade e suas restrições e condições associadas (IEEE 29148, 2011). Requisito é ... Sommerville (2011) define que requisitos são as descrições do que um sistema deve fazer, os serviços que oferece e as restrições ao seu funcionamento.
  • 12. IEEE 29148 (2011) Um BOM requisito é ... Necessário Livre de implementação Não ambíguo Consistente Completo Singular Viável Rastreável Verificável
  • 13. Casos de Uso Histórico e Conceitos 2
  • 14. Histórico dos Casos de Uso OOPSLA 87 Conceito 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
  • 15. “ 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]
  • 16. 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]
  • 17. 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 pela realização do comportamento descrito no Caso de Uso
  • 19. Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido
  • 20. Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido Caso de Uso
  • 21. Ator Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido
  • 22. Sistema (Subject) Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido
  • 23. Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido Narrativa de Caso de Uso
  • 24. 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
  • 25. 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
  • 26. Motivação para Use-Case 2.0 O advento das abordagens ágeis e os Casos de Uso 3
  • 28. Uma estória ... Porque Use Case 2.0
  • 29.
  • 30.
  • 31. “ 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]
  • 32. Os seis Princípios Adotando Casos de Uso com sucesso! 4
  • 33. [http://www.denneen.com/] É tudo uma questão de Princípios ...
  • 34. 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]
  • 35. 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 Sistemas 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]
  • 36. Use-Case Slices e Stories Alinhando os Casos de Uso às abordagens ágeis 5
  • 37. “ 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]
  • 38. 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
  • 39. 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
  • 40. FB FA1 FA2 FA3
  • 41. FB FA1 FA2 FA3 Cliente Comum História
  • 42. FB FA1 FA2 FA3 Cliente com Compra Cliente Comum História
  • 43. FB FA1 FA2 FA3 Cliente com Compra Cliente Comum Crédito Não Aprovado História
  • 44. FB FA1 FA2 FA3 Cliente com Compra Cliente Comum Crédito Não Aprovado Crédito Aprovado História
  • 45. FB FA1 FA2 FA3 Cliente com Compra Cliente Comum Crédito Não Aprovado Crédito Aprovado Slice UC01.01 Slice UC01.02 Slice UC01.03
  • 46. Cliente com Compra Cliente 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
  • 47. Scoped Prepared Analyzed Implemented 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
  • 48. Slice UC01.01 Início Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido Primeiro Incremento
  • 49. Slice UC01.01 Início Módulo de Vendas UC01 - Cadastrar Cliente Atendente UC02 - Emitir Pedido Primeiro Incremento Segundo Incremento Slice UC01.01 Slice UC01.02
  • 50. Slice UC01.01 Início 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
  • 51. Slice UC01.01 Início 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
  • 52. Slice UC01.01 Início 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
  • 53. Slice UC01.01 Início 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
  • 54. 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
  • 55. Limites do Sistema Estabelecidos Modelo de Casos de Uso Narrativa de Casos de Uso Realização de Casos de Uso Caso de Teste Requisitos Complementares Esboço 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]
  • 56. Como utilizar na prática? Algumas alternativas de Implementação 6
  • 58.
  • 63. Alguma Pergunta ? Entre em contato: ◉ jean.hauck@ufsc.br ◉ https://www.inf.ufsc.br/~jeanhauck/ ◉ https://br.linkedin.com/in/jeanhauck Obrigado!
  • 64. 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/
  • 65. Credits Special thanks to all the people who made and released these awesome resources for free: ◉ Presentation template by SlidesCarnival ◉ Photographs by Unsplash
  • 66. 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.