Artigo23

  • 552 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
552
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
8
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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 />
    • Introdução
    • 2. Sobre G-INFO
    • 3. Sobre Qualidade de Software
    • 4. Sobre Scrum
    • 5. Sobre Ambiente de Desenvolvimento de Software
    • 6. Objetivos
    • 7. Modelo (Materiais e Métodos)
    • 8. Ferramentas Utilizadas para Montar o Ambiente
    • 9. Netbeans IDE
    • 10. Grails
    • 11. AceProject
    • 12. Visual Paradigm for UML
    • 13. Modelo de Qualidade Utilizado
    • 14. Requisitos do G-INFO
    • 15. Diagrama de Classe
    • 16. Diagrama de Banco de Dados
    • 17. Resultados
    • 18. Conclusão
    • 19. Referencias Bibliográficas
    • 20. Introdução
    • 21. Sobre o G-INFO
    • 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. 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. “Sociedade da Informação” [13]
    • 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. Nesse artigo será mostrado como foi feito o desenvolvimento do G-INFO versão empresarial.
    • 27. A aplicação G-INFO foi feita utilizando qualidade de software, mais primeiramente vamos esclarecer o que é qualidade de software.
    • 28. Sobre Qualidade de Software
    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 />
    • Sobre o SCRUM
    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 />
    • Sobre o Ambiente de Desenvolvimento de Software
    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 />
    • Objetivos
    • 29. Montar um Ambiente de Desenvolvimento de Software;
    • 30. Desenvolver usando a metodologia Scrum a aplicação G-INFO versão empresarial;
    • 31. Modelos (Materiais e Métodos)
    • 32. Ferramentas Utilizadas para Montar o Ambiente
    Para a criação do ambiente de desenvolvimento foram utilizadas as seguintes ferramentas:<br />
    • Netbeans IDE
    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 />
    • Grails
    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 />
    • AceProject
    Ferramenta livre para gerenciamento de projetos<br />
    • Visual Paradigm for UML
    Ferramenta recomendada pelo Netbeans, apos o mesmo parar de disponibilizar o plugin de UML, a ferramenta possibilita fazer a modelagem dos diagramas UML.<br />
    • Modelo de Qualidade Utilizado
    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 />
    • Requisitos do G-INFO
    • 33. De acordo com a apresentação feita durante a aula, e a pesquisa foram levantados os seguintes requisitos:
    • 34. Cadastrar Funcionários;
    • 35. Editar Funcionário;
    • 36. Desligar (deletar) funcionário da empresa;
    • 37. Cadastrar Projeto;
    • 38. Editar Projeto;
    • 39. Encerrar Projeto;
    • 40. Relatórios;
    • 41. Buscar Funcionários;
    • 42. Buscar Projetos;
    • 43. Associar Funcionário ao projeto;
    • 44. Verificar horas dedicadas ao projeto para poder trabalhar em múltiplos projetos;
    • 45. Diagrama de Classe
    • 46. Com base nos requisitos levantados e na apresentação foi desenvolvido o diagrama de classe que segue abaixo:
    • 47. Figura 1: Diagrama de Classe
    • 48. Diagrama de Banco de Dados
    • 49. Com base nos requisitos levantados e na apresentação foi desenvolvido o diagrama de entidade-relacionamento que segue abaixo:
    • 50. Figura 2: Diagrama Entidade-Relacionamento
    • 51. Resultados
    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 />
    • Conclusão
    • 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. Com isso pode-se dizer que os objetivos foram alcançados.
    • 54. Referencias Bibliográficas
    [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 />