Ambiente Aplicacional Integrado -...

60
Departamento de Engenharia Informática e de Sistemas Instituto Superior de Engenharia de Coimbra Associação de Informática da Região Centro Ambiente Aplicacional Integrado Bárbara Maria Simões Correia Relatório de Estágio/Projecto Industrial do Mestrado em Informática e Sistemas Coimbra, Dezembro, 2009

Transcript of Ambiente Aplicacional Integrado -...

Page 1: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Departamento de Engenharia

Informática e de Sistemas

Instituto Superior de Engenharia de

Coimbra

Associação de Informática da

Região Centro

Ambiente Aplicacional Integrado

Bárbara Maria Simões Correia

Relatório de Estágio/Projecto Industrial do Mestrado em Informática e Sistemas

Coimbra, Dezembro, 2009

Page 2: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Departamento de Engenharia

Informática e de Sistemas

Instituto Superior de Engenharia de

Coimbra

Associação de Informática da

Região Centro

Mestrado em Informática e Sistemas

Relatório de Estágio/Projecto Industrial

Ambiente Aplicacional Integrado

Bárbara Maria Simões Correia

Orientador DEIS/ISEC: Doutora Ana Rosa Borges

Orientador AIRC: Eng.º Luís Silva

Empresa: Associação de Informática da Região Centro

Coimbra, Dezembro, 2009

Page 3: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

2

Agradecimentos

Gostaria antes de mais de agradecer aos orientadores do estágio: Eng.º Luís Silva e Eng.ª

Cláudia Ribeiro, orientadores da AIRC, pelo apoio, incentivo e disponibilidade demonstrada em

todas as fases que levaram à concretização deste trabalho; Doutora Ana Rosa Borges, orientador

do DEIS/ISEC que se disponibilizou a seguir o percurso do estágio.

Gostaria também, agradecer a disponibilidade de vários elementos da equipa de

desenvolvimento da AIRC, que sempre se dispuseram para contribuir no esclarecimento de

dúvidas, sendo eles: Eng.º José Cura, Eng.º Anselmo Craveiro, Eng.ª Marta Cunha e Eng.ª

Luciana Ferreira.

Gostaria ainda de agradecer aos meus colegas Enoque Carvalho, André Simões, Ivo Santos,

Eduardo Pratas e Ricardo Machado a excelente convivência e colaboração em diversos aspectos

ao longo do estágio.

Expresso ainda, o meu agradecimento à minha família que sempre me apoiou e incentivou

para a melhor prestação ao longo do estágio.

Page 4: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

3

Resumo

O presente documento foi realizado no âmbito da disciplina de Estágio/Projecto Industrial, do

Mestrado em Informática e Sistemas, leccionada no Departamento de Engenharia Informática e de

Sistemas, do Instituto Superior de Engenharia de Coimbra. O estágio foi realizado na Associação

de Informática da Região Centro (AIRC), sedeada em Coimbra, consistindo no desenvolvimento de

um Ambiente Aplicacional Integrado, para integrar com outras aplicações do ERP AIRC.

Resumidamente, a aplicação deve facilitar o acesso a outras aplicações instaladas no

computador e a que o utilizador tenha permissões, sem ter que efectuar login cada vez que abre

uma aplicação. Esta deve também facilitar aos utilizadores, o acesso a determinadas

funcionalidades que são necessárias diariamente.

Neste documento pretende-se descrever as actividades desenvolvidas ao longo do estágio,

salientando-se as metodologias adoptadas, a arquitectura da aplicação, as ferramentas utilizadas,

os problemas encontrados e as soluções propostas.

Page 5: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

4

Abstract

This document was prepared under the discipline of Traineeship / Industrial Project, of

Information Technology and Knowledge branch of the Masters in Computer Science and Systems,

taught in the Department of Computer Science and Systems, Instituto Superior de Engenharia de

Coimbra. The traineeship was performed at Associação Informática da Região Centro (AIRC),

headquartered in Coimbra, consisting of the development of an Integrated Application Environment

to integrate with other existing ERP applications of AIRC.

Briefly, the application will facilitate access to other AIRC applications installed on the

computer where the user has permissions, without having to login every time he opens a different

application. This should also make it easier for users to access certain features that are needed

daily.

This document has as main objectives the description of the activities undertaken during this

traineeship, emphasizing the approaches adopted, the application architecture, the tools used,

problems encountered and proposed solutions.

Page 6: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

5

Definições, Acrónimos e Abreviaturas

Abreviatura Definição

ADM Aplicação de Administração da AIRC

AIRC Associação de Informática da Região Centro

AFC AIRC Foundation Classes

CNA Comissão de Normalização da AIRC

DEIS Departamento de Engenharia Informática e de Sistemas

DDDW DropDownDataWindow

DW DataWindow

EDAFC Equipa de Desenvolvimento das AFC

ERP

AIRC2000

Pacote de software autárquico, constituído por um conjunto de módulos

aplicacionais que cobrem quase a totalidade do sistema de informação das

autarquias

GFM Gestão de Fiscalização Municipal

IGA Identidade Gráfica da AIRC

ISEC Instituto Superior de Engenharia de Coimbra

ODBC Open Database connectivity

PB PowerBuilder

PBL PowerBuilder Library

PFC PowerBuilder Foundation Classes

PFE PowerBuilder Foundation Extension

PowerBuilder

Ferramenta de desenvolvimento, com programação orientada objectos, de

aplicações Windows, onde existe uma forte interacção com Sistemas de Gestão de

Bases de Dados Relacionais

SCC Source Code Control

SGA Sistema de Gestão de Água

SGD Sistema de Gestão Documental

SGP Sistema de Gestão de Pessoal

SQL Structured Query Language

STA Sistema de Tratamento de Actas

Page 7: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

6

Índice Geral

1. Introdução ............................................................................................................................ 11

1.1 Contexto do estágio ...................................................................................................... 11

1.2 Descrição da entidade de acolhimento .......................................................................... 11

1.3 Âmbito do Trabalho ...................................................................................................... 13

1.4 Objectivos .................................................................................................................... 13

1.5 Estrutura do relatório .................................................................................................... 14

2. Planeamento e gestão do projecto ....................................................................................... 15

2.1 Coordenação e Reuniões ................................................................................................... 15

2.2 Equipa de Projecto ............................................................................................................. 15

2.3 Plano de desenvolvimento .................................................................................................. 16

2.4 Metodologia seguida .......................................................................................................... 17

3. Actividades desenvolvidas .................................................................................................... 19

3.1 Tecnologias e Ferramentas utilizadas ................................................................................. 19

3.1.1 PowerBuilder 11.2 ....................................................................................................... 19

3.1.2 Informix 11.5 ................................................................................................................ 19

3.1.3 Microsoft Word ............................................................................................................ 19

3.1.4 Microsoft Excel ............................................................................................................ 19

3.1.5 TortoiseCVS 1.8 .......................................................................................................... 19

3.2 Análise ............................................................................................................................... 20

3.3 Implementação ................................................................................................................... 20

3.3.1 Ambiente de desenvolvimento ..................................................................................... 20

3.3.2 Ferramenta de desenvolvimento .................................................................................. 21

3.3.3 Arquitectura do Sistema ............................................................................................... 23

3.3.4 Framework Comum das Aplicações da AIRC ............................................................... 25

3.3.5 Base de Dados ............................................................................................................ 26

Page 8: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

7

3.3.6 Mecanismo de autenticação ........................................................................................ 29

3.3.7 Interfaces do projecto .................................................................................................. 32

3.3.7.1 Área de boas vindas ao utilizador .......................................................................... 33

3.3.7.2 Favoritos ............................................................................................................... 34

3.3.7.3 Menu de aplicações .............................................................................................. 35

3.3.7.4 Documentos recebidos ......................................................................................... 37

3.3.7.5 Área de Pesquisas ................................................................................................ 39

3.3.7.6 Calendário ............................................................................................................ 47

3.3.7.7 Menu de atalhos ................................................................................................... 54

3.3.7.8 Área central .......................................................................................................... 55

3.5 Testes ................................................................................................................................ 56

4. Conclusões .......................................................................................................................... 57

5. Bibliografia ........................................................................................................................... 58

6. Anexos ................................................................................................................................. 59

Anexo A – Proposta de Estágio ................................................................................................ 60

Anexo B – Sprint Backlog ......................................................................................................... 64

Anexo C – Product Backlog ...................................................................................................... 70

Page 9: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

8

Índice de figuras

Figura 1 - Produtos da AIRC ........................................................................................................ 12

Figura 2 -Mapa de Gantt .............................................................................................................. 16

Figura 3 - Ambiente de desenvolvimento ...................................................................................... 20

Figura 4 - Esquema de heranças do framework da AIRC ............................................................. 23

Figura 5 – Mecanismo de autenticação ........................................................................................ 29

Figura 6 - Área de trabalho geral .................................................................................................. 32

Figura 7 - Janela de Utilizadores .................................................................................................. 33

Figura 8 - Pesquisar documentos recebidos ................................................................................. 37

Figura 9 - Selecção de áreas ....................................................................................................... 39

Figura 10 - Enquadramento da área de pesquisa ......................................................................... 40

Figura 11 - Pesquisa avançada da área de trabalho ..................................................................... 41

Figura 12 - Janela de pesquisa avançada .................................................................................... 44

Figura 13 - Pesquisa simples ....................................................................................................... 45

Figura 14 - Adicionar novo evento ................................................................................................ 47

Figura 15 – Janela para criar um novo evento .............................................................................. 48

Figura 16 - Janela Tipos de Eventos ............................................................................................ 49

Figura 17 - Atribuição de uma cor ao tipo de evento ..................................................................... 50

Figura 18 - Janela de moradas codificadas .................................................................................. 51

Figura 19 - Janela de códigos postais .......................................................................................... 52

Figura 20 - Janela de manutenção de entidades .......................................................................... 53

Figura 21 - Menu de eventos ........................................................................................................ 53

Figura 22 - Menu de atalhos......................................................................................................... 54

Page 10: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

9

Índice de tabelas

Tabela 1 – Equipa de projecto ..................................................................................................................... 15

Tabela 2 – Termos do Scrum ...................................................................................................................... 18

Tabela 3 - Tabelas utilizadas no ambiente aplicacional integrado ......................................................... 26

Tabela 4 - Tabelas criadas ........................................................................................................................... 26

Tabela 5 - Tabela de eventos ...................................................................................................................... 27

Tabela 6 - Tabela de tipos de eventos ....................................................................................................... 28

Tabela 7 - Tabela de participantes de eventos ......................................................................................... 28

Tabela 8 - Função of_getToken() ................................................................................................................ 30

Tabela 9 - Função of_encrypt3() ................................................................................................................. 30

Tabela 10 - Função of_decrypt3() ............................................................................................................... 30

Tabela 11 - Função of_parseToken() ......................................................................................................... 31

Tabela 12 - Função of_alterainit() ............................................................................................................... 31

Tabela 13 - Função of_getdadosutilizador() .............................................................................................. 33

Tabela 14 - Função of_setfavoritos() .......................................................................................................... 34

Tabela 15 - Evento afc_mostraaplicacoes() .............................................................................................. 35

Tabela 16 - Função of_getuserpermission_aplic() ................................................................................... 35

Tabela 17 - Função of_getversao() ............................................................................................................. 36

Tabela 18 - Função of_getdesigaplic() ....................................................................................................... 36

Tabela 19 - Evento afc_pesquisadocumentos() ....................................................................................... 38

Tabela 20 - Função of_getsqlentredatas() ................................................................................................. 38

Tabela 21 - Função of_setarea() ................................................................................................................. 39

Tabela 22 - Evento afc_popupmenu_pesquisa() ...................................................................................... 40

Tabela 23 - Evento afc_pesquisaavancada() ............................................................................................ 41

Tabela 24 - Função of_getdwpropriedades() ............................................................................................ 42

Tabela 25 - Função of_gettabelasdddw() .................................................................................................. 42

Tabela 26 - Função of_getdadospesquisa() .............................................................................................. 42

Tabela 27 - Função of_constroiinstrucaosqlavanc() ................................................................................ 42

Tabela 28 - Função of_getsqlavanc() ......................................................................................................... 43

Tabela 29 - Função of_pesquisaavanc() .................................................................................................... 43

Tabela 30 - Evento afc_jpesquisaavancada() ........................................................................................... 45

Tabela 31 - Evento afc_pesquisa() ............................................................................................................. 46

Tabela 32 - Função of_getsql().................................................................................................................... 46

Page 11: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

10

Tabela 33 - Função of_pesquisa() .............................................................................................................. 46

Tabela 34 - Função of_setopcoes() ............................................................................................................ 54

Tabela 35 - Função of_setinicio() ................................................................................................................ 55

Page 12: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

11

1. Introdução

1.1 Contexto do estágio

O estágio tem início em Maio e termina em Dezembro do presente ano. A orientação

pedagógica do estágio está a cargo da Doutora Ana Rosa Borges, docente do Departamento de

Engenharia Informática e de Sistemas do ISEC. A entidade de acolhimento do estágio é a

Associação de Informática da Região Centro (AIRC) localizada em Coimbra. O local de trabalho

consiste nas instalações da AIRC sendo os contactos apresentados nesta página em nota de

rodapé1.

1.2 Descrição da entidade de acolhimento

A AIRC é uma Associação de Municípios de direito público, fundada por 30 municípios da

região centro e cuja principal actividade é a produção de software e fornecimento de produtos e

serviços preferencialmente dirigidos à administração pública local.

A AIRC iniciou a sua actividade em 1982 para um número muito restrito de clientes, tendo

registado um crescimento constante e atingindo, nesta data, cerca de 300 clientes pertencentes à

administração pública, entre os quais cerca de 60% das Câmaras Municipais, 50% dos Serviços

Municipalizados, mais de meia centena de Juntas de Freguesia e ainda outros organismos da

administração pública, tais como Associações de Municípios e Regiões de Turismo.

A AIRC possui uma forte estrutura, composta por cerca de 80 profissionais altamente qualificados,

tanto ao nível da investigação e desenvolvimento de projectos, como da assistência técnica ao

utilizador.

Ao longo dos seus 25 anos de existência, a AIRC tem procurado acompanhar a evolução

natural das exigências dos seus clientes, apoiando a inovação e os novos modelos de trabalho,

1 AIRC – Associação de Informática da Região Centro

Morada: Avenida Fernão de Magalhães, N.º 227 – 2.º e 3.º Andar, Apartado 118 3001 – 902 Coimbra

Telefone: 239 850 500

Fax: 239 850 599

Email: [email protected]

Site: www.airc.pt

Page 13: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

12

suportados por soluções tecnologicamente avançadas e que permitam uma clara optimização da

gestão da administração pública.

O estímulo à adopção de mecanismos electrónicos assentes em plataformas

tecnologicamente evoluídas, que permitam a automatização de todos os processos, tem assumido

fundamental importância para a AIRC, que procura, através das suas soluções, colocar a inovação

ao serviço da modernização e dinamização da administração pública.

Nesse sentido, a AIRC disponibiliza uma ampla oferta de soluções (Figura 1 ) para os

organismos da Administração Pública Local, que permitem colocar a inovação ao serviço da

capacidade e eficácia de resposta, num forte contributo para a optimização da gestão pública.

Figura 1 - Produtos da AIRC

Aliando um serviço de suporte devidamente capacitado e especializado na quase totalidade

das áreas e atribuições da administração pública, e abrangendo toda a cadeia de valor, as

soluções AIRC permitem a cada organismo adoptar as melhores práticas de gestão e

administração, assentes em mecanismos organizacionais altamente produtivos e dinâmicos.

Esta completa oferta permitiu à AIRC consolidar a liderança de mercado da Administração

Pública Local, estando presente com as suas soluções na maioria dos Municípios do País.

Page 14: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

13

1.3 Âmbito do Trabalho

O presente estágio enquadra-se no desenvolvimento de uma plataforma integradora de

funcionalidades de várias aplicações do universo ERP AIRC2000, utilizando uma linguagem de

programação orientada a objectos, trabalhando sobre um motor de base de dados Informix.

A base de dados usada na aplicação assenta na base de dados global, comum a todas as

aplicações da AIRC, e projectada para servir todas essas aplicações quando instaladas nos

clientes AIRC. Deste modo, o estágio consiste no desenvolvimento de um ambiente de trabalho

geral para todas as aplicações da AIRC, utilizando a linguagem de programação orientada a

objectos PowerBuilder (PB).

1.4 Objectivos

Os objectivos principais do estágio consistem em desenvolver um conjunto de determinadas

tarefas, consideradas necessárias para uma boa integração na equipa de desenvolvimento de

software da AIRC. Estabeleceram-se os seguintes objectivos:

• Conhecimento do funcionamento das aplicações e das suas ligações externas

• Análise, especificação e configuração do ambiente gráfico;

• Desenvolvimento do módulo de configuração e personalização gráfica;

• Implementação da comunicação e sincronização entre módulos aplicacionais;

• Integração com sistemas externos.

Page 15: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

14

1.5 Estrutura do relatório

O presente relatório de estágio encontra-se organizado em quatro capítulos, sendo eles:

Introdução, Planeamento e Gestão do Projecto, Actividades Desenvolvidas e Conclusões. Esta

estrutura pretende abordar de uma forma concreta o trabalho desenvolvido ao longo do estágio,

dando o seguimento desde a ideia (proposta de estágio), passando pelo planeamento do projecto,

o trabalho desenvolvido, e finalizando com um conjunto de conclusões retiradas.

No Capítulo 1, Introdução , é realizada a introdução ao presente relatório de estágio, onde é

mencionado o contexto académico, assim como uma descrição alargada da entidade de

acolhimento, o âmbito e objectivos do estágio.

O Capítulo 2, Planeamento e Gestão do Projecto , visa apresentar as formas de

coordenação realizadas, a equipa de projecto e quais as metodologias de desenvolvimento

utilizadas.

No Capítulo 3, Actividades Desenvolvidas , encontram-se descritas as diversas actividades

desenvolvidas ao longo do estágio, desde a análise à implementação e testes.

O Capítulo 4, Conclusões é dedicado a analisar e mostrar de uma forma concreta e

organizada as conclusões tiradas ao longo do estágio.

Segue-se a Bibliografia , a qual contém uma listagem das referências bibliográficas utilizadas

como fundamento de pesquisa para a realização deste estágio.

Por fim, aparecem os Anexos , onde se incluem os documentos que se consideram de apoio

para uma análise mais detalhada do trabalho realizado. Assim sendo, considerou-se como

documentos anexos a este relatório, a proposta de estágio e os documentos de Sprint Backlog e

Product Backlog.

Page 16: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

15

2. Planeamento e gestão do projecto

2.1 Coordenação e Reuniões

Ao longo do estágio foram realizadas algumas reuniões de análise e definição do trabalho a

realizar (âmbito interno da AIRC). Essas reuniões foram realizadas com elementos da equipa de

desenvolvimento da AIRC. Entre elas incluem-se reuniões informais com o orientador da AIRC,

Eng.º Luís Silva e a tutora Eng.ª Cláudia Ribeiro, de forma a definir como algumas funcionalidades

deveriam ser implementadas. Foram, também, realizadas algumas reuniões informais com a Eng.ª

Luciana Ferreira, coordenadora da Identidade Gráfica da AIRC, para definir o aspecto gráfico do

ambiente de trabalho geral.

2.2 Equipa de Projecto

A tabela 1 apresenta os elementos constituintes da equipa de projecto. Para além da

estagiária, a equipa de projecto é composta pelo orientador do DEIS/ISEC e pelos orientadores da

AIRC.

Nome Função

Doutora Ana Rosa Borges Orientadora DEIS/ISEC

Eng.º Luís Silva Orientador AIRC

Eng.ª Cláudia Ribeiro Co-orientadora AIRC

Eng.º Jorge Coimbra Coordenador do Desenvolvimento da AIRC

Bárbara Correia Estagiária

Tabela 1 – Equipa de projecto

Page 17: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

16

2.3 Plano de desenvolvimento

Neste tópico é apresentado o plano de desenvolvimento definido para este projecto, tendo

este sido baseado no programa de trabalhos e calendarização das tarefas definidos na proposta de

estágio, incluída em anexo (Anexo A – Proposta de Estágio).

A figura 2 apresenta o Mapa de Gantt com a descrição das fases do projecto e datas de início

e fim das tarefas de cada fase.

Figura 2 -Mapa de Gantt

Page 18: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

17

2.4 Metodologia seguida

Como metodologia de gestão e planeamento de projectos, a AIRC utiliza o Scrum. No Scrum

os projectos são divididos em Sprints (normalmente mensais) que são períodos de tempo em que

são desenvolvidos um conjunto de actividades. As funcionalidades a serem implementadas no

projecto são descritas numa lista chamada Product Backlog que pode ser actualizada ao longo do

desenvolvimento do projecto conforme as necessidades verificadas para o projecto.

No inicio de cada Sprint faz-se uma reunião, Sprint Planning Meeting, na qual estão presentes

o Product Owner, o Scrum Master e a equipa (Scrum Team) para planear o Sprint que se inicia.

Nessa reunião o Product Owner determina prioridades para as funcionalidades do Product Backlog

e descreve-as e a equipa selecciona as que será capaz de implementar. As tarefas que são para

desenvolver ao longo de um Sprint passam-se do Product Backlog para o Sprint Backlog. O Sprint

Backlog ajuda a dividir o trabalho pelos membros da equipa. Durante esta reunião a Scrum Team e

o Product Owner definem aquilo que se tentará alcançar no Sprint com um objectivo. O Product

Owner deve garantir que não vão aparecer novos requisitos ao longo do Sprint e quando este

começar a equipa deve-se manter concentrada apenas no objectivo traçado.

No final de um Sprint é feito um Sprint Review Meeting para a equipa apresentar as

funcionalidades que foram implementadas e avaliar o sucesso do Sprint com base no que foi

definido como objectivo. Seguidamente é feito um Sprint Retrospective para identificar o que

funcionou bem, o que pode ser melhorado e que acções se podem tomar para melhorar. Assim a

equipa parte para o planeamento do próximo Sprint reiniciando-se o ciclo.

Todos os elementos da equipa reúnem diariamente para fazer um Daily Scrum, que

normalmente é feito de manhã. O objectivo desta reunião diária é partilhar o que foi feito no dia

anterior, identificar constrangimentos e dar prioridade ao trabalho que se vai realizar nesse dia.

Não se deve fazer do Daily Scrum uma reunião para resolução de problemas. Como tal as pessoas

devem ficar em pé para não haver tendência a que demore muito tempo e seja uma reunião rápida

com cerca de 15 minutos. Cada elemento da equipa deve dizer o que fez no dia anterior, o que vai

fazer no dia actual e se há algum constrangimento ou problema que impeça o desenvolvimento do

trabalho. Com estas reuniões diárias as pessoas conseguem ficar com uma boa noção do trabalho

que foi feito e que ainda falta fazer. Caso existam constrangimentos o Scrum Master deve-os tentar

tratar o mais rapidamente possível.

Page 19: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

18

Na tabela 2 são descritos alguns termos para melhor compreender esta metodologia.

Termo Descrição

Daily Scrum Reunião diária com os elementos da equipa

Product Backlog Lista de funcionalidades a serem implementadas

Product Owner Pessoa que define as funcionalidades do produto e que lhes

atribui prioridades

Sprint Período de tempo no qual é desenvolvido uma série de

actividades com um objectivo específico

Sprint Backlog Lista de tarefas, extraídas do product backlog, a realizar num

sprint

Sprint Planning Meeting Reunião realizada no início de um sprint para planeá-lo

Sprint Retrospective Reunião realizada no final de um sprint, para identificar o que

funcionou no sprint e o que pode ser melhorado

Sprint Review Meeting Reunião, realizada no final de um sprint, para se apresentar o

resultado do sprint e avaliar o seu sucesso

Scrum Master Pessoa responsável por coordenar a equipa, garantir que não

há impedimentos e que se verificam as melhores condições

possíveis para o desenvolvimento do projecto

Scrum Team Equipa de desenvolvimento do produto

Tabela 2 – Termos do Scrum

Para além da metodologia de Scrum, a AIRC tem um repositório onde ficam guardados o

modelo de base de dados e os documentos product backlog e sprint backlog entre outros. No PB é

usado o Source Code Control (SCC) para permitir que vários programadores estejam a trabalhar

no mesmo projecto ao mesmo tempo, sem que com isso ocorra a perda de código.

Page 20: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

19

3. Actividades desenvolvidas

3.1 Tecnologias e Ferramentas utilizadas

Durante o período de estágio, são utilizadas diversas tecnologias e ferramentas, necessárias

para proceder à elaboração do ambiente pretendido, e as outras tarefas do projecto. De seguida

são apresentadas, essas mesmas tecnologias e ferramentas, incluindo uma breve descrição sobre

estas.

3.1.1 PowerBuilder 11.2 O PB consiste numa ferramenta de desenvolvimento de software, desenvolvida pela Sybase,

que pela sua versatilidade é usada normalmente na construção de aplicações na arquitectura

cliente/servidor, onde existe uma forte interacção com base de dados. Esta aplicação será

explicada com mais detalhe mais à frente.

3.1.2 Informix 11.5 O Informix constitui o motor de base de dados utilizado no desenvolvimento da aplicação, que

aparenta uma estabilidade e fiabilidade, características essenciais para suportar enormes bases de

dados.

3.1.3 Microsoft Word Esta ferramenta foi utilizada para a elaboração dos documentos desenvolvidos ao longo do

estágio, sendo proprietária da Microsoft Corporation.

3.1.4 Microsoft Excel Esta ferramenta foi utilizada para o desenvolvimento do documento de Sprint Backlog, ao

longo do estágio, sendo proprietária da Microsoft Corporation.

3.1.5 TortoiseCVS 1.8 Através desta ferramenta foi possível fazer o controlo de versões de ficheiros utilizados no

projecto para permitir a sua partilha e resolver conflitos de edição.

Page 21: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

20

3.2 Análise

Para o desenvolvimento do ambiente aplicacional integrado achou-se pertinente fazer uma

análise a alguns ambientes de trabalho já existentes em aplicações da AIRC, nomeadamente as

aplicações Sistema de Gestão de Pessoal (SGP), Gestão de Fiscalização Municipal (GFM),

Sistema de Gestão Documental (SGD) e Sistema de Gestão de Água (SGA). Essa análise

consistiu em verificar quais as funcionalidades que cada um tinha, para se poder adaptar o

ambiente de trabalho geral a todas as aplicações.

3.3 Implementação

Neste tópico são apresentadas as actividades desenvolvidas durante a fase de construção do

projecto, ou seja, os métodos e técnicas utilizados para a implementação do projecto, consoante

as funcionalidades pretendidas e definidas.

3.3.1 Ambiente de desenvolvimento

O ambiente de desenvolvimento que está a ser utilizado neste projecto é constituído por (Figura 3 ):

• Máquina de desenvolvimento, com o driver de ligação ODBC ao motor de Base de Dados

Informix (Informix ODBC Driver), com a ferramenta de desenvolvimento (PB) e com outras

ferramentas necessárias ao desenvolvimento do projecto;

• Servidor remoto com o motor Informix que contêm a Base de Dados global da AIRC;

• Servidor do repositório dos resultados produzidos ao longo do projecto, como sendo

documentação ou código.

Figura 3 - Ambiente de desenvolvimento

Page 22: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

21

3.3.2 Ferramenta de desenvolvimento

Neste ponto são apresentadas as noções essenciais relativas à descrição da ferramenta de

desenvolvimento utilizada para a implementação do ambiente aplicacional integrado.

O PB consiste numa ferramenta de desenvolvimento de aplicações cliente-servidor para

Windows, possibilitando ao programador a construção de aplicações poderosas com a capacidade

de funcionar sobre diversas plataformas e interagir com diferentes Sistemas de Gestão de Bases

de Dados.

As PowerBuilder Foundation Classes (PFC´s) constituem num conjunto de objectos disponíveis

pelo PB, objectos esses que podem ser personalizados e utilizados nas bibliotecas de

desenvolvimento (PBL´s). Por outro lado, as PFC´s são interpretadas pelo PB e disponibilizadas

aos objectos com recurso à linguagem de programação PowerScript, usando técnicas de

programação orientada a objectos e as vantagens de utilização de serviços – simplificação da

programação realizada pelo programador e o uso mínimo de recursos do computador, por parte da

aplicação.

Como ferramenta de programação orientada a objectos, o PB optimiza o desenvolvimento de

software, o qual se baseia em conceitos de objectos, classes, herança, encapsulamento,

polimorfismo, etc.

• Herança (Inheritance) – mecanismo que permite a herança de objectos (janelas,

datawindows, etc.) criando objectos personalizados, mas com métodos e atributos base;

• Encapsulamento (Encapsulation) – técnica que permite impedir o acesso directo a

determinados atributos dos objectos, utilizando assim métodos de acesso externo a esses atributos

de uma forma segura;

• Polimorfismo (Polymorphism) – permite a criação de métodos declarados, mas não

implementados ao nível do objecto base, onde esta operação possa ser realizada somente nos

objectos herdados.

O desenvolvimento de aplicações em PB exige o conhecimento de alguns conceitos, tais

como:

• Programação orientada a eventos - consiste em apresentar ao utilizador uma interface

gráfica e esperar que este tenha interacção com a mesma, de modo a desencadear os eventos

que estão definidos.

• PowerScript – linguagem de programação utilizada pelo PB;

• Janelas - As janelas são objectos de PB que se usam como contentores de objectos, com

a finalidade de implementar interfaces gráficas e que suportam a programação orientada a eventos

Page 23: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

22

e programação orientada a objectos. As janelas podem ser de 6 tipos (Response, Child, Main, MDI,

Sheet e Popup), utilizadas de acordo com as necessidades pretendidas.

• Datawindow - Uma Datawindow é uma query em linguagem SQL que está ligada a uma

representação gráfica, sendo esta associada a uma determinada janela. Os elementos pretendidos

na query SQL estão representados numa distribuição gráfica e podem ser alterados no código da

aplicação. A query pode referenciar várias tabelas da Base de Dados, mas pode apenas alterar os

campos de uma. Existem vários tipos de DataWindows, as mais utilizadas são:

o datawindow tabular - é uma datawindow com os dados dispostos em formato de

listagem/tabela em que cada linha corresponde a um registo;

o datawindow freeform - é uma datawindow com os dados dispostos de forma livre

como se de um formulário se tratasse;

o datawindow external - é uma datawindow que não acede à base de dados e que

pode ser tabular ou freeform.

• Eventos - São acções que o utilizador realiza sobre uma aplicação, como por exemplo, um

clique sobre um botão, mover o rato, arrastar um ícone, etc.

• Objectos não visuais – permitem armazenar funções, eventos ou atributos.

• Objectos visuais – permitem armazenar DataWindows, botões, caixas de texto, etc.

Page 24: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

23

3.3.3 Arquitectura do Sistema

Para facilitar a aprendizagem e utilização do PB, a AIRC recorre a regras de programação e à

utilização de um framework comum a todas as aplicações desenvolvidas e a desenvolver.

O framework comum a todas as aplicações foi criado com base nas bibliotecas

disponibilizadas pela Sybase, implementadas sobre a ferramenta de desenvolvimento, e

designadas por PFC´s. Este conjunto de bibliotecas originais foi, ao longo do tempo, reestruturado

por uma equipa de programação, a EDAFC (Equipa de Desenvolvimento das AFC´s), de acordo

com as necessidades internas da AIRC, criando um outro nível de bibliotecas designadas por AIRC

Foundation Classes (AFC’s).

O nível das AFC´s constitui a base da construção de aplicações da AIRC, visto que contém um

conjunto de objectos, criados à margem das PFC´s que são utilizados em praticamente todas as

janelas da aplicação. O nível PowerBuilder Foundation Extension (PFE) permite realizar heranças

e consequentemente alterações sobre os objectos das bibliotecas AFC´s, sendo que aos

programadores cabe a função de herdar os objectos do nível das PFE´s e programá-los sobre o

nível da aplicação.

O esquema do modelo de heranças de bibliotecas, que origina o framework comum de

desenvolvimento de aplicações da AIRC, encontra-se apresentado na figura 4 , sendo que o bloco

de bibliotecas envolvidas por uma caixa em tracejado, representa o nível onde o ambiente

aplicacional integrado está a ser desenvolvido.

PowerBuilder Foundation Classes

AIRC Foundation Classes

PowerBuilder Foundation Extension

Figura 4 - Esquema de heranças do framework da AIRC

Page 25: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

24

Os níveis das bibliotecas PFC e AFC disponibilizam um conjunto de serviços ligados aos

objectos, nomeadamente janelas e DataWindows, que permitem simplificar a realização de

operações. De entre os serviços utilizados na implementação da aplicação destacam-se os

seguintes:

• Serviço de Expand – é utilizado nos botões de três pontos, que abrem outras janelas com o

intuito de devolver dados para uma DropDownDataWindow;

• Serviço de Resize – permite o redimensionamento dos objectos, permitindo aumentar ou

diminuir o seu tamanho consoante se minimize ou maximize uma janela ou quando se

altera a resolução do monitor.

• Serviço de Serial – este serviço substitui a implementação automática de campos do tipo

serial, realizada pelos motores de Base de Dados, devido a incompatibilidades

encontradas pelas equipas de programação da AIRC. Assim sendo, a utilização deste

serviço permite a definição de números de série para as DataWindows (chaves primárias

das tabelas) que incrementam automaticamente ao inserir um novo registo.

Page 26: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

25

3.3.4 Framework Comum das Aplicações da AIRC

No modelo hierárquico de bibliotecas de desenvolvimento de aplicações da AIRC, o nível das

AFC´s permitiu criar software com um maior potencial, acrescentando às PFC´s um conjunto de

funcionalidades, que facilitam o trabalho do programador. Assim sendo, o framework inicial contém

um conjunto de bibliotecas que implementam funcionalidades comuns a todas as aplicações,

permitindo que a equipa de desenvolvimento possua à partida uma aplicação com funcionalidades

básicas, sendo que o objectivo consiste em partir desde logo para a implementação das

funcionalidades específicas da aplicação em causa.

A implementação deste projecto está a ser feita no nível AFC, pois é um ambiente de trabalho

geral que irá ser integrado em todas as aplicações da AIRC.

Page 27: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

26

3.3.5 Base de Dados

A AIRC possui um modelo de base de dados global e integrado, no qual a informação

considerada comum está contida em tabelas gerais que são usadas por várias aplicações para

optimizar o uso da base de dados pelas diversas aplicações e evitar a utilização de informação

redundante.

Para normalizar os processos de definição de modelos de dados e garantir a correcta

integração no modelo geral foi criada a Comissão de Normalização da AIRC (CNA). A CNA trata de

assuntos relacionados com a base de dados como a geração e alteração de scripts e recolhe

alterações, efectuadas por diversas equipas de desenvolvimento, às tabelas gerais para lançar

novas versões gerais da base de dados quando necessário.

No projecto foram utilizadas algumas das tabelas já existentes na base de dados da AIRC, as

quais se encontram descritas na tabela 3 e para a adição de eventos foram criadas novas tabelas

(Tabela 4).

Nome Código Descrição

Utilizadores grlfuser Tabela de utilizadores das aplicações AIRC

Aplicações grlcapli Tabela das aplicações da AIRC

Permissões grlfperm Tabela de permissões nas aplicações AIRC

Entidades grlfenti Tabela de entidades gerais

Funcionários do SGD sgdffunc Tabela de funcionários do SGD

Tabela 3 - Tabelas utilizadas no ambiente aplicacio nal integrado

Nome Código Descrição

Eventos grlfeven Tabela de eventos por aplicação

Tipos de Eventos grlcteve Tabela de tipos de eventos

Participantes grldpaev Tabela de entidades participantes no evento

Tabela 4 - Tabelas criadas

Page 28: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

27

Tabela de Eventos por Aplicação (Tabela 5)

A tabela de eventos possui interligação com as seguintes tabelas gerais:

• Tabela de tipos de eventos, de modo a definir qual o tipo de evento;

• Tabela de moradas, para identificar a localização do evento;

• Tabelas de utilizadores, de modo a identificar todos os eventos por utilizador;

• Tabela de aplicações, de modo a identificar todos os eventos por aplicação;

• Tabela de situações, de modo a definir qual a situação do evento por aplicação.

Tabela GRLFEVEN – Eventos por aplicação

Campo Tipo Designação

chave_feven integer PK da tabela

cod_capli char(3) Aplicação a que se refere o evento

chave_cteve integer Tipo de evento

chave_fuser integer Utilizador a que se refere o evento

descr_feven varchar(250) Descrição do evento

dtinicio_feven datetime Data/hora de inicio do evento

dtfim_feven datetime Data/hora de fim do evento

codsitu_capli char(3) Aplicação (situação)

codsitu_csitu smallint Código da situação

nummora_fmora integer Localização do evento (morada)

Tabela 5 - Tabela de eventos por aplicação

Page 29: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

28

Tabela de Tipos de Eventos (Tabela 6)

A tabela de tipos de eventos não possui interligação com nenhuma tabela.

Tabela GRLCTEVE – Tipos de eventos

Campo Tipo Designação

chave_cteve integer PK da tabela

descr_cteve char(50) Descrição do tipo de evento

inactivo_cteve smallint Evento activo/inactivo

cor_cteve integer Cor do tipo de evento

Tabela 6 - Tabela de tipos de eventos

Tabela de Entidades Participantes do Evento (Tabela 7)

A tabela de participantes possui interligação com as seguintes tabelas gerais:

• Tabela de eventos por aplicação, para identificar o evento a que pertencem os

participantes;

• Tabela de tipos de entidades, de modo a identificar o tipo de entidade associada ao evento;

• Tabela de entidades, de modo a identificar a entidade participante no evento.

Tabela GRLDPAEV – Participantes nos eventos

Campo Tipo Designação

chave_dpaev integer PK da tabela

chave_feven integer Evento

chave_centi integer Tipo de entidade

num_fenti integer Entidade participante referente ao tipo

externa_fenti integer Entidade externa participante

Tabela 7 - Tabela de participantes de eventos

Page 30: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

29

3.3.6 Mecanismo de autenticação

O ambiente aplicacional integrado consiste em ter um ambiente em que o utilizador possa

transitar entre aplicações sem ter que efectuar o login constantemente. O utilizador faz login uma

vez, e através do menu de aplicações (capitulo 3.3.7.3 ), poderá aceder a outras aplicações sem

ter que voltar a fazer novamente o login. Apesar de o utilizador só fazer login uma vez, este não

deixa de ser feito, simplesmente é feito de forma transparente para o utilizador, guardando o login

e a password introduzidos da primeira vez num Token (string formada por password + timestamp +

login), como é mostrado na Figura 5 .

Para este mecanismo foi necessário, ao nível das AFC’s modificar alguns objectos não

visuais. Estas alterações consistiram em criar novas funções e eventos e na alteração de outros já

existentes.

Foram alterados os eventos afc_logon , afc_commandline e pfc_open e a função

of_rundirect(as_args) , para a passagem do Token na linha de comandos. O Token é uma string

constituída pela password, pelo login do utilizador e por um timestamp, sendo que este último

permitirá uma validação do processo de login.

Foi também alterado o evento afc_logonsuccess , para que ao executar uma aplicação, seja

aberto o ambiente de trabalho geral.

Figura 5 – Mecanismo de autenticação

Page 31: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

30

As funções criadas para o desenvolvimento deste mecanismo são apresentadas nas tabelas

8, 9, 10, 11 e 12:

Função of_getToken()

Descrição: cria um token (password + timestamp + lo gin)

Tipo Nome Descrição

Parâmetro s de entrada

Parâmetros de saída string ls_encrypt Token encriptado

Tabela 8 - Função of_getToken()

Função of_encrypt3()

Descrição: função polimórfica para encriptar o Toke n

Tipo Nome Descrição

Parâmetros de entrada

string as_chave Chave de encriptação

string as_encrypt Token a encriptar

inteiro ai_nummaxcar Número máximo de caracteres do

Token

Parâmetros de saída string ls_encrypted Token encriptado

Tabela 9 - Função of_encrypt3() Função of_decrypt3()

Descrição: função polimórfica para desencriptar o T oken

Tipo Nome Descrição

Parâmetros de entrada

string as_chave Chave de desencriptação

string as_decrypt Token a desencriptar

integer ai_nummaxcar Número máximo de caracteres do

Token

Parâmetros de saída string ls_decrypted Token desencriptado

Tabela 10 - Função of_decrypt3()

Page 32: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

31

Função of_parseToken()

Descrição: função para interpretar o Token em passw ord, timestamp e login

Tipo Nome Descrição

Parâmetros de entrada

string as_token Token

string as_user Devolve o login

string as_pass Devolve a password

Parâmetros de saída inteiro li_rc -1 (Erro), 0 (ultrapassou o tempo),

1 (sucesso)

Tabela 11 - Função of_parseToken()

Função o f_alterainit()

Descrição: função para alterar o ficheiro .ini das aplicações

Tipo Nome Descrição

Parâmetros de entrada string as_inifile Nome do ficheiro .ini

Parâmetros de saída inteiro li_rc -1 (Erro), 1 (caso contrário)

Tabela 12 - Função of_alterainit()

Page 33: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

32

3.3.7 Interfaces do projecto

Para o interface do ambiente aplicacional integrado foi criada uma janela

(w_ambientetrabalho ), que é herdada de uma w_sheet. Esta janela será integrada nas aplicações

da AIRC, como é mostrado na Figura 6 .

Figura 6 - Área de trabalho geral

Page 34: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

33

3.3.7.1 Área de boas vindas ao utilizador

Dá as boas vindas ao utilizador, indicando o nome de funcionário, caso não tenha nenhum

funcionário associado, mostra o login. Para esta funcionalidade teve que ser criada a função

apresentada na Tabela 13 .

O nome do utilizador é um link para a janela de utilizadores, mostrada na Figura 7 .

Função of_getdadosutilizador()

Descrição: função que obtém o nome e o número de fu ncionário do utilizador

Tipo Nome Descrição

Parâmetros de entrada string as_nome Devolve o nome de funcionário

long al_num Devolve o número de funcionário

Parâmetros de saída inteiro -1 (Erro), 1 (caso contrário),

0 (datastore não devolveu nada)

Tabela 13 - Função of_getdadosutilizador()

Figura 7 - Janela de Utilizadores

A janela de utilizadores é constituída por uma listagem de todos os utilizadores registados no

sistema e por dois separadores do lado direito, um para as propriedades de cada utilizador e outro

para a atribuição de permissões ao utilizador.

Page 35: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

34

3.3.7.2 Favoritos

A área de favoritos varia dependendo da aplicação que a está a utilizar. Para esta área foi

criado um objecto base, que os utilizadores de cada aplicação poderão herdar e alterar consoante

as suas necessidades. Para carregarem esse objecto necessitam de chamar a função

of_setfavoritos() , dentro do evento afc_loadfavoritos() e passar por parâmetro os dados

apresentados na Tabela 14 .

Função of_ setfavoritos ()

Descrição: função para atribuir o objecto de favori tos por aplicação

Tipo Nome Descrição

Parâmetros de entrada string as_designacao Designação dos favoritos

string as_objecto Nome do objecto visual de favoritos

Parâmetros de saída integer -1 (Erro) ou 1 (Sucesso)

Tabela 14 - Função of_setfavoritos()

Page 36: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

35

3.3.7.3 Menu de aplicações

Para a criação deste menu foi utilizado o objecto u_cst_menu_hyperlink . Foi necessário

efectuar algumas alterações a este objecto, para que o fundo do menu da aplicação que está a

executar, fique com uma cor diferente. Essas alterações foram:

• Criação da função of_setselectedmode , para definir o modo de selecção de uma opção

do menu;

• Criação da função of_setselectedcolor , para alterar a cor do fundo da opção

seleccionada.

Este menu é criado dinamicamente e, é nele que vão ser mostradas todas as aplicações que

estão instaladas no computador e a que o utilizador tem permissões. A aplicação que está a

executar encontra-se desactivada e com o fundo de uma cor diferente. Passando com o rato por

cima do nome de uma aplicação é possível ver a versão que está instalada. Quando se executa

uma aplicação que já está a executar (com o mesmo utilizador), não é aberta uma nova janela,

apenas fica activa a que já estava a executar.

Para a criação deste menu e para a execução das aplicações nele contidas foi necessário

criar algumas funções e eventos, representadas nas tabelas 15, 16, 17 e 18.

Evento afc_mostraaplicac oes()

Descrição: evento para mostrar as aplicações no men u

Tipo Nome Descrição

Parâmetros de entrada

Parâmetros de saída

Tabela 15 - Evento afc_mostraaplicacoes()

Função of_getuserpermission_aplic()

Descrição: função para obter as permissões do utili zador para uma determinada aplicação

Tipo Nome Descrição

Parâmetros de entrada string as_aplic Nome da aplicação

Parâmetros de saída integer li_rc -1 (Erro), 0 (não tem permissões),

Permissões do utilizador

Tabela 16 - Função of_getuserpermission_aplic()

Page 37: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

36

Função of_getversao()

Descrição: função para obter a versão de uma determ inada aplicação

Tipo Nome Descrição

Parâmetros de entrada string as_aplic Nome da aplicação

Parâmetros de saída string ls_versao Versão da aplicação

Tabela 17 - Função of_getversao()

Função of_getdesigaplic()

Descrição: função para obter a designação de uma de terminada aplicação

Tipo Nome Descrição

Parâmetros de entrada string as_aplic Nome da aplicação

Parâmetros de saída string ls_desig Designação da aplicação

Tabela 18 - Função of_getdesigaplic()

Page 38: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

37

3.3.7.4 Documentos recebidos

Esta área está apenas acessível a utilizadores SGD. Visto o SGD ser uma aplicação

transversal a quase todas as aplicações do ERP AIRC, esta foi criada para facilitar e tornar mais

rápida a visualização e pesquisa de documentos recebidos provenientes da Gestão Documental,

pelo utilizador.

O link receber irá mostrar todos os documentos a receber entre as datas definidas pelo

utilizador. Por defeito, estas datas são inicializadas com uma diferença de 30 dias, em que, a data

final corresponde à data actual e a data inicial a 30 dias antes da data actual.

Para além de pesquisar documentos entre datas, é também possível pesquisar documentos

segundo os critérios mostrados na janela da Figura 8 .

Figura 8 - Pesquisar documentos recebidos

Page 39: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

38

Para pesquisar e mostrar os documentos recebidos foi necessário criar algumas funções e

eventos, representadas nas tabelas 19 e 20.

Evento afc_pesquisadocumentos ()

Descrição: evento para pesquisar documentos recebid os e mostrá-los

Tipo Nome Descrição

Parâmetros de entrada

Parâmetros de saída

Tabela 19 - Evento afc_pesquisadocumentos()

Função of_getsqlentredatas ()

Descrição: função para construir o sql, para pesqui sar documentos recebidos entre datas

Tipo Nome Descrição

Parâmetros de entrada

string as_sql Sql inicial para a pesquisa

string as_datainicial Data inicial para a pesquisa

string as_datafinal Data final para a pesquisa

Parâmetros de saída string ls_sql_union Sql final para pesquisar entre datas

Tabela 20 - Função of_getsqlentredatas()

Page 40: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

39

3.3.7.5 Área de Pesquisas

Para efectuar qualquer tipo de pesquisa é necessário seleccionar uma área de pesquisa no

menu mostrado na Figura 9 .

Figura 9 - Selecção de áreas

Para efectuar o carregamento das áreas dinamicamente no menu, consoante a aplicação a

executar, foi criado o evento afc_loadareas() , onde os programadores das aplicações necessitam

apenas de chamar a função of_setarea e mandar-lhe por parâmetro os dados apresentados na

Tabela 21 . Para mostrá-lo, foi criado o evento afc_popupmenu_pesquisa() (Tabela 22 ).

Função of_ setarea ()

Descrição: função para atribuir dados às áreas

Tipo Nome Descrição

Parâmetros de entrada

string as_codigo Código da área

string as_desig Designação da área

string as_obj Nome do objecto não visual de critérios

string as_tab Nome da DW de resultados

string as_chave Chave para passar como Retrieval

Argument á janela de pesquisa avançada

Parâmetros de saída integer li_item -1 (Erro) ou o índice do array

Tabela 21 - Função of_setarea()

Page 41: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

40

Evento afc_popupmenu_pesquisa ()

Descrição: evento para mostrar menu de áreas

Tipo Nome Descrição

Parâmetros de entrada

Parâmetros de saída integer 1 (Sucesso) e -1 (Erro)

Tabela 22 - Evento afc_popupmenu_pesquisa()

Ao seleccionar uma determinada área, é efectuado um enquadramento da área de pesquisa,

como é mostrado na Figura 10 .

Figura 10 - Enquadramento da área de pesquisa

Ao seleccionar uma área são mostradas duas DataWindows (dependem da área

seleccionada), uma de critérios de pesquisa e outra de resultados (Figura 11 ). Para os critérios de

pesquisa é utilizado um objecto visual que será herdado pelos programadores das aplicações, e

estes atribuem-lhe a DataWindow Freeform que entenderem. Para os resultados é utilizada uma

DataWindow Tabular. Estes são fornecidos, através da mesma função em que é efectuado o

carregamento das áreas.

Para mostrar o objecto de critérios e a DataWindow de resultados foram criados os eventos

afc_abrircriterios() e afc_abrirresultados() .

Page 42: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

41

Figura 11 - Pesquisa avançada da área de trabalho

Para o desenvolvimento da pesquisa avançada na área de trabalho, foi necessário criar os

eventos e funções das tabelas 23, 24, 25, 26, 27, 28 e 29:

Evento afc_pesquisaavancada ()

Descrição: evento para fazer a pesquisa avançada po r área

Tipo Nome Descrição

Parâmetros de entrada

Parâmetros de saída

Tabela 23 - Evento afc_pesquisaavancada()

Page 43: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

42

Função of_getdwpropriedades ()

Descrição: função para obter as propriedades de um DataWindow

Tipo Nome Descrição

Parâmetros de entrada string as_dw Nome da DataWindow

Parâmetros de saída

Tabela 24 - Função of_getdwpropriedades()

Função of_gettabelasdddw ()

Descrição: função para obter o nome das tabelas da BD utilizadas por uma DDDW

Tipo Nome Descrição

Parâmetros de entrada string as_dddw Nome da DDDW

Parâmetros de saída

Tabela 25 - Função of_gettabelasdddw()

Função of_getdadospesquisa ()

Descrição: função para obter os dados da DW de crit érios, introduzidos pelo utilizador

Tipo Nome Descrição

Parâmetros de entrada

Parâmetros de saída

Tabela 26 - Função of_getdadospesquisa()

Função of_constroiinstrucaosqlavanc ()

Descrição: função para construir o sql (FROM + WHER E) para a pesquisa avançada

Tipo Nome Descrição

Parâmetros de entrada string as_sql Sql original da DataWindow de critérios

Parâmetros de saída string ls_sql Sql alterado

Tabela 27 - Função of_constroiinstrucaosqlavanc()

Page 44: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

43

Função of_getsqlavanc ()

Descrição: função para construir o sql para pesquis ar na BD

Tipo Nome Descrição

Parâmetros de entrada string as_sql Sql para modificar

string as_dw Nome da DataWindow de critérios

Parâmetros de saída string ls_sql Sql final

Tabela 28 - Função of_getsqlavanc()

Função of_pesquisaavanc ()

Descrição: obtém resultados da BD

Tipo Nome Descriçã o

Parâmetros de entrada string as_sql Sql final para pesquisa

string as_tab Nome da DataWindow de resultados

Parâmetros de saída long ll_rc -1 (Erro) ou número de registos da

pesquisa

Tabela 29 - Função of_pesquisaavanc()

Pode ser também efectuada uma pesquisa avançada mais detalhada, clicando no link

Pesquisa avançada . Este link permite abrir a Janela de pesquisa avançada mostrada na Figura

12.

Page 45: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

44

Figura 12 - Janela de pesquisa avançada

Esta janela recebe duas DataWindows, como a pesquisa anterior, com a diferença que esta

recebe a DataWindow de resultados com um Retrieval Argument, que corresponde à chave da

tabela utilizada na DataWindow. No caso da pesquisa de documentos, não é possível efectuar esta

pesquisa porque a tabela de documentos (grlfdocu) possui uma chave composta e esta janela não

está preparada para receber chaves compostas.

Page 46: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

45

Para mostrar esta janela e devolver os resultados da pesquisa para o ambiente de trabalho,

foi criado o evento da Tabela 30 .

Evento afc_jpesquisaavancada ()

Descrição: evento para mostrar a janela de pesquisa avançada e devolver os resultados

para o ambiente de trabalho

Tipo Nome Descrição

Parâmetros de entrada

Parâmetros de saída integer 1 (Sucesso) e -1 (Erro)

Tabela 30 - Evento afc_jpesquisaavancada()

Para efectuar uma pesquisa simples, basta introduzir o texto do que se pretende pesquisar e

carregar na tecla “enter” ou com o rato carregar na “lupa”. Os resultados deste tipo de pesquisa

são mostrados numa DataWindow Tabular, como é mostrado na Figura 13 .

Figura 13 - Pesquisa simples

Page 47: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

46

Para o desenvolvimento da Pesquisa simples foi necessário criar os eventos e funções das

tabelas 31, 32 e 33:

Evento afc_pesquisa ()

Descrição: evento para tratar a pesquisa simples co m uma datawindow

Tipo Nome Descrição

Parâmetros de entrada

string as_dw Nome da datawindow

string as_texto Texto introduzido pelo utilizador para

pesquisar

Parâmetros de saída

Tabela 31 - Evento afc_pesquisa()

Função of_getsql ()

Descrição: função para construir o sql final para p esquisar na Base de Dados

Tipo Nome Descrição

Parâmetros de entrada

string as_sql Sql para a pesquisa

string as_dw Nome da datawindow de pesquisa

string as_texto Texto introduzido pelo utilizador para

pesquisar

Parâmetros de saída string ls_sql Sql final para a pesquisa

Tabela 32 - Função of_getsql()

Função of_pesquisa ()

Descrição: função para efectuar a pesquisa na base de dados e guardar os resultados

obtidos

Tipo Nome Descrição

Parâmetros de entrada string as_sql Sql para a pesquisa

string as_tab Nome da datawindow de resultados

Parâmetros de saída long ll_rc -1 (Erro) ou número de resultados

devolvidos

Tabela 33 - Função of_pesquisa()

Page 48: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

47

3.3.7.6 Calendário

Para criar o calendário foi necessário fazer algumas alterações, a nível das AFC’s, no objecto

afc_u_calendar . Essas alterações foram:

• Criação de uma função para atribuir o modo de marcação dos dias no calendário

(of_setmarkeddaymode )

• Criação de uma função para receber um array com os dias dos eventos e outro com as

cores atribuídas a cada dia dos eventos (of_setmarkedday(ad_dates[], al_colors[]) ).

• Alteração da função of_drawmonth para mostrar os dias do calendário consoante o modo

escolhido.

É neste calendário que ficam assinalados os eventos adicionados. Consoante os dias e o tipo

de evento associado a eles, a cor destes no calendário é alterada. Para obter as cores, de cada

tipo de evento da base de dados, foi criada a função of_getcores(al_chave) ; e para obter todas as

datas situadas entre uma data inicial e uma data final, de um determinado evento e as suas

respectivas cores foi criada a função of_geteventosdatas(ad_data) .

Para adicionar um novo evento (Figura 14 ) é necessário clicar no link Adicionar novo

evento , e será aberta uma janela para criar o novo evento (Figura 15 ). Para alterar ou apagar um

evento é necessário clicar em cima do evento pretendido no menu de eventos (Figura 21 ), e será

aberta uma janela igual à da Figura 15 , mas com os dados relativos ao evento já preenchidos.

Figura 14 - Adicionar novo evento

A Janela Novo Evento é constituída por duas DataWindows Externals, sem acesso à base de dados, uma para os dados do evento (DataWindow Freeform) e outra para os participantes do evento (DataWindow Tabular).

Page 49: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

48

Figura 15 – Janela para criar um novo evento

Na área de detalhes do evento são introduzidos os dados relativos ao novo evento. O tipo

de evento é escolhido na DropDownDataWindow ou carregando no botão de três pontos. Na

segunda alternativa, é aberta uma janela de tipos de eventos (Figura 16 ).

Deve ser introduzida uma descrição do evento (obrigatório), a situação do evento e o intervalo

em que o evento irá decorrer (obrigatório). A situação do evento depende da aplicação que estiver

a executar.

Page 50: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

49

Figura 16 - Janela Tipos de Eventos

Esta janela possui dois modos, selecção e manutenção. No modo de selecção é apenas

possível escolher um tipo de evento e devolve-lo para ser mostrado na janela de novos eventos.

Não é possível devolver eventos inactivos. No modo de manutenção é possível criar um novo

evento, apagar ou alterar um evento já existente.

Para alternar entre os dois modos é necessário clicar em cima do link Em selecção ou Em

manutenção , consoante o que estiver a ser mostrado no momento.

Page 51: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

50

Para atribuir uma cor ao tipo de evento, é necessário clicar no botão de três pontos

correspondente ao tipo de evento e seleccionar a cor pretendida (Figura 17 ).

Figura 17 - Atribuição de uma cor ao tipo de evento

Na área de localização do evento o utilizador pode seleccionar a freguesia onde se irá

realizar o evento e, consoante a sua escolha, irão ser carregadas as moradas correspondentes a

essa freguesia. De seguida, poderá seleccionar a morada que pretender e o sítio/lugar será

preenchido automaticamente. A morada também pode ser escolhida na janela de moradas

codificadas (Figura 18 ), que abre ao clicar no botão de três pontos. Ao introduzir o código postal e

premir a tecla “enter”, será aberta a janela de códigos postais (Figura 19 ). A janela de moradas

codificadas e a janela de códigos postais são janelas gerais de todas as aplicações do ERP AIRC.

Page 52: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

51

Figura 18 - Janela de moradas codificadas

Page 53: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

52

Figura 19 - Janela de códigos postais

Na área de participantes do evento, podem ser adicionados ou removidos participantes do

evento. Para adicionar é necessário clicar no link Adicionar e será aberta a janela de manutenção

de entidades (Figura 20 ), onde o utilizador poderá pesquisar o participante que pretende e

devolve-lo para a janela de novo evento. Para remover basta seleccionar o participante que se

pretende remover, na DataWindow de participantes e clicar no link Remover .

Cada evento tem que ter pelo menos um participante associado a ele.

Page 54: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

53

Figura 20 - Janela de manutenção de entidades

Ao clicar em cima de um dia do calendário que tenha eventos associados, estes irão aparecer

num menu por baixo do calendário (Figura 21 ). Este menu é criado dinamicamente, consoante o

número de eventos associados ao dia seleccionado. Para obter esses eventos, por aplicação, foi

criada a função of_geteventos(ad_data) . Para mostrar este menu foi criado o evento

afc_mostraeventos() .

Figura 21 - Menu de eventos

Page 55: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

54

3.3.7.7 Menu de atalhos

Figura 22 - Menu de atalhos

O menu de atalhos (Figura 22 ) é criado dinamicamente, consoante a aplicação que está a

executar e a área seleccionada. Ele irá ser carregado pelos programadores das aplicações,

chamando a função of_setopcoes() , no evento afc_loadopcoes() e passando-lhe por parâmetro

os dados apresentados na Tabela 34 .

Função of_ setopcoes ()

Descrição: função para atribuir as opções ao menu d e atalhos

Tipo Nome Descrição

Parâmetros de entrada

string as_codigoarea Código da área

integer ai_codigo Código da opção

string as_design Designação da opção

string as_tip Mensagem que aparece quando se

passa com o rato por cima da opção

string as_imagem

Nome da imagem correspondente à

opção, caso não tenha nenhuma por

“disabledpicture”

boolean ab_bold True (texto a bold) ou false (texto não

está a bold)

Parâmetros de saída integer li_opitem -1 (Erro) ou o índice do array

Tabela 34 - Função of_setopcoes()

Page 56: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

55

3.3.7.8 Área central

Para carregar o objecto de inicio os programadores das aplicações necessitam apenas de

chamar a função of_setinicio , dentro do evento afc_loadinicio() e passar-lhe por parâmetro os

dados apresentados na Tabela 35 .

Função of_ setinicio ()

Descrição: função para atribuir o objecto de inicio de cada aplicação

Tipo Nome Descrição

Parâmetros de entrada string as_objecto Nome do objecto não visual de inicio

Parâmetros de saída integer -1 (Erro) ou 1 (Sucesso)

Tabela 35 - Função of_setinicio()

Page 57: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

56

3.5 Testes

Ao longo do desenvolvimento da aplicação foram sendo feitos alguns testes pontuais e

informais para garantir determinados comportamentos por parte da aplicação.

Antes de fazer a janela do ambiente de trabalho foi criado um menu na toolbar, para verificar

se as aplicações estavam a aparecer consoante as validações pretendidas. Depois de testar essa

parte é que se passou para a parte gráfica do ambiente de trabalho.

Foi feita a integração do ambiente de trabalho com algumas aplicações do ERP AIRC, o SGD,

o SGA, o SGP e o STA, para verificar se estava como pretendido e corrigir alguns comportamentos

irregulares deste.

Page 58: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

57

4. Conclusões

Este estágio consistiu em criar um ambiente aplicacional integrado, para facilitar aos

utilizadores a transição entre aplicações e tornar o acesso a uma série de funcionalidades extra,

para complementar o seu trabalho diário, tornando-o mais rápido.

As funcionalidades criadas no ambiente aplicacional integrado foram:

• Pesquisa de documentos recebidos

• Pesquisas avançada e simples (dinâmicas), por área

• Favoritos

• Menu de atalhos

• Calendário

• Eventos

Ao longo do decorrer do estágio, nomeadamente durante as fases de elaboração e

construção, novas funcionalidades surgiram e que podem trazer maiores benefícios para os

utilizadores das aplicações da AIRC, tornando-a mais robusta e eficaz. Estas funcionalidades não

foram integradas no estágio e sim, num trabalho futuro. De entre as novas funcionalidades

destacam-se as seguintes:

• Mostrar eventos na área de trabalho por aplicação e utilizador;

• Full-Search em diversas áreas seleccionadas;

• Envio por SMS de notificações de eventos.

A principal dificuldade encontrada foi a aprendizagem da ferramenta de desenvolvimento

utilizada no estágio (PowerBuilder), isto porque, esta é uma ferramenta desconhecida e a

informação disponível sobre a mesma é escassa. Houve, também, algumas dificuldades em

compreender o funcionamento do Framework da AIRC e as suas heranças. Contudo, e com a

ajuda obtida através de alguns dos programadores da AIRC e da formação obtida, esta dificuldade

foi diminuindo ao longo do decorrer do estágio.

Apareceram também algumas dificuldades na integração do ambiente aplicacional integrado

com outras aplicações da AIRC.

Page 59: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

58

5. Bibliografia

[1] “PowerBuilder Foundation Classes Getting Started”, Julho 2004, Sybase (documentação do

PowerBuilder)

[2] “PowerBuilder Foundation Classes Library User´s Guide”, Março 2003, Sybase (documentação

do PowerBuilder)

[3] “Normas de Programação”, Outubro de 2000, AIRC (documentação interna da AIRC)

[4] “Guia de boas práticas para a interface das aplicações”, Julho de 2009, AIRC (documentação

interna da AIRC)

[5] Documentação relativa às AFC´s, AIRC (documentação interna da AIRC)

[6] “Scrum in five minutes”, disponível em

http://www.softhouse.se/Uploades/Scrum_eng_webb.pdf, consultada em 22 de Julho de 2009

Page 60: Ambiente Aplicacional Integrado - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/teses/Tese_Mest_Barbara... · 1.3 Âmbito do Trabalho ... docente do Departamento de Engenharia

Ambiente Aplicacional Integrado

59

6. Anexos

Anexo A – Proposta de Estágio

Anexo B – Sprint Backlog

Anexo C – Product Backlog