Desenvolvimento - C#

Visual Studio Team System e Projeto Rosário

Este projeto introduz conceitos relativos ao .NET Framework, ao ambiente de desenvolvimento de software Visual Studio, enfatizando de maneira genérica, suas principais características, pontos fortes e fracos, e destacando, o projeto "Rosário", cujo objetivo é integrar a plataforma, toda a base para planejamento, desenho, arquitetura, gerenciamento do clico de vida de um sistema, tecnologias e conceito em torno do .NET Framework.

por Gustavo Henrique Dornelas de Deus



Autores

Gustavo Henrique Dornelas de Deus

Alan Santos

Felipe Augusto da Costa Marques

Introdução

Este projeto introduz conceitos relativos ao .NET Framework, ao ambiente de desenvolvimento de software Visual Studio, enfatizando de maneira genérica, suas principais características, pontos fortes e fracos, e destacando, o projeto “Rosário”, cujo objetivo é integrar a plataforma, toda a base para planejamento, desenho, arquitetura, gerenciamento do clico de vida de um sistema, tecnologias e conceito em torno do .NET Framework.

Para implementação de uma metodologia de ciclo de vida personalizada no Visual Studio, é necessário somente definir um modelo de processo ara a mesma e usa-la para cria um projeto de equipe. A configuração, a execução, o monitoramento e o relatório são manipulados automaticamente pelas ferramentas do VSTS, conforme elas entendem os esquemas do modelo de processo.

1. Ambientes de Desenvolvimento

Um ambiente de desenvolvimento ou IDE (Integrated Development Environment – Ambiente de Desenvolvimento Integrado) é um software que reúne características e ferramentas de apoio ao desenvolvimento de software com o objetivo de agilizar este processo.

Geralmente os IDE facilitam a técnica de RAD (Rapid Application Development – Desenvolvimento Rápido de Aplicações), que visa à maior produtividade dos desenvolvedores.

Dentre os IDE existentes, foi analisado o Microsoft Visual Studio.

1.1 Introdução ao .NET Framework

O .Net Framework é um componente integrado Windows que suporta a execução e desenvolvimento de uma nova geração de aplicações e XML webservices, possibilitando uma interação pessoal e integrada com a Internet através de dispositivos inteligentes. Segundo a documentação, o .NET Framework foi projetado com o seguintes objetivos:


    1.2.1 Casos de sucesso no Mundo

    A Xerox (http://www.xerox.com) conseguiu diminuir o tempo de desenvolvimento de suas aplicações e os custos em até 50%, aumentando a escalabilidade em até 500%. Os analistas da Xerox desenvolvem aplicações para fornecer aos seus clientes o melhor serviço possível. Quando precisaram de uma ferramenta mais escalável, a Xerox passou a desenvolver aplicações utilizando o Microsoft Visual Studio 2008. As criações dos relatórios na Xerox, levaram metade do tempo e dinheiro quando se comparado com uma solução baseada em Flash. Agora a Xerox conseguiu criar gráficos excelentes e desta forma conseguiu aumentar drasticamente a produtividade interna e a eficiência de seus serviços.

    O San Diego Zôo (http://www.sandiegozoo.org) aumenta e melhora as operações de visitas anualmente, cerca de seis milhões de pessoas visitam o San Diego Zoo. Com mais de 200 exposições ativas no zoológico, os visitantes passaram a ficar confusos e sem saber como planejar o seu passeio no Zoológico. Os líderes do zoológico queriam dar aos visitantes uma visão melhor e recolher dados preciosos sobre os padrões e preferências dos visitantes. Para suprir essas necessidades o jardim zoológico desenvolveu o iZoofari, usando o Microsoft Visual Studio 2008 Professional Edition. O iZoofari é uma ferramenta online que possibilita um planejamento completo e fornece uma análise de dados e relatórios.

    1.2.2 Casos de sucesso no Brasil


    A versão 2008 do Visual Studio, lançada no mês de dezembro, já é amplamente utilizada por empresas nacionais. A Brasília Soluções Inteligentes, a Ampsoft e a Diebold Procomp são alguns dos exemplos de companhias que utilizam essa solução. A Brasília, empresa fabricante de software atingiu produtividade 32% acima da média a partir do uso da ferramenta. “O resultado positivo é fruto de um trabalho sério, de condições e pessoas preparadas. Mas essas marcas não seriam atingidas sem o uso das soluções da Microsoft", explica Pablo Coelho, diretor da Brasília Soluções Inteligentes. Já a Ampsoft, que desenvolve soluções de negócios para seguradoras, automatizou sua fábrica de software com o Visual Studio 2008. “Todos os profissionais envolvidos nos processos de desenvolvimento e homologação de novas versões dos projetos ganharam produtividade e qualidade", diz Letícia Banffy, gerente da Ampsoft. A Diebold Procomp, fornecedora de soluções de automação bancária, melhorou a gestão dos ciclos de desenvolvimento e reduziu em 50% os gastos com licenciamento com a utilização do Visual Studio 2008. “Além de contar com uma plataforma de desenvolvimento muito mais poderosa e completa, obtivemos uma economia no licenciamento considerável", destaca Sidney Rodrigues, gerente de infra-estrutura de T.I. da Diebold Procomp.
    Mais detalhes dos três cases podem ser obtidos por meio do acesso aos links abaixo:

    Brasília Soluções Inteligentes

    http://www.microsoft.com/brasil/Casos/interna.aspx?id=500

    Ampsoft
    http://www.microsoft.com/brasil/Casos/interna.aspx?id=503

    Procomp
    http://www.microsoft.com/brasil/Casos/interna.aspx?id=496


    1.2.3 Benefício para os clientes


    Em outra iniciativa voltada a beneficiar os clientes que já utilizam o Visual Studio Team System 2008, a Microsoft também divulgou que o Visual Studio Team System 2010 irá unificar a versão para administradores de database e desenvolvedores. Até o lançamento da nova versão, os clientes atuais que possuem as edições com Software Assurance (SA) do Visual Studio 2008 Development ou Visual Studio 2008 Database receberão gratuitamente os seguintes produtos a partir de 1° de outubro de 2008:

    - Visual Studio 2008 Development Edition;

    - Visual Studio 2008 Database Edition;

    - Visual Studio 2005 para desenvolvedores de software;

    - Visual Studio 2005 para profissionais de Database.


    1.2.4 Sobre a Microsoft Brasil


    Fundada em 1989, a Microsoft Brasil gera localmente oportunidades diretas na área de tecnologia para mais de 18 mil empresas e 495 mil profissionais. Nos últimos cinco anos, a empresa investiu mais de R$ 85 milhões em projetos sociais, levando tecnologia a escolas, universidades, ONGs e comunidades carentes. É uma das 103 subsidiárias da Microsoft Corporation, fundada em 1975, empresa líder mundial no fornecimento de software, serviços e soluções em tecnologia da informação. Com um modelo baseado em inovação, a Microsoft investe no desenvolvimento e integração de tecnologias que capacitam pessoas e empresas a atingirem seu potencial pleno.

    Saiba mais no: http://www.microsoft.com/latam/presspass/brasil/default.mspx.

    2.5 – A implementação do Visual Studio

    O Visual Studio Team System - VSTS permite gerar diariamente builds. Estes fazem parte de um processo conhecido como Integração Contínua. Integrar continuamente significa garantir que todo o código hospedado no controle de versão estará funcionando quando for requisitado. Essa necessidade surgiu a partir do momento que diversos desenvolvedores começaram a trabalhar paralelamente no mesmo projeto.

    É possível definir que uma build será executada a cada check-in, semanalmente, a cada intervalo de tempo ou ainda diariamente. Toda esta configuração é visual no VSTS e pode ser feita rapidamente nas opções da build. Além do mais, não existe problema ao agendar duas ou mais builds para um mesmo horário, pois o servidor do VSTS consegue gerenciar todas as requisições.

    O VSTS possui funcionalidades que permitem o rastreamento de bugs. A única certeza que temos sobre bugs no desenvolvimento de um software é que eles irão existir. Cabe a nós gerenciá-los de maneira eficiente e corrigi-los o quanto antes. Para resolver este problema, o VSTS possui um recurso chamado Work Item, ou em português, Item de Trabalho. Cada item de trabalho possui um tipo, sendo que um dos tipos disponíveis é o Bug. Portanto para registrar e gerenciar bugs, você pode e deve usar os itens de trabalho.

    A figura 01 apresenta o pontencial oferecido pelo Visual Studio Team System.

    Figura 02 - Visual Studio Team System


    Figura 01 – Visualização do Visual Studio Team System

    A figura apresenta uma estrutura divida em algumas camadas que poderíamos separar conforme as seguintes visões:

    • Ferramentas que atuam no cliente (Gerente de projeto, Arquiteto, Desenvolvedor, DBA – Administrador de Banco de Dados, Testador).
    • Ferramentas que atual no servidor (Portal, Comunicação, Relatórios, Controle de versão).
    • Metodologia.
    • Ferramentas de terceiros que complementam a solução

    2.6 A importância para o clico de desenvolvimento

    O mercado hoje já está consolidado com os padrões disponíveis que já oferecem ampla segurança do ponto de vista de tecnologia chegando ao o momento de usar a tecnologia para facilitar não somente a codificação, mas incorporar todo o ciclo de desenvolvimento, pois só assim será possível alcançar um produto com qualidade no prazo e no tempo exigido pelo mercado desviando dos já conhecidos problemas ligados aos casos de insucesso na entrega de projetos de software tão relatados em diversas pesquisas realizadas pelo Standish Group (www.standishgroup.com) sobre o histórico dos projetos ao longo dos últimos 10 anos.

    Com foco nessa grande demanda do mercado pela profissionalização do ciclo de desenvolvimento que desde 2005 a Microsoft passou a investir no mercado de Application Lifecycle Management (ALM), com o lançamento da plataforma de Visual Studio Team System (VSTS).

    Com o modelo de gestão para o ciclo de desenvolvimento oferecido pelo Visual Studio Team System que trabalha em conjunto com a sua metodologia de desenvolvimento, é possível obter de forma integrada, grandes resultados que são muito difíceis de alcançar de forma manual devido aos diversos desafios no dia a dia desenvolvendo software.

    Para ter resultados numa plataforma de ALM é necessário projetar a implantação pensando em todo o ciclo de desenvolvimento do seu projeto de forma que possa usar a plataforma de forma estratégica e tenha total aderência com as características do seu projeto.

    O VSTS oferece um modelo sólido para os mais variados tamanhos de projetos permitindo criar uma personalização para atender clientes pequenos, médios e grandes, respeitando as diferenças de cada cliente.

    Hoje em dia, independente do tamanho da empresa, sendo ela pequena ou média ou grande, em algum momento já deve ter sido levantada a bandeira da terceirização dos projetos de desenvolvimento ou parte deles. Existem cenários em clientes que possuem 09 fornecedores para desenvolvimento e o que poderia ser de imediato uma grande facilidade acaba necessitando de uma série de critérios para o devido acompanhamento. Com a plataforma de Visual Studio Team System você tem mecanismos eficientes para gerenciar os fornecedores externos fazendo com eles sigam os padrões de desenvolvimento do seu projeto permitindo acompanhar a qualidade do projeto e todas as entregas.

    2.7 Principais vantagens e desvantagens do Visual Studio

    A identificação de vantagens e desvantagens se torna um assunto abrangente em abordar uma tecnologia específica sem a comparação da mesma com outra, em contrapartida, alguns aspectos são enfatizados:

    · Vantagens do Visual Studio:

    1. Aumento da produtividade e melhores resultados em menos tempo;
    2. Criação de soluções dinâmicas baseadas no Windows, na Web, Dispositivos Móveis e no Office;
    3. Comunicação mais efetiva entre a equipe de software;
    4. Garantia de qualidade antes e durante todo o processo de desenvolvimento;
    5. O número de soluções menor, se comparado a Java, mas são garantidos por um único fabricante e se integram de maneira transparente;
    6. Várias linguagens de programação podem ser usadas no desenvolvimento;
      O .Net Framework é distribuído em conjunto com o Sistema Operacional Windows;
    7. Integração com COM, COM+, DCOM, além da recente tecnologia Silverlight;

    · Desvantagens do Visual Studio:


    1. Número menor de soluções públicas e gratuitas, se comparado a Java;
    2. Mudanças de versão na plataforma tem causado dores de cabeça por falta de compatibilidade;

    3. Pouco código aberto;

    3. Projeto Rosário

    3.1 Microsoft Visual Studio Team System codinome "Rosario"

    Alguns dos principais cenários e recursos dessa versão incluirão:

      Atualmente, grande parte do desenvolvimento de aplicativos está disperso ou dependente de diversas áreas nas empresas. Isso gera diversos desafios que podem impactar em perda de produtividade, controle e previsibilidade nos ciclos de desenvolvimento de um software. Com o Visual Studio 2010, a Microsoft dará um passo à frente na oferta de uma solução avançada que apoiará a equipe envolvida no processo de desenvolvimento para colaborar de forma efetiva e com alta qualidade.
      Essa oferta inclui novos recursos que possibilitam que todos os colaboradores da equipe de software participem do ciclo de vida do produto. Arquitetos, analistas de sistemas, desenvolvedores, testadores e administradores de database (DBAs) entre outros, terão ferramentas específicas para trabalharem de forma integrada e produtiva. Entre os destaques da nova versão estão:

      · Ferramentas de modelagem - O Visual Studio Team System Architecture Edition fornecerá um novo conjunto de ferramentas UML (Unified Modeling Language) na nova versão. Estas ferramentas, que permitem aos desenvolvedores visualizarem os produtos de seu trabalho em diagramas padronizados, ajudarão a preencher a lacuna entre modelos de alto nível e o código da aplicação, enfatizando os benefícios do uso de UML e soluções DSL (Digital Subscriber Line), voltadas à transmissão digital de dados. Adicionalmente, a edição “architecture” fornecerá ricas ferramentas que permitirão aos clientes entender melhor seus sistemas atuais, fornecendo capacidade de visualizar e integrar a infra-estrutura atual facilmente com novos sistemas na camada de modelagem.

      · Maior eficiência por todo o ciclo de testes - A Microsoft investiu significativamente nos recursos de testes do Visual Studio 2010 e simplificou as ferramentas necessárias para a integração de testes por todo seu ciclo de vida de desenvolvimento. Ferramentas de testes generalistas poderosas e fáceis de usar que suportam planejamento de testes e gerenciamento de casos de teste, assim como ferramentas avançadas para testes manuais farão parte do Visual Studio Team System 2010.

      · Melhorias significativas nos recursos de colaboração - A Microsoft também investiu nos recursos e na escalabilidade do Team Foundation Server (TFS), incluindo aprimoramentos que permitem às equipes configurarem e adotarem qualquer forma de processo de desenvolvimento. As equipes poderão rastrear o trabalho com mais facilidade. No sistema de gerenciamento de código fonte, o TFS oferece ferramentas de visualização para o rastreamento de alterações em desvios e no conjunto de produção. O Visual Studio 2010 também passará a incluir conjuntos baseados no fluxo de trabalho que detectam erros antes desses afetarem o restante da equipe ou, pior ainda, ingressar na produção. Por fim, os administradores contarão com uma implantação e gerenciamento de TFS significativamente mais simples.

      Conclusão

      Existem diversos conjuntos de metodologias para diferentes tipos de ciclos de vida de desenvolvimento de software. Para implementar essas metodologias com eficiência e consistência, é importante ter as ferramentas do ciclo de vida que automatizam os processos e artefatos das metodologias. O Microsoft VSTS é um desses sistemas e fornece uma solução atraente para automação e gerenciamento de metodologia.

      O VSTS implementa uma metodologia usando modelos de processos. Você pode "personalizar" modelos de processo prontos para atender a seus requisitos de metodologia. Contudo, existem algumas funcionalidades, como agregação de relatório, que você não obtém apenas com a "personalização". Para obter isso, você pode "estender" o VSTS usando pontos extensíveis.

      O VSTS é uma solução completa para qualificar qualquer time de desenvolvimento de software. Os recursos que ele oferece para desenvolvedores, testadores, gerentes, etc, são excelentes para a criação de qualquer projeto. E o mais importante: tudo em um único conjunto de ferramentas trabalhando de maneira integrada e inteligente para facilitar as tarefas do dia-a-dia.

      Bibliografia

      LOTAR, Alfredo. Como Programar em ASP.NET e C#. São Paulo: Novatec, 2007.

      Microsoft revela nova versão do Visual Studio e da ferramenta .Net Framework. Disponível em:

      http://www.s2.com.br/scripts/release.asp?releaseId=21898&clienteId=361. Acesso dia 4 de Abril.

      Microsoft Visual Studio Team System codinome "Rosario". Disponívem em http://http://msdn.microsoft.com/pt-br/vstudio/bb725993.aspx. Acesso em 3 de Abril de 2008.

      TURTSCHI, Adrian. C# .NET, Guia do Desenvolvedor Web. Rio de Janeiro: Alta Books, 2002.

      Xerox cuts dev time and costs up to 50%, boosts scalability up to 500%. Disponível em: http://www.microsoft.com/visualstudio/en-us/casestudies/default.mspx. Acesso em 11 de abril de 2009.
Gustavo Henrique Dornelas de Deus

Gustavo Henrique Dornelas de Deus