Laboratório Base Dados FEUP - LEIC Relatório Final Informação

Propaganda
Relatório Final
Informação Judicial
Licenciatura Engenharia Informática e Computação
Laboratório de Base de Dados
Helder Coelho, [email protected]
Sérgio Correia, [email protected]
Turma 3 – lbd032
Laboratório Base Dados
FEUP - LEIC
Índice
1. Introdução
2. Alterações e Correcções
3. Instância Exemplo
4. Definição de Triggers
5. Consultas
6. Interface Gráfica
7. Casos de Teste
8. Conclusões e Perspectivas de Desenvolvimento
9. Bibliografia
Informação Judicial
Pág.
2
4
6
15
18
22
29
20
31
pág. 1 / 31
Laboratório Base Dados
FEUP - LEIC
1. Introdução
No âmbito da disciplina de Laboratório de Base de Dados, foi proposto a
realização de um projecto com recurso a tecnologia de base de dados. As ferramentas
que foram postas à disposição foram as ferramentas da ORACLE para o
desenvolvimento de software, como o Oracle Designer.
Este relatório descreve toda a fase final da implementação do trabalho através
dessas ferramentas.
Nesta fase foram implementados todos os módulos que constituem o site da
base de dados. Serão descritos os diversos detalhes de implementação, nomeadamente,
informação sobre triggers, procedimentos e funções que foram implementados.
Como foram feitas algumas alterações ao modelo entidade associação e ao esquema
relacional, colocam-se todas as alterações realizadas.
Por ultimo são dadas informações específicas sobre a interface gráfica, dos casos
de teste e dos dados que servem de exemplo para a demonstração do site.
1.1. Motivação
Actualmente, as diferentes partes envolvidas na gestão da informação quer
judicial, quer civil ou automóvel, está distribuída por diferentes sistemas de informação e
de difícil interligação; existem casos até que os sistemas informáticos são inexistentes,
fazendo-se os vários processos tendo como base o papel, o resultado é o atraso de
informação vital. Por exemplo, na identificação de um automóvel roubado, com as
diferentes fases de burocracia que hoje em dia tudo se processa, os agentes tomam
conhecimento da ocorrência fora de um prazo útil, limitando as hipóteses de ser
cumprida a lei.
Um dos problemas que as autoridades, hoje em dia, se deparam é a ausência de
cruzamento de informação entre diferentes instituições, neste aspecto a existência de
um único sistema que trata várias vertentes de informação do cidadão, é evidente que
virá facilitar a investigação de aspectos que demoram bastante tempo.
Com este sistema não se podem esperar milagres, mas pode-se esperar muitos
melhoramentos no cumprimento da lei em tempo útil, no acesso à informação judicial de
forma menos burocrática e mais aberta ao cidadão, colocando a tecnologia ao serviço da
cidadania.
Numa situação hipotética e muito remota gostaríamos de poder dar seguimento
a este projecto e dar-lhe alguma utilidade real. Para que não seja um trabalho
académico unicamente avaliado e deixado de lado para esquecer. Quem trabalha gosta
sempre que o seu trabalho dê frutos e gostaríamos que continuar e amadurecer esta
solução.
No que toca às ferramentas utilizadas deparamo-nos com diversas dificuldades,
principalmente aquando da geração das tabelas para o servidor, pois encontrava
diversos erros, alguns sem razão aparente. Mas com o tempo e aprendizagem
verificamos que a base de dados Oracle é uma solução poderosíssima e que poupa
imenso trabalho, gerando uma grande parte do código.
Neste trabalho a parte em que tivemos de estudar mais a fundo foi o estudo da
linguagem web pl/sql, pois não sabíamos como funcionava e a documentação era
Informação Judicial
pág. 2 / 31
Laboratório Base Dados
FEUP - LEIC
reduzida, pois a linguagem para a web é diferente da linguagem para os forms. No
nosso trabalho usamos esta linguagem para criar certas consultas, que foram pedidas
pelos docentes, mas que na nossa opinião o facto de a nossa aplicação ser basicamente
um repositório de informação, que os diferentes actores irão aceder.
1.2. Estrutura do Trabalho
Este trabalho encontra-se estruturado em nove capítulos cada um com o seu
conteúdo que se passa a resumir:
1. Introdução ao trabalho, em que se explica o que pode encontrar, motivações
e a estrutura do trabalho;
2. Alterações e correcções que foram feitas desde o relatório de análise;
3. Instância Exemplo. Definição de uma instância exemplo e sua
implementação.
4. Definição de Triggers. Definição de triggers específicos da nossa aplicação.
5. Consultas. Produção de consultas, recorrendo a SQL, de variados graus de
dificuldade.
6. Interface Gráfica. Produção da interface gráfica mais adequada, em
formulários autónomos ou na Web a partir da especificação gráfica de
módulos e menus.
7. Casos de Teste. Elaboração de Casos de Teste para os aspectos mais
significativos do trabalho.
8. Conclusões e perspectivas de desenvolvimento, analisa-se os seus principais
resultados, e apresenta algumas perspectivas de desenvolvimentos futuros;
9. Bibliografia, material consultado no âmbito do desenvolvimento do projecto;
Informação Judicial
pág. 3 / 31
Laboratório Base Dados
FEUP - LEIC
2. Alterações e Correcções
Neste capítulo apresenta-se o modelo entidade-associação corrigido do sistema a
desenvolvido que dá a conhecer a identificação dos conjuntos de entidades, seus
atributos e respectivos domínios; a definição das chaves das entidades; a identificação
das associações, sua funcionalidade e carácter de obrigatoriedade
A correcção efectuada a este modelo foi o facto de termos trocado o sentido das
relações, que embora estivessem certas a origem devia ser o destino e vice-versa. Este
problema implicou ter que alterar certos campos no modelo entidade-relação que pode
ver nas páginas seguintes.
Modelo Entidade Associação
Informação Judicial
pág. 4 / 31
Laboratório Base Dados
FEUP - LEIC
De seguida pode-se encontrar o modelo relacional depois de algumas alterações
com tabelas, respectivos campos, relações, identificação do tipo de dados e as chaves.
Modelo Entidade Relação
Informação Judicial
pág. 5 / 31
Laboratório Base Dados
FEUP - LEIC
3. Instância Exemplo
Para ter um exemplo dos dados que pode aceder nesta aplicação pode ver um
registo de cada tabela que temos na base de dados. Este exemplo serve como ajuda e
orientação para um novo utilizador ter uma ideia dos campos que deve preencher.
Outra coisa que é necessário ter em atenção é o facto de termos domínios
definidos em vários campos e que passamos a mostrar:
Categoria Automóvel:
Ligeiro
Pesado
Tractor Agrícola
Tractor Diverso
Combustíveis:
Gasolina
Gasóleo
Gas
Electricidade
Sol
Outro
Estados:
Activo
Óbito
Desaparecido
Estados Civis:
Solteiro
Casado
Viúvo
Grupos:
Utente
Advogado
Policial
Judicial
DGV
Notariado
Administrador
Tipo Automóvel:
Passageiros
Mercadorias
Misto
Ambulância
Pronto-Socorro
Maquina Industrial
Informação Judicial
pág. 6 / 31
Laboratório Base Dados
FEUP - LEIC
Exemplo de Registo Utente
Informação Judicial
pág. 7 / 31
Laboratório Base Dados
FEUP - LEIC
Exemplo de Registo Utilizador
Informação Judicial
pág. 8 / 31
Laboratório Base Dados
FEUP - LEIC
Exemplo de Registo Advogado
Informação Judicial
pág. 9 / 31
Laboratório Base Dados
FEUP - LEIC
Exemplo de Registo Cliente do Advogado
Informação Judicial
pág. 10 / 31
Laboratório Base Dados
FEUP - LEIC
Exemplo de Registo Policia
Informação Judicial
pág. 11 / 31
Laboratório Base Dados
FEUP - LEIC
Exemplo Registo de um Crime
Informação Judicial
pág. 12 / 31
Laboratório Base Dados
FEUP - LEIC
Exemplo Registo de uma Ocorrência
Informação Judicial
pág. 13 / 31
Laboratório Base Dados
FEUP - LEIC
Exemplo Registo de um Automóvel
Informação Judicial
pág. 14 / 31
Laboratório Base Dados
FEUP - LEIC
4. Definição de Triggers
Um trigger é um conjunto de instruções que, no nosso caso, são associados às
tabelas, para um determinado evento. O trigger, tal como o nome o indica, dispara
quando a tabela está sujeita a uma determinada operação. Na aplicação desenvolvida,
os triggers actuam independentemente sobre os diversos campos que compõem as
nossas tabelas.
Neste relatório, apenas especificaremos amostras de triggers que sejam
elaborados de diferentes formas, pois a lógica de cada um repete-se um pouco por
todas as tabelas, sendo desnecessário a divulgação uma vez que estaríamos a repetir
toda a estruturação do trigger.
Inserção ou Modificação de um campo do tipo numérico
Como é de esperar, os números de alguns campos não podem assumir valores
negativos. Não haveria nexo se por exemplo, a altura de um cidadão correspondesse a
um número inferior a zero. Para que tal não aconteça, foi necessário criar alguns
triggers para apenas autorizar números superiores a zero.
Aqui está o código de um trigger que valida se o número é superior ao igual a
um.
Este trigger chama-se valida_altura_utente e exige que antes de ocorrer uma
inserção ou uma modificação, que o valor introduzido no campo altura seja igual ou
superior a um. Como podemos observar no código abaixo, o trigger actua sobre a tabela
Utentes e é activado quando a sua condição não é respeitada, aparecendo a mensagem
de erro: ‘ Erro – Número da altura inválido! ‘.
Create or replace trigger valida_altura_utente
Before insert or update on utentes
For each row
Begin
If (:new.altura <1) then
Raise_application_error (-20000, ‘ ERRO – Numero da altura inválido! ‘);
End if;
End;
Tal como já foi referido, como este trigger existem outros idênticos para os
campos lotacao, nmotor, cilindrada, pesobruto, nportas, nquadro e tara da tabela
Automoveis, ncontribuinte e ncarta da tabela Utentes e altura evidentemente. Idênticos
a este trigger ainda podemos referenciar as chaves primárias das tabelas Advogados,
Crimes, Ocorrencia, Policiais e Utentes que são nadvogado, nprocesso, nocorrencia,
nagente e nbi respectivamente. Todas estas chaves terão de assumir valores superiores
a zero para respeitar certas normas que estão impostas na sociedade dos dias que
decorrem.
Opcionalmente também decidimos validar o campo idtribunal da tabela crimes já
que caso a base dados necessitasse de ser expandida para os tribunais dos países e
seus funcionários estaria automaticamente validada mais uma chave primária.
Informação Judicial
pág. 15 / 31
Laboratório Base Dados
FEUP - LEIC
Inserção ou Modificação dos campos do tipo data
Mais uma vez, os campos caracterizados com o tipo data têm de corresponder às
normas gerais. Como todos sabemos é impossível possuir um bilhete de identidade com
o campo data de nascimento preenchido com uma data que ainda está por chegar. Para
isto, foi necessário a criação de triggers que apenas aceitem datas inferiores à do
sistema onde estamos a trabalhar. Para estes triggers funcionarem na perfeição é
preciso que a data da máquina onde se está a operar esteja com a data actualizada.
Aqui está o código de um trigger que valida se a data é inferior a do sistema.
Este trigger chama-se valida_data_utente e exige que antes de ocorrer uma
inserção ou uma modificação, a data introduzida no campo datanascimento seja inferior
a data do sistema. Como podemos observar no código abaixo, o trigger actua sobre a
tabela Utentes e é activado quando a sua condição não é respeitada, aparecendo a
mensagem de erro: ‘ Erro – Data de nascimento errada! ‘.
Create or replace trigger valida_data_utentes
Before insert or update on utentes
For each row
Begin
If (:new.data > sysdate) then
Raise_application_error (-20000, ‘ ERRO - Data de nascimento errada! ’);
End if;
End;
Tal como foi referido, para este trigger existem outros idênticos para os campos
data da tabela Automoveis, para o campo data da tabela Crimes e para o campo data da
tabela Ocorrencias respectivamente.
Para estes triggers foi necessário utilizar a função que a linguagem SQL e a
aplicação Oracle dispõem chamada de sysdate. Esta função devolve a data actual com
que o sistema se encontra naquele momento.
Inserção ou Modificação de um campo numérico correspondente a um telefone,
telemóvel ou fax
Os números de telefone, fax e telemóvel que Portugal suporta encontram-se
compreendidos entre uma grande gama de valores. Para que não possa existir números
que não respeitem a gama adoptada pelos operadores de telefone e de telemóvel,
recorremos a triggers que apenas validassem os números inseridos quando estivessem
dentro da gama pretendida.
Aqui está o código que valida todos os números correspondentes ao
mencionado.
Este trigger chama-se valida_tel_utente e exige que antes de ocorrer uma
inserção ou uma modificação o campo correspondente aos números de telefone e fax
estejam compreendidos entre 210000000 e 299999999. Como podemos observar no
código abaixo, o trigger actua sobre a tabela utentes e é activado quando a sua
condição é desrespeitada, aparecendo a mensagem de erro: ‘ Erro – Número de telefone
inválido! ‘
Informação Judicial
pág. 16 / 31
Laboratório Base Dados
FEUP - LEIC
Create or replace trigger valida_tel_utente
Before insert or update on utentes
For each row
Begin
If (:new.telefone <210000000 or :new.telefone > 299999999) THEN
Raise_application_error (-20000, ‘ ERRO - Numero de telefone inválido!
');
End if;
End;
Tal como foi referido, fax e telemóvel adoptam a mesma estrutura destes
triggers embora este último esteja compreendido entre uma gama de valores diferente
da dos telefones. Os campos que estão sujeitos à restrição deste trigger são fax e
telefone da tabela Advogados e telemóvel da tabela Utentes mais ainda o que está
acima referenciado.
Para terminar a explicação sobre os nossos triggers, apenas gostaria de dizer
que os campos sobre os quais eles actuam podem estar vazios caso o dado a introduzir
não corresponda ao elemento sobre o qual estamos a introduzir dados.
Por exemplo, caso um utente não tenha telefone, o campo devera ficar vazio de
forma a não causar conflitos com o trigger. Desta forma, o campo será validado da
mesma forma caso se tivesse inserido um valor correcto.
Informação Judicial
pág. 17 / 31
Laboratório Base Dados
FEUP - LEIC
5. Consultas
Uma consulta é um procedimento do qual resulta uma selecção consoante uma
ou mais restrições.
A nossa aplicação, embora seja apenas constituída por duas consultas, estas são
essenciais para um decorrer sem problemas e com eficácia. Todavia, muitas consultas já
estão disponíveis através do próprio Oracle, que disponibiliza a função através de um
botão nomeado ‘ find ’. Embora estas últimas consultas so devolvam resultados globais,
é possível impor restrições de forma a aperfeiçoar os resultados pretendidos.
A primeira consulta consiste em verificar se houve novos utilizadores a
solicitarem password, de forma a poderem desfrutar dos privilégios que esta oferece.
Os administradores, ao executar essa consulta, ficam logo a saber quem solicitou
acesso a base de dados. Posteriormente, os administradores ficam encarregados de
enviarem uma carta para os solicitadores de forma a poderem aceder aos seus dados
sem saírem de casa ou do local onde se encontram.
Aqui fica o código da consulta que tem por nome ‘ utili_acab_regis ‘.
Create or replace procedure util_acab_regis as
Cursor c_Novos IS
Select *
From utentes, utilizadores
Where nbi=utente_nbi and password='password'
Order by nbi;
Begin
htphtmlOpen;
htpheadOpen;
htptitle('Utilizadores acabados de registar');
htpheadClose;
htpPbodyOpen;
htpheader(1,'Utilizadores Acabados de Registar');
htptableOpen(cborder => 'BORDER=1');
htptableRowOpen;
htptabledata(cvalue => 'Num. BI');
htptabledata(cvalue => 'Nome');
htptabledata(cvalue => 'Residencia');
htptabledata(cvalue => 'Login');
htptabledata(cvalue => 'Password');
htptabledata(cvalue => 'Grupo');
tableRowClose;
For v_NovosRec in c_Novos Loop
tableRowOpen;
htptabledata(htf.bold(v_NovosRec.nbi));
htptabledata(cvalue => v_NovosRec.nome);
htptabledata(cvalue => v_NovosRec.residencia);
htptabledata(cvalue => v_NovosRec.login);
Informação Judicial
pág. 18 / 31
Laboratório Base Dados
FEUP - LEIC
htptabledata(cvalue => v_NovosRec.password);
htptabledata(cvalue => v_NovosRec.grupo);
htptableRowClose;
End Loop;
htptableClose;
htpbodyClose;
htphtmlClose;
End;
Esta consulta irá devolver o número do bilhete de identidade, o nome, a morada,
o login, a password e o grupo a que o utilizador pertence. A partir de aqui então os
administradores enviarão uma carta com o respectivo login e password para o utente
em questão.
A outra consulta será essencial para as centrais da polícia ou até talvez, num
futuro não muito distante, nos próprio carros patrulha. Sempre que um agente achar
conveniente verificar se um carro está legal ou corresponde as definições do livrete,
basta digitar a matrícula no local da consulta e automaticamente serão apresentados os
dados do veículo. Rapidamente e facilmente serão tiradas as dúvidas em relação a uma
suspeita, uma perseguição a um veículo ou a um roubo ocorrido. Desta forma os
agentes ficarão a saber se foi apresentado alguma queixa em relação ao veículo ou se a
matricula que utiliza lhe corresponde.
Aqui está o codigo do procedimento matricula e valida_matricula.
Procedimento matricula:
Create or replace procedure matricula
Is
Begin
htp.p('
<html>
<head>
<title>Consulta matricula</title>
</head>
<body>
<table width="100%" height="100%">
<tr>
<td align="center" valign="middle">
<p>
<font
color="darkred"><b><em><H1>Base
de
Judicial</H1></em></b></font>
<font color="darkred"><b><em><H1>Introduza uma
informacao acerca de um veiculo</H1></em></b></font>
');
htp.nl;
htp.p('<form action="Valida_matricula" method="mat">');
Informação Judicial
Dados
de
Apoio
matricula
para
obter
pág. 19 / 31
Laboratório Base Dados
FEUP - LEIC
htp.p('<b>Matricula : </b>');
htp.p('<input type="text" size=10 name="Matr">');
htp.p('<p><input type="submit" value="GO">');
htp.p('</body></html>');
End;
Procedimento valida_matricula:
Create or replace procedure valida_matricula(matr in automoveis.matricula%type)
Is
bi utentes.nbi%type;
nom utentes.nome%type;
morada utentes.residencia%type;
carta utentes.ncarta%type;
marc automoveis.marca%type;
model automoveis.modelo%type;
Begin
Select nbi, nome, residencia, ncarta, marca, modelo
Into bi, nom, morada, carta, marc, model
From utentes, automoveis
Where utente_nbi = nbi and matricula=matr;
htp.htmlOpen;
htp.headOpen;
htp.title('Informacao veiculo');
htp.headClose;
htp.header(1,'Informacao veiculo');
htp.bodyOpen;
htp.nl;
htp.print(' NBI : ' ||bi);
htp.nl;
htp.print(' Matricula : ' ||matr);
htp.nl;
htp.print(' Nome : ' ||nom);
htp.nl;
htp.print(' Morada : ' ||morada);
htp.nl;
htp.print(' Num. Carta : ' ||carta);
htp.nl;
htp.print(' Marca : ' ||marc);
htp.nl;
htp.print(' Modelo : ' ||model);
htp.nl;
htp.bodyClose;
htp.htmlClose;
Informação Judicial
pág. 20 / 31
Laboratório Base Dados
FEUP - LEIC
Exception
When no_data_found then
htp.p(' Matricula invalida! ');
End;
Neste ultimo procedimento, caso a matricula introduzida esteja errada ou não
exista, uma mensagem de erro aparecerá ao agente que estiver a efectuar a pesquisa.
Informação Judicial
pág. 21 / 31
Laboratório Base Dados
FEUP - LEIC
6. Interface Gráfica
Os seguintes menus apresentados, são layouts da aplicação criada. Todos os
menus são constituídos por uma frame do lado esquerda com aspecto idêntico a todos
os outros, e uma frame do lado direito com propriedades únicas de cada uma. A frame
esquerda é formada pelos links para onde cada diferente utilizador se poderá dirigir e
duas opções iguais em todos os outros menus que são a de alterar password e a de
efectuar o logout.
De seguida, iremos apresentar cada menu, seguido de uma breve explicação.
Menu Administrador
Este menu tem como função possibilitar aos administradores a gestão de
utilizadores, advogados, polícias, juízes, funcionários do notariado, funcionários da DGV
e ainda os próprios administradores da base de dados. São também eles que ficam
encarregues de tratar do processo de envio de password para os utilizadores que
tenham efectuado o registo.
Também podem consultar todos utilizadores da aplicação, bem como alterar
certos dados relativos à conta de cada um.
Informação Judicial
pág. 22 / 31
Laboratório Base Dados
FEUP - LEIC
Menu Advogado
Este menu oferece a todos os advogados a possibilidade de aceder a informação
relativa aos seus clientes. Os dados pessoais dos clientes bem como as ocorrências e
crimes relativos a estes e ainda os seus veículos.
Informação Judicial
pág. 23 / 31
Laboratório Base Dados
FEUP - LEIC
Menu DGV
Este menu disponibiliza a todos os funcionários da DGV a poderem aceder aos
registos automóveis dos cidadãos.
Os funcionários deste grupo conseguem aceder a todos os registos automóveis,
bem como altera-los ou inserir novos. Podem também consultar os dados relativos aos
proprietários de cada veiculo.
Informação Judicial
pág. 24 / 31
Laboratório Base Dados
FEUP - LEIC
Menu Judicial
Este menu possibilita a todos os juízes de acederem com facilidade ao cadastro
de qualquer cidadão. Têm ainda a permissão para o aumentar, caso seja necessário.
Apenas os juízes podem julgar um cidadão, e é por este motivo que sempre que alguém
for julgado, seja logo acrescentado ao seu cadastro o processo e o tribunal onde
decorreu a sentença.
Os utilizadores deste grupo podem ainda consultar os dados relativos a todos os
cidadãos bem como os seus veículos.
Informação Judicial
pág. 25 / 31
Laboratório Base Dados
FEUP - LEIC
Menu Notariado
Este menu consiste em possibilitar a gestão dos cidadãos a todos os funcionários
do grupo notariado. A inserção e modificação de utentes terão de ser efectuado por
membros deste grupo.
Podem ainda pesquisar informação relacionada com os cidadãos.
Informação Judicial
pág. 26 / 31
Laboratório Base Dados
FEUP - LEIC
Menu Policial
Este menu é destinado a membros do grupo policial. Um polícia poderá aceder
aos dados de qualquer cidadão. Poderá ainda pesquisar informação relacionada com
automóveis, crimes e ocorrências referentes a qualquer utente.
Também são os polícias que inserem as próprias ocorrências na base de dados,
podendo também modifica-las.
Informação Judicial
pág. 27 / 31
Laboratório Base Dados
FEUP - LEIC
Menu Utente
Este menu possibilita aos cidadãos obterem qualquer informação acerca de si
mesmo. Com este menu, um utilizador consegue saber tudo a seu respeito, desde dados
pessoais até cadastro. Tudo o que ele fizer ficará registado e um cidadão tem, por lei,
direito a aceder às suas infracções, crimes, dados pessoais e registo automóvel.
Informação Judicial
pág. 28 / 31
Laboratório Base Dados
FEUP - LEIC
7. Casos de Teste
Nesta aplicação temos inserido diversos registos, com que fomos testando a
aplicação. Temos dados inseridos em todas as tabelas que respeitam os relacionamentos
entre as tabelas.
Inserimos todos os tipos de utilizadores na base de dados, testamos o login, com
sucesso em todos os casos. Os utentes inseridos estão conforme as regras impostas
pela aplicação, usando para isso os triggers, assim como todos os dados que inserimos.
Para testar a aplicação pode aceder facilmente à página da aplicação
(www.fe.up.pt/~ei00054) e com as instruções aí encontradas e os logins, entrar na
aplicação e ver todos os registos.
Para ter uma ideia dos campos disponíveis assim como os domínios pode
consultar o capítulo com a instância exemplo.
Nesta aplicação todos as operações foram testadas e revistas, podemos
considerar que não existem problemas de maior.
Informação Judicial
pág. 29 / 31
Laboratório Base Dados
FEUP - LEIC
8. Conclusões e Perspectivas de Desenvolvimento
O “Oracle” fornece-nos ferramentas de elevado calibre graças as quais
conseguimos criar rapidamente diagramas, hierarquias que facilitam a compreensão da
sua realização mesmo por pessoa que não estiveram envolvidas no projecto. A geração
dos módulos também facilita em muito o desenvolvimento dos formulários. Se tivermos
toda a análise bem feita, a geração é quase automática, resultando pelo menos os
formulários padrão com respectivas operações.
O trabalho ficou minimamente funcional dentro do prazo, embora a ultima
semana antes da entrega tenha sido um sufoco com diversos trabalhos para entrega. O
servidor por vezes esteve em baixo, mas desde que houve a migração da nossa conta
para o novo servidor, não houve grandes problemas, unicamente houve uma tarde que
este estava mais tempo em baixo do que a funcionar.
Aplicação tem alguns problemas que deveriam ser resolvidos caso houvesse mais
tempo. Um deles é o facto de gerar a BD com mais do que 1 tipo long como uma
imagem, dá problemas. No nosso caso colocamos campos como foto, assinatura e
impressão digital como char, com o link, mas não resolvemos o problema. Outra
situação anómala que ocorreu foi o facto de termos de eliminar o tipo de display pop list
dos campos de domínio que resultavam em invalido, inseríamos correctamente, mas se
fossemos consultar aparecia invalido. Resultado desta situação foi colocar os campos
como caixa de texto, implicando que o utilizador insira os dados
Quanto às funcionalidades que não estão implementadas salienta-se a gestão de
sessões que era importante neste trabalho, pela particularidade do tipo de informação.
Por exemplo, se um utente faz login só deve ver a sua informação, se o advogado fizer
login devem ser mostrados unicamente os seus clientes.
No que toca a consultas achamos que o tipo de consultas geradas pelo designer
são suficientes para a base de dados, depois de muito tempo a pensar sobre que
consultas deveríamos fazer, não encontramos mais hipóteses a não ser algumas
consultas sem nexo e utilidade.
Globalmente pensamos que foi um projecto enriquecedor. Tomamos contacto
com um ambiente de desenvolvimento bastante avançado e temos a consciência que
também nos perdemos em certas ocasiões em tantas possibilidades. Uma coisa é certa
para aprender e pôr a aplicação a funcionar tivemos que refazer várias vezes algumas
coisas por bugs na aplicação. Erros esses que vieram a aumentar o tempo de
implementação em demasia.
Informação Judicial
pág. 30 / 31
Laboratório Base Dados
FEUP - LEIC
9. Anexos
Recursos em papel:
Requerimento de certificado do registo criminal, mod. 101 – DGAJ – DSIC
Requerimento-declaração para registo de propriedade, mod. 2 – DGRN
Requerimento livrete, mod. 1402 – DGV
Oracle 8i, Moreno - FCA
Recursos web
Página da cadeira lbd, www.fe.up.pt/~gtd/lbd
Página da cadeira lbd prática, http://www.fe.up.pt/~jlopes/teach/lbd.html
Tutorial da ferramenta de desenvolvimento de software ORACLE designer 2000,
www.prenhall.com/divisions/bp/app/hoffer/oracle/tutorial/
Decreto-Lei n.º 62/99 de 2 de Março - Regime jurídico dos ficheiros informáticos
em
matéria
de
identificação
criminal
e
de
contumazes,
http://gf.com.sapo.pt/legis/diplomas/DL62-99.htm
Decreto-Lei n.º 352/99 de 3 de Setembro - Regime jurídico dos ficheiros
informáticos da Polícia Judiciária, http://gf.com.sapo.pt/legis/diplomas/DL352-99.htm
Resolução do Conselho de Ministros n.º 5/90 - Resolução sobre a Segurança nos
Sistemas Informáticos, http://gf.com.sapo.pt/legis/diplomas/RES5-90.htm
Informação Judicial
pág. 31 / 31
Download