construindo e usando uma software factory oswaldo bernice jr., microsoft

39

Upload: internet

Post on 17-Apr-2015

108 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft
Page 2: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Construindo e Usando Construindo e Usando uma Software Factoryuma Software Factory

Oswaldo Bernice Jr., MicrosoftOswaldo Bernice Jr., Microsoft

Page 3: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Indice da ApresentaçãoIndice da Apresentação

IntroduçãoIntrodução

ExemploExemplo

Básico sobre a FábricaBásico sobre a Fábrica

Construindo uma FábricaConstruindo uma Fábrica

Resumo Resumo

Page 4: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

O Seu CenárioO Seu Cenário

Sua companhia constrói muitas Sua companhia constrói muitas aplicações similaresaplicações similares

Não necessita reinventar a toda horaNão necessita reinventar a toda hora

Você poderia colocar as coisas úteis Você poderia colocar as coisas úteis juntas num só “pacote” ?juntas num só “pacote” ?

O que é um pacote?O que é um pacote?

O que deverá ir nele?O que deverá ir nele?

Como se deve usá-loComo se deve usá-lo

Page 5: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Exemplo de Aplicação de ClienteExemplo de Aplicação de Cliente

Lógica de Interface de Userio Lógica de Interface de Userio

Lógica de NegócioLógica de Negócio

Agentes de ServiçosAgentes de Serviços

Interface de ServiçosInterface de Serviços

Lógica de NegócioLógica de Negócio

Lógica de NegócioLógica de Negócio

Lógica de ReplicaçãoLógica de ReplicaçãoRequisita/RespondeRequisita/Responde

Page 6: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Recurços ExistentesRecurços Existentes

UIP Application BlockUIP Application Block

Biblioteca CorporativaBiblioteca Corporativa

Offline Application BlockOffline Application Block GATGAT(Guidance Automation Toolkit)(Guidance Automation Toolkit)

DSL SDKDSL SDK(Domain Specific Language)(Domain Specific Language)

Updater Application BlockUpdater Application Block

Guia de ArquiteturaGuia de Arquiteturap/ Smart Clientp/ Smart Client

Application Application Architecture Architecture

for .NETfor .NET

Page 7: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Indice da ApresentaçãoIndice da Apresentação

IntroduçãoIntrodução

ExemploExemplo

Básico sobre a FábricaBásico sobre a Fábrica

Construindo uma FábricaConstruindo uma Fábrica

Resumo Resumo

Page 8: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Ap

plic

ati

on

Ap

plic

ati

on

Page 9: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

User Interface LayerUser Interface Layer

Ap

plic

ati

on

Ap

plic

ati

on

Page 10: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Business Logic LayerBusiness Logic Layer

User Interface LayerUser Interface Layer

Ap

plic

ati

on

Ap

plic

ati

on

Page 11: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Business Logic LayerBusiness Logic Layer

User Interface LayerUser Interface Layer

User Interface ProcessUser Interface ProcessA

pp

lica

tio

nA

pp

lica

tio

n

Page 12: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Business Logic LayerBusiness Logic Layer

User Interface LayerUser Interface Layer

User Interface ControlsUser Interface Controls

User Interface ProcessUser Interface ProcessA

pp

lica

tio

nA

pp

lica

tio

n

Page 13: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Business Logic LayerBusiness Logic Layer

User Interface LayerUser Interface Layer

User Interface ControlsUser Interface Controls

User Interface ProcessUser Interface ProcessA

pp

lica

tio

nA

pp

lica

tio

n

Page 14: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Business Logic LayerBusiness Logic Layer

User Interface LayerUser Interface Layer

User Interface ControlsUser Interface Controls

Business Logic ClassesBusiness Logic Classes

User Interface ProcessUser Interface ProcessA

pp

lica

tio

nA

pp

lica

tio

n

Page 15: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Business Logic LayerBusiness Logic Layer

User Interface LayerUser Interface Layer

User Interface ControlsUser Interface Controls

Service ProxyService Proxy

Business Logic ClassesBusiness Logic Classes

User Interface ProcessUser Interface ProcessA

pp

lica

tio

nA

pp

lica

tio

n

Page 16: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Business Logic LayerBusiness Logic Layer

User Interface LayerUser Interface Layer

User Interface ControlsUser Interface Controls

Service ProxyService Proxy

Business Logic ClassesBusiness Logic Classes

User Interface ProcessUser Interface Process

Business Logic BindingBusiness Logic Binding

Ap

plic

ati

on

Ap

plic

ati

on

Page 17: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Business Logic LayerBusiness Logic Layer

Service AgentService Agent

User Interface LayerUser Interface Layer

User Interface ControlsUser Interface Controls

Service ProxyService Proxy

Business Logic ClassesBusiness Logic Classes

User Interface ProcessUser Interface ProcessA

pp

lica

tio

nA

pp

lica

tio

n

Business Logic BindingBusiness Logic Binding

Page 18: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Business Logic LayerBusiness Logic Layer

Service AgentService Agent

CachingCaching

User Interface LayerUser Interface Layer

User Interface ControlsUser Interface Controls

Service ProxyService Proxy

Business Logic ClassesBusiness Logic Classes

User Interface ProcessUser Interface Process

Business Logic BindingBusiness Logic Binding

Ap

plic

ati

on

Ap

plic

ati

on

Page 19: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Indice da ApresentaçãoIndice da Apresentação

IntroduçãoIntrodução

ExemploExemplo

Básico sobre a FábricaBásico sobre a Fábrica

Construindo uma FábricaConstruindo uma Fábrica

Resumo Resumo

Page 20: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

O que é Nossa Fábrica de O que é Nossa Fábrica de Software?Software?

VS com o “factory template” instaladoVS com o “factory template” instalado

Habilita os usuários a desenvolver Habilita os usuários a desenvolver aplicações “parecidas”aplicações “parecidas”

Automatiza os casos de uso de Automatiza os casos de uso de desenvolvimentodesenvolvimento

Reusa os recursosReusa os recursos

Direciona o processo de desenvolvimentoDireciona o processo de desenvolvimento

Cria a documentação de referênciaCria a documentação de referência

Page 21: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Metodologia da Fábrica de Metodologia da Fábrica de SoftwareSoftware

Descreve comoDescreve comoEmpacotarEmpacotar

AplicarAplicar

… … uma orientação (recurso) para uma orientação (recurso) para acelerar o desenvolvimento de uma acelerar o desenvolvimento de uma instância de um tipo de solução …instância de um tipo de solução …

Page 22: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

O que existe na Fábrica? O que existe na Fábrica?

Descrição da Software Factory Descrição da Software Factory (esquema) (esquema)

Interpretado pelos usuáriosInterpretado pelos usuários

Interpretado pelas ferramentasInterpretado pelas ferramentas

Coleção estruturada de recursosColeção estruturada de recursosFerramentas, modelos, wizards, config Ferramentas, modelos, wizards, config files, application blocks, arquiteturas files, application blocks, arquiteturas básicas, padrões, documentos, modelos básicas, padrões, documentos, modelos de requisitos, …de requisitos, …

Recursos que são customizáveisRecursos que são customizáveis

Page 23: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Recursos Fixos vs. VariáveisRecursos Fixos vs. Variáveis

Recursos FixosRecursos FixosVS com VSIP VS com VSIP (Fornecedores Parceiros)(Fornecedores Parceiros)

DSL SDK DSL SDK (Linguagem de Domínio Específico)(Linguagem de Domínio Específico)

Assistentes de desenho de DSLAssistentes de desenho de DSL

GAXGAX

DocumentaçãoDocumentação

Recursos VariáveisRecursos VariáveisPacotes GAT Pacotes GAT (Guidance Automation Toolkit)(Guidance Automation Toolkit)

templates do VStemplates do VS

Bibliotecas de classesBibliotecas de classes

Trechos de códigoTrechos de código

Page 24: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Nossa Fábrica ClienteNossa Fábrica Cliente

Documentação básicaDocumentação básica

O esqueleto da solução inicialO esqueleto da solução inicial

Elementos incrementais da soluçãoElementos incrementais da soluçãoProjeto do processo UIPProjeto do processo UIP

Esqueleto do subsistema e recipienteEsqueleto do subsistema e recipiente

Esqueleto do Service Agent e recipientes Esqueleto do Service Agent e recipientes

Page 25: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

……

Automação do caso de uso de Automação do caso de uso de desenvolvimentodesenvolvimento

Crie a solução Crie a solução Adicione o subsistemaAdicione o subsistemaDefina o assistente UIPDefina o assistente UIPConecte o assistente com a lógica de Conecte o assistente com a lógica de negóciosnegóciosAdicione agentes de serviçosAdicione agentes de serviços

Blocos e bibliotecas reusáveisBlocos e bibliotecas reusáveisUIP Application Block UIP Application Block Biblioteca de Service AgentBiblioteca de Service AgentBiblioteca Corporativa Biblioteca Corporativa

Page 26: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Dentro da FábricaDentro da Fábrica

Esquema deEsquema de FábricaFábrica

Guia SCAGuia SCA(Sevice Configuration Application)(Sevice Configuration Application)

Pacote Básico Pacote Básico do GAT do GAT (Guidance Application Toolkit)(Guidance Application Toolkit)

Service Agent GATService Agent GATPacote com BibliotecaPacote com Biblioteca

projeto UIPprojeto UIP

DLLDLL

MSIMSI

MSIMSI

PDFPDF

XMLXML

UIP Application BlockUIP Application Block

MSIMSI

Biblioteca CorporativaBiblioteca Corporativa(Enterprise)(Enterprise)

MSIMSI

Documentação da FábricaDocumentação da Fábrica

DOCDOC

Page 27: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

A Nossa Factory AjudaA Nossa Factory Ajuda

Construir um cliente baseado em UIP Construir um cliente baseado em UIP Constrói um padrão de assistente UXConstrói um padrão de assistente UX

Conecta aos serviços via Service Conecta aos serviços via Service AgentsAgents

Cachê de respostasCachê de respostas

Opera OfflineOpera Offline

Page 28: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Indice da ApresentaçãoIndice da Apresentação

IntroduçãoIntrodução

ExamploExamplo

Basico sobre a FábricaBasico sobre a Fábrica

Construindo uma FábricaConstruindo uma Fábrica

Resumo Resumo

Page 29: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Porque Construir a Factory Porque Construir a Factory

Comunicar experiência (orientação)Comunicar experiência (orientação)Ajuda os outros a fazer o que você fazAjuda os outros a fazer o que você faz

Na prática e não na teoriaNa prática e não na teoriaProvê recursos reusáveisProvê recursos reusáveis

Requerimentos Requerimentos ArquiteturaArquiteturaTopologia de instalaçãoTopologia de instalaçãoProcesso de desenvolvimentoProcesso de desenvolvimentoFerramentasFerramentas

Page 30: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Princípios do desenvolvimento Princípios do desenvolvimento de uma Factory (Fábrica)de uma Factory (Fábrica)

Engenharia ReversaEngenharia Reversa

GeneralizaçãoGeneralização

Refinamento InterativoRefinamento Interativo

““Test Driven”Test Driven”

Composição Composição

Use FactoryUse FactoryBuild SolutionBuild Solution

Use SolutionUse Solution

Build FactoryBuild Factory

FeedbackFeedback

FeedbackFeedback

Page 31: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Foco da FactoryFoco da Factory

Estimativa subsidiada de ROIEstimativa subsidiada de ROI

Mantém o propósito do trabalhoMantém o propósito do trabalho

Comece construindoComece construindoConstrua Construa teste teste refine refine contrua contrua … …

Refine em três dimensões Refine em três dimensões AbrangênciaAbrangência

GeneralidadeGeneralidade

ProfundidadeProfundidade

Mapeie requintes ao itens variáveisMapeie requintes ao itens variáveis

Page 32: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Organização LógicaOrganização Lógica

Pontos de VistaPontos de VistaOrientação Orientação participativaparticipativa

Contexto dos casos Contexto dos casos de usode uso

RequisitosRequisitos

RelacionamentosRelacionamentosNavegaçãoNavegação

ValidaçãoValidação

AnalisesAnalises

Auto-explicação Auto-explicação

(intellisense)(intellisense)

Business Logic LayerBusiness Logic Layer

Service AgentService AgentCachingCaching

User Interface LayerUser Interface Layer

User Interface ControlsUser Interface Controls

Service ProxyService Proxy

Business Logic ClassesBusiness Logic Classes

User Interface ProcessUser Interface Process

Business Logic BindingBusiness Logic Binding

Ap

pli

cati

on

Ap

pli

cati

on

Page 33: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Organização FísicaOrganização Física

Esquema deEsquema de FábricaFábrica

Guia SCAGuia SCA(Sevice Configuration Application)(Sevice Configuration Application)

Pacote Básico Pacote Básico do GAT do GAT (Guidance Application Toolkit)(Guidance Application Toolkit)

Service Agent GATService Agent GATPacote com BibliotecaPacote com Biblioteca

projeto UIPprojeto UIP

DLLDLL

MSIMSI

MSIMSI

PDFPDF

XMLXML

UIP Application BlockUIP Application Block

MSIMSI

Biblioteca CorporativaBiblioteca Corporativa(Enterprise)(Enterprise)

MSIMSI

Documentação da FábricaDocumentação da Fábrica

DOCDOC

Page 34: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Empacotamento da FactoryEmpacotamento da Factory

Construa a solução da FactoryConstrua a solução da FactoryItens de fábrica combinadosItens de fábrica combinadosItens de fábrica especializadosItens de fábrica especializados

Construa o instaladorConstrua o instaladorTemplate de desenvolvimentoTemplate de desenvolvimentoTemplate de execuçãoTemplate de execução

Instale o templateInstale o templateNuma estação de trabalhoNuma estação de trabalho

No servidorNo servidor

Page 35: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Indice da ApresentaçãoIndice da Apresentação

IntroduçãoIntrodução

ExemploExemplo

Básico sobre a FábricaBásico sobre a Fábrica

Construindo uma FábricaConstruindo uma Fábrica

Resumo Resumo

Page 36: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

ResumoResumo

Pacotes de fábrica que você conhecePacotes de fábrica que você conheceColeção de recursosColeção de recursos

Ajudar outros a fazer o que você fazAjudar outros a fazer o que você fazExplicar o que fazerExplicar o que fazer

Ajudá-los a fazerAjudá-los a fazer

Nada de novo porém… Nada de novo porém…

OrientaçãoOrientaçãoRecursos de orientaçãoRecursos de orientação

Ferramentas de fábrica e métodos Ferramentas de fábrica e métodos

Page 37: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Para Maiores InformaçõesPara Maiores InformaçõesWebsitesWebsites

http://www.microsoft.com/practiceshttp://www.microsoft.com/practiceshttp://lab.msdn.microsoft.com/vs2005/teamsystem/workshophttp://lab.msdn.microsoft.com/vs2005/teamsystem/workshop

NewsgroupsNewsgroupsMicrosoft.private.whidbey.teamsystem.architectMicrosoft.private.whidbey.teamsystem.architectMicrosoft.private.whidbey.teamsystem.architect.modelingMicrosoft.private.whidbey.teamsystem.architect.modeling

[email protected]@microsoft.com

BlogsBlogshttp://grupos.msn.com/cesharphttp://grupos.msn.com/cesharp

Page 38: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

Sua Avaliação é Sua Avaliação é Importante!Importante!Por Favor, Não Esqueça de Por Favor, Não Esqueça de Preencher a Ficha de Avaliação Preencher a Ficha de Avaliação para esta sessãopara esta sessão

Page 39: Construindo e Usando uma Software Factory Oswaldo Bernice Jr., Microsoft

© 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.

Seu potencial. Nossa inspiração.MR