Artigo23

653 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
653
No SlideShare
0
A partir de incorporações
0
Número de incorporações
9
Ações
Compartilhamentos
0
Downloads
9
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Artigo23

  1. 1. Universidade Estadual de Maringá<br />Centro de Tecnologia<br />Departamento de Informática<br />Disciplina: Ambientes de Desenvolvimento de Software – 1753<br />Criação do Ambiente de Desenvolvimento e Desenvolvimento da aplicação G-INFO<br />Maringá, 2010<br />Universidade Estadual de Maringá<br />Centro de Tecnologia<br />Departamento de Informática<br />Disciplina: Ambientes de Desenvolvimento de Software – 1753<br />Criação do Ambiente de Desenvolvimento e Desenvolvimento da aplicação G-INFO<br />Professor:<br />Ademir Carniel<br />Alunos:<br />Carlos Alessandro Chiconato Ra: 48879<br />Marcos Paulo Arruda Frare Ra: 48893<br />Maringá, 2010<br />Sumario<br /><ul><li>Introdução
  2. 2. Sobre G-INFO
  3. 3. Sobre Qualidade de Software
  4. 4. Sobre Scrum
  5. 5. Sobre Ambiente de Desenvolvimento de Software
  6. 6. Objetivos
  7. 7. Modelo (Materiais e Métodos)
  8. 8. Ferramentas Utilizadas para Montar o Ambiente
  9. 9. Netbeans IDE
  10. 10. Grails
  11. 11. AceProject
  12. 12. Visual Paradigm for UML
  13. 13. Modelo de Qualidade Utilizado
  14. 14. Requisitos do G-INFO
  15. 15. Diagrama de Classe
  16. 16. Diagrama de Banco de Dados
  17. 17. Resultados
  18. 18. Conclusão
  19. 19. Referencias Bibliográficas
  20. 20. Introdução
  21. 21. Sobre o G-INFO
  22. 22. O G-INFO é uma aplicação para gestão de informações e políticas institucionais, ele possui duas versões a acadêmica e a empresarial.
  23. 23. Na versão acadêmica ele é uma solução de gestão da informação para uma instituição de ensino, de forma a integrar às bases de dados da instituição, visando enfrentar as demandas de serviços corporativos nos padrões da
  24. 24. “Sociedade da Informação” [13]
  25. 25. Na versão empresarial ele é uma solução de gestão da informação dos funcionários da empresa, voltado mais para auxiliar no planejamento e organização de equipes para projetos.
  26. 26. Nesse artigo será mostrado como foi feito o desenvolvimento do G-INFO versão empresarial.
  27. 27. A aplicação G-INFO foi feita utilizando qualidade de software, mais primeiramente vamos esclarecer o que é qualidade de software.
  28. 28. Sobre Qualidade de Software</li></ul>O termo qualidade apresenta características que implicam dificuldades consideráveis para a sua perfeita definição. Não é um termo técnico exclusivo, mas uma palavra de domínio público [12]. Definir qualidade de forma errônea leva a Gestão da Qualidade a adotar ações cujas conseqüências podem ser extremamente sérias para a empresa. O enfoque mais usual para a definição da qualidade envolve a idéia de centrar a qualidade no consumidor, focalizando toda a atividade produtiva para o seu atendimento. <br />A seguir são apresentados alguns conceitos, dentre muitos, sobre qualidade:<br />Adequação ao uso: o produto corresponde às expectativas de uso (conceito de qualidade mais aceito [5]<br />Conformidade com especificações: produtos possuem as características que estão descritas nos projetos [6]<br />Satisfação do cliente [6]<br />Grau no qual um conjunto de características inerentes satisfaz a requisitos [4]<br />É a totalidade de características de uma entidade que lhe confere a capacidade de satisfazer as necessidades explícitas e implícitas [2].<br />Um Sistema de Gestão da Qualidade é a estrutura organizacional, responsabilidades, procedimentos, processos e recursos necessários para a implementação do gerenciamento da qualidade. Dá ênfase à prevenção de problemas, ao invés da sua correção. O seu foco é a definição e documentação de processos, a sua implementação e a garantia da sua eficácia para atingir os resultados esperados. Deve desenvolver mecanismos que garantam a sobrevivência da organização e possibilitem sua permanente e contínua evolução. É o processo de definição, implantação e avaliação de políticas da qualidade. [1] Um sistema de gestão da qualidade pode ser criado pela adoção de um dos modelos da qualidade existentes, no caso do desenvolvimento de G-INFO foi utilizado o modelo ágil Scrum. <br /><ul><li>Sobre o SCRUM</li></ul>O processo escolhido foi o Scrum basicamente por ser uma metodologia ágil, tendo um enfoque maior no diálogo verbal entre os integrantes, onde a documentação não é tão formal.<br />Algumas características do Scrum:<br />O Scrum é uma metodologia iterativa e incremental;<br />A iteração, chamada de sprint, em geral tem duração rápida, duas semanas por exemplo. Ao final de cada sprint é entregue um protótipo funcional do software.<br />Possui um backlog de produto que é o conjunto de requisitos priorizado pelo product owner, por conhecer as necessidades do cliente. Há também o backlog de sprint que é uma interpretação do backlog de produto, e contém tarefas completas que serão realizadas no próximo sprint.<br />São realizadas rápidas reuniões diariamente, chamadas de Daily Scrum, Standup Meeting ou Daily Meeting, pois os participantes permanecem em pé durante a reunião, a fim de não prolongar a mesma. No Daily Scrum cada integrante da equipe de projeto diz o progresso conseguido, o trabalhado a ser feito no dia ou o que o impede de realizá-lo.<br />O Scrum Master tem o papel de facilitar o Scrum, tendo como função principal remover qualquer impedimento que a equipe venha a ter e que atrapalhe o bom andamento do projeto e a realização do objetivo do sprint. O Scrum Master não é o líder da equipe (pois estas são auto-organizadas), mas faz a função de mediador entre a equipe e qualquer situação desestabilizadora. Também deve manter sua equipe focada na metodologia, motivando-a e gerenciando o bom uso das técnicas do Scrum.<br />Clientes fazem parte da equipe de desenvolvimento, sempre esclarecendo possíveis dúvidas sobre as funcionalidades do sistema e fornecendo um feedback dos artefatos criados pelos sprints.<br />Entrega de funcionalidades 100% desenvolvidas periodicamente. É importante para o cliente receber uma funcionalidade completamente desenvolvida para que haja um retorno à equipe, orientando o que deve ser melhorado ou o que pode ser retirado do projeto.<br /> Para auxiliar no desenvolvimento do projeto e na utilização do Scrum foi necessário criar um ADS (Ambiente de Desenvolvimento de Software), primeiramente vamos definir o que é um ADS.<br /><ul><li>Sobre o Ambiente de Desenvolvimento de Software</li></ul>Diferentes abordagens têm sido propostas para melhorar a qualidade de processos e produtos. No entanto, pouca atenção tem sido dada à produção, armazenamento, compartilhamento e uso de conhecimentos relevantes para o desenvolvimento e a manutenção de software.<br />Sempre que o conhecimento requerido não está disponível, o desenvolvedor de software tem que partir do zero para encontrar a solução do problema, o que tem sérias implicações em termos da qualidade da solução. Verifica-se, desta forma, a importância da administração sistemática dos conhecimentos relevantes neste contexto. Mas como integrar a administração sistemática do conhecimento com as atividades de Engenharia de Software? As áreas de pesquisa de Gerência do Conhecimento e Ambientes de Desenvolvimento de Software são fundamentais para elaborar uma resposta a esta questão.<br />Gerência do Conhecimento implica na administração, de forma sistemática e ativa, do capital intelectual de uma organização, utilizando tecnologia apropriada e visando fornecer benefícios estratégicos à organização. Recentemente, chegou-se ao consenso de que a Gerência do Conhecimento deve ser freqüentemente embutida em processos e que estes devem ser re-projetados para acomodar a Gerência do Conhecimento [8].<br />Ambientes de Desenvolvimento de Software (ADS) são sistemas computacionais que apóiam o desenvolvimento, reparo e melhoria de produtos de software bem como o controle e gerenciamento destas atividades [7], ou seja, ADSs são conjuntos de ferramentas CASE integradas que facilitam a realização de atividades de engenharia de software, apoiando todo o ciclo de vida de software [14]. ADS têm evoluído ao longo do tempo para fornecer apoio mais amplo e efetivo aos desenvolvedores de software, tendo surgido os Ambientes de Desenvolvimento de Software Centrados em Processo [11] e os Ambientes de Desenvolvimento de Software Orientados a Domínio (ADSOD) [9,10].<br /> <br /><ul><li>Objetivos
  29. 29. Montar um Ambiente de Desenvolvimento de Software;
  30. 30. Desenvolver usando a metodologia Scrum a aplicação G-INFO versão empresarial;
  31. 31. Modelos (Materiais e Métodos)
  32. 32. Ferramentas Utilizadas para Montar o Ambiente</li></ul>Para a criação do ambiente de desenvolvimento foram utilizadas as seguintes ferramentas:<br /><ul><li>Netbeans IDE</li></ul>O NetBeans IDE é um ambiente de desenvolvimento integrado (IDE) gratuito e de código aberto para desenvolvedores de software na linguagem Java, C/C++, PHP, Groovy, Ruby e muito mais. O IDE é executado em muitas plataformas, como Windows, Linux, Solaris e MacOS. O NetBeans IDE oferece aos desenvolvedores ferramentas necessárias para criar aplicativos profissionais de desktop, empresariais, Web e móveis multiplataformas.<br /><ul><li>Grails </li></ul>Grails é um framework para construção de aplicações para web através da linguagem de programação Groovy (uma linguagem dinâmica para a plataforma Java). Foi desenvolvido em código aberto e pretende ser um framework de alta produtividade graças à utilização do paradigma da programação por convenção que preserva o desenvolvedor dos detalhes de configuração. O Grails foi utilizando como sendo um plugin adicional para o Netbeans.<br /><ul><li>AceProject</li></ul>Ferramenta livre para gerenciamento de projetos<br /><ul><li>Visual Paradigm for UML</li></ul>Ferramenta recomendada pelo Netbeans, apos o mesmo parar de disponibilizar o plugin de UML, a ferramenta possibilita fazer a modelagem dos diagramas UML.<br /><ul><li>Modelo de Qualidade Utilizado</li></ul>Conforme foi dito na introdução o modelo de qualidade utilizado no desenvolvimento do projeto foi o modelo ágil Scrum, que apesar de não ser necessária uma ferramenta para gerenciamento de projeto no Scrum, é mais comum usar um quadro e colocar papeis, com o que deve ser feito, a equipe decidiu usar uma ferramenta de gerenciamento, pois como é um trabalho acadêmico é necessário ter “provas” de que se esta gerenciando o projeto, por isso que foi utilizado o aceproject.<br /><ul><li>Requisitos do G-INFO
  33. 33. De acordo com a apresentação feita durante a aula, e a pesquisa foram levantados os seguintes requisitos:
  34. 34. Cadastrar Funcionários;
  35. 35. Editar Funcionário;
  36. 36. Desligar (deletar) funcionário da empresa;
  37. 37. Cadastrar Projeto;
  38. 38. Editar Projeto;
  39. 39. Encerrar Projeto;
  40. 40. Relatórios;
  41. 41. Buscar Funcionários;
  42. 42. Buscar Projetos;
  43. 43. Associar Funcionário ao projeto;
  44. 44. Verificar horas dedicadas ao projeto para poder trabalhar em múltiplos projetos;
  45. 45. Diagrama de Classe
  46. 46. Com base nos requisitos levantados e na apresentação foi desenvolvido o diagrama de classe que segue abaixo:
  47. 47. Figura 1: Diagrama de Classe
  48. 48. Diagrama de Banco de Dados
  49. 49. Com base nos requisitos levantados e na apresentação foi desenvolvido o diagrama de entidade-relacionamento que segue abaixo:
  50. 50. Figura 2: Diagrama Entidade-Relacionamento
  51. 51. Resultados</li></ul>Os objetivos foram alcançados, a criação de um ambiente de desenvolvimento de software auxiliou a rápida implementação e de forma organizada da aplicação, e como foi seguido um modelo de gestão de qualidade, pode-se afirmar que o software desenvolvido possui qualidade.<br />Segue abaixo alguns screenshots do programa em funcionamento.<br /><ul><li>Conclusão
  52. 52. A criação de um ambiente de desenvolvimento e o desenvolvimento da aplicação auxiliaram na compreensão dos conteúdos vistos em sala de aula, e também foi importante para aprender uma nova metodologia de desenvolvimento sem ser a tradicional, alem disso foram conhecidas tecnologias e ferramentas novas como o grails, que auxiliam no desenvolvimento, tudo isso fez com que a equipe adquirisse novos conhecimentos para os integrantes da equipe e também experiência para os mesmos.
  53. 53. Com isso pode-se dizer que os objetivos foram alcançados.
  54. 54. Referencias Bibliográficas</li></ul>[1] BRUZAROSCO, D. C. Modelo de apoio para uma integração efetiva entre as tecnologias da Qualidade, de Gerência por Processos e da Informação, nas Organizações. 2005. Tese (Doutorado em Engenharia de Produção)- Programa de Pós-Graduação em Engenharia de Produção, UFSC, Florianópolis.<br />[2] CRUZ, T. Sistemas, organização & métodos: estudo integrado das novas tecnologias de informação. São Paulo: Atlas, 1997.<br />[3] Fusco. Camila - Scrum: a nova gestão de projetos disponível em http://governaca.wordpress.com/2008/03/18/scrum-a-nova-gestao-de-projeto acessado em abril de 2010<br />[4]ISO – International Organization for Standardization. NBR ISO 9000 Sistemas de gestão da qualidade – Fundamentos e vocabulário. Rio de Janeiro: ABNT, 2000<br />[5] JURAN, J.M. Planejando para a qualidade. São Paulo: pioneira, 1990.<br />[6] MARANHÃO, M. ISO Série 9000: Manual de Implementação: Versão 2000. Rio de Janeiro: Qualitymark, 2001.<br />[7] MOURA, L., Taxonomia de Ambientes de Desenvolvimento de Software, Dissertação de M. Sc., COPPE/UFRJ, Rio de Janeiro, Brasil, 1992.<br />[8] O’LEARY, D. E., STUDER, R., “Knowledge Management: An Interdisciplinary Approach”, IEEE Intelligent Systems, v. 16, n. 1, pp. 24-25, Jan/Feb. 2001.<br /> [9] OLIVEIRA, K., Modelo para Constrição de Ambientes de Desenvolvimento de Software Orientados a Domínio, Tese de D. Sc., COPPE/UFRJ, Rio de Janeiro, Brasil, 1999.<br />[10] OLIVEIRA, K., ZLOT, F., ROCHA, A. R., et al., “Domain-oriented software development environment”, Journal of Systems and Software (Article in Press), 2004. In: http://authors.elsevier.com/sd/article/S0164121203002334.<br />[11] OSTERWEIL, L. J., “A Process-Object Centered View of Software Environment Architecture”. In: Advanced Programming Environments, v. 244, Lecture Notes in Computer Science, Springer- Verlag, pp. 156-174, 1986.<br />[12] PALADINI, E.P. Gestão da Qualidade: teoria e prática. São Paulo: Atlas, 2000.<br />[13] Periotto Álvaro José, Endrici. João Otavio Montanha - Gestão da Informação e Políticas Institucionais: uma solução pautada pela auto-avaliação, 2007<br />[14]. W. Harrison, H. Ossher, P. Tarr, “Software Engineering Tools and Environments: A Roadmap”, in Proc. of the Future of Software Engineering, ICSE’2000, Ireland, 2000<br />

×