SlideShare a Scribd company logo
1 of 43
Download to read offline
Modelagem Ágil
UML ainda serve para alguma coisa?
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.”
Agenda desta Palestra
◉ Motivação
◉ Valores, princípios e práticas da MA
◉ MA na prática
Motivação
Ainda se usa modelagem?
1
“
Modelagem?
Quem faz isso ainda?
Coisa do passado!
Só se usa na faculdade!
Não é ágil!
“
“Let's keep the modeling
baby but throw out the
bureaucracy bathwater!”
Scott W. Ambler
[http://agilemodeling.com/]
Mas afinal: para que modelamos?
[http://www.culturizate.com/]
Uma pequena história ...
A HISTÓRIA DE JOHN, O DESENVOLVEDOR
A HISTÓRIA DE JOHN, O DESENVOLVEDOR
A HISTÓRIA DE JOHN, O DESENVOLVEDOR
A HISTÓRIA DE JOHN, O DESENVOLVEDOR
A HISTÓRIA DE JOHN, O DESENVOLVEDOR
Na banca ...
A HISTÓRIA DE JOHN, O DESENVOLVEDOR
Na banca ...
Mas afinal: para que modelamos?
Mas afinal: para que modelamos?
Na banca ...
1. Para entender!
Mas afinal: para que modelamos?
2. Para comunicar!
Na banca ...
Mas afinal: para que modelamos?
3. Para documentar ...
Na banca ...
1. Para entender!
2. Para comunicar!
3. Para documentar
Mas afinal: para que modelamos?
“
UML is a notation
not a methodology!
Ivar Jacobson
[https://2019.icse-conferences.org/]
“
[OMG, 2017, pp. 685]
Valores da MA
Que guiam nossa prática!
2
Comunicação
Uma das principais razões
para modelar é comunicar,
ou, pelo menos, ajudar a
melhorar a comunicação
entre os envolvidos em um
projeto de software.
Valores da MA
Simplicidade
Não aplicar padrões de
projeto cedo demais, não
criar arquiteturas
complexas prevendo
possíveis mudanças futuras
e não cair no desejo de
criar infraestruturas
complexas só pelo prazer
de criá-las.
[http://agilemodeling.com/]
Feedback
Modelar em equipe,
considerando
sempre o público-
alvo da modelagem e
testando o quanto
antes o modelo com
código.
Coragem
Significa adotar a
MA e colocá-la em
prática acreditando
em si mesmo e
confiando nos
membros da
equipe.
[http://agilemodeling.com/]
Humildade
Assumir a limitação
de cada pessoa em
um ambiente ágil e
que as capacidades
de todos se
completam para
atingir o objetivo do
projeto.
Valores da MA
Princípios da MA
Em que acreditamos?
3
1. Software é o principal objetivo!
2. Permitir o próximo trabalho é secundário
3. Modelar com um propósito
4. Utilizar múltiplos modelos
5. Adotar a simplicidade
6. Aceitar a mudança
7. Evoluir de maneira incremental
8. Maximizar o investimento
9. Diminuir a carga de trabalho
10. Trabalhar com qualidade
Princípios da MA
[http://agilemodeling.com/]
Práticas da MA
Como fazer para funcionar?
4
TDD
[http://agilemodeling.com/]
Participação
ativa do PO
Visão inicial
de arquitetura
Documentar
continuamente
Documentar
tarde
Especificações
“executáveis”
(BDD?)
Modelagem
em Iterações
Documentação
“Just Barely Good
Enough (JBGE)”
Look Ahead
Modeling
Model
Storming
Múltiplos
Modelos
User Stories
priorizadas
Fonte única de
Informações
MA na prática
Como incorporar as práticas de MA?
4
[www.skydive.com/photo14.htm]
Visão inicial
de arquitetura
(dia)
[JACOBSON et al, 2011; http://agilemodeling.com]
Modelagem
da Iteração
(horas)
Modeling
Storm
(minutos)
Iteração 0 Iteração 1 Iteração 2 Iteração n Release Produção
BDD / TDD
Modelagem
da Iteração
(horas)
Modeling
Storm
(minutos)
BDD / TDD
Modelagem
da Iteração
(horas)
Modeling
Storm
(minutos)
BDD / TDD
Visão inicial
de arquitetura
(dia)
[JACOBSON et al, 2011; http://agilemodeling.com]
Iteração 0 Iteração 1 Iteração 2 Iteração n Release Produção
Matriz
Computador
Cliente
Servidor de
Aplicação
Servidor de
Banco de Dados
Sistema
Servidor
Sistema Cliente
Banco de
Dados Servidor
Banco de
Dados Cliente
Local
internet
Visão inicial
de arquitetura
(dia)
[JACOBSON et al, 2011; http://agilemodeling.com]
Iteração 0 Iteração 1 Iteração 2 Iteração n Release Produção
Visão inicial
de arquitetura
(dia)
[JACOBSON et al, 2011; http://agilemodeling.com]
Modelagem
da Iteração
(horas)
Modeling
Storm
(minutos)
Iteração 0 Iteração 1 Iteração 2 Iteração n Release Produção
BDD / TDD
Modelagem
da Iteração
(horas)
Modeling
Storm
(minutos)
BDD / TDD
Modelagem
da Iteração
(horas)
Modeling
Storm
(minutos)
BDD / TDD
Usuário
Sistemainterage
Visão inicial
de arquitetura
(dia)
[JACOBSON et al, 2011; http://agilemodeling.com]
Modelagem
da Iteração
(horas)
Modeling
Storm
(minutos)
Iteração 0 Iteração 1 Iteração 2 Iteração n Release Produção
BDD / TDD
Modelagem
da Iteração
(horas)
Modeling
Storm
(minutos)
BDD / TDD
Modelagem
da Iteração
(horas)
Modeling
Storm
(minutos)
BDD / TDD
Sprint 01 - Pedidos
Cliente
Cadastra Pedido
Recebe Pedido Atendente
Controla Acesso
«include»
«include»
Visão inicial
de arquitetura
(dia)
[JACOBSON et al, 2011; http://agilemodeling.com]
Modelagem
da Iteração
(horas)
Modeling
Storm
(minutos)
Iteração 0 Iteração 1 Iteração 2 Iteração n Release Produção
BDD / TDD
Modelagem
da Iteração
(horas)
Modeling
Storm
(minutos)
BDD / TDD
Modelagem
da Iteração
(horas)
Modeling
Storm
(minutos)
BDD / TDD
Cliente
TelaListagemPedidos
FrontController
TelaAlteracaoPedidos
ControladorPrincipal
ControladorPedidos
Pedido
Em qual nível de Detalhe?
Adaptar para a realidade de cada organização!
Limites do
Sistema
Estabelecidos
Modelo Inicial Fluxos Realização Caso de Teste Especificações
Complementares
Esboço
Essencial
Melhorado
Valor
Estabelecido
Expandido
Expandido++
Itens
Numerados
Brevemente
Descrito
Estruturado
Essencial
Detalhadament
e Descrito
Elementos de
Implementação
Identificados
Responsabilida
-des Alocadas
Detalhadament
e 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]
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
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/
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.
Credits
Special thanks to all the people who made and released
these awesome resources for free: Presentation
template by SlidesCarnival

More Related Content

What's hot

MVC com Zend Framework
MVC com Zend FrameworkMVC com Zend Framework
MVC com Zend FrameworkFlávio Lisboa
 
[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018Larissa Soares
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
5. apresentacao rp tec com 2018 matheus calache
5. apresentacao rp tec com 2018 matheus calache5. apresentacao rp tec com 2018 matheus calache
5. apresentacao rp tec com 2018 matheus calacheMatheus de Lara Calache
 
Praticas Ágeis para desenvolvimento de Software
Praticas Ágeis para desenvolvimento de SoftwarePraticas Ágeis para desenvolvimento de Software
Praticas Ágeis para desenvolvimento de SoftwarePaulo Moura
 
Desenvolvimento de Software
Desenvolvimento de SoftwareDesenvolvimento de Software
Desenvolvimento de SoftwareAdilmar Dantas
 
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)Fábio Nogueira de Lucena
 
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariDrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariTaller Negócio Digitais
 
Teste performance carga stress jmeter
Teste performance carga stress jmeterTeste performance carga stress jmeter
Teste performance carga stress jmeterCristiano Caetano
 
Agile Brazil 2018
Agile Brazil 2018Agile Brazil 2018
Agile Brazil 2018Karla Silva
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeisQualister
 
Mindset de QA em Diferentes Contextos
Mindset de QA em Diferentes ContextosMindset de QA em Diferentes Contextos
Mindset de QA em Diferentes ContextosJúlio de Lima
 
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingQualister
 
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de Software[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de SoftwareJúlio de Lima
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Igor Abade
 
Agile Testing - entregando valor do início a fim
Agile Testing - entregando valor do início a fimAgile Testing - entregando valor do início a fim
Agile Testing - entregando valor do início a fimElias Nogueira
 
Metodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs AgileMetodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs AgileMarcelo Murad
 

What's hot (20)

MVC com Zend Framework
MVC com Zend FrameworkMVC com Zend Framework
MVC com Zend Framework
 
[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
5. apresentacao rp tec com 2018 matheus calache
5. apresentacao rp tec com 2018 matheus calache5. apresentacao rp tec com 2018 matheus calache
5. apresentacao rp tec com 2018 matheus calache
 
Praticas Ágeis para desenvolvimento de Software
Praticas Ágeis para desenvolvimento de SoftwarePraticas Ágeis para desenvolvimento de Software
Praticas Ágeis para desenvolvimento de Software
 
Desenvolvimento de Software
Desenvolvimento de SoftwareDesenvolvimento de Software
Desenvolvimento de Software
 
Uml
UmlUml
Uml
 
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
 
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariDrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
 
Teste performance carga stress jmeter
Teste performance carga stress jmeterTeste performance carga stress jmeter
Teste performance carga stress jmeter
 
Agile Brazil 2018
Agile Brazil 2018Agile Brazil 2018
Agile Brazil 2018
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeis
 
Metodos ageis thinkingdifferent
Metodos ageis thinkingdifferentMetodos ageis thinkingdifferent
Metodos ageis thinkingdifferent
 
Mindset de QA em Diferentes Contextos
Mindset de QA em Diferentes ContextosMindset de QA em Diferentes Contextos
Mindset de QA em Diferentes Contextos
 
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testing
 
Introdução ao XP
Introdução ao XPIntrodução ao XP
Introdução ao XP
 
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de Software[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?
 
Agile Testing - entregando valor do início a fim
Agile Testing - entregando valor do início a fimAgile Testing - entregando valor do início a fim
Agile Testing - entregando valor do início a fim
 
Metodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs AgileMetodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs Agile
 

Similar to UML ainda serve para alguma coisa

Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixCris Fidelix
 
Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Cristiano Schwening
 
Aula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREAula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREErnesto Bedrikow
 
Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Elaine Cecília Gatto
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
1- Apresentacao Metodologia RCP
1- Apresentacao Metodologia RCP1- Apresentacao Metodologia RCP
1- Apresentacao Metodologia RCPFrank Coelho
 
1 apresentacao metodologia rcp
1  apresentacao metodologia rcp1  apresentacao metodologia rcp
1 apresentacao metodologia rcpFrank Coelho
 
Tudo o que você precisa saber sobre Scrum e Visual Studio ALM – Parte 1/2
Tudo o que você precisa saber sobre Scrum e Visual Studio ALM – Parte 1/2Tudo o que você precisa saber sobre Scrum e Visual Studio ALM – Parte 1/2
Tudo o que você precisa saber sobre Scrum e Visual Studio ALM – Parte 1/2André Dias
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)André Dias
 
Desenvolvimento dirigido por comportamento e por teste
Desenvolvimento dirigido por comportamento e por testeDesenvolvimento dirigido por comportamento e por teste
Desenvolvimento dirigido por comportamento e por testeUniversidade Tiradentes
 
Arquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioArquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioRalph Rassweiler
 
Aula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptxAula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptxALEXANDRELISBADASILV
 
Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Raphael Paiva
 
WBMA2013 - Método Ágil para desenvolvimento de software confiável
WBMA2013 - Método Ágil para desenvolvimento de software confiávelWBMA2013 - Método Ágil para desenvolvimento de software confiável
WBMA2013 - Método Ágil para desenvolvimento de software confiávelAlan Braz
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...iMasters
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGNeubio Ferreira
 
Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017Renato Groff
 

Similar to UML ainda serve para alguma coisa (20)

Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
 
Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?
 
Aula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREAula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWARE
 
Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Modelagem Ágil
Modelagem ÁgilModelagem Ágil
Modelagem Ágil
 
1- Apresentacao Metodologia RCP
1- Apresentacao Metodologia RCP1- Apresentacao Metodologia RCP
1- Apresentacao Metodologia RCP
 
1 apresentacao metodologia rcp
1  apresentacao metodologia rcp1  apresentacao metodologia rcp
1 apresentacao metodologia rcp
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 
Tudo o que você precisa saber sobre Scrum e Visual Studio ALM – Parte 1/2
Tudo o que você precisa saber sobre Scrum e Visual Studio ALM – Parte 1/2Tudo o que você precisa saber sobre Scrum e Visual Studio ALM – Parte 1/2
Tudo o que você precisa saber sobre Scrum e Visual Studio ALM – Parte 1/2
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
 
Desenvolvimento dirigido por comportamento e por teste
Desenvolvimento dirigido por comportamento e por testeDesenvolvimento dirigido por comportamento e por teste
Desenvolvimento dirigido por comportamento e por teste
 
Arquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioArquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócio
 
Aula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptxAula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptx
 
Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?
 
WBMA2013 - Método Ágil para desenvolvimento de software confiável
WBMA2013 - Método Ágil para desenvolvimento de software confiávelWBMA2013 - Método Ágil para desenvolvimento de software confiável
WBMA2013 - Método Ágil para desenvolvimento de software confiável
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
 
Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017
 

UML ainda serve para alguma coisa

  • 1. Modelagem Ágil UML ainda serve para alguma coisa?
  • 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.”
  • 4. Agenda desta Palestra ◉ Motivação ◉ Valores, princípios e práticas da MA ◉ MA na prática
  • 6. “ Modelagem? Quem faz isso ainda? Coisa do passado! Só se usa na faculdade! Não é ágil!
  • 7. “ “Let's keep the modeling baby but throw out the bureaucracy bathwater!” Scott W. Ambler [http://agilemodeling.com/]
  • 8. Mas afinal: para que modelamos? [http://www.culturizate.com/]
  • 10. A HISTÓRIA DE JOHN, O DESENVOLVEDOR
  • 11. A HISTÓRIA DE JOHN, O DESENVOLVEDOR
  • 12. A HISTÓRIA DE JOHN, O DESENVOLVEDOR
  • 13. A HISTÓRIA DE JOHN, O DESENVOLVEDOR
  • 14. A HISTÓRIA DE JOHN, O DESENVOLVEDOR Na banca ...
  • 15. A HISTÓRIA DE JOHN, O DESENVOLVEDOR Na banca ...
  • 16. Mas afinal: para que modelamos?
  • 17. Mas afinal: para que modelamos? Na banca ... 1. Para entender!
  • 18. Mas afinal: para que modelamos? 2. Para comunicar! Na banca ...
  • 19. Mas afinal: para que modelamos? 3. Para documentar ... Na banca ...
  • 20. 1. Para entender! 2. Para comunicar! 3. Para documentar Mas afinal: para que modelamos?
  • 21. “ UML is a notation not a methodology! Ivar Jacobson [https://2019.icse-conferences.org/]
  • 23. Valores da MA Que guiam nossa prática! 2
  • 24. Comunicação Uma das principais razões para modelar é comunicar, ou, pelo menos, ajudar a melhorar a comunicação entre os envolvidos em um projeto de software. Valores da MA Simplicidade Não aplicar padrões de projeto cedo demais, não criar arquiteturas complexas prevendo possíveis mudanças futuras e não cair no desejo de criar infraestruturas complexas só pelo prazer de criá-las. [http://agilemodeling.com/]
  • 25. Feedback Modelar em equipe, considerando sempre o público- alvo da modelagem e testando o quanto antes o modelo com código. Coragem Significa adotar a MA e colocá-la em prática acreditando em si mesmo e confiando nos membros da equipe. [http://agilemodeling.com/] Humildade Assumir a limitação de cada pessoa em um ambiente ágil e que as capacidades de todos se completam para atingir o objetivo do projeto. Valores da MA
  • 26. Princípios da MA Em que acreditamos? 3
  • 27. 1. Software é o principal objetivo! 2. Permitir o próximo trabalho é secundário 3. Modelar com um propósito 4. Utilizar múltiplos modelos 5. Adotar a simplicidade 6. Aceitar a mudança 7. Evoluir de maneira incremental 8. Maximizar o investimento 9. Diminuir a carga de trabalho 10. Trabalhar com qualidade Princípios da MA [http://agilemodeling.com/]
  • 28. Práticas da MA Como fazer para funcionar? 4
  • 29. TDD [http://agilemodeling.com/] Participação ativa do PO Visão inicial de arquitetura Documentar continuamente Documentar tarde Especificações “executáveis” (BDD?) Modelagem em Iterações Documentação “Just Barely Good Enough (JBGE)” Look Ahead Modeling Model Storming Múltiplos Modelos User Stories priorizadas Fonte única de Informações
  • 30. MA na prática Como incorporar as práticas de MA? 4
  • 32. Visão inicial de arquitetura (dia) [JACOBSON et al, 2011; http://agilemodeling.com] Modelagem da Iteração (horas) Modeling Storm (minutos) Iteração 0 Iteração 1 Iteração 2 Iteração n Release Produção BDD / TDD Modelagem da Iteração (horas) Modeling Storm (minutos) BDD / TDD Modelagem da Iteração (horas) Modeling Storm (minutos) BDD / TDD
  • 33. Visão inicial de arquitetura (dia) [JACOBSON et al, 2011; http://agilemodeling.com] Iteração 0 Iteração 1 Iteração 2 Iteração n Release Produção Matriz Computador Cliente Servidor de Aplicação Servidor de Banco de Dados Sistema Servidor Sistema Cliente Banco de Dados Servidor Banco de Dados Cliente Local internet
  • 34. Visão inicial de arquitetura (dia) [JACOBSON et al, 2011; http://agilemodeling.com] Iteração 0 Iteração 1 Iteração 2 Iteração n Release Produção
  • 35. Visão inicial de arquitetura (dia) [JACOBSON et al, 2011; http://agilemodeling.com] Modelagem da Iteração (horas) Modeling Storm (minutos) Iteração 0 Iteração 1 Iteração 2 Iteração n Release Produção BDD / TDD Modelagem da Iteração (horas) Modeling Storm (minutos) BDD / TDD Modelagem da Iteração (horas) Modeling Storm (minutos) BDD / TDD Usuário Sistemainterage
  • 36. Visão inicial de arquitetura (dia) [JACOBSON et al, 2011; http://agilemodeling.com] Modelagem da Iteração (horas) Modeling Storm (minutos) Iteração 0 Iteração 1 Iteração 2 Iteração n Release Produção BDD / TDD Modelagem da Iteração (horas) Modeling Storm (minutos) BDD / TDD Modelagem da Iteração (horas) Modeling Storm (minutos) BDD / TDD Sprint 01 - Pedidos Cliente Cadastra Pedido Recebe Pedido Atendente Controla Acesso «include» «include»
  • 37. Visão inicial de arquitetura (dia) [JACOBSON et al, 2011; http://agilemodeling.com] Modelagem da Iteração (horas) Modeling Storm (minutos) Iteração 0 Iteração 1 Iteração 2 Iteração n Release Produção BDD / TDD Modelagem da Iteração (horas) Modeling Storm (minutos) BDD / TDD Modelagem da Iteração (horas) Modeling Storm (minutos) BDD / TDD Cliente TelaListagemPedidos FrontController TelaAlteracaoPedidos ControladorPrincipal ControladorPedidos Pedido
  • 38. Em qual nível de Detalhe? Adaptar para a realidade de cada organização!
  • 39. Limites do Sistema Estabelecidos Modelo Inicial Fluxos Realização Caso de Teste Especificações Complementares Esboço Essencial Melhorado Valor Estabelecido Expandido Expandido++ Itens Numerados Brevemente Descrito Estruturado Essencial Detalhadament e Descrito Elementos de Implementação Identificados Responsabilida -des Alocadas Detalhadament e 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]
  • 40. Alguma Pergunta? Entre em contato: ◉ jean.hauck@ufsc.br ◉ https://www.inf.ufsc.br/~jeanhauck/ ◉ https://br.linkedin.com/in/jeanhauck Obrigado!
  • 41. 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 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/
  • 42. 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.
  • 43. Credits Special thanks to all the people who made and released these awesome resources for free: Presentation template by SlidesCarnival