Model-Driven Engineering Geração de modelos de software e especificações usando a plataforma IBM Luiz Esmiralha IBM Eduardo Chiote IBM
Quem somos Luiz Esmiralha Arquiteto de Aplicações / IBM 15 anos exp. em software / 7 anos na IBM esmiralha@br.ibm.com Eduardo Chiote Arquiteto de Aplicações / IBM 13 anos exp. em software / 2 anos na IBM eduardo.chiote@br.ibm.com 2 10 de out de 2013
Agenda O projeto A solução Extensão do profile UML usando o RSA Geração de modelos UML usando o RSA Geração de artefatos em formato PDF usando o RSA Demo Resultados, Lições aprendidas e Próximos passos Dúvidas 3 10 de out de 2013
Nosso projeto Um modelo funcional com dezenas de processos de negócio, dezenas de casos de uso de negócio, centenas de casos de uso de sistema e centenas de regras de negócio Um portifólio de serviços com 915 serviços identificados O cliente exige que os artefatos sejam entregues em um formato específico ( DOC ) Adicione a isso as mudanças em requisitos comuns a todos os projetos... 4 10 de out de 2013
Arquitetura de referência SOA 5 10 de out de 2013
Metodologia SOMA 6 10 de out de 2013
Nossa missão Produzir em tempo hábil um modelo de componentes, que seja completo, consistente, rastreável e expressivo 7 10 de out de 2013
Precisamos desesperadamente de uma boa idéia... 8 10 de out de 2013
Model-Driven Engineering (...) uma abordagem promissora para superar as limitações das linguagens de programação de terceira geração em mitigar a complexidade (...) e expressar conceitos de domínio de forma eficaz. Douglas C. Schimdt (Vanderbilt University) 9 10 de out de 2013
Linguagens de modelagem específicas de domínio Formalizam a estrutura e comportamento de aplicações para um determinado domínio de negócio: seguros, serviços financeiros, jogos, e-commerce, etc Descritas através de metamodelos que definem conceitos, relacionamentos, semânticas e restrições Expressam o design de um sistema de forma declarativa e não imperativa 10 10 de out de 2013
Geradores e transformadores Analisam os modelos e sintetizam os artefatos Ajudam a garantir a consistência e a rastreabilidade entre a implementação e os requisitos capturados no modelo Construir corretamente vs. Corrigir a construção Isso é uma verdadeira fábrica de software! 11 10 de out de 2013
Visão geral da solução 12 10 de out de 2013
Estendendo o profile UML usando o RSA Alavancar as capacidades de extensão da UML providas pelo RSA Criação de estereótipos, atributos, restrições e associações Geração automática de um plugin para criar e editar modelos usando os estereótipos customizados 13 10 de out de 2013
SOMA Metamodel 14 10 de out de 2013
Estendendo o profile UML usando o RSA 15 10 de out de 2013
Gerar o modelo de componentes usando o RSA Alavancar as capacidades de extensão do RSA através de plugins Criação de: Elementos de modelo: classes, componentes, associações, interfaces, atributos e operações Diagramas: classe, componente, sequência, atividade Capturando no código as decisões de design do sistema 16 10 de out de 2013
Gerar o artefato em formato PDF usando o RSA Alavancar as capacidade de relatórios baseados em modelos UML do RSA BIRT Reporting for UML Crie Datasources usando a API de Query Crie um design de relatório (.rpt) Adicione os componentes visuais (tabelas, listas, etc.) e associe com os datasources Execute o relatório para preenche-lo com os dados mais recentes do modelo 17 10 de out de 2013
Gerar o artefato em formato PDF usando o RSA 18 10 de out de 2013
Ferramentas para verificação de consistência Aplicação Web JSF Validação cruzada entre o modelo de dados, o modelo de serviços e o modelo funcional Garantia de consistência Utilizável por analistas de requisitos, arquitetos e modeladores 19 10 de out de 2013
Demo 20 10 de out de 2013
Resultados Redução estimada de esforço para produzir o artefato em 75% Uma pessoa é capaz de revisar e atualizar sozinha o modelo de componentes quando há alterações em suas dependências 21 10 de out de 2013
Lições Aprendidas Otimize o número de estereótipos Otimize o número de elementos UML e associações Aplicável principamente a projetos de grande escala, mas pode funcionar em qualquer escala Não existe almoço grátis! 22 10 de out de 2013
Próximos passos Maior integração com a plataforma Jazz RTC RRC RSA-DM Geração do Contexto de Sistema Enriquecer o modelo com constraints OCL 23 10 de out de 2013
Dúvidas? 24 10 de out de 2013