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

  • View
    89

  • Download
    1

Embed Size (px)

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

  • Globalcode Open4education

    Dos requisitos implantao em uma palestra

    Rafael Chaves - rafael@abstratt.com

  • Globalcode Open4education

    Palestrante

    Formao: bacharel (2000) e mestre (2004) em Computao 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: servio de desenvolvimento de aplicaes sob medida (2016-) Cloudfier: plataforma de desenvolvimento de aplicaes de gesto (2012-)

  • Globalcode Open4education

    Estrutura

    Background

    Abordagem

    Demonstrao

    Metas

  • Globalcode Open4education

    Aplicao exemplo: Tarefas da equipe

    O sistema gerencia uma lista de tarefas, que podem ser atribudas a colaboradores, que eventualmente completam as tarefas.

  • Globalcode Open4education

    Soluo Conceitual?Background

  • Globalcode Open4education

    Soluo Conceitual - Exemplo 1

    Requisito: Precisamos exibir as tarefas em aberto

    Soluo conceitual:

    A entidade Tarefa tem ao menos dois estados: Em Aberto e Concluda

    Tarefa tem uma ao para que o colaborador possa marcar a tarefa como concluda

    Tarefa tem uma consulta que mostra todas as tarefas com estado Em Aberto

  • Globalcode Open4education

    Soluo Conceitual - Exemplo 2

    Requisito: Um colaborador poder repassar uma tarefa em aberto para outro

    Soluo conceitual:

    A entidade Tarefa tem uma ao Repassar que espera um colaborador como parmetro

    Pr-condio: o estado atual da tarefa deve ser Em Aberto Restrio: o candidato a novo responsvel precisa ser

    diferente do responsvel atual

  • Globalcode Open4education

    Arquitetura s existe na forma de um

    documento ou de exemplos de cdigo

    existente

    Soluo conceitual s existe na cabea dos programadores

    Solues conceituais se materializam apenas via implementao (tradicionalmente)

  • Globalcode Open4education

    1. Aceitar que entendimento do negcio e decises arquiteturais so coisas totalmente separadas (e que negcio > tecnologia)

    2. Materializar a soluo conceitual, usando uma linguagem com nvel de abstrao mais alto, independente de tecnologia

    3. Codificar decises arquiteturais em um gerador

    4. Produzir a implementao automaticamente

    Elementos da abordagem proposta

  • Globalcode Open4education

    Aplicando a arquitetura automaticamente

  • Globalcode Open4education

    Implementao (tradicionalmente)

  • Globalcode Open4education

    Implementao: via soluo conceitual e gerador

  • Globalcode Open4education

    Demonstrao da Abordagem

    Linguagem de modelagem conceitual (p/ programadores)

    Prottipo automtico a partir da soluo conceitual

    Requisitos como testes no nvel conceitual

    Documentao via traduo automtica

    Gerao da soluo final via traduo automtica

  • Globalcode Open4education

    Linguagem p/ modelagem conceitual Classes, atributos, operaes Comportamento imperativo Eventos, comunicao por mensagens Relacionamentos Atributos derivados Restries: pr-condies, invariantes Mquinas de estado

  • Globalcode Open4education

    Prottipo automtico a partir do modelo conceitual

  • Globalcode Open4education

    Requisitos como testes no nvel conceitual

  • Globalcode Open4education

    Documentao via traduo automtica

  • Globalcode Open4education

    Gerao da soluo final via traduo automtica

  • Globalcode Open4education

    Tamanho da soluo conceitual vs. implementada (Tarefas)

  • Globalcode Open4education

    Cloudfier TextUML vs. Java implementation

  • Globalcode Open4education

    Metas (I)

    Que o desenvolvedor dever saber tanto do negcio quanto analistas de negcios

    Que novos desenvolvedores assimilaro o conhecimento sobre o sistema rapidamente

    Que uma base de conhecimento do sistema acessvel a stakeholders no tcnicos estar sempre disponvel atualizada

  • Globalcode Open4education

    Que uma funcionalidade nova ser testvel menos de uma hora depois que o requisito foi identificado

    Que o analista de negcios ter visibilidade contnua sobre estgio atual de desenvolvimento do sistema:

    Sem ter que esperar um deploy

    Sem ter que fazer engenharia reversa

    Que o cumprimento dos requisitos de negcios ser preservado atravs de testes automatizados

    Metas (II)

  • Globalcode Open4education

    Metas (III)

    Que o cdigo da aplicao vai ser consistente, e ter boa qualidade

    Que a arquitetura vai poder ser mantida atualizada sem comprometer a entrega de valor do negcio

    Que ser possvel mudar para outra plataforma sem ter que recriar o sistema do zero

  • Globalcode Open4education

    Metas (IV)

    Que uma aplicao completa possa ser criada em horas ou dias ao invs de semanas ou meses

  • Globalcode Open4education

    Referncias

    Livros: Executable UML - Balcer/Mellor Model-based Development - Lahman Domain-Specific Modeling - Kelly/Tolvanen

    Especificaes: fUML e Alf - Object Management Group

    Ferramentas Cloudfier e TextUML - abstratt.com | cloudfier.com Papyrus - Eclipse.org

  • Globalcode Open4education

    Dos requisitos implantao em uma palestra

    Rafael Chaves - rafael@abstratt.com