Softwares: Tortoise SVN Crucible JIRA
Transcrição
Softwares: Tortoise SVN Crucible JIRA
Faculdade de Tecnologia SENAC - Goiás Projeto Integrador Sistemas de Gestão Empresarial Softwares: Tortoise SVN Crucible JIRA Diego Miranda José Rodrigues Neto Romário Sena Warley Gabriel Introdução Nós da Clavin Sistemas entendemos que para uma Software House o que temos de mais valioso é o produto, o bem mais precioso que possuímos é nosso código, aquele que dá origem a aplicação que é comercializada. Priorizando a qualidade do código, teremos uma aplicação mais qualificada e mais respeitada no mercado, posteriormente a isto uma gama interessante de clientes e assim um sucesso no mercado. Para garantir a segurança do nosso “bem mais precioso”, necessitamos de 3 ferramentas que irão controlar o atendimento ao cliente (bugs e projetos) e a criação/manutenção de softwares, são elas: JIRA, Tortoise SVN e Crucible. Ocorrendo uma integração entre as três teremos um controle completo do que está no produto (código) e porque aquele código está lá, quem solicitou a implementação. JIRA Software controlador de chamados, projetos e customizações. Este software deve ser a porta de entrada para o cliente, qualquer solicitação de modificação do sistema deve passar pelo JIRA. Quando o cliente entrar em contato na Clavin, toda a sua solicitação deve ser descrita no JIRA, criando assim um chamado que deverá percorrer toda a empresa (analise, desenvolvimento e testes). Ao passar pelo departamento de testes o chamado deve ser encaminhado ao suporte para o mesmo entregar a solução ao cliente. Implementando este software controlaremos todas as solicitações dos clientes junto a Clavin, porém o JIRA oferece bem mais que isso, podemos controlar os processos da empresa usando metodologias Ágeis, os desenvolvedores poderão lançar horas nos chamados, assim controlaremos quanto tempo esta sendo gasto por implementação, com base nessas informações o faturamento ocorrerá junto ao cliente. Tortoise SVN Software faz versionamento de código, com o SVN saberemos o que foi alterado, quando foi alterado e quem alterou, dando assim uma completa segurança sobre o que está (código) em nosso produto. O SVN será o “dono” do nosso produto, todos os códigos implementados pelo desenvolvimento, analises de projetos, casos de teste será controlado por ele, com este software saberemos a exata data/hora de quando algum código foi alterado, por quem foi alterado. O Tortoise integrando com o JIRA saberemos qual chamado esta sendo tratado naquela implementação, qual cliente solicitou, e o porquê da solicitação. Caso ocorra algo de grave em alguma rotina do sistema, poderemos simplesmente fazer um revert nas alterações feitas naquela rotina em especifico. Resumindo o Tortoise SVN é o centralizador do que ocorre em nosso produto, ele é o responsável por organizar as alterações feitas. Crucible O Crucible deve integrar com o JIRA e o Tortoise SVN, carregando informações de um para o outro. A maior vantagem do Crucible será a revisão de código que ocorrera a cada commit feito no sistema. Este processo ocorrerá da seguinte forma: desenvolvedor, desenvolve suas alterações e aplica as mesmas na “aplicação paralela”, via Tortoise SVN, Crucible solicita qual chamado é referente a solicitação e lança horas no chamado (integrando com o JIRA). Após a implementação estar no sistema, responsável pelo departamento fara uma revisão do código que foi implementado, fazendo assim um check-list de possíveis inconsistências, este review ocorrerá utilizando o Crucible. Assim que houver um commit na “aplicação paralela” o código irá para a “versão estável” somente após a revisão de código ser feita pelo Crucible, entregando assim maior segurança sobre a versão. Integração dos sistemas e a segurança da informação. Com a integração dos três sistemas, cada um com a sua responsabilidade e uma troca de informações entre eles, conseguiremos um software com versionamento de código e revisão de código sendo executada a cada commit. E todo este processo que ocorre no desenvolvimento do software estará disponível no JIRA para que caso o usuário tenha permissão será possível ver todas as alterações feitas no código para aquela melhoria ou projeto. A segurança que estas três ferramentas proporcionaram é a segurança no produto que está sendo comercializado, trata-se de um controle completo em cima de algo virtual que está nas mãos do colaborador. Tudo o que vai ser commitado no código, vai ser commitado somente caso a pessoa tenha permissão de usuário para alterar aquele modulo em especifico. Infraestrutura para suportar estas aplicações. É necessário um servidor com um bom aporte para trafego de rede, pois o JIRA e Crucible são aplicações WEB. O JIRA em especial poderá ser acessado de fora da rede interna da corporação, o Crucible não, este será acessado somente internamente. O Tortoise SVN deverá ter um espaço maior, pois lá estará o código de todas as aplicações desenvolvidas, será estabelecido uma rotina de backup para o disco e ainda teremos uma replicação deste disco, evitando uma perca destas informações. Fluxo do processo. 1.0 - Cliente abri solicitação (projeto ou bug) pelo JIRA 2.0 - Desenvolvedor recebe chamado pelo JIRA 3.0 - Desenvolvedor desenvolve aplicação 4.0 - Desenvolvedor commita código pelo SVN, com controle do Crucible e informando quando tempo foi gasto (esta informação vai para o JIRA) 5.0 - Responsável pelo departamento faz revisão de código pelo Crucible 6.0 - Após aprovação Crucible redireciona código para a “versão estável” 7.0 - Departamento de teste recebe chamado, testa funcionalidade/software 8.0 - Suporte recebe chamado e comunica cliente 9.0 - Cliente fecha chamado/solicitação. Conclusão. As três ferramentas juntas darão aporte ao primeiro contato com o cliente, sendo assim responsável pelos projetos executados naquele momento, tratará do versionamento de código e será responsável pela segurança do que está na aplicação. É imprescindível que as aplicações sejam monitoradas assim como os hardwares que a suportam. É necessário controlar os acessos aos sistemas citados acima para que não ocorra uma liberdade por parte de alguém malicioso.