Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TDC SP 2016 - Dos requisitos à implantação em uma palestra

139 views

Published on

Presented on the Business Analysis track at The Developer's Conference in São Paulo.

Published in: Software
  • Be the first to comment

TDC SP 2016 - Dos requisitos à implantação em uma palestra

  1. 1. Globalcode – Open4education Dos requisitos à implantação em uma palestra Rafael Chaves - rafael@abstratt.com
  2. 2. Globalcode – Open4education Palestrante Formação: bacharel (2000) e mestre (2004) em Computação pela UFSC Passado: • OTI/IBM Canada: Eclipse (2002-2005), Jazz/Team Concert (2005-2006) • Genologics: Desenvolvedor Senior/Arquiteto (2008-2012) Hoje: fundador da Abstratt Technologies • EasyAlpha: serviço de desenvolvimento de aplicações sob medida (2016-) • Cloudfier: plataforma de desenvolvimento de aplicações de gestão (2012-)
  3. 3. Globalcode – Open4education Estrutura Background Abordagem Demonstração Metas
  4. 4. Globalcode – Open4education Aplicação exemplo: Tarefas da equipe O sistema gerencia uma lista de tarefas, que podem ser atribuídas a colaboradores, que eventualmente completam as tarefas.
  5. 5. Globalcode – Open4education Solução Conceitual? Background
  6. 6. Globalcode – Open4education Solução Conceitual - Exemplo 1 Requisito: “Precisamos exibir as tarefas em aberto” Solução conceitual: • A entidade “Tarefa” tem ao menos dois estados: “Em Aberto” e “Concluída” • “Tarefa” tem uma ação para que o colaborador possa marcar a tarefa como concluída • “Tarefa” tem uma consulta que mostra todas as tarefas com estado “Em Aberto”
  7. 7. Globalcode – Open4education Solução Conceitual - Exemplo 2 Requisito: “Um colaborador poderá repassar uma tarefa em aberto para outro” Solução conceitual: • A entidade “Tarefa” tem uma ação “Repassar” que espera um colaborador como parâmetro • Pré-condição: o estado atual da tarefa deve ser “Em Aberto” • Restrição: o candidato a novo responsável precisa ser diferente do responsável atual
  8. 8. Globalcode – Open4education Arquitetura só existe na forma de um documento ou de exemplos de código existente Solução conceitual só existe na cabeça dos programadores Soluções conceituais se materializam apenas via implementação (tradicionalmente)
  9. 9. Globalcode – Open4education 1. Aceitar que entendimento do negócio e decisões arquiteturais são coisas totalmente separadas (e que negócio > tecnologia) 2. Materializar a solução conceitual, usando uma linguagem com nível de abstração mais alto, independente de tecnologia 3. Codificar decisões arquiteturais em um gerador 4. Produzir a implementação automaticamente Elementos da abordagem proposta
  10. 10. Globalcode – Open4education Aplicando a arquitetura automaticamente
  11. 11. Globalcode – Open4education Implementação (tradicionalmente)
  12. 12. Globalcode – Open4education Implementação: via solução conceitual e gerador
  13. 13. Globalcode – Open4education Demonstração da Abordagem Linguagem de modelagem conceitual (p/ programadores) Protótipo automático a partir da solução conceitual Requisitos como testes no nível conceitual Documentação via tradução automática Geração da solução final via tradução automática
  14. 14. Globalcode – Open4education Linguagem p/ modelagem conceitual • Classes, atributos, operações • Comportamento imperativo • Eventos, comunicação por mensagens • Relacionamentos • Atributos derivados • Restrições: pré-condições, invariantes • Máquinas de estado
  15. 15. Globalcode – Open4education Protótipo automático a partir do modelo conceitual
  16. 16. Globalcode – Open4education Requisitos como testes no nível conceitual
  17. 17. Globalcode – Open4education Documentação via tradução automática
  18. 18. Globalcode – Open4education Geração da solução final via tradução automática
  19. 19. Globalcode – Open4education Tamanho da solução conceitual vs. implementada (Tarefas)
  20. 20. Globalcode – Open4education Cloudfier TextUML vs. Java implementation
  21. 21. Globalcode – Open4education Metas (I) • Que o desenvolvedor deverá saber tanto do negócio quanto analistas de negócios • Que novos desenvolvedores assimilarão o conhecimento sobre o sistema rapidamente • Que uma base de conhecimento do sistema acessível a stakeholders não técnicos estará sempre disponível atualizada
  22. 22. Globalcode – Open4education • Que uma funcionalidade nova será testável menos de uma hora depois que o requisito foi identificado • Que o analista de negócios terá visibilidade contínua sobre estágio atual de desenvolvimento do sistema: • Sem ter que esperar um deploy • Sem ter que fazer engenharia reversa • Que o cumprimento dos requisitos de negócios será preservado através de testes automatizados Metas (II)
  23. 23. Globalcode – Open4education Metas (III) • Que o código da aplicação vai ser consistente, e ter boa qualidade • Que a arquitetura vai poder ser mantida atualizada sem comprometer a entrega de valor do negócio • Que será possível mudar para outra plataforma sem ter que recriar o sistema do zero
  24. 24. Globalcode – Open4education Metas (IV) • Que uma aplicação completa possa ser criada em horas ou dias ao invés de semanas ou meses
  25. 25. Globalcode – Open4education Referências • Livros: • “Executable UML” - Balcer/Mellor • “Model-based Development” - Lahman • “Domain-Specific Modeling” - Kelly/Tolvanen • Especificações: • fUML e Alf - Object Management Group • Ferramentas • Cloudfier e TextUML - abstratt.com | cloudfier.com • Papyrus - Eclipse.org
  26. 26. Globalcode – Open4education Dos requisitos à implantação em uma palestra Rafael Chaves - rafael@abstratt.com

×