unificação dos portais da fundação casimiro montenegro filho

Propaganda
Anais do 12O Encontro de Iniciação Científica e Pós-Graduação do ITA – XII ENCITA / 2006
Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, Outubro, 16 a 19, 2006
Documentação do Projeto "Unificação dos Portais da Fundação Casimiro
Montenegro Filho - FCMF no ITA"
César Augusto Melo Haenisch Filho
Instituto Tecnológico de Aeronáutica, H8-A 115
Bolsista PIBIC-CNPq
Correio eletrônico: [email protected]
Laércio Sambüc dos Anjos
Instituto Tecnológico de Aeronáutica
Correio eletrônico: [email protected]
Resumo. A Fundação Casimiro Montenegro Filho – FCMF até junho de 2005 possuia dois sistemas de informações, contudo,
detectou-se a necessidade de prover a FCMF de um único Sistema de Informações o qual deveria ser devidamente documentado a
fim de que houvesse transferência de tecnologia e apoio ao usuário que utilizasse o novo Sistema. Os novos manuais deveriam ter
uma nova conduta em seu conteúdo, de forma que deveriam simular a navegação de um usuário, leigo ou não, no Sistema, além de
que deveriam conter as tecnologias envolvidas no desenvolvimento do projeto a fim de preencher o pré-requisito de transfêrencia
tecnológica. Na apresentação final do projeto, houve aprovação do Cliente, tanto em relação ao novo Sistema, quanto aos manuais.
Palavras chave: engenharia de software, SIS-FCMF v3.0.
1. Introdução
A Fundação Casimiro Montenegro Filho – FCMF, sociedade de direito privado, fundada em 1990 com
objetivos de estimular, formar, especializar e aperfeiçoar os recursos humanos do ITA através de projetos de pesquisa e
desenvolvimento tecnológico junto ao setor privado detém um grande conjunto de informações relacionadas com suas
atividades que podem ser caracterizadas como Interno e Externo.
O nível Interno, de Domínio Privado, diz respeito às informações cadastradas e disponibilizadas apenas para
consultas por parte de usuários devidamente credenciados. Com relação ao nível Externo, de Domínio Público, as
informações cadastradas são classificadas e disponibilizadas para qualquer interessado conforme diretrizes
estabelecidas pela FCMF e pelas empresas vinculadas à Fundação.
Para gerenciar este conjunto de informações, a FCMF possuía, até junho de 2005, dois sistemas web: o SISFCMF v2.0 com funcionalidades de manter e disponibilizar pela web o conteúdo e o SAP-FCMF v1.0 para realizar
funcionalidades de avaliações de novos projetos submetidos à FCMF.
A partir daí, detectou-se a necessidade de dotar a FCMF de um Sistema de Informações computadorizado
único, interativo e atualizado, satisfazendo assim as necessidades de flexibilização ainda não atendidas pelos sistemas
existentes, que necessitam de mais qualidade, confiabilidade, segurança, e facilidade de manutenção e atualização.
A alternativa de solução escolhida para resolver o problema acima consiste em: “Desenvolver a Unificação dos
Portais da FCMF (SAP-FCMF v1.0 e SIS-FCMF v2.0), num único Portal (SIS-FCMF v3.0), que seja capaz de atender
as necessidades específicas dos seus Clientes, utilizando uma metodologia de desenvolvimento de software apropriada,
e transferindo conhecimento e tecnologia para a Organização”.
Existe, portanto, uma grande importância para a documentação do projeto devido principalmente a dois motivos: o
primeiro refere-se ao fato de que o usuário e/ou o Cliente possam utilizar o Sistema de forma adequada e que possam
utilizar os documentos como fonte de esclarecimento para eventuais dúvidas a qualquer procedimento a ser realizado no
Sistema; o segundo, ao fato da transferência tecnológica, ou seja, a equipe de Manutenção do Sistema, depois do
mesmo entregue ao Cliente, necessita de uma documentação sólida de todos os passos, decisões e referentes ao
processo de elaboração do projeto para que possa efetuar uma manutenção correta do Sistema.
2. O Sistema Desenvolvido
O Portal SIS-FCMF v3.0 encontra-se divido em três Áreas de Domínio disponibilizadas, segundo o Nível de
Acesso do usuário: Domínio Público, Privado e Restrito.
Na Área de Domínio Público residem os conteúdos institucionais, resumos de projetos, notícias de interesse da
FCMF, empresas parceiras, entres outras informações direcionadas ao público geral interessado.
A Área de Domínio Privado destina-se à Avaliação e Aprovação de Novos Projetos.
A Área de Domínio Restrito consiste de um módulo de administração de usuários e conteúdos do Domínio Público
e Privado do SIS-FCMF v3.0.
Anais do XII ENCITA 2006, ITA, Outubro, 16-19, 2006
,
2.1. Ambiente de utilização do Sistema
Os usuários do SIS-FCMF v3.0 são classificados em 7 diferentes níveis de acesso:
Administradores de Conteúdo do Portal – Funcionários da FCMF que interagem diretamente com o sistema para
gerenciar dados e informações. Habilita-se para o usuário neste nível as funcionalidades relacionados a realização
de inclusões, exclusões e modificações nos conteúdos das três Áreas de Domínio do Portal, disponibilizando-as,
de maneira apropriada;
Membros do Conselho Diretor da FCMF – Funcionários da FCMF que possuem acesso aos Domínio Público e
Privado. Na área Pública, este nível de usuário não possui restrição. Na Área Privada, as funcionalidades
disponíveis referem-se a efetuar Consultas, realizar Pareceres e Avaliações nos Projetos de sua alçada, e alterar
suas informações pessoais no Sistema;
Membros do Conselho Curador da FCMF – Funcionários da FCMF que possuem, assim como os membros do
Conselho Diretor, acesso aos Domínios Público e Privado. Na Área Pública, este nível de usuário não possui
restrição. Na Área Privada, as funcionalidades disponíveis referem-se a efetuar Consultas, realizar Pareceres e
Avaliações nos Projetos de sua alçada, e alterar suas informações pessoais no Sistema;
Secretário Executivo da FCMF – Principal funcionário da FCMF responsável pela liberação do processo de
detalhamento de Novos Projetos. Possui acesso aos Domínios Público e Privado. Na área Pública, este nível de
usuário não possui restrição. Na área Privada, as funcionalidades disponíveis referem-se a efetuar Consultas,
realizar Pareceres, Avaliações e Decisão Final nos Projetos de sua alçada, podendo efetuar nos Projetos de sua
alçada, e alterar suas informações pessoais no Sistema;
Diretores Presidente, Vice-Presidente ou Diretores Substitutos da FCMF – Funcionário da FCMF que possui
acesso aos Domínios Público e Privado. Na área Pública, este nível de usuário não possui restrição. Na Área
Privada, as funcionalidades disponíveis referem-se a efetuar Consultas, realizar Pareceres, Avaliações e Decisão
Final nos Projetos de sua alçada, podendo efetuar nos Projetos de sua alçada, e alterar suas informações pessoais no
Sistema;
Avaliadores Técnicos Convidados e Coordenadores de Projetos – Os usuários deste nível podem emitir Pareceres
sobre a viabilidade tecnológica dos Projetos em avaliação. Não possui restrição na Área Pública; e
Usuários Visitantes – Usuários com acesso irrestrito a Área Pública do SIS-FCMF v3.0, podendo visualizar as
informações institucionais, conteúdo de divulgação pública sobre os projetos, além de notícias e destaques ligados
às atividades da FCMF.
Os Usuários do SIS-FCMF v3.0 dos 6 (seis) primeiro níveis acima devem ser cadastrados sob a responsabilidade
dos Administradores
2.2 Base de dados
O Banco de Dados do Sistema emprega a tecnologia MySQL. MySQL é um sistema de gerenciamento de banco de
dados relacional que utiliza a linguagem padrão SQL. Seu código fonte é: aberto, leve, rápido, seguro e prático. Permite
construir aplicações interativas e complexas, tornando-se extremamente amigável e fácil de usar em comunhão com o
PHP. Faz-se a administração do MySql via Web através do sistema PHPMyadmin.
A organização das informações dentro do Banco de Dados segue um Modelo Lógico de Entidade-Relacionamento
onde constam as Entidades, os Atributos, as Chaves-Primárias, entre outros. O refinamento desse modelo leva a geração
do Modelo Físico, o qual apresenta as Tabelas, as Colunas, o Tipo e o Tamanho de cada uma das Colunas.
2.3 Arquitetura do Sistema
Utilizou-se o Padrão de Desenvolvimento MVC (Model, View, Controler) para o desenvolvimento do Sistema.
Este padrão divide o código em três camadas: Modelo, que realiza a conexão com o banco de dados (Model);
Visualização, que consiste na interface do Sistema (View); e, Controle, que constitui as regras de negócio (Controller).
Com esta divisão, o MVC oferece uma boa separação das responsabilidades do sistema nas tarefas de dados (Modelo),
gerenciamento de tarefas (Controle) e a realização entre os dados e a forma (Visualização) na qual exibir-se-ão os
dados. Ademais, há uma melhor separação das responsabilidades, o que diminui o código JSP e a reusabilidade. A
Figura 1 mostra as três camadas do padrão MVC.
Anais do XII ENCITA 2006, ITA, Outubro, 16-19, 2006
,
Figura 1. Arquitetura Padrão MVC
Juntamente com o MVC, utilizou-se o Framework Struts, que consiste num projeto open source mantido pela
Apache Software Foundation, equivalendo a uma implementação do design pattern MVC para aplicações Java com
Internet. O Structs ajuda a separar as camadas de Interface (View) e de Negócio (Controller).
A comunicação entre as três camadas do SIS-FCMF v3.0 está na topologia visualizada na Figura 2. Topologia do
Sistema.
Camada de Interface (View)
JAVA (JSP)
Camada de Negócio (Controller)
JDBC
Camada de Dados (Model)
Figura 2. Topologia do Sistema
Para o gerenciamento das camadas do Sistema utiliza-se a ferramenta de desenvolvimento JBuilder X, onde se
pode organizar os códigos agrupando-os por funções. Essa estrutura de organização é visualizada na Figura 3.
Anais do XII ENCITA 2006, ITA, Outubro, 16-19, 2006
,
Figura 3. Organização da Estrutura de Desenvolvimento do SIS-FCMF V3.0
No agrupamento dao, estão os métodos de acesso ao banco de dados, bem como os comandos SQLs relacionados
aos acessos do sistema ao banco de dados.
Em dto, estão as estruturas das classes utilizadas no sistema, bem como a implementação dos métodos pertencentes
a cada classe separando-se as classes em arquivos os quais possuem extensão .java.
No agrupamento struts, encontram-se os códigos relacionados à camada de negócio, o qual tem as funções de
validações, de tratamento de erros, a apresentação, e mesmo a entrada de dados através form pelo usuário bem como as
mensagens de erros.
No agrupamento útil, encontram-se as classes que contêm métodos que são utilizadas em diversas outras classes do
Sistema.
Na criação da interface do Sistema, utilizou-se a tecnologia JSP, abreviação de Java Sever Pages. A escolha por
JSP deve-se ao fato de que com esta opção podemos criar aplicações web que se executam em vários servidores web, de
múltiplas plataformas, já que Java é em essência uma linguagem multiplataforma. As páginas JSP compõem-se
compostas de código HTML/XML misturado com etiquetas especiais para programar scripts de servidor em sintaxe
Java. Portanto, pode-se escrever as JSP com editores HTML/XML habituais.
O JSP permite que se separe o conteúdo dinâmico de uma página web de sua apresentação, possibilitando o
desenvolvimento separado da parte visual por um Web Design, e da parte dinâmica pelo programador.
Utilizou-se para o desenvolvimento da camada de Interface o DreamWeaver MX, que consiste num ambiente para
construção de páginas fornecido pela Macromedia.
3. Documentação Desenvolvida
A documentação do SIS-FCMF v3.0 consiste da elaboração de três manuais: Manual de Operação, Manual de
Sistema e Manual de Usuário.
No início da elaboração dos Manuais tornou-se imprescindível o estudo dos Manuais dos Sistemas anteriores, com
ênfase nos do SAP-FCMF v1.0, com o objetivo de familiarização com o formato adotado. Durante esse estudo,
surgiram alguns questionamentos quanto ao seu formato de apresentação, tais como “Precisariam ser tão monótonos?” e
“Em alguns casos, necessitar-se-ia assumir que o usuário é leigo?”.
Anais do XII ENCITA 2006, ITA, Outubro, 16-19, 2006
,
Após algumas discussões, assumiu-se que os Manuais deveriam apresentar uma característica que levasse o
usuário a imaginar-se navegando pelo Sistema. Adotou-se este modelo nos Manuais de Usuário e de Operação,
realmente utilizados pelos usuários.
No Manual de Sistema, incluir-se-iam as tecnologias envolvidas no Sistema, o porquê de utilizá-las e a estrutura do
Sistema.
Empregou-se esta solução pensando-se em mais interatividade com o próprio usuário e também considerando o
usuário como um leigo que poderia entender os Manuais, sem precisar conhecer, em profundidade, a área de
Engenharia de Software.
No Manual de Usuário têm-se basicamente informações referentes aos Domínios Público e Privado.
Nele, houve certa dificuldade quanto à parte do Domínio Público, visto que seu conteúdo possui um
comportamento mais dinâmico, ficando difícil a especificação de suas partes ou telas.
A solução encontrada foi então a de separar este Domínio em painéis, e assim então explicar e detalhar melhor
cada painel no Manual. Assim, passou-se a descrição dos painéis como classes de objetos, reunindo categorias de
índices.
Além disso, os painéis com algum tipo de recurso específico ou funcionalidade tornaram-se mais fáceis de usar.
O Domínio Privado, por não possuir um conteúdo tão dinâmico quanto o do Domínio Público, não apresentou
dificuldades para ser documentado. Registrou-se todas suas funcionalidades, e estas, devidamente detalhadas para o
usuário consultar.
Descreveu-se cada passo, desde a alteração de dados até a “Decisão Final” em relação a aprovação de um projeto, e
documentou-se todas as telas, inclusive as de mensagens de erros.
Assim como no Domínio Privado, o Domínio Restrito é mais estático do que o Domínio Público.
A partir daí: tornou-se mais fácil documentar cada tela deste Domínio; todas as funcionalidades, a disposição do
usuário, encontraram-se registradas, de forma semelhante a um tutorial; incluiu-se cada passo para a edição de conteúdo
e administração de usuários; e passou-se a documentar melhor os tipos de erros ocorridos e suas causas.
Neste Manual, tentou-se mudar o estereótipo de incluir todos os códigos do Sistema no Manual de Sistema. Como
solução adotou-se, separar os códigos em uma mídia do tipo CD e, incluir no Manual as informações mais pertinentes
ao Sistema.
Fez-se necessário então, um estudo das principais tecnologias envolvidas no desenvolvimento do Sistema, que
focou mais nos seus significados, vantagens, locais e formas de utilização.
Como principais resultados, praticamente todas as tecnologias passaram a utilizar código-livre, e que com isso, os
custos de desenvolvimento e manutenção do Projeto reduziram drasticamente.
Ademais, há outros fatores envolvidos tais como a execução em diversos ambientes, servidores e sistemas
operacionais, falando aqui mais precisamente do Java Server Pages (JSP).
Neste Manual também está presente qual o padrão usado para o desenvolvimento do Sistema – o desenvolvimento
do Sistema seguiu o Padrão de Desenvolvimento MVC (Model - View - Controller), o qual consiste num padrão que
divide o código em três camadas.
Há ainda várias outras informações referentes ao Sistema tais como: os Diagramas Hierárquicos de Tela dos
Domínios Privado e Restrito, o Modelo Entidade-Relacionamento, os Diagramas de Classe, a Topologia do Sistema e
as Camadas em que a estrutura do Sistema está dividida.
Constitui como parte do trabalho de adequação dos Manuais aos requisitos do Cliente, a alteração da linguagem
adotada em princípio. A nova linguagem deveria ser de fácil entendimento, contudo, deveria possuir um padrão de
papers, teses de mestrado e doutorado orientadas pelo Prof. Dr. Adilson Marques da Cunha.
4. Conclusão
Pode-se citar como um dos conhecimentos adquiridos, após o término do projeto na área de Engenharia de
Software, a metodologia de trabalho aplicada pelas equipes de desenvolvimento orientadas pelo Prof. Dr. Adilson
Marques da Cunha.
Ademais, houve um contato com novas tecnologias, por parte do Bolsista, tais como Java Sever Pages, XML,
MySQL, TomCat, JBuilder X, DreamWeaver MX, MVC e Framework Struts.
A necessidade da utilização destas tecnologias consiste em certas vantagens apresentadas pelas mesmas durante o
desenvolvimento do projeto.
O Java Server Pages permite que se separe o conteúdo dinâmico de uma página Web de sua apresentação, assim é
possível a parte visual ser desenvolvida pelo Web Design, e o desenvolvimento Java, que é a parte dinâmica, ser
desenvolvida pelo programador, implicando, portanto, numa divisão de responsabilidades e conseqüente maior
dedicação dos programadores ao desenvolvimento do projeto.
Utilizou-se XML porque esta tecnologia consiste em permitir compartir os dados com os quais se trabalha a todos
os níveis, por todas as aplicações e suportes. Sendo assim, o XML tem um papel importantíssimo neste mundo atual,
que tende à globalização e à compatibilidade entre os sistemas, já que é a tecnologia que permitirá compartir a
informação de una maneira segura, confiável e fácil. Ademais, XML permite ao programador e aos suportes dedicar
seus esforços às tarefas importantes quando trabalha com os dados, já que algumas tarefas trabalhosas como a validação
Anais do XII ENCITA 2006, ITA, Outubro, 16-19, 2006
,
destes ou o percorrido das estruturas corre a cargo da linguagem e está especificado pelo padrão, de modo que o
programador não tem que se preocupar por isso.
A adoção de MySQL para o banco de dados consiste em seu código fonte aberto, leve, rápido, seguro e prático.
Somando-se a isso, esta tecnologia permite construir aplicações interativas e complexas, tornando-se extremamente
amigável e fácil de usar em comunhão com o PHP, sendo sua administração via Web através do sistema PHPMyadmin.
Assim como o MySQL, o TomCat consiste em um software livre e de código aberto desenvolvido dentro do
conceituado projeto Apache Jakarta e oficialmente endossado pela Sun como a Implementação de Referência (RI) para
as tecnologias Java Servlet e JavaServer Pages.
O MVC é um padrão que oferece uma boa separação das responsabilidades do sistema nas tarefas de dados
(Model), gerenciamento de tarefas (Controller) e a realização entre os dados e a forma (View) na qual serão exibidos os
dados. A vantagem do MVC no desenvolvimento é que ele separa melhor as responsabilidades diminuindo o código jsp
e a reusabilidade.
Juntamente com o MVC, foi utilizado o Framework Struts, que é um projeto open source mantido pela Apache
Software Foundation. É uma implementação do design pattern MVC para aplicações Java com internet. Como o
objetivo do pattern MVC é separar de maneira clara a camada de Apresentação (View) da camada de Negócio (Model) e
o Structs ajuda a separar essas duas camadas.
Esta metodologia de trabalho começa com a elaboração de documentos objetivando coletar, analisar e definir as
necessidades e as características gerais do projeto a ser desenvolvido, bem como as motivações que levaram a decisão
de desenvolvê-lo.
Feito as Especificações de Requisitos, segue-se para a Fase de Análise em que se elabora o Modelo de Casos de
Uso e posteriormente o Projeto do Sistema em si, que consiste em gerar um Modelo Lógico de EntidadeRelacionamento seguido da Identificação dos Objetos seus respectivos Atributos, suas Operações e Relacionamentos,
tanto interna como externamente ao Sistema, com a finalidade de estruturar sua Arquitetura Física, terminando com a
etapa de Implementação e Testes.
Deve-se ressaltar que, além de todos os novos conhecimentos e conceitos adquiridos, muitos outros como trabalho
em equipe, trabalho com ambiente similar ao mercado de trabalho e envolvimento com o “Cliente” foram
compreendidos e absorvidos pelo Bolsista de maneira satisfatória.
5. Agradecimentos
Agradeço a toda equipe envolvida no projeto: Prof. Dr. Adilson Marques da Cunha, Laércio Sambüc dos Anjos,
Alysson Sarmento Ferreira e Débora Aparecida Rodrigues Chagas. Com esta equipe maravilhosa tive oportunidade de
adquirir muitos conhecimentos e aprender muito sobre o desenvolvimento de um Portal tal como o SIS-FCMF V3.0.
Agradeço-os pela paciência e atenção para minhas dúvidas e disposição para explicar a um leigo todos os processos
que estava sendo executados.
Agradeço também a Fundação CNPq, que vinculada ao Ministério da Ciência e Tecnologia (MCT), apóia à
pesquisa brasileira e contribui diretamente para a formação de jovens pesquisadores, investindo e promovendo o
aumento da produção de conhecimento e gerando novas oportunidades a jovens universitários desejosos em iniciar uma
vida de pesquisa e desenvolvimento nas diversas áreas do conhecimento.
6. Referências
- http://java.sun.com/products/jsp/
- http://www.w3.org/XML/
- http://www.mysql.com/
- http://tomcat.apache.org/
- http://www.borland.com/br/products/jbuilder/
- http://www.macromedia.com/devnet/dreamweaver/
- http://struts.apache.org/
This document was created with Win2PDF available at http://www.win2pdf.com.
The unregistered version of Win2PDF is for evaluation or non-commercial use only.
This page will not be added after purchasing Win2PDF.
Download