All posts in Arquitetura


Salve, salve galera.

No último dia 08/08/2015 foi realizada a etapa Barretos do ALM Roadshow, evento organizado pela comunidade ALM Brasil.
Quem tiver curiosidade sobre o tema, segue a apresentação e qualquer dúvida entre em contato !

Bons estudos pessoal ! Até a próxima !


Salve, salve galera.

Publiquei um artigo no Technet Wiki onde vemos como trabalhar com Unit Tests Javascript no Visual Studio e como integra-los com o TFS Build para que possamos garantir uma qualidade continua do nosso código, e evitar dores de cabeça causadas por alterações não previstas ou “sem querer”.

Segue o link.

http://social.technet.microsoft.com/wiki/pt-br/contents/articles/31487.alm-trabalhando-com-unit-tests-javascript-no-visual-studio-e-tfs.aspx

Caso tenham algum feedback entrem em contato.

Até a próxima.


Salve, salve galera….

Quando estamos customizando relatórios para o TFS ou criando novos, consumimos dados da base Tfs_Warehouse e do OLAP (Analyses Services), que de maneira bem simplista são as fontes próprias para essas situações.

Quando o assunto são relatórios, na grande maioria das vezes (nem todas, ok ?) são visões gerenciais e que quem extrai tem “certa pressa” não é mesmo ? :D . Olhando pela perspectiva de desempenho que sentido faria a todo momento os dados serem extraídos ? Quem já desenvolveu sabe que muita concorrência de leitura e escrita na mesma base gera lentidão. Para isso o TFS tem um mecanismo – JOBs – que atualiza essas bases a cada período de tempo, mas as vezes esse período de tempo não atende a necessidade ou então em uma situação pontual precisamos que dados sejam processados naquele momento. Como proceder nesses casos ? Como reconfigurar esse time ? Como forçar uma atualização manual ? É isso que quero mostrar hoje….

Read more


Salve, salve galera !!!

Hoje vamos começar a falar sobre a customização build process template no TFS. A ideia desse primeiro post não é colocar a mão na massa mas sim esclarecer alguns conceitos para podermos prosseguir, OK ? E com os conceitos esclarecidos com certeza irão surgir duvidas e ideias do que/como fazer as coisas o que vai ajudar bastante a prosseguirmos.

Antes de iniciarmos precisamos estar familiarizados com algumas conceitos que serão comentados: o que é um Build ? O que é o Build Process Template ? Como funciona o build dentro do TFS ? E o que são build definitions ?

Vamos la ?

Read more


Salve, salve galera, tudo bem ?

Hoje vamos discutir um assunto que é muito útil quando trabalhamos com equipes que utilizam processos de trabalho diferentes em um mesmo produto, o compartilhamento do version control de uma solução entre Team Projects distintos.

Dentro da arquitetura do TFS temos a premissa que para cada Team Project podemos ter apenas um Process Template ( que determina qual será o work-flow, artefatos, work itens, reports, etc ), sendo assim como fazemos quando trabalhamos com equipes que utilizam processos diferentes para um mesmo produto, como por exemplo equipes WEB que utilizam Scrum para front-end e um processo baseado em CMMI para back-office por exemplo ?

Uma alternativa é fazer o compartilhamento do version control do projeto entre Team Projects diferentes, garantindo assim a integridade do fonte, bem como dos artefatos gerados. E ao mesmo tempo uma flexibilidade no trabalho de cada equipe.

De maneira bem simplista temos um Team Project primário e podemos ter N Team Projects secundários. Quando realizamos esse procedimento estamos dizendo ao TFS que cada Team Project secundário possuí todos os seus artefatos exceto o version control.

Mas como assim ? Sem version control ?

Read more


Salve, salve, galera,

Hoje vamos falar um pouco sobre TDD, ou desenvolvimento guiado por testes, que vem sendo muito difundido hoje com a adoção das praticas ágeis como o Scrum por exemplo, e que gera também muitas duvidas sobre o que é e como funciona.

O que é TDD ???

O TDD é uma técnica de desenvolvimento ( que visa a qualidade, mas ainda assim é uma técnica de desenvolvimento e não uma técnica de testes unicamente) que inverte a ordem natural das coisas, onde primeiramente o DESENVOLVEDOR (isso mesmo meus amigos, o desenvolvedor escrevendo testes) deve escrever um teste unitário para um método – aqui vale ressaltar que estamos falando em testes a nível de unidade de código, e não testes de interface, usuário, etc – e posteriormente implementamos esse método de modo que o teste passe, antecipando o entendimento do requisito. Observem na imagem abaixo o ciclo do TDD

Read more


Salve, salve, galera, vamos encerrar nosso bate-papo sobre os princípios SOLID com o último princípio, o da inversão de dependências. Esse princípio diz que:

- Módulos de alto nível não devem depender de módulos de baixo nível. Ambos devem depender de abstrações.
– Abstrações não devem depender de detalhes. Detalhes devem depender de abstrações.

De forma geral, não devemos depender de implementações  e sim de abstrações.

Mas e ae ??? Onde fica o exemplo ???

Read more


Salve, salve, galera, vamos continuar nossa conversa sobre os princípios SOLID. Agora vamos falar do princípio da segregação de interface. Esse princípio nos diz que;

Os clientes não devem ser forçados a depender de interfaces que eles não usam.

Quer dizer, não podemos ter uma classe dependendo de uma interface que não faz sentido para ela, ou que o obrigue a implementar métodos que não fazem sentido. Em outras palavras, damos preferencia para interfaces especificas ao invés de interfaces genéricas.

Em linhas gerais, imaginem que tenhamos uma Classe PessoaFisica e uma PessoaJuridica ambas implementando uma interface IPessoa, acontece que colocamos nessa interface um método ObterPeloCNPJ(…) que sentido faz esse método para a classe PessoaFisica ? Devemos criar interfaces menos genéricas e usa-las então. Poderíamos como uma solução para esse problemas, ter ainda uma interface IPessoa, porem deveríamos ainda ter uma interface IPessoaFisica e uma IPessoaJuridica e deixar os pontos específicos dentro de cada uma.

Esse principio se trata de uma dos mais simples de entendimento e de aplicar. E gera um grande controle quando estamos falando de equipes de médio/grande porte.

Pessoal nesse princípio não vou fazer um exemplo, mas caso surja alguma duvida não exitem em entrar em contato.


Salve, salve, galera, continuando nosso papo sobre os princípios SOLID, hoje vamos falar do princípio que tem o nome mais “exótico”. O principio da substituição de Liskov (quem quiser saber da historia pode ver aqui) diz que:

Se q(x) é uma propriedade demonstrável dos objetos x de tipo T. Então q(y) deve ser verdadeiro para objetos y de tipo S onde S é um subtipo de T.

O que foi isso ????

Vamos falar em termos gerais:  devemos poder trocar uma classe derivada pela sua base (simples assim).

Cade o exemplo ???

Read more