Estava dando uma estudada em alguns recursos que a Microsoft oferece para estimular reusabilidade, qualidade, produtividade e automação no desenvolvimento de software. Cheguei a uma lista bem interessante que gostaria de compartilhar com os leitores deste blog:
- Guias e Padrões: lições aprendidas coletadas e/ou criadas pela Microsoft ao longo dos anos. Oferecem orientação para diferentes desafios e promovem reuso de conhecimento. Link: http://msdn.microsoft.com/practices/topics/patterns/
- Application Blocks: Componentes de código-fonte reusáveis. Oferecem soluções ready-to-use para desafios comuns de desenvolvimento (como acesso a dados, logging, UI, etc.). Podem tanto ser integrados a aplicações como estendidos e customizados. Link: http://msdn.microsoft.com/practices/guidetype/AppBlocks/
- Reference implementation: Aplicações executáveis que mostram a aplicação prática de guias e padrões, através de implementações de referência. Exemplos: Applied Integration Baseline Reference Implementation, WS-I Basic Security Profile Reference Implementation, etc. Link: http://msdn.microsoft.com/practices/guidetype/refimp/
- CodePlex: Repositórios de projetos púbicos e de código aberto, da comunidade de desenvolvedores Microsoft. Projetos do CodePlex integram-se ao Visual Studio Team System. Link: http://www.codeplex.com
- Microsoft Software Factories Initiative: Estratégia de Microsoft para desenvolvimento de sistemas. Foco em automação e integração de avanços de múltiplas disciplinas, como linguagens de domínio específico, component–based development e programação orientada a aspectos. Composto por várias outras iniciativas, descritas abaixo. Link: http://msdn2.microsoft.com/en-us/teamsystem/aa718951.aspx
- Microsoft DSL Tools: Plug-in para a IDE Visual Studio .NET. Permite criar e embutir linguagens visuais de domínio-específico (DSLs) na IDE. Suporta modelagem de novas linguagens visuais, designers gráficos, transformadores (como geradores de código) acionados a partir dos diagramas modelados e validadores semânticos, entre outros recursos. Link: http://msdn2.microsoft.com/en-us/teamsystem/aa718368.aspx
- Guidance Automation: Automatiza processos possibilitando a criação de bens reusáveis a serem embutidos diretamente no Visual Studio (componentes, padrões, frameworks, arquitetura) e guias para orientar o uso desses bens. Links: http://www.guidanceautomation.net/ e http://msdn2.microsoft.com/en-us/teamsystem/aa718948.aspx
- Exemplos concretos de fábricas de software: Mobile Client Software Factory, Smart Client Software Factory, Web Service Software Factory, Web Client Software Factory. Por exemplo, o Mobile Client Software Factory auxilia a construção de aplicações móveis, eventualmente conectadas, para dispositivos Windows Mobile.
E é isso. Quando você pensar em automação e produtividade no contexto da Microsoft, certamente esbarrará em um ou mais itens acima, que pretendo explorar em outros posts. Enquanto isso, navegue pelos links para ter uma idéia do arsenal que já está, hoje, disponível para você.
[]s
-- AFurtado