Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft Indice da Apresentação Introdução Exemplo Básico sobre a Fábrica Construindo uma Fábrica Resumo O Seu Cenário Sua companhia constrói muitas aplicações similares Não necessita reinventar a toda hora Você poderia colocar as coisas úteis juntas num só “pacote” ? O que é um pacote? O que deverá ir nele? Como se deve usá-lo Exemplo de Aplicação de Cliente Lógica de Interface de Userio Lógica de Negócio Agentes de Serviços Requisita/Responde Lógica de Replicação Interface de Serviços Lógica de Negócio Lógica de Negócio Recurços Existentes Guia de Arquitetura p/ Smart Client UIP Application Block Application Architecture for .NET Offline Application Block Biblioteca Corporativa DSL SDK (Domain Specific Language) Updater Application Block GAT (Guidance Automation Toolkit) Indice da Apresentação Introdução Exemplo Básico sobre a Fábrica Construindo uma Fábrica Resumo Application Application User Interface Layer Application User Interface Layer Business Logic Layer User Interface Layer Application User Interface Process Business Logic Layer User Interface Layer User Interface Controls Application User Interface Process Business Logic Layer User Interface Layer User Interface Controls Application User Interface Process Business Logic Layer User Interface Layer User Interface Controls Application User Interface Process Business Logic Layer Business Logic Classes User Interface Layer User Interface Controls Application User Interface Process Business Logic Layer Business Logic Classes Service Proxy User Interface Layer User Interface Controls User Interface Process Application Business Logic Binding Business Logic Layer Business Logic Classes Service Proxy User Interface Layer User Interface Controls User Interface Process Application Business Logic Binding Business Logic Layer Business Logic Classes Service Agent Service Proxy User Interface Layer User Interface Controls User Interface Process Application Business Logic Binding Business Logic Layer Business Logic Classes Service Agent Caching Service Proxy Indice da Apresentação Introdução Exemplo Básico sobre a Fábrica Construindo uma Fábrica Resumo O que é Nossa Fábrica de Software? VS com o “factory template” instalado Habilita os usuários a desenvolver aplicações “parecidas” Automatiza os casos de uso de desenvolvimento Reusa os recursos Direciona o processo de desenvolvimento Cria a documentação de referência Metodologia da Fábrica de Software Descreve como Empacotar Aplicar … uma orientação (recurso) para acelerar o desenvolvimento de uma instância de um tipo de solução … O que existe na Fábrica? Descrição da Software Factory (esquema) Interpretado pelos usuários Interpretado pelas ferramentas Coleção estruturada de recursos Ferramentas, modelos, wizards, config files, application blocks, arquiteturas básicas, padrões, documentos, modelos de requisitos, … Recursos que são customizáveis Recursos Fixos vs. Variáveis Recursos Fixos VS com VSIP (Fornecedores Parceiros) DSL SDK (Linguagem de Domínio Específico) Assistentes de desenho de DSL GAX Documentação Recursos Variáveis Pacotes GAT (Guidance Automation Toolkit) templates do VS Bibliotecas de classes Trechos de código Nossa Fábrica Cliente Documentação básica O esqueleto da solução inicial Elementos incrementais da solução Projeto do processo UIP Esqueleto do subsistema e recipiente Esqueleto do Service Agent e recipientes … Automação do caso de uso de desenvolvimento Crie a solução Adicione o subsistema Defina o assistente UIP Conecte o assistente com a lógica de negócios Adicione agentes de serviços Blocos e bibliotecas reusáveis UIP Application Block Biblioteca de Service Agent Biblioteca Corporativa Dentro da Fábrica Guia SCA Documentação da Fábrica (Sevice Configuration Application) DOC XML PDF Esquema de Fábrica projeto UIP DLL Pacote Básico do GAT MSI (Guidance Application Toolkit) Service Agent GAT Pacote com Biblioteca MSI UIP Application Block MSI Biblioteca Corporativa (Enterprise) MSI A Nossa Factory Ajuda Construir um cliente baseado em UIP Constrói um padrão de assistente UX Conecta aos serviços via Service Agents Cachê de respostas Opera Offline Indice da Apresentação Introdução Examplo Basico sobre a Fábrica Construindo uma Fábrica Resumo Porque Construir a Factory Comunicar experiência (orientação) Ajuda os outros a fazer o que você faz Na prática e não na teoria Provê recursos reusáveis Requerimentos Arquitetura Topologia de instalação Processo de desenvolvimento Ferramentas Princípios do desenvolvimento de uma Factory (Fábrica) Build Factory Engenharia Reversa Generalização Refinamento Interativo “Test Driven” Composição Feedback Use Factory Build Solution Feedback Use Solution Foco da Factory Estimativa subsidiada de ROI Mantém o propósito do trabalho Comece construindo Construa teste refine contrua … Refine em três dimensões Abrangência Generalidade Profundidade Mapeie requintes ao itens variáveis Organização Lógica Pontos de Vista Relacionamentos Navegação Validação Analises Auto-explicação (intellisense) User Interface Layer User Interface Controls User Interface Process Business Logic Binding Application Orientação participativa Contexto dos casos de uso Requisitos Business Logic Layer Business Logic Classes Service Agent Caching Service Proxy Organização Física Guia SCA Documentação da Fábrica (Sevice Configuration Application) DOC XML PDF Esquema de Fábrica projeto UIP DLL Pacote Básico do GAT MSI (Guidance Application Toolkit) Service Agent GAT Pacote com Biblioteca MSI UIP Application Block MSI Biblioteca Corporativa (Enterprise) MSI Empacotamento da Factory Construa a solução da Factory Itens de fábrica combinados Itens de fábrica especializados Construa o instalador Template de desenvolvimento Template de execução Instale o template Numa estação de trabalho No servidor Indice da Apresentação Introdução Exemplo Básico sobre a Fábrica Construindo uma Fábrica Resumo Resumo Pacotes de fábrica que você conhece Coleção de recursos Ajudar outros a fazer o que você faz Explicar o que fazer Ajudá-los a fazer Nada de novo porém… Orientação Recursos de orientação Ferramentas de fábrica e métodos Para Maiores Informações Websites http://www.microsoft.com/practices http://lab.msdn.microsoft.com/vs2005/teamsystem/workshop Newsgroups Microsoft.private.whidbey.teamsystem.architect Microsoft.private.whidbey.teamsystem.architect.modeling Email [email protected] Blogs http://grupos.msn.com/cesharp Sua Avaliação é Importante! Por Favor, Não Esqueça de Preencher a Ficha de Avaliação para esta sessão Seu potencial. Nossa inspiração. MR © 2005 Microsoft Corporation. Todos os direitos reservados. O propósito desta apresentação é apenas informativa. Microsoft não faz nenhuma garantia expressa ou implícita nesta apresentação.