ÀREA DE DESENVOLVIMENTO
Sumário O que é o Cardio? O que é o Telos? Ambiente de Desenvolvimento Ambiente Visual Studio Team System Projeto de Refatoração
O que é Cardio? Tamanho atual do aplicativo: ü Arquivos.cs = 6.938 ü Classes = 8.644 ü Total de linhas = 9.522.553 ü Arquivos de formulários = 958 ü Arquivos de relatórios = 1.497
O que é o Telos? O Telos é um framework de desenvolvimento utilizado na Unimed do Brasil para a criação de UI s e camada de persistência. Os principais benefícios de tê-lo como ferramenta de desenvolvimento são: Telas Padronizadas; Velocidade do desenvolvimento; Possibilidade de implantação em Unimed de vários ambientes;
Ambiente de Desenvolvimento Telos Framework.Net Framework 2.0 Devido ao fato de que o Telos havia sido desenvolvido para uma plataforma isolada de desenvolvimento, foi realizado o projeto de adequação do Telos para o Visual Team System.
Visual Studio Team System A plataforma Visual Studio Team System (VSTS) é destinada ao gerenciamento do ciclo de vida da aplicação (Application Lifecycle Management / ALM) oferecendo suporte aos mais variados papeis envolvidos no desenvolvimento de um software: Gerente de Projetos, Arquiteto, Desenvolvedor, Testador e DBA. Com a integração e gerenciamento da comunicação no projeto é possível prover informações estratégicas para os gestores do projeto.
Visual Studio Team System Para uma melhor compreensão das funcionalidades confira abaixo algumas delas: Version Control Work item Unit Testing Refactoring Code Analysis
Visual Studio Team System
Visual Studio Team System Metodologia de Desenvolvimento Controle de Atividades VSTS Relatórios on- Line Controle de Versão
Metodologia para controle das atividades de desenvolvimento CMMI
Portal SharePoint do Projeto
Portal SharePoint do Projeto
Ambiente de BI Ambiente que proporciona uma base centralizada de informações e facilidades para comunicação entre outras bases. Importação de dados dos sistemas de controle de chamados, exportação de dados para a criação de relatórios gerenciais, extração de métrica do ciclo de vida do desenvolvimento do projeto. Integração com outras ferramentas para controle de projetos, como MS Project Server, MS SharePoint, MS Reporting Services.
Relatórios Gerenciais
Relatórios Gerenciais
Integração com o Project Server
Integração com o Project Server
Auditoria durante os Check ins
Pontos Importantes Devido a evolução do mercado e dos produtos Microsoft, foi necessário readequar o Telos para trabalhar no Framework 2.0, isto pelo fato de ser o Framework mais utilizado atualmente no mercado. A substituição do Framework requer um alinhamento com o mercado e os clientes, pois pode afetar custos com equipamentos e Softwares. Como por exemplo o Framework 3 que não funciona com o Windows 2000, não podemos avançar em quanto os clientes também não avançarem.
Versão para Oracle do Cardio Devido a demanda o Cardio também está trabalhando com base Oracle 10g. Está sendo implantado um ambiente de homologação para outras versões do Oracle. A dificuldade do Oracle é que uma versão de banco não é compatível com anteriores.
Refatoração Refatoração é o processo de modificar um sistema de software para melhorar a estrutura interna do código sem alterar seu comportamento externo. O uso desta técnica aprimora a concepção (design) de um software e evita a deterioração tão comum durante o ciclo de vida de um código. Esta deterioração é geralmente causada por mudanças com objetivos de curto prazo ou por alterações realizadas sem a clara compreensão da concepção do sistema. Outra conseqüência é a melhora no entendimento do código, o que facilita a manutenção e evita a inclusão de bugs. Esta melhora no entendimento vem da constante alteração do código com o objetivo de facilitar a comunicação de motivações, intenções e objetivos por parte do programador.
Benefícios da Refatoração Métodos Longos (LOC) Alta Complexidade Ciclomática (CC) Falta de documentação Falta de Padrão de Desenvolvimento Resultados Arquitetura Performance Aumentar a produtividade do Time Maior Quantidade de Classes Fábrica de Software Diminuição de Códigos Redundantes Maior reuso do Código Mais Pessoas Trabalhando Melhor Distribuição das Funcionalidades
Prova de Conceito POC Classe ImpBoleto Cenário Encontrado Alta complexidade do código Dificuldade de manutenção Número excessivo de linhas Falta de padrão Lentidão
As fases do projeto 1ª Levantamento 2ª Separação dos principais métodos 3ª Realização da refatoração 4ª Testes 5ª Corrigir possíveis problemas, caso ocorram 6ª Testar novamente se necessário 7ª Colocar em produção
Resultados Obtidos
Resultados Obtidos
Resultado da Refatoração da Classe Introdução de Padrões de Projetos Arquitetura de Software 17 novas classes 1 novo pacote
Esforço da Refatoração
Métrica para calcular o esforço A partir desse POC, podemos mensurar o tempo para refatoração de qualquer classe do sistema Cardio seguindo a seguinte fórmula matemática: ER = [(CC * 200) / 2090] * FA Onde: ER = Esforço de Refatoração CC = Complexidade da classe a ser refatorada 200 = número total de horas gastos no POC 2090 = Complexidade inicial da Classe ImpBoleto FA = Fator de ajuste caso exista a necessidade de melhoria de performance
Projeto de Refatoração Período: 01/03/2010 a 31/01/2011
Planejamento Refatoração Cardio Primeira Release SIB PTUA100 06/2010 PTUA300 PTUA400