Artigo

9
Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informatica Disciplina: Ambientes de Desenvolvimento de Software 1753 Criação do Ambiente de Desenvolvimento e Desenvolvimento da aplicação G-INFO Maringa, 2010

Transcript of Artigo

Page 1: Artigo

Universidade Estadual de Maringá

Centro de Tecnologia

Departamento de Informatica

Disciplina: Ambientes de Desenvolvimento de

Software – 1753

Criação do Ambiente de Desenvolvimento e

Desenvolvimento da aplicação G-INFO

Maringa, 2010

Page 2: Artigo

Universidade Estadual de Maringá

Centro de Tecnologia

Departamento de Informatica

Disciplina: Ambientes de Desenvolvimento de

Software – 1753

Criação do Ambiente de Desenvolvimento e

Desenvolvimento da aplicação G-INFO

Professor:

Ademir Carniel

Alunos:

Carlos Alessandro Chiconato Ra:48879

Marcos Paulo Arruda Frare Ra:48893

Maringa, 2010

Page 3: Artigo

Sumario

1. Introdução

1.1. Sobre G-INFO

1.2. Sobre Qualidade de Software

1.3. Sobre Scrum

1.4. Sobre Ambiente de Desenvolvimento de Software

2. Objetivos

3. Medelo (Materiais e Metodos)

3.1. Ferramentas Utilizadas para Montar o Ambiente

3.1.1. Netbeans IDE

3.1.2. Grails

3.1.3. AceProject

3.1.4. Visual Paradigm for UML

3.2. Modelo de Qualidade Utilizado

3.3. Requisitos do G-INFO

3.4. Diagrama de Classe

3.5. Diagrama de Banco de Dados

4. Resultados

5. Conclusão

6. Referencias Bibliograficas

Page 4: Artigo

1. Introdução

1.1. Sobre o G-INFO

O G-INFO é uma aplicação para gestao de informações e politicas

institucionais, ele possui duas versoes a academica e a empresarial.

Na versao academica ele é uma solução de gestão da informação para uma instituições 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 “Sociedade da Informação”[13]

Na versao empresarial ele é uma solução de gestão da informação dos

funcionarios da empresa, voltado mais para auxiliar no planejamento e

organização de equipes para projetos.

Nesse artigo será mostrado como foi feito o desenvolvimento do G-INFO

versão empresarial.

A aplicação G-INFO foi feita utilizando qualidade de software, mais

primeiramente vamos esclarecer o que é qualidade de software.

1.2. 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.

A seguir são apresentados alguns conceitos, dentre muitos, sobre qualidade:

Adequação ao uso: o produto corresponde às expectativas de uso (conceito de qualidade mais aceito [5]

Conformidade com especificações: produtos possuem as características que estão descritas nos projetos [6]

Satisfação do cliente [6]

Grau no qual um conjunto de características inerentes satisfaz a requisitos [4]

É a totalidade de características de uma entidade que lhe confere a capacidade de satisfazer as necessidades explícitas e implícitas [2].

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

Page 5: Artigo

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 agil Scrum.

1.3. Sobre o SCRUM

O processo escolhido foi o Scrum basicamente por ser uma metodoligia ágil, tendo um enfoque maior no diálogo verbal entre os integrantes, onde a documentação não é tão formal.

Algumas características do Scrum:

O Scrum é uma metodologia iterativa e incremental; 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.

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óximosprint.

São realizadas rápidas reuniões diariamente, chamadas de Daily Scrum, Standup Meeting ou Daily Meeting, pois o parcticipantes 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.

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 lider da equipe (pois estas são auto-organizadas), mas faz a função de mediador entre a equipe e qualquer situação desestablizadora. Também deve manter sua equipe focada na metodologia, motivando-a e gerenciando o bom uso das técnicas do Scrum.

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.

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.

Para auxiliar no desenvolvimento do projeto e na utilização do Scrum foi

necessario criar um ADS (Ambiente de Desenvolvimento de Software),

primeiramente vamos definir o que é um ADS.

Page 6: Artigo

1.4. 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.

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.

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].

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].

2. Objetivos Montar um Ambiente de Desenvolvimento de Software;

Desenvolver usando a metodologia Scrum a aplicação G-INFO versao empresarial;

3. Modelos ( Materiais e Metodos) 3.1. Ferramentas Utilizadas para Montar o Ambiente

Para a criação do ambiente de desenvolvimento foram utilizadas as

seguintes ferramentas:

Page 7: Artigo

3.1.1. Netbeans IDE

O NetBeans IDE é um ambiente de desenvolvimento integrado (IDE) gratuito e de codigo 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.

3.1.2. Grails Grails é um framework para construção de aplicações para web através da

linguagem de programação Groovy (uma linguagem dinamica para a plataforma Java). Foi desenvolvido em codigo 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.

3.1.3. AceProject

Ferramenta livre para gerenciamento de projetos

3.1.4. Visual Paradigm for UML

Ferramenta recomendada pelo Netbeans, apos o mesmo para de

disponibilizar o plugin de UML, a ferramenta possibilita fazer a modelagem dos

diagramas UML.

3.2. Modelo de Qualidade Utilizado

Conforme foi dito na introdução o modelo de qualidade utilizado no

desenvolvimento do projeto foi o modelo agil Scrum, que apesar de não ser

necessario 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

academico é necessario ter “provas” de que se esta gerenciando o projeto, por

isso que foi utilizado o aceproject.

3.3. Requisitos do G-INFO

3.4. Diagrama de Classe

3.5. Diagrama de Banco de Dados

Page 8: Artigo

4. Resultados

Os objetivos foram alcançados, a criação de um ambiente de desenvolvimento de software auxiliou a rapida implementação e de forma organizada da aplicação, e como foi seguido um modelo de gestao de qualidade, pode-se afirmar que o software desenvolvido possui qualidade.

Segue abaixo alguns screenshots do programa em funcionamento.

5. Conclusao A criação de um ambiente de desenvolvimento e o desenvolvimento da

aplicação auxiliaram na compreensão dos conteudos vistos em sala de aula, e tambem 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 tambem experiencia para os mesmos.

Com isso pode-se dizer que os objetivos foram alcançados.

6. Referencias Bibliograficas

[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.

[2]CRUZ, T. Sistemas, organização & métodos: estudo integrado das novas

tecnologias de informação. São Paulo: Atlas, 1997.

[3]Fusco. Camila - Scrum: a nova gestao de projetos disponivel em http://governaca.wordpress.com/2008/03/18/scrum-a-nova-gestao-de-projeto acessado em abril de 2010

[4]ISO – International Organization for Standardization. NBR ISO 9000

Sistemas de gestão da qualidade – Fundamentos e vocabulário. Rio de

Janeiro: ABNT, 2000

[5]JURAN, J.M. Planejando para a qualidade. São Paulo: pioneira, 1990.

[6]MARANHÃO, M. ISO Série 9000: Manual de Implementação: Versão 2000.

Rio de Janeiro: Qualitymark, 2001.

[7]MOURA, L., Taxonomia de Ambientes de Desenvolvimento de Software, Dissertação de M. Sc., COPPE/UFRJ, Rio de Janeiro, Brasil, 1992.

Page 9: Artigo

[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. [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. [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. [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.

[12]PALADINI, E.P. Gestão da Qualidade: teoria e prática. São Paulo: Atlas,

2000.

[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 [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