pré-requisitos web viewexercício 2: analisando estrutura de projeto usando o explorer...

32
Hands-On Lab Usando a Explorer Arquitetura no Visual Studio Ultimate 2012 Para Analisar Seu Código Versão do Laboratório: 11.0.50727.1 (RTM) Última atualização: 8/21/2012 Tradução: 9/8/2012

Upload: vuongnhu

Post on 31-Jan-2018

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Hands-On LabUsando a Explorer Arquitetura no Visual Studio Ultimate 2012 Para Analisar Seu CódigoVersão do Laboratório: 11.0.50727.1 (RTM)

Última atualização: 8/21/2012

Tradução: 9/8/2012

Page 2: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

CONTEÚDOS

VISÃO GERAL............................................................................................................................................ 3

EXERCISE 1: INTRODUÇÃO PARA EXPLORER ARQUITETURA..........................................................4

EXERCÍCIO 2: ANALISANDO ESTRUTURA DE PROJETO USANDO O EXPLORER ARQUITETURA E DGML........................................................................................................................................................ 13

EXERCICIO 3: ANALISANDO MONTAGENS EXTERNAS USANDO EXPLORER ARQUITETURA.....27

Page 3: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Visão Geral

No Visual Studio Ultimate 2012, o Explorer Arquitetura fornece uma maneira fácil de detalhar o seu código e analisar as relações entre os projetos, tipos, suas montagens e referências. Neste laboratório, você vai ver como você pode usar o Gerenciador de Arquitetura para examinar uma solução existente e criar dinâmicos diagramas DGML (Directed Graph Markup Language) .

É recomendado que você tenha concluido os seguintes laboratórios antes de explorar este laboratório:

Descobrindo o código usando as Ferramentas de Arquitetura no Visual Studio Ultimate 2012

Entendendo o acoplamento classe com o Visual Studio Ultimate 2012Ultimate

Pré-requisitos

A fim de concluir este laboratório, você precisará da máquina virtual do Visual Studio 2012 fornecida pela Microsoft. Para mais informações sobre a aquisição e utilização da máquina virtual, consulte this blog post.

Exercícios

Esse hands-on lab inclui os seguintes laboratórios:

1. Introdução para Explorer Arquitetura

2. Analisando estrutra de projetos usando o Explorer Arquitetura e DGML

3. Analisando montagens externas usando Explorer Arquitetura

Tempo estimado para completar este lab: 60 minutos.

Page 4: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Exercise 1: Introdução Para Explorer Arquitetura

Neste exercício, você irá aprender como usar a ferramenta Explorer Arquitetura para navegar nas estrtuturas fontes dos projetos e para gerar diagramas DGML que ajudam a entender subconjuntos da estrutura escolhida.

1. Efetue login como usuários Julia. Todas as senhas de usuário são: P2ssw0rd.

2. Abra Microsoft Visual Studio from Start | All Programs | Microsoft Visual Studio 2012 | Visual Studio 2012.

3. Na aba Start Page, Clique em Connect To Team Foundation Server…

Figura 1Localização do link de conexão to Team Foundation Server

4. Escolha TailspinToysCollection na caixa Connect to Team Foundation Server e clique no botão Connect . Se a confirmação for necessária, clique no botão Sim na janela de confirmação.

Page 5: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Figura 2Selecionando a coleção de projeto TailspinToysCollection

5. Abra a janela Source Control Explorer do View | Other Windows | Source Control Explorer.

6. Na Fonte Explorer Controle , navegue por Tailspin Toys | Development | Iteration 2 duplo-clique no arquivo TailspinToys.sln para abrir a solução Tailspin Toys .

7. Reconstrua a solução (Build | Rebuild Solution do menu principal). Esse passo pode levar alguns minutos para completar

8. Feche a janela Output depois que a construção finalizou com sucesso.

9. Carregue Explorer Arquitetura (do View | Architecture Explorer). Explorer Arquitetura permite que você navegue pelos tipos e métodos dos códigos iniciados de cada visão de classe ou visão de solução.

Figura 3 Visão inicial do Explorer Arquitetura

Page 6: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

10. Selecione a opção de exibição de classe de Arquitetura Explorer para exibir todos os espaços de nomes que fazem parte da solução TailspinToys. A partir deste ponto, ao clicar em um item do painel mais à direita lhe permitirá aprofundar ainda mais em tipos e membros.

Figura 4Vista de classes mostrando namespaces da solução TailspinToys

11. Dessa até encontrar o espaço para Tailspin.Admin.App e selecioná-lo para carregar seus tipos.

Figura 5Veja os tipos Tailspin.Admin.App namespace

12. Selecione o tipo de classe ProductRelationship para carregar seus membros.

Page 7: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Figura 6Visualize os membros da classe ProductRelationship

13. Selecione o membro propriedade do produto para ver que ela contém dois métodos.

Figura 7Métodos de visualização que implementam a propriedade do produto

Nota: Este passo mostra que Explorer Architetura está operando em código compilado usando reflexão. Como você verá mais adiante neste laboratório, você pode explorar o código compilado. NET diretamente de módulos compilados.

14. Selecione o método get_Product.

Page 8: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Figura 8Selecione as barras verticais de exposição do get_Product

15. Cada nível que detalhar começando com tipos tem uma barra vertical que expõe filtragem, agrupamento e outros comandos. Selecione a barra vertical, chamadas para expor estas opções.

Figura 9Opções disponíveis quando trabalha com nós de tipos e membros.

Nota: A figura acima é uma representação exata do que você vai ver. Você terá que percorrer para ver todas as opções.

Page 9: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

16. Selecione a opção Return Types encontrado em navegação de saída, a fim de mostrar o tipo de retorno para get_product.

Figura 10Encontrando o tipo de retorno do get_Product

17. Selecione o tipo de retorno do produto para exibir seus membros. Note-se que estamos a navegar o tipo de produto, mas ainda temos os passos históricos da nossa navegação para olhar através também.

Figura 11Visualizando membros do tipo de produto

18. Selecione os membros da barra vertical imediatamente à esquerda da lista de membros produto e vá para a seção de navegação.

Page 10: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Figura 12Visualizando options para os membros

19. Selecione a opção de navegação Todos para ver todas as chamadas que tem referência do produto.

Figura 13Visualizando referências recebidas para o tipo de produto.

20. Embora isso possa parecer redundante a partir de uma perspectiva de navegação, selecione o tipo de classe do produto na lista de referências de entrada. Mais uma vez, você vai ver get_produto e set_Product listados.

21. Selecione o botão Criar Novo Gráfico do lado esquerdo de Arquitetura Explorer. Isso irá criar um novo diagrama DGML mostrando o caminho de navegação inteiro que você manualmente levou até este ponto.

Page 11: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Figura 14Localização do botão criar novo gráfico

Figura 15Representação DGML de manual de navegação realizado em Architecture Explorer

22. Uma vez que este é um diagrama DGML, podemos usar todas as ferramentas padrão para o visualizar e adicionar ou remover nós. Selecione o nó TailspinToys e pressione a tecla Delete para removê-lo do diagrama.

23. Retornar para Architecture Explorer e encontrar o método set_Product que está contido dentro da classe do produto. Arraste e solte set_Product para o diagrama DGML.

Page 12: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Figura 16Adicionando set_Product ao diagrama DGML

24. Limpar as colunas selecionadas em Architecture Explorer, selecionando o botão Limpar colunas.

Figura 17Localização do botão que limpa colunas

Page 13: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Exercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML

Neste exercício, você vai aprender mais sobre as características do Explorer Arquitetura visualizando a solução. Isto inclui mais exposição ao nó de navegação, suporte de filtragem, e um cenário de exemplo que demonstra o poder combinado de Architecture Explorer e diagramas DGML para ajudar na análise da arquitetura.

1. Selecione a opção Solution View do Explorer Arquitetura para visualize todos os projetos que são parte da solução do TailspinToys .

Figura 18Visualização da solução mostrando projetos da solução TailspinToys.

2. Selecione o projeto Tailspin.Web para visualizar os itens de projeto.

Page 14: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Figura 19Vendo todos os itens do projeto para o projeto Tailspin

3. No topo da lista de arquivos de origem há uma caixa de filtro. Entre ". Cs" na caixa de filtro e pressione Enter para restringir a exibição de arquivos com a extensão diferente de cs.

Figure 20Filtrando arquivos fontes

4. Pressione Ctrl + A todos os arquivos .cs e clique no botão Create New Graph .

Page 15: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Figure 21Diagrama mostrando DGML arquivos de origem do projeto Tailspin.

Nota: Se Ctrl + A não funcionar, certifique-se de que a lista que você está tentando selecionar atualmente tem o foco clicando primeiro em algum lugar dentro dessa lista.

5. Feche os novos gráficos sem salvar e retorne ao Explorer Arquitetura

6. Selecione o projeto Tailspin.Web para visualizar todos os arquivos que não passaram por filtro.

7. Selecione a barra vertical Project Items e selecione a opção de navegação Classes para ver todas as classes do projeto Tailspin.Web

Page 16: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Figura 22Visualizando Tailspin.Web classes

8. Pressione Ctrl + A para selecionar todas as classes e selecione o botão Criar Novo Gráfico.

Figura 23Diagrama DGML mostrando todas as classes de Tailspin.Web projeto

9. Feche o novo gráfico sem salvar e retornar ao Explorer Arquitetura.

10. Limpar as colunas selecionadas em Explorer Arquitetura, selecionando o botão Limpar colunas.

11. Selecione a visualização da solução, navegue até o projeto Tailspin.Web mais uma vez e selecione a opção de Referências em Navegação de saída da barra de Classes vertical. Isso vai nos mostrar todas as montagens referenciadas usados por este projeto.

Page 17: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Figura 24Seleção de todos os assemblies referenciados para um projeto

12. Selecione o botão de filtro na parte superior da lista de assemblies referenciados e selecione a caixa de seleção para o Projeto. Este irá filtrar todas as referências que são externas à solução TailspinToys.

Figura 25Botão de filtro e locais de opção projeto

13. Selecione o botão OK para aceitar os filtros

14. Selecione todas as referências de projeto filtradas e selecione o botão Criar Novo Gráfico.

15. Excluir o nó TailspinToys partir do diagrama.

Page 18: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Figura 26Diagrama DGML mostrando referências de saída do Tailspin.Web

16. Agora podemos explorar a relação referencial entre Tailspin.SimpleSqlRepository e outros projetos no diagrama. No Explorer Arquitetura, selecione apenas o item Tailspin.SimpleSqlRepository e verifique o ponto de visualização Referências está mostrando.

Figura 27Referências de Listagem para o projeto Tailspin.SimpleSqlRepository

Page 19: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

17. Selecione os itens Tailspin.Infrastructure e Tailspin.Model e então arrastar e soltá-los no diagrama existente DGML.

Figura 28Update DGML diagram showing outgoing references from Tailspin.SimpleSqlRepository project

18. Agora podemos criar uma visão melhor de como as classes de produtos relacionados para esses projetos se encaixam nesse cenário. Retornar para o Explorer Arquitetura e selecionar as três referências de projeto do projeto Tailspin.Web mais uma vez.

Page 20: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

19. Selecione a barra de Referências vertical à direita dos três projetos que você acabou de selecionar e selecione a opção para exibir todas as classes a partir dos projetos selecionados.

20. Na caixa de filtro, digite "produto" e pressione Enter para ver todas as classes que contenham esse termo.

21. Selecione todas as classes filtradas, em seguida, arrastar e soltá-los no diagrama existente DGML.

Figura 29Arraste e solte classes de produtos relacionados com o esquema de DGML

Page 21: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Figure 30 Atualizado diagrama DGML mostrando como as classes de produtos relacionados dizem respeito aos produtos existentes

22. Selecione o botão de Clusters rápido e zoom para ajustar o gráfico inteiro para o espaço disponível na tela. Note que agora é fácil de ver que o projeto Tailspin.SimpleSqlRepository e suas classes de produtos relacionados são responsáveis por acesso a dados.

Figura 31Localização do botão de Clusters Rápida

Page 22: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Figura 32Clusters rápidas de ver gráfico de dependência atual

23. Agora podemos ver como o aplicativo administrador Tailspin se encaixa na arquitetura global que vimos até agora. Limpar as colunas selecionadas em Architecture Explorer, selecionando o botão Limpar colunas.

24. Selecione o Ver solução e selecione Tailspin.Admin.App..App.

25. Selecione a barra de Classes vertical e selecione a opção referências. Note-se que não há referências a qualquer um dos projetos Tailspin. Há referências a System.Data.dll e System.Data.Linq.dll, então talvez a aplicação admin está indo diretamente para o banco de dados.

Page 23: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Figura 33Tailspin.Admin.App não faz referência a projetos de outras Tailspin

26. Agora vamos investigar a aplicação de administração mais para ver se há realmente motivo de preocupação. Selecione a barra vertical que está exibindo Referências e selecione a opção Classes vez.

27. Selecione todas as classes que começam com produto usando um filtro.

Figura 34Seleção de classes de produtos relacionados para aplicação admin Tailspin

28. Selecione o botão Criar Novo Gráfico.

Page 24: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Figura 35Diagrama mostrando DGML aplicação Tailspin administrador e classes de produtos

29. Excluir o nó solução TailspinToys partir do diagrama.

30. Observe que não há chamadas de saída para o código de acesso Tailspin.SimpleSqlRepository dados. Botão direito do mouse em algum lugar dentro do diagrama atual DGML e selecione a opção Save As XPS ... Nós vamos criar um Work Item e atribuir a alguém a investigar mais ...

Figura 36Salvando diagrama DGML como XPS

31. Nomeie o arquivo XPS "AdminAppReview" e selecione o botão Salvar.

32. Em Team Explorer, clique no nó de itens de trabalho para o projeto TailspinToys e selecione o item de trabalho Novo | opção de tarefas.

Page 25: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Figura 37Abriando um novo Work Item como Task

33. Preencha os seguintes campos como mostrado abaixo.

Work Item Field Value

Title Review why Admin app is not using the Data Access Layer project

Assigned To Brian Keller

Stack Rank 1

Details Description Take a look at the attached diagram. Notice how we’re using Product data but not getting it via the Tailspin data access project.

Page 26: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Figura 38Preenchendo as informações para o novo item de trabalho

34. Selecione o guia Anexos e clique no botão Adicionar.

Figura 39Localização do guia Anexo e no botão Adicionar

35. Selecione o botão Procurar e selecione o arquivo XPS que você salvou.

36. No campo Comment field, entre “Snapshot of current Admin app.”

37. Selecione o botão OK para adicionar o anexo para o novo item de trabalho.

Page 27: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

38. Selecione o botão Salvar item de trabalho.

Figura 40Localização do botão Save Work Item

39. Feche todas as janelas abertas no Visual Studio, incluindo o novo item de trabalho e gráficos existentes. Você não precisa para salvar os gráficos existentes.

40. Limpar as colunas selecionadas em Architecture Explorer, selecionando o botão Limpar colunas.

Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura

Neste exercício, você vai aprender como carregar e navegar externos. NET. Isso pode ajudá-lo a ter uma visão sobre a arquitetura de quadros ou aplicações para o qual você não tem o projeto original ou arquivos de origem.

1. Escolha a opção Selecionar arquivos de Arquitetura Explorer. Isso permite que você carregue compilado. NET e analisá-los como você já fez com as opiniões da classe e solução.

Figura 41Select Files permite que você carregue e navegue em qualquer código .NET

2. Na caixa Nome do arquivo, digite "c: \ windows \ microsoft.net \ framework \ v4.0.30319" e pressione a tecla Enter.

Page 28: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Nota: Se o diretório v4.0.30319 não estiver disponível, selecione o mais recente disponível.

3. Na caixa Nome do arquivo, digite "System.Data.dll" e selecione o botão Abrir para continuar.

4. Selecione o arquivo System.Data.dll para ver seus tipos. Isso pode demorar alguns minutos.

Figura 42Visualização dos tipos de System.Data.dll

5. Cliques em Contém barras verticais e selecione Classes da lista. Clique no botão Filtrar no topo da lista de tipos e marque a caixa de seleção para a Classe e na caixa de seleção para IsPublic.

Figura 43Criar um filtro para classes públicas

Page 29: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

6. Pressione o botão OK para ver a lista de classes públicas no conjunto System.Data.dll.

7. Digite "SQL" na caixa de filtro no topo da lista de tipo corrente e pressione Enter para que possamos ver os tipos que contêm esse texto.

Figura 44Filtragem com texto personalizado

8. Selecione todos os tipos listados e pressione o botão Criar Novo Gráfico.

9. Selecione o botão de Clusters rápida.

Figura 45Localização do botão Clusters Rápida

Page 30: Pré-requisitos Web viewExercício 2: Analisando Estrutura de Projeto Usando o Explorer Arquitetura e DGML13. Exercicio 3: Analisando Montagens Externas usando Explorer Arquitetura27

Figure 46Diagrama mostrando DGML System.Data.dll e suas classes