Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
João Pessoa – PB
dezembro de 2008
ii
João Pessoa
2008
RESUMO
AGRADECIMENTOS
LISTA DE FIGURAS
Figura 1: Exemplo de um form (no Visual Studio).
Figura 2: HandProt com um modelo de aplicação.
Figura 3: Exemplos de componentes do Dxperience.
Figura 4: CODEX legado (plataforma DOS)
Figura 5: Diagrama ER do CODEX+.
Figura 6: Exemplo de uma classe.
Figura 7: Exemplo XML de parâmetros para o NHibernate.
vi
SUMÁRIO
RESUMO ..........................................................................................................................................III
AGRADECIMENTOS .........................................................................................................................IV
LISTA DE FIGURAS ...........................................................................................................................V
1. INTRODUÇÃO ......................................................................................................................... 1
1.1 OBJETIVO ......................................................................................................................... 1
1.2 A EMPRESA ...................................................................................................................... 1
1.3 DESCRIÇÃO GERAL DAS ATIVIDADES ............................................................................... 1
1.4 ORGANIZAÇÃO DO RELATÓRIO ........................................................................................ 2
2. EMBASAMENTO TEÓRICO................................................................................................. 3
2.1 FRAMEWORK ..................................................................................................................... 3
2.2 PROGRAMAÇÃO ORIENTADA A OBJETOS .......................................................................... 4
2.3 A LINGUAGEM C# ............................................................................................................ 4
2.4 A PLATAFORMA .NET ...................................................................................................... 5
2.5 O VISUAL STUDIO 2005 ................................................................................................... 6
2.6 O HANDPROT ................................................................................................................... 7
2.7 O FRAMEWORK NHIBERNATE ........................................................................................... 8
2.8 O FRAMEWORK DXPERIENCE ........................................................................................... 9
3. ATIVIDADES DE ESTÁGIO / PROJETO .......................................................................... 10
3.1 O APLICATIVO CODEX (LEGADO)................................................................................ 10
3.2 O APLICATIVO CODEX+............................................................................................... 11
4. CONSIDERAÇÕES FINAIS ................................................................................................. 15
5. REFERÊNCIAS ...................................................................................................................... 16
1
1. Introdução
1.1 Objetivo
O estágio realizado teve como objetivo adquirir maior conhecimento prático e técnico no
desenvolvimento de software utilizando as ferramentas Visual Studio 2005 (linguagem C#),
HandProt e os Frameworks Dxperience e NHibernate, baseados na plataforma .NET.
1.2 A Empresa
Este relatório está divido em três partes principais: a primeira parte consiste de uma breve
introdução, a segunda parte descreve as atividades desenvolvidas no estágio e a terceira e última
parte as considerações finais.
3
2. Embasamento Teórico
Cabem aqui algumas definições que serão necessárias para o entendimento de
explicações dadas na descrição das atividades de estágio.
2.1 Framework
Segundo Fayad, Schmidt e Johnson (1999), frameworks são técnicas orientadas a objetos
que permitem a reutilização de código, através do estabelecimento de um modelo de construção
de aplicações pertencentes a um determinado domínio. Sendo assim, ao utilizar um framework, o
custo de desenvolvimento de aplicações torna-se ameno quando aplicado a uma área específica.
A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de
objetos para descrever um sistema de software. O funcionamento deste sistema se dá através do
relacionamento e troca de mensagens entre estes objetos.
2.3 A linguagem C#
C# é uma linguagem com diversos objetivos em vista. Pretende ser mais simples que o
C++ e, ao mesmo tempo, poderosa em termos das suas características.
Eis as principais características desta nova linguagem, que achamos dignas de referência:
• Orientada a componentes;
• Robusta e moderna;
• Familiar. (MARQUES, PEDROSO, 2007).
Certamente, há muitos objetivos na iniciativa .NET, Os objetivos a seguir parecem ser mais
proeminentes na Microsoft:
2.6 O Handprot
Ferramenta de proteção via PLUG (USB), que protege as aplicações contra cópias ilegais
e engenharia reversa através de criptografia dos executáveis.
NHibernate é uma parte do Hibernate Core para Java portado para o .NET Framework.
Ele lida com plano de persistência para objetos .NET e de um subjacentes de dados relacionais.
Dando uma descrição XML de suas entidades e relacionamentos, NHibernate gera
automaticamente SQL para carregar e guardar os objectos. Opcionalmente, você pode descrever
o seu mapeamento de metadados com atributos em seu código fonte.
Suporta persistência transparente, o seu objeto classes não têm de seguir um modelo de
programação restritiva. Classes persistentes não precisa implementar nenhuma interface ou
herdar de uma classe especial base. Isto torna possível desenvolver a lógica empresarial
utilizando o plano de objetos .NET (CLR) e Orientação a Objetos.
Originalmente sendo uma parte do Hibernate 2.1, o NHibernate API é muito semelhante
ao do Hibernate. Todo o conhecimento e documentação existente é, portanto, diretamente
aplicável ao NHibernate. (WIKIPEDIA, 2008)
7
Vê-se nesta figura que a coluna ESTADO está agrupada no grid, o que facilita bastante a
organização dos dados. Este agrupamento é realizado pelo usuário em qualquer coluna do grid.
A linha branca embaixo dos títulos das colunas do grid serve para uma pesquisa rápida na
coluna.
8
O aplicativo CODEX é um programa de livro caixa que permite ser lançadas todas as
receitas e despesas de uma entidade, tanto com o fim de controle gerencial quanto o
cumprimento de obrigação fiscal.
Esta nova versão suprirá a maioria dos requisitos do sistema legado, exceto algumas que
estão em desuso.
Além das tabelas, também foram criadas as chaves primárias e os relacionamentos entre
as tabelas.
10
4. Considerações Finais
O projeto do CODEX+ utiliza técnicas modernas de desenvolvimento, como é o caso da
persistência de dados além do framework DXPerience que permite que o aplicativo final
apresente uma interface moderna e amigável.
Destacam-se em nossas contribuições a melhoria dos forms que já haviam sido criados
por outros desenvolvedores, tornando-as mais amigáveis com o usuário e mais fáceis de se dar
manutenção. Outra contribuição importante foi a normalização de todas as tabelas do sistema
CODEX+, já que na linguagem Clipper isto não muito comum de se fazer.
Foi necessário um estudo mais a fundo o framework DXPerience para uma melhor
aplicação, tais conhecimentos foram passados para a equipe de desenvolvimento da empresa.
A empresa decidiu que todos os projetos futuros irão usar todas as ferramentas usadas no
desenvolvimento do CODEX+, tanto que já está em desenvolvimento o programa FISCUS+ com
base em todos os conhecimentos adquiridos com o desenvolvimento do CODEX+. Isto permitirá
uma total integração dos sistemas/dados.
Antes, por exemplo, os cadastros das empresas que os clientes eram responsáveis pela
escrituração contábil eram individuais, isto é, cada sistema tinha seu cadastro de empresas. Com
a nova metodologia de desenvolvimento, só existirá um cadastro de empresas, o que facilitará a
manutenção dos dados pelos usuários.
Outro avanço é com relação à transferência de dados de um sistema para outro, antes o
usuário em um sistema exportava os dados em arquivos texto e no outro sistema importava esses
dados. Agora, isto pode ser feito de forma automática através de trigers e stored procedures, sem
a necessidade do usuário ter que se preocupar com tais procedimentos.
• Maior velocidade de acesso aos dados, pois o CODEX+ usa um banco de dados
profissional usando a linguagem SQL;
• Melhor visual para o usuário;
• Maior iteratividade homem-máquina;
• Impressão sem problema algum em qualquer tipo de impressora, seja ela
matricial, jato de tinta, laser, serial, paralela ou USB, estando ela local ou em
rede, sem a necessidade de captura da porta, já que o sistema usa impressoras
cadastradas no Windows, além da possibilidade de impressão nos relatórios de
uma marca d´água com um logotipo da empresa selecionada pelo usuário;
• Uso tanto do teclado quanto do mouse para acesso às funções do sistema;
• Melhor controle dos dados pelos usuários, já que os dados estão armazenados de
normalizada.
Para que o projeto fique completo, está faltando a documentação, tanto a técnica, quanto
a do usuário, além da confecção de uma instalação, o que sugerimos seja feita com alguma
ferramenta do tipo “Installshield”, que permita a instalação, não só do aplicativo e suas DLL´s
quanto dos pacotes do Firebird e da plataforma .NET.
14
5. Referências
FAYAD, Mohamed E.; SCHMIDT, Douglas C.; JOHNSON, Ralph E. Building Application
Frameworks: Object-Oriented foundations of frameworks design. Nova York: Wiley, 1999.
PACHECO, Xavier. Guia do desenvolvedor de delphi for .NET. São Paulo, Pearson Makron
Books, 2005.
SKIBO, Craig; YOUNG, Marc; JOHNSON, Brian. Working with Microsoft Visual Studio
2005. Washington, Microsoft Press, 2006.