Sie sind auf Seite 1von 81

UNIVERSIDADE ESTADUAL DE PONTA GROSSA CURSO DE ENGENHARIA DE COMPUTAO SETOR DE CINCIAS AGRRIAS E DE TECNOLOGIA

Website Departamento de Matemtica WSDEMAT


Eliel Rosa Filho Henrique Zanetti Souza Orientador: Mrcio Augusto de Souza

Ponta Grossa 2010

ELIEL ROSA FILHO HENRIQUE ZANETTI SOUZA

Website Departamento de Matemtica WSDEMAT

Projeto apresentado Universidade Estadual de Ponta Grossa como requisito parcial para aprovao da disciplina de Projeto de Sistema de Informao, do Curso de Engenharia de Computao, sob a orientao do Prof. Mrcio Augusto de Souza.

Ponta Grossa 2010

Sumrio
1. 2. DIAGNSTICO ATUAL ........................................................................................ 4 OBJETIVO DO PROJETO .................................................................................. 4 2.1 2.2 3. 4. OBJETIVO GERAL .............................................................................................. 4 OBJETIVOS ESPECFICOS.................................................................................. 5

ESCOPO ................................................................................................................. 5 PROPOSTA DE PROJETO ................................................................................. 6 4.1 BENEFCIOS .................................................................................................. 6 4.2 CUSTOS ......................................................................................................... 7 4.2.1 Custo de Software ................................................................................. 7 4.2.2 Custo de Hardware................................................................................ 8 4.2.3 Custo de Mo-de-obra .......................................................................... 8 4.2.4 Custo Total do Projeto .......................................................................... 9 4.3 RISCOS ........................................................................................................... 9 4.3.1 Riscos de projeto ................................................................................... 9 4.3.2 Riscos tcnicos ...................................................................................... 9 4.3.3 Riscos de negcio ............................................................................... 10 4.4 DESCRIO DA MODELAGEM PRELIMINAR ...................................... 10 4.4.1 Diagrama de Caso de Uso ................................................................. 11 4.4.2 Diagramas de Sequncia ................................................................... 26 4.4.3 Diagramas de Classes ........................................................................ 41 4.4.4 Diagrama entidade Relacionamento ................................................ 44 4.4.5 IDEF1X .................................................................................................. 45 4.4.6 Dicionrio de Dados ............................................................................ 46 4.4.7 Script SQL ............................................................................................. 51

5. 6.

PROTTIPO DA INTERFACE .......................................................................... 67 PLANO DE TESTE.............................................................................................. 70 6.1 6.2 6.3 6.4 6.5 EFETUAR LOGIN .............................................................................................. 70 CADASTRAR ALUNO ........................................................................................ 70 CADASTRAR PROFESSOR ............................................................................... 72 CADASTRAR FUNCIONRIO............................................................................. 73 CADASTRAR EVENTO...................................................................................... 75

7. 8. 9. 10.

CRONOGRAMA .................................................................................................. 76 CONCLUSO....................................................................................................... 77 REFERNCIAS BIBLIOGRFICAS ................................................................ 78 RESPONSABILIDADES ................................................................................ 79

TABELAS Tabela 1: Custo de Softwares ............................................................................ 7 Tabela 2: Custo de Hardware ............................................................................ 8 Tabela 3: Custo de mo-de-obra ....................................................................... 8 Tabela 4: Custo Total ......................................................................................... 9 Tabela 5: Administrativo ................................................................................... 46 Tabela 6: Aluno ................................................................................................ 46 Tabela 7: Arquivo ............................................................................................. 46 Tabela 8: Aluno_Cursa_Disciplina ................................................................... 47 Tabela 9: Aluno_esta_turma ............................................................................ 47 Tabela 10: Cidade ............................................................................................ 47 Tabela 11: Curso .............................................................................................. 47 Tabela 12: Disciplina ........................................................................................ 47 Tabela 13: Estado ............................................................................................ 48 Tabela 14: Evento ............................................................................................ 48 Tabela 15: Funcionrio .................................................................................... 48 Tabela 16: Pessoa ........................................................................................... 49 Tabela 17: Professor ........................................................................................ 49 Tabela 18: Pessoa_recebe_SMS..................................................................... 50 Tabela 19: SMS ............................................................................................... 50 Tabela 20: Telefone ......................................................................................... 50 Tabela 21: Tipo_tel .......................................................................................... 51 Tabela 22: Turma ............................................................................................. 51

FIGURAS Figura 1: Caso de Uso ................................................................................................ 11 Figura 2: Alterar Aluno ................................................................................................ 26 Figura 3: Alterar Curso ................................................................................................ 26 Figura 4: Alterar Disciplina ......................................................................................... 27 Figura 5: Alterar Evento .............................................................................................. 27 Figura 6: Alterar Funcionrio ..................................................................................... 28 Figura 7: Alterar Professor ......................................................................................... 28 Figura 8: Alterar Turma ............................................................................................... 29 Figura 9: Armazenar Arquivo ..................................................................................... 29 Figura 10: Atualizar Perfil/Trabalhos ........................................................................ 30 Figura 11: Baixar Arquivo ........................................................................................... 30 Figura 12: Cadastrar Curso ........................................................................................ 31 Figura 13: Cadastrar Disciplina ................................................................................. 31 Figura 14: Cadastrar Evento - Administrador ......................................................... 32 Figura 15: Cadastrar Evento - Funcionrio ............................................................. 32 Figura 16: Cadastrar Evento - Professor ................................................................. 33 Figura 17: Cadastrar Turma ....................................................................................... 33 Figura 18: Cadastrar Aluno ........................................................................................ 34 Figura 19: Cadastrar Funcionrio ............................................................................. 34 Figura 20: Cadastrar Professor ................................................................................. 35 Figura 21: Enviar SMS - Administrador.................................................................... 35 Figura 22: Enviar SMS - Funcionrio ....................................................................... 36 Figura 23: Enviar SMS - Professor ........................................................................... 36 Figura 24: Excluir Aluno .............................................................................................. 37 Figura 25: Excluir Curso ............................................................................................. 37 Figura 26: Excluir Disciplina ....................................................................................... 38 Figura 27: Excluir Evento ........................................................................................... 38 Figura 28: Excluir Funcionrio ................................................................................... 39 Figura 29: Excluir Professor ....................................................................................... 39 Figura 30: Excluir Turma ............................................................................................ 40 Figura 31: Solicitar Cadastro ..................................................................................... 40 Figura 32: Diagrama de Classe ................................................................................. 41 Figura 33: Diagrama de Classe - Controle .............................................................. 42 Figura 34: Diagrama de Classe Entidade ............................................................ 43 Figura 35: Diagrama de Classe Interface............................................................. 43 Figura 36: Diagrama Entidade Relacionamento .................................................... 44 Figura 37: Diagrama IDEF1X..................................................................................... 45 Figura 38: Cadastrar Evento ...................................................................................... 67 Figura 39: Cadastrar/atualizar professor ................................................................. 67 Figura 40: Baixar Arquivo ........................................................................................... 68 Figura 41: Professor armazena arquivo ................................................................... 68 Figura 42: Enviar SMS ................................................................................................ 69 Figura 43: Cronograma ............................................................................................... 76

1. DIAGNSTICO ATUAL
O Departamento de Matemtica e Estatstica (DeMat) da Universidade Estadual de Ponta Grossa tem como objetivo a investigao de conhecimentos cientficos nas reas de Matemtica Pura e Aplicada, Educao Matemtica e reas afins, buscando a integrao das atividades de Ensino, Pesquisa e Extenso. As atividades de Ensino do DeMat consistem principalmente no oferecimento de disciplinas para 19 (dezenove) cursos de graduao, dentre os quais o curso de Licenciatura em Matemtica, que demanda o maior nmero de disciplinas do departamento, e para 2 (dois) cursos de ps graduao. O atual website suporte do DeMat foi criado pela UEPG em 2005, no atende a atual demanda, bem como, carece das caractersticas bsicas que so vitais para seu sucesso. Enfim, com a globalizao e o alto nvel tecnolgico atuais, websites tem sido utilizados em grande escala na divulgao de empresas, institutos de pesquisa e vrias outras instituies. Outrossim, o DeMat adquiriu recentemente um servidor de internet para poder armazenar informaes e arquivos para seus alunos, encaminhou solicitao de criao de domnio dentro do site da UEPG, pressupondo a necessidade da criao de um website atualizado.

2. OBJETIVO DO PROJETO
2.1 Objetivo geral O projeto visa o desenvolvimento de um website atualizado, que disponibilizado ao DeMat, fomentar a investigao de conhecimentos cientficos buscando a integrao das atividades de Ensino, Pesquisa e Extenso, proporcionando uma melhor integrao entre aluno e professor orientador, bem como, para disponibilizar informaes s pessoas que tenham interesse no DeMat, dentro ou fora da UEPG.

2.2 Objetivos especficos  Criar um website para o Departamento de Matemtica da UEPG. - Armazenar no website informaes relacionadas ao departamento, tais como: histrico, quadro de funcionrios, eventos (indicados por professores ou funcionrios) e contato. Armazenar no banco de dados informaes sobre os

professores/funcionrios do departamento. - Gerar uma pgina com os dados do professor no formato de um currculo online. - Armazenar no banco de dados arquivos disponibilizados pelos professores, visando um melhor aproveitamento dos estudos pelos alunos fora da sala de aula. - Disponibilizar uma pgina com os dados dos eventos, os quais podem ser realizados pelo departamento ou por outras instituies. - Permitir o envio de mensagens SMS para os alunos caso o professor necessite avis-los com urgncia, como por exemplo, um atraso.

3. ESCOPO
O projeto busca elaborar um website para o DeMat que possa facilitar o uso pelos professores, visando o auxlio na divulgao de materiais e/ou informaes para os alunos. O sistema ser composto por trs mdulos bsicos: criao da rea do professor, disponibilizao de arquivos para download e divulgao de eventos. Na rea do professor ser criada uma pgina para o professor disponibilizar suas informaes pessoais e seus trabalhos/projetos realizados, como se fosse um currculo online.

O professor tambm ser capaz de disponibilizar arquivos utilizados em sala de aula para que os alunos possam fazer o download. Alm disso, tambm ter a possibilidade de entrar no site e enviar mensagens SMS para os alunos caso precise avisar algo com certa urgncia. Fator importante no complemento do desenvolvimento acadmico, os eventos ajudam na melhora do conhecimento do aluno, e o sistema contar com uma parte especfica para eles. Os eventos podero ser cadastrados por funcionrios, professores e pelo administrador do sistema.

4. PROPOSTA DE PROJETO
A proposta deste projeto elaborar um portal de fcil utilizao pelos professores e funcionrios do departamento de matemtica visando agilidade e eficincia na divulgao de informaes e arquivos. A elaborao do portal tambm proporcionar melhor integrao entre professor e aluno devido ao fato de que o professor poder disponibilizar materiais na web buscando melhorar o aprendizado do aluno. Para a elaborao do projeto ser utilizada a linguagem de programao PHP e Postgree como sistema gerenciador do banco de dados.

4.1 BENEFCIOS Dentre os benefcios obtidos atravs da implementao do projeto esto a facilidade com que os professores podero disponibilizar arquivos para os alunos, os quais tambm tero uma maneira mais rpida e fcil de conseguir os arquivos, sem ser necessria a criao de grupos de e-mail onde raramente todos os alunos esto includos. Com isso o sistema busca melhorar a maneira com que alunos e professores se relacionam no mbito de troca de informaes acadmicas.

Outro benefcio que ser alcanado a maior divulgao do 6

departamento a partir da disponibilizao de informaes para toda a sociedade, relativas ao histrico, quadro de professores, informaes sobre o curso, grade curricular, eventos que dizem respeito rea das cincias exatas, entre outros. Essas informaes relativas ao curso so extremamente importantes, pois ultimamente o nmero de desistncias no curso de Matemtica tem sido grandes, e a melhor maneira para tentar diminuir tal ocorrncia fazer com que as pessoas consigam obter informaes relacionadas ao curso para que saibam o que vo encontrar no decorrer do perodo em que estaro na faculdade.

4.2 CUSTOS 4.2.1 Custo de Software


Tabela 1: Custo de Softwares

Software

Quantidade Valor Unitrio (R$) Valor Total (R$)


2 2 2 2 2 2 2 379,05 3.148,25* 758,10 6.296,50 7.042,60

Microsoft Windows 7 Home Premium Astah Community DBDesigner 4 Postgree 8.0 Adobe CS5 Web Premium Adobe Flash Builder 4 Trial Apache for Windows 2.2.15 Custo Total de Software

*O valor do produto foi de U$ 1.799,00 que no cmbio R$1,75 (valor retirado do site http://economia.terra.com.br/ s 14:50 do dia 10/04/2010) obtivemos o valor de R$ 3.149,25.

Fonte: Microsoft Windows 7 Home Premium http://softwares.pontofrio.com.br/Microsoft-Windows-7-Home-Premium-DVDBrasil-34067.html?Filtro=C56_C69 - Acessado em 10/04/2010 7

Adobe CS5 Web Premium http://www.adobe.com/products/creativesuite/web/whatsnew/ BUY/UPGRADE - Acessado em 10/04/2010 na aba

4.2.2 Custo de Hardware


Tabela 2: Custo de Hardware

Hardware
Processador Intel Dual Core E5200 de 2.50Ghz Memria 3GB, HD 320 GB, Gravador DVD Monitor LCD AOC F19L 18,5 Custo Total de Hardware Fonte:

Quantidade Valor Unitrio (R$) Valor Total (R$)


2 1.249,00 2.498,00

2.498,00

http://computadores.pontofrio.com.br/Computador-Space-BR-c-Intel-Dual-Core2.50Ghz-3GB-320GB-Gravador-de-DVD-e-Linux-Monitor-AOC-185-Wide1000009037.html?Filtro=C56_C58 - Acessado em 10/04/2010

4.2.3 Custo de Mo-de-obra

Tabela 3: Custo de mo-de-obra

Valor/hora de desenvolvimento Total de horas


R$ 17,80

Qtde desenvolvedores Valor Total


R$ 290* 2 10324,00

*8 horas por semana durante 9 meses resultam em aproximadamente 290 horas Fonte: http://www.rhinfo.com.br/sal-ti.htm#p - Acessado em 10/04/2010

4.2.4 Custo Total do Projeto


Tabela 4: Custo Total

Descrio Software Hardware Mo-de-obra Valor Total 4.3 RISCOS 4.3.1 Riscos de projeto

Valor (R$) 7.042,60 2.498,00 10.324,00 18.864,60

- No cumprimento dos prazos estipulados pela disciplina devido ao fato dos alunos envolvidos terem outras atividades em desenvolvimento, tais como outras matrias do curso e cursos extracurriculares. Para evitar o problema um bom cronograma deve ser criado e seguido. - Desfalque na equipe de desenvolvimento.

4.3.2 Riscos tcnicos - Problemas com a empresa que gerencia o envio de SMS, desde a liberao do produto para teste at falhas no sistema desta empresa. - Dificuldade na elaborao de uma interface amigvel devido falta de experincia em desenvolvimento web da equipe. Tal problema pode ser 9

amenizado com a observao de outras interfaces disponveis na internet e com o auxlio do cliente.

4.3.3 Riscos de negcio - Mudana das funcionalidades do projeto por parte do cliente. Como preveno para este risco, foram estabelecidos previamente os termos do projeto e as modificaes do documento original ficam por conta do cliente.

4.4 DESCRIO DA MODELAGEM PRELIMINAR

1. A realizao da modelagem do projeto ser baseada na Orientao a Objetos tendo como base a linguagem UML (Unified Modeling Language) por ser uma linguagem padro com princpios conhecidos pela grande maioria das pessoas que trabalham na rea de tecnologia de informao. A Orientao a Objetos fornece uma viso especfica do funcionamento do sistema proporcionando aos desenvolvedores uma base para implementao do mesmo, sem muitas complicaes quanto ao entendimento do funcionamento do prprio.

10

4.4.1 Diagrama de Caso de Uso

Figura 1: Caso de Uso

11

4.4.1.1 Cenrios do diagrama de Caso de Uso Manter curso: Atores: Administrador e Banco de Dados. Objetivo: Realiza operaes relacionadas a cadastro e manuteno de cursos no banco de dados. Cenrio Principal 1 - O administrador seleciona a opo Manter Curso. 2 - O sistema disponibiliza trs opes: Cadastrar Curso, Alterar Curso e Excluir Curso. 2.1 - O administrador escolhe Cadastrar Curso. 2.1.1 - O sistema disponibiliza formulrio para preenchimento. 2.1.2 - O administrador preenche formulrio. 2.1.3 Aps a incluso dos dados, o administrador escolhe a opo Cadastrar e o sistema valida os dados cadastrados, emite uma mensagem na tela e retorna a tela inicial. 3.1 - O administrador escolhe Alterar Curso. 3.1.1 - O sistema disponibiliza campos com os dados do curso. 3.1.2 - O administrador altera os campos desejados. 3.1.3 - O sistema altera os dados referentes ao curso. 3.1.4 - O sistema altera os dados cadastrados, emite uma mensagem e retorna a tela inicial. 4.1 - O administrador escolhe Excluir Curso. 4.1.1 - O sistema disponibiliza as opes de busca por Curso. 4.1.2 - O administrador escolhe o curso a ser excludo. 4.1.3 O sistema apaga dados referentes ao curso, emite uma mensagem e retorna a tela inicial. Cenrio Alternativo: 2.1.2.1 - Cadastro incompleto: no possvel realizar a incluso de um curso sem que todos os dados obrigatrios sejam preenchidos. 3.1.2.1 - Alterao incompleta: no possvel realizar a concluso de uma alterao sem que todos os dados obrigatrios sejam preenchidos. 12

4.1.2.1 - Excluso incompleta: no possvel realizar a excluso de um curso sem que todos os dados obrigatrios sejam preenchidos.

Manter disciplina: Atores: Administrador e Banco de Dados. Objetivo: Realiza operaes relacionadas a cadastro e manuteno de disciplinas no banco de dados. Cenrio Principal 1 - O administrador seleciona a opo Manter Disciplina. 2 - O sistema disponibiliza trs opes: Cadastrar Disciplina, Alterar Disciplina e Excluir Disciplina. 2.1 - O administrador escolhe Cadastrar Disciplina. 2.1.1 - O sistema disponibiliza formulrio para preenchimento. 2.1.2 - O administrador preenche formulrio. 2.1.3 Aps a incluso dos dados, o administrador escolhe a opo Cadastrar e o sistema valida os dados cadastrados, emite uma mensagem na tela e retorna a tela inicial. 3.1 - O administrador escolhe Alterar Disciplina, 3.1.1 - O sistema disponibiliza campos com os dados da disciplina. 3.1.2 - O administrador altera os campos desejados. 3.1.3 - O sistema altera os dados cadastrados, emite uma mensagem e retorna a tela inicial. 4.1 O administrador escolhe a opo: Excluir Disciplina. 4.1.1 - O sistema disponibiliza as opes de busca por Disciplina. 4.1.2 - O administrador escolhe a disciplina a ser excluda. 4.1.3 O sistema apaga dados referentes a disciplina, emite uma mensagem e retorna a tela inicial. Cenrio Alternativo: 2.1.2.1 - Cadastro incompleto: no possvel realizar a incluso sem que todos os dados obrigatrios sejam preenchidos. 13

3.1.2.1 - Alterao incompleta: no possvel realizar a concluso de uma alterao sem que todos os dados obrigatrios sejam preenchidos. 4.1.2.1 - Excluso incompleta: no possvel realizar a excluso sem que todos os dados obrigatrios sejam preenchidos. Manter turma: Atores: Administrador e Banco de Dados. Objetivo: Realiza operaes relacionadas a cadastro e manuteno de turmas no banco de dados. Cenrio Principal 1 - O administrador seleciona a opo Manter Turma. 2 - O sistema disponibiliza trs opes: Cadastrar Turma, Alterar Turma e Excluir Turma. 2.1 - O administrador escolhe Cadastrar Turma. 2.1.1 - O sistema disponibiliza formulrio para preenchimento. 2.1.2 - O administrador preenche formulrio. 2.1.3 Aps a incluso dos dados, o administrador escolhe a opo Cadastrar e o sistema valida os dados cadastrados, emite uma mensagem na tela e retorna a tela inicial. 3.1 - O administrador escolhe Alterar Turma. 3.1.1 - O sistema disponibiliza campos com os dados da turma. 3.1.2 - O administrador altera os campos desejados. 3.1.3 - O sistema altera os dados cadastrados, emite uma mensagem e retorna a tela inicial. 4.1 O administrador escolhe a opo: Excluir Turma. 4.1.1 - O sistema disponibiliza as opes de busca por Turma. 4.1.2 - O administrador escolhe a turma ser excluda. 4.1.3 O sistema apaga dados referentes disciplina, emite uma mensagem e retorna a tela inicial. Cenrio Alternativo: 2.1.2.1 - Cadastro incompleto: no possvel realizar a incluso sem que todos os dados obrigatrios sejam preenchidos. 3.1.2.1 - Alterao incompleta: no possvel realizar a concluso de uma 14

alterao sem que todos os dados obrigatrios sejam preenchidos. 4.1.2.1 - Excluso incompleta: no possvel realizar a excluso sem que todos os dados obrigatrios sejam preenchidos.

Manter aluno: Atores: Administrador e Banco de Dados. Objetivo: Realiza operaes relacionadas a cadastro e manuteno de alunos no banco de dados. Cenrio Principal 1 - O administrador seleciona a opo Manter Aluno. 2 - O sistema disponibiliza trs opes: Cadastrar Aluno, Alterar Aluno e Excluir Aluno. 2.1 - O administrador escolhe Cadastrar Aluno. 2.1.1 O sistema verifica pendncia no cadastro de alunos. 2.1.2 - O sistema disponibiliza formulrio para preenchimento. 2.1.3 - O administrador preenche formulrio. 2.1.4 Aps a incluso dos dados, o administrador escolhe a opo Cadastrar e o sistema valida os dados cadastrados, emite uma mensagem na tela e retorna a tela inicial. 3.1 - O administrador escolhe Alterar Aluno. 3.1.1 - O sistema disponibiliza as opes de busca por Nome, Curso ou Disciplina. 3.1.2 - O administrador altera os campos desejados. 3.1.3 - O sistema altera os dados cadastrados, emite uma mensagem e retorna a tela inicial. 4.1 - O administrador escolhe Excluir Aluno. 4.1.1 - O sistema disponibiliza as opes de busca por Nome, Curso ou Disciplina. 4.1.2 - O administrador escolhe o aluno a ser excludo. 4.1.3 O sistema apaga dados referentes ao aluno, emite uma mensagem e retorna a tela inicial. 15

Cenrio Alternativo: 2.1.2.1 No existem pendncias no cadastro de alunos. 2.1.2.2 - Cadastro incompleto: no possvel realizar a incluso sem que todos os dados obrigatrios sejam preenchidos. 3.1.2.1 - Alterao incompleta: no possvel realizar a concluso de uma alterao sem que todos os dados obrigatrios sejam preenchidos. 4.1.2.1 - Excluso incompleta: no possvel realizar a excluso sem que todos os dados obrigatrios sejam preenchidos.

Manter professor: Atores: Administrador e Banco de Dados. Objetivo: Realiza operaes relacionadas a cadastro e manuteno de professores no banco de dados. Cenrio Principal 1 - O administrador seleciona a opo Manter Professor. 2 - O sistema disponibiliza trs opes: Cadastrar Professor, Alterar Professor e Excluir Professor. 2.1 - O administrador escolhe Cadastrar Professor. 2.1.1 - O sistema disponibiliza formulrio para preenchimento. 2.1.2 - O administrador preenche formulrio com dados do professor. 2.1.3 Aps a incluso dos dados, o administrador escolhe a opo Cadastrar e o sistema valida os dados cadastrados, emite uma mensagem na tela e retorna a tela inicial. 3.1 - O administrador escolhe Alterar Professor. 3.1.1 - O sistema disponibiliza as opes de busca por Nome, Curso ou Disciplina. 3.1.2 - O sistema disponibiliza campos com os dados do professor. 3.1.3 - O administrador altera os campos desejados. 3.1.4 - O sistema altera os dados cadastrados, emite uma mensagem e retorna a tela inicial. 16

4.1 - O administrador escolhe Excluir Professor. 4.1.1 - O sistema disponibiliza as opes de busca por Nome, Curso ou Disciplina. 4.1.2 - O administrador escolhe o professor a ser excludo. 4.1.3 O sistema apaga dados referentes ao curso, emite uma mensagem e retorna a tela inicial. Cenrio Alternativo: 2.1.2.1 - Cadastro incompleto: no possvel realizar a incluso de sem que todos os dados obrigatrios sejam preenchidos. 3.1.2.2 - Alterao incompleta: no possvel realizar a concluso de uma alterao sem que todos os dados obrigatrios sejam preenchidos. 4.1.2.2 - Excluso incompleta: no possvel realizar a excluso de sem que todos os dados obrigatrios sejam preenchidos.

Manter funcionrio: Atores: Administrador e Banco de Dados. Objetivo: Realiza operaes relacionadas a cadastro e manuteno de funcionrios no banco de dados. Cenrio Principal 1 - O administrador seleciona a opo Manter Funcionrio. 2 - O sistema disponibiliza trs opes: Cadastrar Funcionrio, Alterar Funcionrio e Excluir Funcionrio. 2.1 - O administrador escolhe Cadastrar Funcionrio. 2.1.1 - O sistema disponibiliza formulrio para preenchimento. 2.1.2 - O administrador preenche formulrio com dados do funcionrio. 2.1.3 Aps a incluso dos dados, o administrador escolhe a opo Cadastrar e o sistema valida os dados cadastrados, emite uma mensagem na tela e retorna a tela inicial. 3.1 - O administrador escolhe Alterar Funcionrio. 3.1.1 - O sistema disponibiliza as opes de busca por Nome. 17

3.1.2 - O sistema disponibiliza campos com os dados do funcionrio. 3.1.3 - O sistema altera os dados cadastrados, emite uma mensagem e retorna a tela inicial. 4.1 - O administrador escolhe Excluir Funcionrio. 4.1.1 - O sistema disponibiliza as opes de busca por Nome. 4.1.2 - O administrador escolhe o funcionrio a ser excludo. 4.1.3 O sistema apaga dados referentes ao funcionrio, emite uma mensagem e retorna a tela inicial. Cenrio Alternativo: 2.1.2.1 - Cadastro incompleto: no possvel realizar a incluso sem que todos os dados obrigatrios sejam preenchidos. 3.1.2.2 - Alterao incompleta: no possvel realizar a concluso de uma alterao sem que todos os dados obrigatrios sejam preenchidos. 4.1.2.2 - Excluso incompleta: no possvel realizar a excluso sem que todos os dados obrigatrios sejam preenchidos. Manter evento - Administrador: Atores: Administrador e Banco de Dados. Objetivo: Realiza operaes relacionadas manuteno e criao de eventos no banco de dados. Cenrio Principal 1 - O administrador seleciona a opo Manter Evento. 2 - O sistema disponibiliza trs opes: Cadastrar Evento, Alterar Evento e Excluir Evento. 2.1 - O administrador escolhe Cadastrar Evento. 2.1.1 - O sistema disponibiliza formulrio para preenchimento. 2.1.2 - O administrador preenche formulrio com dados do evento. 2.1.3 Aps a incluso dos dados, o administrador escolhe a opo Cadastrar e o sistema valida os dados cadastrados, emite uma mensagem na tela e retorna a tela inicial. 3.1 - O administrador escolhe Alterar Evento. 18

3.1.1 - O sistema disponibiliza as opes de busca por Nome ou Data. 3.1.2 - O sistema disponibiliza campos com os dados do evento. 3.1.3 - O sistema altera os dados cadastrados, emite uma mensagem e retorna a tela inicial. 4.1 - O administrador escolhe Excluir Evento. 4.1.1 - O sistema disponibiliza as opes de busca por Nome ou Data. 4.1.2 - O administrador escolhe o evento a ser excludo. 4.1.3 O sistema apaga dados referentes ao evento, emite uma mensagem e retorna a tela inicial. Cenrio Alternativo: 2.1.2.1 - Cadastro incompleto: no possvel realizar a incluso sem que todos os dados obrigatrios sejam preenchidos. 2.1.3.1 Cadastro incompleto: J existe um evento com prioridade alta na data assinalada. 3.1.2.2 - Alterao incompleta: no possvel realizar a concluso de uma alterao sem que todos os dados obrigatrios sejam preenchidos. 4.1.2.2 - Excluso incompleta: no possvel realizar a excluso sem que todos os dados obrigatrios sejam preenchidos. Manter evento - Professor: Atores: Professor e Banco de Dados. Objetivo: Realiza operaes relacionadas a manuteno e criao de eventos no banco de dados. Cenrio Principal 1 - O professor seleciona a opo Manter Evento. 2 - O sistema disponibiliza trs opes: Cadastrar Evento, Alterar Evento e Excluir Evento. 2.1 - O professor escolhe Cadastrar Evento. 2.1.1 - O sistema disponibiliza formulrio para preenchimento. 2.1.2 - O professor preenche formulrio com dados do evento. 2.1.3 Aps a incluso dos dados, o professor escolhe a opo Cadastrar e o sistema valida os dados cadastrados, emite uma mensagem na 19

tela e retorna a tela inicial. 3.1 - O professor escolhe Alterar Evento. 3.1.1 - O sistema disponibiliza as opes de busca por Nome ou Data. 3.1.2 - O sistema disponibiliza campos com os dados do evento. 3.1.3 - O sistema altera os dados cadastrados, emite uma mensagem e retorna a tela inicial. 4.1 - O professor escolhe Excluir Evento. 4.1.1 - O sistema disponibiliza as opes de busca por Nome ou Data. 4.1.2 - O professor escolhe o evento a ser excludo. 4.1.3 O sistema apaga dados referentes ao evento, emite uma mensagem e retorna a tela inicial. Cenrio Alternativo: 2.1.2.1 - Cadastro incompleto: no possvel realizar a incluso sem que todos os dados obrigatrios sejam preenchidos. 2.1.3.1 Cadastro incompleto: J existe um evento com prioridade alta na data assinalada. 3.1.2.2 - Alterao incompleta: no possvel realizar a concluso de uma alterao sem que todos os dados obrigatrios sejam preenchidos. 4.1.2.2 - Excluso incompleta: no possvel realizar a excluso sem que todos os dados obrigatrios sejam preenchidos.

Manter evento - Funcionrio: Atores: Funcionrio e Banco de Dados. Objetivo: Realiza operaes relacionadas manuteno e criao de eventos no banco de dados. Cenrio Principal 1 - O funcionrio seleciona a opo Manter Evento. 2 - O sistema disponibiliza trs opes: Cadastrar Evento, Alterar Evento e Excluir Evento. 2.1 O funcionrio escolhe Cadastrar Evento. 2.1.1 - O sistema disponibiliza formulrio para preenchimento. 20

2.1.2 - O funcionrio preenche formulrio com dados do evento. 2.1.3 Aps a incluso dos dados, o funcionrio escolhe a opo Cadastrar e o sistema valida os dados cadastrados, emite uma mensagem na tela e retorna a tela inicial. 3.1 - O funcionrio escolhe Alterar Evento. 3.1.1 - O sistema disponibiliza as opes de busca por Nome ou Data. 3.1.2 - O sistema disponibiliza campos com os dados do evento. 3.1.3 - O sistema altera os dados cadastrados, emite uma mensagem e retorna a tela inicial. 4.1 - O funcionrio escolhe Excluir Evento. 4.1.1 - O sistema disponibiliza as opes de busca por Nome ou Data. 4.1.2 - O funcionrio escolhe o evento a ser excludo. 4.1.3 O sistema apaga dados referentes ao evento, emite uma mensagem e retorna a tela inicial. Cenrio Alternativo: 2.1.2.1 - Cadastro incompleto: no possvel realizar a incluso sem que todos os dados obrigatrios sejam preenchidos. 2.1.3.1 Cadastro incompleto: J existe um evento com prioridade alta na data assinalada. 3.1.2.2 - Alterao incompleta: no possvel realizar a concluso de uma alterao sem que todos os dados obrigatrios sejam preenchidos. 4.1.2.2 - Excluso incompleta: no possvel realizar a excluso sem que todos os dados obrigatrios sejam preenchidos.

Manter cidade: Atores: Administrador e Banco de Dados. Objetivo: Realiza operaes relacionadas a cadastro e manuteno de cidades no banco de dados. Cenrio Principal 1 - O administrador seleciona a opo Manter Cidade. 21

2 - O sistema disponibiliza trs opes: Cadastrar Cidade, Alterar Cidade e Excluir Cidade. 2.1 - O administrador escolhe Cadastrar Cidade. 2.1.1 - O sistema disponibiliza formulrio para preenchimento. 2.1.2 - O administrador preenche formulrio com dados da cidade. 2.1.3 Aps a incluso dos dados, o administrador escolhe a opo Cadastrar e o sistema valida os dados cadastrados, emite uma mensagem na tela e retorna a tela inicial. 3.1 - O administrador escolhe Alterar Cidade. 3.1.1 - O sistema disponibiliza as opes de busca por Nome. 3.1.2 - O sistema disponibiliza campos com os dados da cidade. 3.1.3 - O sistema altera os dados cadastrados, emite uma mensagem e retorna a tela inicial. 4.1 - O administrador escolhe Excluir Cidade. 4.1.1 - O sistema disponibiliza as opes de busca por Nome. 4.1.2 - O administrador escolhe a cidade a ser excludo. 4.1.3 O sistema apaga dados referentes cidade, emite uma mensagem e retorna a tela inicial. Cenrio Alternativo: 2.1.2.1 - Cadastro incompleto: no possvel realizar a incluso sem que todos os dados obrigatrios sejam preenchidos. 3.1.2.2 - Alterao incompleta: no possvel realizar a concluso de uma alterao sem que todos os dados obrigatrios sejam preenchidos. 4.1.2.2 - Excluso incompleta: no possvel realizar a excluso sem que todos os dados obrigatrios sejam preenchidos. Baixar Arquivo: Atores: Aluno e Banco de Dados. Objetivo: Baixa arquivos armazenados no Banco de Dados Cenrio Principal 1 - O aluno seleciona a opo Baixar Arquivo. 2 - O sistema disponibiliza as opes: Baixar Arquivo Privado ou Baixar 22

Arquivo Pblico. 2.1 - O sistema disponibiliza formulrio para preenchimento. 2.2 - O aluno preenche formulrio. 2.3 Aps a verificao do sistema da existncia do arquivo, o aluno escolhe a opo Baixar e o sistema disponibiliza o download. Cenrio Alternativo: 2.1.2.1 - Download incompleto: no possvel realizar download sem que todos os dados obrigatrios sejam preenchidos. 2.1.2.2 - Download incompleto: no possvel realizar download, pois no tem permisso para acessar arquivos privados.

Enviar SMS - Funcionrio: Atores: Funcionrio e Banco de Dados. Objetivo: Envia SMS para celulares cadastrados. Cenrio Principal 1 - O funcionrio seleciona a opo Enviar SMS. 2 - O sistema disponibiliza as opes: Enviar para Curso e Enviar para Disciplina. 2.1 - O sistema disponibiliza formulrio para preenchimento. 2.2 - O funcionrio preenche formulrio. 2.3 Aps a incluso dos dados, o funcionrio escolhe a op o Enviar, o sistema valida os dados cadastrados, emite uma mensagem na tela e retorna a tela inicial. Cenrio Alternativo: 2.1.2.1 - SMS incompleto: no possvel realizar a incluso de um SMS sem que todos os dados obrigatrios sejam preenchidos.

Enviar SMS - Administrador: Atores: Administrador e Banco de Dados. 23

Objetivo: Envia SMS para celulares cadastrados. Cenrio Principal 1 - O administrador seleciona a opo Enviar SMS. 2 - O sistema disponibiliza as opes: Enviar para Curso e Enviar p ara Disciplina. 2.1 - O sistema disponibiliza formulrio para preenchimento. 2.2 - O administrador preenche formulrio. 2.3 Aps a incluso dos dados, o administrador escolhe a opo Concludo e o sistema valida os dados cadastrados, emite uma mensagem na tela e retorna a tela inicial. Cenrio Alternativo: 2.1.2.1 - SMS incompleto: no possvel realizar a incluso de um SMS sem que todos os dados obrigatrios sejam preenchidos.

Enviar SMS - Professor: Atores: Professor e Banco de Dados. Objetivo: Envia SMS para celulares cadastrados. Cenrio Principal 1 - O professor seleciona a opo Enviar SMS. 2 - O sistema disponibiliza as opes: Enviar para Curso e Enviar para Disciplina. 2.1 - O sistema disponibiliza formulrio para preenchimento. 2.2 - O professor preenche formulrio. 2.3 Aps a incluso dos dados, o professor escolhe a opo Enviar e o sistema valida os dados cadastrados, emite uma mensagem na tela e retorna a tela inicial. Cenrio Alternativo: 2.1.2.1 - SMS incompleto: no possvel realizar a incluso de um SMS sem que todos os dados obrigatrios sejam preenchidos.

24

Armazenar Arquivo: Atores: Professor e Banco de Dados. Objetivo: Armazena arquivos no Banco de Dados Cenrio Principal 1 - O professor seleciona a opo Armazenar Arquivo. 2 - O sistema disponibiliza as opes: Armazenar Arquivo Privado ou Armazenar Arquivo Pblico. 2.1 - O sistema disponibiliza formulrio para preenchimento. 2.2 - O professor preenche formulrio. 2.3 Aps a incluso do arquivo, o professor escolhe a opo Armazenar, o sistema verifica o espao disponvel e armazena o arquivo no banco de dados. Cenrio Alternativo: 2.1.2.1 - Armazenamento incompleto: no possvel realizar a incluso de um SMS sem que todos os dados obrigatrios sejam preenchidos. 2.1.2.2 Armazenamento incompleto: no foi possvel armazenar o arquivo por falta de espao.

25

4.4.2 Diagramas de Sequncia

Figura 2: Alterar Aluno

Figura 3: Alterar Curso

26

Figura 4: Alterar Disciplina

Figura 5: Alterar Evento

27

Figura 6: Alterar Funcionrio

Figura 7: Alterar Professor

28

Figura 8: Alterar Turma

Figura 9: Armazenar Arquivo

29

Figura 10: Atualizar Perfil/Trabalhos

Figura 11: Baixar Arquivo

30

Figura 12: Cadastrar Curso

Figura 13: Cadastrar Disciplina

31

Figura 14: Cadastrar Evento - Administrador

Figura 15: Cadastrar Evento - Funcionrio

32

Figura 16: Cadastrar Evento - Professor

Figura 17: Cadastrar Turma

33

Figura 18: Cadastrar Aluno

Figura 19: Cadastrar Funcionrio

34

Figura 20: Cadastrar Professor

Figura 21: Enviar SMS - Administrador

35

Figura 22: Enviar SMS - Funcionrio

Figura 23: Enviar SMS - Professor

36

Figura 24: Excluir Aluno

Figura 25: Excluir Curso

37

Figura 26: Excluir Disciplina

Figura 27: Excluir Evento

38

Figura 28: Excluir Funcionrio

Figura 29: Excluir Professor

39

Figura 30: Excluir Turma

Figura 31: Solicitar Cadastro

40

4.4.3 Diagramas de Classes

Figura 32: Diagrama de Classe

41

Figura 33: Diagrama de Classe - Controle

42

Figura 34: Diagrama de Classe Entidade

Figura 35: Diagrama de Classe Interface

43

4.4.4 Diagrama entidade Relacionamento

Figura 36: Diagrama Entidade Relacionamento

44

4.4.5 IDEF1X

Figura 37: Diagrama IDEF1X

45

4.4.6 Dicionrio de Dados


Tabela 5: Administrativo

Nome Funcionario_Pessoa_Codig o Funcao

Descrio Chave estrangeira de Pessoa Funcao do Funcionari o

Tipo Integer Varchar(20 )

No Restries Nulo NN digitos[0-9] NN [Aa-Zz] caracteres especiais !@#$%&*() - +={}[]|?\/;,:

Tabela 6: Aluno

Nome Pessoa_Codig o Pendente

Descrio Chave estrangeira de Pessoa Sinalizador Pendncia

Tipo Integer Varchar(3)

No Nulo NN NN

Restries digitos[0-9] [Aa-Zz] caracteres especiais !@#$%&*() - +={}[]|?\/;,:

Tabela 7: Arquivo

Nome Cod_Arq Disciplina_Co d_disc

Descrio Cdigo do arquivo Cdigo da disciplina

Tipo Integer(Auto Increment) Integer

No Nulo NN NN

Restries digitos[0-9] [Aa-Zz] caracteres especiais !@#$%&*()+={}[]|?\/;,: [Aa-Zz] caracteres especiais !@#$%&*()+={}[]|?\/;,: -

Nome Data_Criacao

Nome do Arquivo Data de Criao do Arquivo Caminho do Arquivo

Varchar(20) Date

NN NN

caminho

Text

NN

46

Tabela 8: Aluno_Cursa_Disciplina

Nome Alunos_Pesso a_Codigo Disciplina_Co d_disc

Descrio Cdigo do aluno Cdigo da disciplina

Tipo Integer Integer

No Nulo NN NN

Restries digitos[0-9] [Aa-Zz] caracteres especiais !@#$%&*()+={}[]|?\/;,:

Tabela 9: Aluno_esta_turma

Nome Alunos_Pesso a_Codigo Turma_Cod_tu rma

Descrio Cdigo do aluno Cdigo da turma

Tipo Integer Integer

No Nulo NN NN

Restries [digitos[0-9] [Aa-Zz] caracteres especiais !@#$%&*()+={}[]|?\/;,: Restries digitos[0-9] -

Tabela 10: Cidade

Nome Cod_Cid Nome

Descrio Cdigo da cidade Nome da Cidade

Tipo Integer(Auto Increment) Varchar(45)

No Nulo NN NN

Tabela 11: Curso

Nome Cod_Curso Nome

Descrio Cdigo do curso Nome do curso

Tipo Integer(Auto Increment) Varchar(20)

No Nulo NN NN

Restries digitos[0-9] -

Tabela 12: Disciplina

Nome Cod_disc

Descrio Cdigo da disciplina Professor_Fun Cdigo do Professor da cionario_Pe Disciplina ssoa_Codig o Nome Nome da disciplina

Tipo Integer(Auto Increment) Integer

No Nulo NN NN

Restries digitos[0-9] [Aa-Zz] caracteres especiais !@#$%&*()+={}[]|?\/;,: -

Varchar(45)

NN

47

CargaHoraria

Carga Horaria da Disciplina

Integer

NN

Descricao

Descrio da Disciplina

Text

[Aa-Zz] caracteres especiais !@#$%&*()+={}[]|?\/;,: -

Tabela 13: Estado

Nome UF

Descrio UF do Estado

Tipo Char(2)

No Nulo NN

Nome

Nome do Estado

Varchar(45)

NN

Restries [0-9] caracteres especiais !@#$%&*()+={}[]|?\/;,: -

Tabela 14: Evento

Nome Cod_Ev Datar

Descrio Cdigo do evento Data do Evento

Tipo Integer(Auto Increment) Date

No Nulo NN NN

Restries digitos[0-9] [Aa-Zz] caracteres especiais !@#$%&*()+={}[]|?\/;,: [Aa-Zz] caracteres especiais !@#$%&*()+={}[]|?\/;,: -

Localr Prioridade

Local do Evento Prioridade do Evento

Text Integer

NN NN

Nome

Nome do Evento

Text

NN

Tabela 15: Funcionrio

Nome Pessoa_Codigo Endereco

Descrio Chave estrangeira de Pessoa Nome da Pessoa

Tipo Integer Varchar(255)

No Nulo NN NN

Restries digitos[0-9] digitos[0-9] caracteres especiais !@#$%&*() -+={}[]|?\/;,: 48

Cidade_Cod_Ci d

Cdigo da Cidade

Integer

Aa-Zz] caracteres especiais !@#$%&*() +={}[]|?\/;,:

Tabela 16: Pessoa

Nome Codigo Nome

Descrio Chave Primria Nome da Pessoa

Tipo Integer(AutoIncrement ) Varchar(45)

No Nulo NN NN

Restries digitos[0-9] digitos[0-9] caractere s especiais !@#$%&* ()+={}[]|?\/;,: caracteres especiais !@#$%&*()+={}[]|?\/;, : caracteres especiais !@#$%&*()+={}[]|?\/;, :

login

Email para pessoa se logar Senha para logar no sistema

Varchar(10)

NN

senha

Varchar(12)

NN

Tabela 17: Professor

Nome Funcionario_Pessoa_Codig o Formacao Exp_Prof Lattes

Descrio Chave estrangeira de Pessoa Formao do Professor Experincia Profissional Url do lattes

Tipo Integer Text Text Varchar (255)

No Nulo NN -

Restries digitos[0-9] caracteres especiais !@#$%&*() -+={}[]|?\/;,:

49

Tabela 18: Pessoa_recebe_SMS

Nome SMS_Cod_SM S Data_Rec

Descrio Cdigo do SMS Data de recebimento

Tipo Integer(Auto Increment) Date

No Nulo NN NN

Restries digitos[0-9] [Aa-Zz] caracteres especiais !@#$%&*()+={}[]|?\/;, [Aa-Zz] caracteres especiais !@#$%&*()+={}[]|?\/;,

Hora_Rec

Hora de recebimento

Time

NN

Tabela 19: SMS

Nome Cod_SMS Data_Envio

Descrio Cdigo do SMS Data do envio

Tipo Integer(Auto Increment) Date

No Nulo NN NN

Restries digitos[0-9] [Aa-Zz] caracteres especiais !@#$%&*()+={}[]|?\/;, [Aa-Zz] caracteres especiais !@#$%&*()+={}[]|?\/;, [Aa-Zz] caracteres especiais !@#$%&*()+={}[]|?\/;,: -

Hora_Envio

Hora de Envio

Time

NN

Funcionarios_ Pessoa_Co digo Situacao

Cdigo da pessoa q enviou Situacao do Envio

Integer

NN

Varchar

NN

Tabela 20: Telefone

Nome Numero

Descrio Nmero do telefone Pessoa_Codig Cdigo da Pessoa o

Tipo Vachar(10) Integer

No Nulo NN NN

Restries digitos[0-9] [Aa-Zz] caracteres especiais !@#$%&*()+={}[]|?\/;,: 50

Tipo_Tel_Cod _Tipo

Cdigo do Tipo de Telefone

Integer

NN

[Aa-Zz] caracteres especiais !@#$%&*()+={}[]|?\/;,:

Tabela 21: Tipo_tel

Nome Cod_Tipo Nome

Descrio Cdigo do Tipo de Telefone Nome do Tipo

Tipo Integer(Auto Increment) Varchar(20)

No Nulo NN NN

Restries digitos[0-9] -

Tabela 22: Turma

Nome Cod_turma Ano

Descrio Cdigo da turma Ano da turma

Tipo Integer Year

No Nulo NN NN

Restries digitos[0-9] digitos[0-9]

4.4.7 Script SQL


/*CREATE DATABASE "wsdemat" WITH ENCODING = 'UTF8'; */ DROP TABLE Pessoa CASCADE; DROP TABLE Estado CASCADE; DROP TABLE Cidade CASCADE; DROP TABLE Tipo_Tel CASCADE; DROP TABLE Telefone CASCADE; DROP TABLE Alunos CASCADE; DROP TABLE Funcionarios CASCADE; DROP TABLE Admnistrativo CASCADE; DROP TABLE Professor CASCADE; DROP TABLE Formacao CASCADE; DROP TABLE Publicacoes CASCADE; DROP TABLE Pesquisa CASCADE; DROP TABLE Disciplinas CASCADE; DROP TABLE Curso CASCADE;

51

DROP TABLE Arquivos CASCADE; DROP TABLE Turma CASCADE; DROP TABLE Aluno_Cursa_Disciplina CASCADE; DROP TABLE Aluno_Esta_Turma CASCADE; DROP TABLE Pessoa_Recebe_SMS CASCADE; DROP TABLE Eventos CASCADE; DROP TABLE SMS CASCADE; DROP LANGUAGE plpgsql CASCADE; CREATE LANGUAGE plpgsql; CREATE TABLE Pessoa( Codigo SERIAL NOT NULL, Nome VARCHAR(45) NOT NULL, Login VARCHAR(30) NOT NULL, Senha VARCHAR(12) NOT NULL, PRIMARY KEY(Codigo) ); CREATE $trigger_validar$ BEGIN IF(NEW.Login ~* '^[-_a-z0-9]+(\\.[-_a-z0-9]+)*\\@([-a-z0-9]+\\.)*([a-z]{2,4})$')THEN RETURN NEW; END IF; RAISE EXCEPTION 'Email Invalido!!'; END; $trigger_validar$ LANGUAGE plpgsql; CREATE TRIGGER valida_login BEFORE INSERT OR UPDATE ON Pessoa FOR EACH ROW EXECUTE PROCEDURE validar_email(); CREATE $trigger_validpes$ BEGIN IF((NEW.Nome='') OR (NEW.Login='') OR (NEW.Senha=''))THEN RAISE EXCEPTION 'Por favor preencha todos campos obrigatrios!'; END IF; RETURN NEW; END; $trigger_validpes$ LANGUAGE plpgsql; OR REPLACE FUNCTION valida_pessoa() RETURNS trigger AS OR REPLACE FUNCTION validar_email() RETURNS trigger AS

52

CREATE $email_repet$ DECLARE

OR

REPLACE

FUNCTION

email_repeat()

RETURNS

trigger

AS

consulta TEXT; BEGIN SELECT Login FROM Pessoa WHERE Login=NEW.Login INTO consulta; IF(consulta<>'') THEN RAISE EXCEPTION 'Email j cadastrado!'; END IF; RETURN NEW; END; $email_repet$ LANGUAGE plpgsql; CREATE TRIGGER testa_repet BEFORE INSERT ON Pessoa FOR EACH ROW EXECUTE PROCEDURE email_repeat(); CREATE TRIGGER validar_pessoa BEFORE INSERT ON Pessoa FOR EACH ROW EXECUTE PROCEDURE valida_pessoa(); CREATE TABLE Estado( UF VARCHAR(2) NOT NULL UNIQUE, Nome_Est VARCHAR(45) NOT NULL, PRIMARY KEY(UF) ); CREATE $trigger_validest$ DECLARE ruf TEXT; BEGIN SELECT UF FROM Estado WHERE UF = NEW.UF INTO ruf; IF(ruf<>'')THEN RAISE EXCEPTION 'UF ja cadastrada!'; END IF; IF((NEW.UF='') OR (NEW.Nome_Est=''))THEN RAISE EXCEPTION 'Por favor preencha todos campos obrigatrios!'; END IF; RETURN NEW; END; $trigger_validest$ LANGUAGE plpgsql; CREATE TRIGGER validar_estado BEFORE INSERT ON Estado OR REPLACE FUNCTION valida_estado() RETURNS trigger AS

53

FOR EACH ROW EXECUTE PROCEDURE valida_estado(); CREATE TABLE Cidade( Cod_Cid INTEGER NOT NULL, Nome_Cid VARCHAR(45) NOT NULL, PRIMARY KEY(Cod_Cid), UF VARCHAR(2) REFERENCES Estado(UF) ON UPDATE CASCADE ON DELETE CASCADE NOT NULL ); CREATE $trigger_validcid$ DECLARE ruf TEXT; BEGIN SELECT UF FROM Estado WHERE UF = NEW.UF INTO ruf; IF(ruf='')THEN RAISE EXCEPTION 'UF no cadastrada!'; END IF; IF((NEW.Nome_Cid='') OR (NEW.UF=''))THEN RAISE EXCEPTION 'Por favor preencha todos campos obrigatrios!'; END IF; RETURN NEW; END; $trigger_validcid$ LANGUAGE plpgsql; CREATE TRIGGER validar_cidade BEFORE INSERT ON Cidade FOR EACH ROW EXECUTE PROCEDURE valida_cidade(); CREATE TABLE Eventos( Cod_Ev SERIAL NOT NULL, Nome_Ev TEXT NOT NULL, Datar DATE NOT NULL, Localr TEXT NOT NULL, Descricao TEXT, Prioridade INTEGER NOT NULL CHECK(Prioridade>0), Banner TEXT, Cod_Cid INTEGER REFERENCES Cidade(Cod_Cid) ON UPDATE CASCADE ON DELETE CASCADE, PRIMARY KEY(Cod_Ev) ); OR REPLACE FUNCTION valida_cidade() RETURNS trigger AS

54

CREATE DECLARE ruf TEXT; BEGIN

OR

REPLACE

FUNCTION

valida_evento()

RETURNS

trigger

AS

$trigger_validevento$

SELECT Cod_Cid FROM Cidade WHERE Cod_Cid = NEW.Cod_Cid INTO ruf; IF(ruf='')THEN RAISE EXCEPTION 'Cidade no cadastrada!'; END IF; IF(NEW.Prioridade<1)THEN RAISE EXCEPTION 'Prioridade deve ser maior ou igual a 1!'; END IF; IF((NEW.Nome_Ev='') OR (NEW.Localr=''))THEN RAISE EXCEPTION 'Por favor preencha todos campos obrigatrios!'; END IF; RETURN NEW; END; $trigger_validevento$ LANGUAGE plpgsql; CREATE TRIGGER validar_evento BEFORE INSERT ON Eventos FOR EACH ROW EXECUTE PROCEDURE valida_evento(); CREATE OR REPLACE FUNCTION validar_data_evento() RETURNS trigger AS $valida_data$ DECLARE BEGIN IF (NEW.Datar >= CURRENT_DATE) THEN RETURN NEW; END IF; RAISE EXCEPTION 'Data Invalida!!'; END; $valida_data$ LANGUAGE plpgsql; CREATE $valida_ev$ DECLARE cdata TEXT; cpri TEXT; BEGIN SELECT Datar FROM Eventos WHERE Datar = NEW.Datar INTO cdata; SELECT Prioridade FROM Eventos WHERE Datar = NEW.Datar AND Prioridade=1 INTO cpri; OR REPLACE FUNCTION verifica_evento() RETURNS trigger AS

55

IF(((NEW.Prioridade=1) AND(cdata<>'')) OR (cpri<>'')) THEN RAISE EXCEPTION 'Data Invalida para Cadastro de Evento'; END IF; RETURN NEW; END; $valida_ev$ LANGUAGE plpgsql; CREATE TRIGGER testa_prioridade BEFORE INSERT ON Eventos FOR EACH ROW EXECUTE PROCEDURE verifica_evento(); CREATE TRIGGER valida_dataenv BEFORE INSERT OR UPDATE ON Eventos FOR EACH ROW EXECUTE PROCEDURE validar_data_evento(); CREATE TABLE Tipo_Tel( Cod_Tipo SERIAL NOT NULL, Tipo VARCHAR(15) NOT NULL, PRIMARY KEY(Cod_Tipo) ); CREATE $trigger_validtt$ BEGIN IF((NEW.Tipo=''))THEN RAISE EXCEPTION 'Por favor preencha todos campos obrigatrios!'; END IF; RETURN NEW; END; $trigger_validtt$ LANGUAGE plpgsql; CREATE TRIGGER validar_tipotel BEFORE INSERT ON Tipo_Tel FOR EACH ROW EXECUTE PROCEDURE valida_tipotel(); CREATE TABLE Telefone( Cod_Tel SERIAL NOT NULL, Numero VARCHAR(10) NOT NULL, Cod_Tipo INTEGER REFERENCES Tipo_Tel(Cod_Tipo) ON UPDATE CASCADE ON DELETE CASCADE, Codigo INTEGER REFERENCES Pessoa(Codigo) ON UPDATE CASCADE ON DELETE CASCADE NOT NULL, PRIMARY KEY (Cod_Tel) ); CREATE OR REPLACE FUNCTION validar_tel() RETURNS trigger AS $validar_tel$ OR REPLACE FUNCTION valida_tipotel() RETURNS trigger AS

56

BEGIN IF(NEW.Numero ~* '^[[0-9]{10}$')THEN RETURN NEW; END IF; RAISE EXCEPTION 'Telefone Invalido!!'; END; $validar_tel$ LANGUAGE plpgsql; CREATE TRIGGER testa_tel BEFORE INSERT ON Telefone FOR EACH ROW EXECUTE PROCEDURE validar_tel(); CREATE $trigger_validtel$ DECLARE cctip TEXT; ccpes TEXT; BEGIN SELECT Cod_Tipo FROM Tipo_Tel WHERE Cod_Tipo = NEW.Cod_Tipo INTO cctip; SELECT Codigo FROM Pessoa WHERE Codigo=New.Codigo INTO ccpes; IF(cctip='')THEN RAISE EXCEPTION 'Tipo de Telefone no cadastrado!'; END IF; IF(ccpes='')THEN RAISE EXCEPTION 'Pessoa no cadastrada!'; END IF; IF((NEW.Numero=''))THEN RAISE EXCEPTION 'Por favor preencha todos campos obrigatrios!'; END IF; RETURN NEW; END; $trigger_validtel$ LANGUAGE plpgsql; CREATE TRIGGER validar_telefone BEFORE INSERT ON Telefone FOR EACH ROW EXECUTE PROCEDURE valida_telefone(); CREATE TABLE Alunos( Pendente BOOLEAN NOT NULL, Cursando BOOLEAN NOT NULL, Codigo INTEGER REFERENCES Pessoa(Codigo) ON UPDATE CASCADE ON DELETE CASCADE NOT NULL, PRIMARY KEY(Codigo) ); OR REPLACE FUNCTION valida_telefone() RETURNS trigger AS

57

CREATE $trigger_validalu$ DECLARE

OR

REPLACE

FUNCTION

valida_aluno()

RETURNS

trigger

AS

ccpes TEXT; BEGIN SELECT Codigo FROM Pessoa WHERE Codigo=New.Codigo INTO ccpes; IF(ccpes='')THEN RAISE EXCEPTION 'Pessoa no cadastrada!'; END IF; RETURN NEW; END; $trigger_validalu$ LANGUAGE plpgsql; CREATE TRIGGER validar_aluno BEFORE INSERT ON Alunos FOR EACH ROW EXECUTE PROCEDURE valida_aluno(); CREATE TABLE Funcionarios( Endereco VARCHAR(255), Codigo INTEGER REFERENCES Pessoa(Codigo) ON UPDATE CASCADE ON DELETE CASCADE NOT NULL, PRIMARY KEY(Codigo) ); CREATE $trigger_validfunc$ DECLARE ccpes TEXT; BEGIN SELECT Codigo FROM Pessoa WHERE Codigo=New.Codigo INTO ccpes; IF(ccpes='')THEN RAISE EXCEPTION 'Pessoa no cadastrada!'; END IF; RETURN NEW; END; $trigger_validfunc$ LANGUAGE plpgsql; CREATE TRIGGER validar_func BEFORE INSERT ON Funcionarios FOR EACH ROW EXECUTE PROCEDURE valida_func(); CREATE TABLE Admnistrativo( Funcao VARCHAR(20) NOT NULL, Codigo INTEGER REFERENCES Funcionarios(Codigo) ON UPDATE CASCADE ON DELETE CASCADE NOT NULL, OR REPLACE FUNCTION valida_func() RETURNS trigger AS

58

PRIMARY KEY(Codigo) ); CREATE $trigger_validad$ DECLARE ccpes TEXT; BEGIN SELECT Codigo FROM Pessoa WHERE Codigo=New.Codigo INTO ccpes; IF(ccpes='')THEN RAISE EXCEPTION 'Pessoa no cadastrada!'; END IF; IF((NEW.Funcao=''))THEN RAISE EXCEPTION 'Por favor preencha todos campos obrigatrios!'; END IF; RETURN NEW; END; $trigger_validad$ LANGUAGE plpgsql; CREATE TRIGGER validar_ad BEFORE INSERT ON Admnistrativo FOR EACH ROW EXECUTE PROCEDURE valida_ad(); OR REPLACE FUNCTION valida_ad() RETURNS trigger AS

CREATE TABLE Professor( Lattes Varchar(45), Foto TEXT, Codigo INTEGER REFERENCES Funcionarios(Codigo) ON UPDATE CASCADE ON DELETE CASCADE NOT NULL, PRIMARY KEY(Codigo) ); CREATE $trigger_validprof$ DECLARE ccpes TEXT; BEGIN SELECT Codigo FROM Pessoa WHERE Codigo=New.Codigo INTO ccpes; IF(ccpes='')THEN RAISE EXCEPTION 'Pessoa no cadastrada!'; END IF; RETURN NEW; END; $trigger_validprof$ LANGUAGE plpgsql; OR REPLACE FUNCTION valida_prof() RETURNS trigger AS

59

CREATE TRIGGER validar_prof BEFORE INSERT ON Professor FOR EACH ROW EXECUTE PROCEDURE valida_prof(); CREATE TABLE Formacao ( Cod_Forma SERIAL UNIQUE, Nome_Titulo VARCHAR(45) NOT NULL, Ano_Titulo INTEGER NOT NULL, Desc_Titulo TEXT, Codigo INTEGER REFERENCES Professor(Codigo) ON UPDATE CASCADE ON DELETE CASCADE NOT NULL ); CREATE DECLARE ccpes TEXT; BEGIN SELECT Codigo FROM Pessoa WHERE Codigo=New.Codigo INTO ccpes; IF(ccpes='')THEN RAISE EXCEPTION 'Professor no cadastrado!'; END IF; IF((NEW.Nome_Titulo=''))THEN RAISE EXCEPTION 'Por favor preencha todos campos obrigatrios!'; END IF; RETURN NEW; END; $trigger_validforma$ LANGUAGE plpgsql; CREATE TRIGGER validar_forma BEFORE INSERT ON Formacao FOR EACH ROW EXECUTE PROCEDURE valida_forma(); CREATE TABLE Publicacoes ( Cod_Pub SERIAL NOT NULL UNIQUE, Ano_Pub INTEGER NOT NULL, Nome_Pub VARCHAR(100) NOT NULL, Local_Pub VARCHAR(200), Link_Pub TEXT, Caminho_Pub TEXT, Desc_Pub TEXT, Codigo INTEGER REFERENCES Professor(Codigo) ON UPDATE CASCADE ON DELETE CASCADE NOT NULL ); OR REPLACE FUNCTION valida_forma() RETURNS trigger AS $trigger_validforma$

60

CREATE $trigger_validpub$ DECLARE

OR

REPLACE

FUNCTION

valida_pub()

RETURNS

trigger

AS

ccpes TEXT; BEGIN SELECT Codigo FROM Pessoa WHERE Codigo=New.Codigo INTO ccpes; IF(ccpes='')THEN RAISE EXCEPTION 'Professor no cadastrado!'; END IF; IF((NEW.Nome_Pub=''))THEN RAISE EXCEPTION 'Por favor preencha todos campos obrigatrios!'; END IF; RETURN NEW; END; $trigger_validpub$ LANGUAGE plpgsql; CREATE TRIGGER validar_pub BEFORE INSERT ON Publicacoes FOR EACH ROW EXECUTE PROCEDURE valida_pub(); CREATE TABLE Pesquisa ( Cod_Pesq SERIAL UNIQUE, Periodo VARCHAR(25) NOT NULL, Nome_Pesq VARCHAR(100) NOT NULL, Participantes VARCHAR(200), Financiadores VARCHAR(200), Desc_Pesq TEXT, Codigo INTEGER REFERENCES Professor(Codigo) ON UPDATE CASCADE ON DELETE CASCADE NOT NULL ); CREATE $trigger_validpesq$ DECLARE ccpes TEXT; BEGIN SELECT Codigo FROM Pessoa WHERE Codigo=New.Codigo INTO ccpes; IF(ccpes='')THEN RAISE EXCEPTION 'Professor no cadastrado!'; END IF; IF((NEW.Nome_Pesq='') OR (NEW.Periodo=''))THEN RAISE EXCEPTION 'Por favor preencha todos campos obrigatrios!'; END IF; OR REPLACE FUNCTION valida_pesq() RETURNS trigger AS

61

RETURN NEW; END; $trigger_validpesq$ LANGUAGE plpgsql; CREATE TRIGGER validar_pesq BEFORE INSERT ON Pesquisa FOR EACH ROW EXECUTE PROCEDURE valida_pesq(); CREATE TABLE Curso( Cod_Curso SERIAL UNIQUE, Nome_Curso VARCHAR(20), PRIMARY KEY(Cod_Curso) ); CREATE TABLE Disciplinas( Cod_Disc SERIAL NOT NULL, Nome_Disc VARCHAR(45) NOT NULL, CargaHoraria INTEGER NOT NULL CHECK(CargaHoraria>0), Descricao TEXT, PRIMARY KEY(Cod_Disc), Codigo INTEGER REFERENCES Professor(Codigo) ON UPDATE CASCADE ON DELETE CASCADE NOT NULL, Cod_curso INTEGER REFERENCES Curso(Cod_curso) ON UPDATE CASCADE ON DELETE CASCADE NOT NULL ); CREATE $trigger_validdisc$ DECLARE ccpes TEXT; ccurso TEXT; BEGIN SELECT Codigo FROM Pessoa WHERE Codigo=New.Codigo INTO ccpes; SELECT Cod_Curso FROM Curso WHERE Cod_Curso=New.Cod_Curso INTO ccurso; IF(ccpes='')THEN RAISE EXCEPTION 'Professor no cadastrado!'; END IF; IF(ccurso='')THEN RAISE EXCEPTION 'Curso no cadastrado!'; END IF; IF(NEW.CargaHoraria<1)THEN RAISE EXCEPTION 'Carga Horaria deve ser maior do q 0!'; OR REPLACE FUNCTION valida_disc() RETURNS trigger AS

62

END IF; IF((NEW.Nome_Disc=''))THEN RAISE EXCEPTION 'Por favor preencha todos campos obrigatrios!'; END IF; RETURN NEW; END; $trigger_validdisc$ LANGUAGE plpgsql; CREATE TRIGGER validar_disc BEFORE INSERT ON Disciplinas FOR EACH ROW EXECUTE PROCEDURE valida_disc(); CREATE TABLE Arquivos( Cod_Arq SERIAL NOT NULL, Nome_Arq VARCHAR(20), DataCriacao DATE CHECK(DataCriacao<=CURRENT_DATE), Caminho TEXT, PRIMARY KEY(Cod_Arq), Cod_Disc INTEGER REFERENCES Disciplinas(Cod_Disc) NOT NULL ); CREATE $trigger_validarq$ DECLARE ccpes TEXT; BEGIN SELECT Cod_Disc FROM Disciplinas WHERE Cod_Disc=New.Cod_Disc INTO ccpes; IF(ccpes='')THEN RAISE EXCEPTION 'Disciplina no cadastrada!'; END IF; IF(NEW.DataCriacao>CURRENT_DATE)THEN RAISE EXCEPTION 'Data deve ser maior que a atual'; END IF; RETURN NEW; END; $trigger_validarq$ LANGUAGE plpgsql; CREATE TRIGGER validar_arq BEFORE INSERT ON Arquivos FOR EACH ROW EXECUTE PROCEDURE valida_arq(); CREATE TABLE Turma( Cod_Turma SERIAL NOT NULL UNIQUE, Ano INTEGER, PRIMARY KEY(Cod_Turma) OR REPLACE FUNCTION valida_arq() RETURNS trigger AS

63

); CREATE OR REPLACE FUNCTION validar_ano() RETURNS trigger AS $valida_ano$ BEGIN IF(NEW.Ano<=date_part('year',CURRENT_TIMESTAMP)) THEN RETURN NEW; END IF; RAISE EXCEPTION 'Ano Invalido!!'; END; $valida_ano$ LANGUAGE plpgsql; CREATE TRIGGER valida_ano BEFORE INSERT OR UPDATE ON Turma FOR EACH ROW EXECUTE PROCEDURE validar_ano(); CREATE TABLE Aluno_Cursa_Disciplina( Cod_Disc INTEGER REFERENCES Disciplinas(Cod_Disc)ON UPDATE CASCADE ON DELETE CASCADE NOT NULL, Codigo INTEGER REFERENCES Alunos(Codigo) ON UPDATE CASCADE ON DELETE CASCADE NOT NULL, PRIMARY KEY(Cod_Disc,Codigo) ); CREATE $trigger_validadisc$ DECLARE ccpes TEXT; cdisc TEXT; verif TEXT; BEGIN SELECT Codigo FROM Pessoa WHERE Codigo=New.Codigo INTO ccpes; SELECT Cod_Disc FROM Disciplinas WHERE Cod_Disc=New.Cod_Disc INTO cdisc; SELECT * FROM Aluno_Cursa_Disciplina WHERE Cod_Disc=New.Cod_Disc AND Codigo=NEW.Codigo INTO verif; IF(verif<>'')THEN RAISE EXCEPTION 'Disciplina ja cadastrada para esse aluno!'; END IF; IF(ccpes='')THEN RAISE EXCEPTION 'Aluno no cadastrado!'; END IF; IF(cdisc='')THEN RAISE EXCEPTION 'Disciplina no cadastrado!'; OR REPLACE FUNCTION valida_adisc() RETURNS trigger AS

64

END IF; RETURN NEW; END; $trigger_validadisc$ LANGUAGE plpgsql; CREATE TRIGGER validar_adisc BEFORE INSERT ON Aluno_Cursa_Disciplina FOR EACH ROW EXECUTE PROCEDURE valida_adisc(); CREATE TABLE Aluno_Esta_Turma( Codigo INTEGER REFERENCES Alunos(Codigo) ON UPDATE CASCADE ON DELETE CASCADE NOT NULL, Cod_Turma INTEGER REFERENCES Turma(Cod_Turma) ON UPDATE CASCADE ON DELETE CASCADE NOT NULL, PRIMARY KEY(Codigo,Cod_Turma) ); CREATE TABLE SMS( Cod_SMS INTEGER NOT NULL, Texto TEXT, Data_Envio DATE NOT NULL, Hora_Envio TIME NOT NULL, PRIMARY KEY(Cod_SMS) ); CREATE OR REPLACE FUNCTION validar_data_SMS() RETURNS trigger AS $valida_data$ BEGIN IF (NEW.Data_Envio>=CURRENT_DATE) THEN RETURN NEW; END IF; RAISE EXCEPTION 'Data Invalida!!'; END; $valida_data$ LANGUAGE plpgsql; CREATE TRIGGER valida_dataenv BEFORE INSERT OR UPDATE ON SMS FOR EACH ROW EXECUTE PROCEDURE validar_data_SMS();

CREATE TABLE Pessoa_Recebe_SMS( Cod_SMS INTEGER REFERENCES SMS(Cod_SMS),

65

Codigo INTEGER REFERENCES Pessoa(Codigo) ON UPDATE CASCADE ON DELETE CASCADE NOT NULL, PRIMARY KEY(Codigo,Cod_SMS) ); CREATE OR REPLACE VIEW telefones AS SELECT Pessoa,Telefone,Tipo_Tel WHERE Pessoa.Codigo=Telefone.Codigo; INSERT INTO tipo_tel(Tipo) VALUES('Celular'); INSERT INTO tipo_tel(Tipo) VALUES('Residencial'); INSERT INTO tipo_tel(Tipo) VALUES('Comercial'); INSERT INTO Estado(nome_est,uf) VALUES ('PARANA','PR'); INSERT INTO Estado(nome_est,uf) VALUES ('SANTA CATARINA','SC'); INSERT INTO Estado(nome_est,uf) VALUES ('RIO GRANDE DO SUL','RS'); INSERT INTO Estado(nome_est,uf) VALUES ('SAO PAULO','SP'); INSERT INTO Estado(nome_est,uf) VALUES ('RIO DE JANEIRO','RJ'); INSERT INTO Estado(nome_est,uf) VALUES ('MINAS GERAIS','MG'); INSERT INTO Estado(nome_est,uf) VALUES ('ESPIRITO SANTO','ES'); INSERT INTO Estado(nome_est,uf) VALUES ('MATO GROSSO DO SUL','MS'); INSERT INTO Estado(nome_est,uf) VALUES ('MATO GROSSO','MT'); INSERT INTO Estado(nome_est,uf) VALUES ('DISTRITO FEDERAL','DF'); INSERT INTO Estado(nome_est,uf) VALUES ('GOIAS','GO'); INSERT INTO Estado(nome_est,uf) VALUES ('TOCANTINS','TO'); INSERT INTO Estado(nome_est,uf) VALUES ('PARA','PA'); INSERT INTO Estado(nome_est,uf) VALUES ('AMAPA','AP'); INSERT INTO Estado(nome_est,uf) VALUES ('RORAIMA','RR'); INSERT INTO Estado(nome_est,uf) VALUES ('AMAZONAS','AM'); INSERT INTO Estado(nome_est,uf) VALUES ('ACRE','AC'); INSERT INTO Estado(nome_est,uf) VALUES ('RONDONIA','RO'); INSERT INTO Estado(nome_est,uf) VALUES ('BAHIA','BA'); INSERT INTO Estado(nome_est,uf) VALUES ('SERGIPE','SE'); INSERT INTO Estado(nome_est,uf) VALUES ('ALAGOAS','AL'); INSERT INTO Estado(nome_est,uf) VALUES ('PERNAMBUCO','PE'); INSERT INTO Estado(nome_est,uf) VALUES ('PIAUI','PI'); INSERT INTO Estado(nome_est,uf) VALUES ('MARANHAO','MA'); INSERT INTO Estado(nome_est,uf) VALUES ('CEARA','CE'); INSERT INTO Estado(nome_est,uf) VALUES ('RIO GRANDE DO NORTE','RN'); INSERT INTO Estado(nome_est,uf) VALUES ('PARAIBA','PB'); Pessoa.Nome,Telefone.Numero,Tipo_Tel.Tipo from

66

5. PROTTIPO DA INTERFACE
Os prottipos da interface de desenvolvidos esto relacionados abaixo:

Figura 38: Cadastrar Evento

Figura 39: Cadastrar/atualizar professor

67

Figura 40: Baixar Arquivo

Aps as alteraes, a interface ficouda seguinte maneira:

Figura 41: Pgina inicial

68

Figura 42: Enviar SMS

Figura 43: Enviar SMS

69

6. PLANO DE TESTE
6.1 Efetuar Login
Teste 1 Campo Login - Invlido Entrada 1 Sada 1 - ERRO: Informe E-mail Teste 2 Campo Login - Invlido Entrada 2 Jos Sada 2 - ERRO: E-mail Invlido Teste 3 Campo Login - Invlido Entrada 3 Josantonio Sada 3 - ERRO: E-mail Invlido Teste 4 Campo Login - Invlido Entrada 4 joseantonio@ig Sada 4 - ERRO: E-mail Invlido Teste 5 Campo Login - Vlido Entrada 5 joseantonio@ig.com.br Sada 5 Opo Vlida Teste 6 Campo Senha - Invlido Entrada 6 jose Sada 6 ERRO: Campo Senha de no mnimo 6 e mximo 11 caracteres Teste 7 Campo Senha - Invlido Entrada 7 joseantonio12 Sada 7 ERRO: Campo Senha de no mnimo 6 e mximo 11 caracteres Teste 8 Campo Senha - Invlido Entrada 8 Sada 8 ERRO:"Informe sua senha" Teste 9 Campo Senha - Vlido Entrada 9 jose1234 Sada 9 Opo Vlida

6.2 Cadastrar Aluno


Teste 1 Campo "Nome Completo - Invlido Entrada 1 Jose Antonio de Souz@ Sada 1 - ERRO: Nome Invlido. Caracteres Vlidos (A a B b C c ... Z z) Teste 2 Campo "Nome Completo - Invlido Entrada 2 Jose Antonio 1985 Sada 2 - ERRO: Nome Invlido. Caracteres Vlidos (A a B b C c ... Z z)

70

Teste 3 Campo "Nome Completo - Invlido Entrada 3 Sada 3 - ERRO: Informe seu Nome Completo Teste 4 Campo "Nome Completo - Vlido Entrada 4 Jos Antonio de Souza Sada 4 - Opo Vlida Teste 5 Campo Email Invlido Entrada 5 Jos Sada 5 ERRO: "Email Invlido" Teste 9 Campo Email Invlido Entrada 9 jose@.com Sada 9 ERRO: "Email Invlido" Teste 10 Campo Email Vlido Entrada 10 joseantonio@ig.com.br Sada 10 Opo Vlida Teste 11 Campo Senha Invlido Entrada 11 Sada 11 ERRO: Informe sua senha" Teste 12 Campo Senha Vlido Entrada 12 jose1234 Sada 12 Opo Vlida Teste 13 Campo Confirmar Senha Invlido Entrada 13 jose123 Sada 13 ERRO: Senha no confere" Teste 14 Campo Confirmar Senha Vlido Entrada 14 jose1234 Sada 14 Opo Vlida Teste 15 Campo Curso Invlido Entrada 15 Sada 15 ERRO: "Caracteres Invlidos" Teste 16 Campo Curso Vlido Entrada 16 Engenharia de Computao Sada 16 Opo Vlida Teste 17 Campo Srie Invlido Entrada 17 Sada 17 ERRO: "Caracteres Invlidos"

71

Teste 18 Campo Srie Vlido Entrada 18 4 Sada 18 Opo Vlida

6.3 Cadastrar Professor


Teste 1 Campo "Nome Completo - Invlido Entrada 1 Jose Antonio de Souz@ Sada 1 - ERRO: Nome Invlido. Caracteres Vlidos (A a B b C c ... Z z) Teste 2 Campo "Nome Completo - Invlido Entrada 2 Jose Antonio 1985 Sada 2 - ERRO: Nome Invlido. Caracteres Vlidos (A a B b C c ... Z z) Teste 3 Campo "Nome Completo - Invlido Entrada 3 Sada 3 - ERRO: Informe seu Nome Completo Teste 4 Campo "Nome Completo - Vlido Entrada 4 Jos Antonio de Souza Sada 4 - Opo Vlida Teste 5 Campo Email Invlido Entrada 5 Jos Sada 5 ERRO: "Email Invlido" Teste 9 Campo Email Invlido Entrada 9 jose@.com Sada 9 ERRO: "Email Invlido" Teste 10 Campo Email Vlido Entrada 10 joseantonio@ig.com.br Sada 10 Opo Vlida Teste 11 Campo Senha Invlido Entrada 11 Sada 11 ERRO: Informe sua senha" Teste 12 Campo Senha Vlido Entrada 12 jose1234 Sada 12 Opo Vlida Teste 13 Campo Confirmar Senha Invlido Entrada 13 jose123 Sada 13 ERRO: Senha no confere" Teste 14 Campo Confirmar Senha Vlido Entrada 14 jose1234 Sada 14 Opo Vlida

72

Teste 15 Campo DDD Invlido Entrada 15 a% Sada 15 ERRO: "Caracteres Invlidos" Teste 16 Campo DDD Vlido Entrada 16 42 Sada 16 Opo Vlida Teste 17 Campo Telefone Invlido Entrada 17 3027-1111 Sada 17 ERRO: "Caracteres Invlidos Teste 18 Campo Telefone Vlido Entrada 18 30271111 Sada 18 Opo Vlida

6.4 Cadastrar Funcionrio


Teste 1 Campo "Nome Completo - Invlido Entrada 1 Jose Antonio de Souz@ Sada 1 - ERRO: Nome Invlido. Caracteres Vlidos (A a B b C c ... Z z) Teste 2 Campo "Nome Completo - Invlido Entrada 2 Jose Antonio 1985 Sada 2 - ERRO: Nome Invlido. Caracteres Vlidos (A a B b C c ... Z z) Teste 3 Campo "Nome Completo - Invlido Entrada 3 Sada 3 - ERRO: Informe seu Nome Completo Teste 4 Campo "Nome Completo - Vlido Entrada 4 Jos Antonio de Souza Sada 4 - Opo Vlida Teste 5 Campo Endereo - Invlido Entrada 5 Rua Augusto Rib@s Sada 5 ERRO: Caracteres <>\ /@ ! # $ % & _ * ( ) + = [ ] { } ? : ; invlidos Teste 6 Campo Endereo - Invlido Entrada 6 Sada 6 ERRO "Campo Obrigatrio" Teste 7 Campo Endereo Vlido Entrada 7 Rua Augusto Ribas Sada 7 Opo Vlida Teste 8 Campo Nmero Invlido Entrada 8 1.230

73

Sada 8 ERRO: Nome Invlido. Caracteres Invlidos Teste 9 Campo Nmero Invlido Entrada 9 Sada 9 ERRO: Campo Obrigatrio Teste 10 Campo Nmero Vlido Entrada 10 1230 Sada 10 Opo Vlida Teste 11 Campo Bairro Invlido Entrada 11 \Centro Sada 11 ERRO: Nome Invlido. Caracteres Vlidos (A a B b C c ... Z z) Teste 12 Campo Bairro Invlido Entrada 12 Sada 12 ERRO "Informe um Bairro" Teste 13 Campo Bairro Vlido Entrada 13 Centro Sada 13 ERRO "Informe um Bairro" Teste 14 Campo CEP Invlido Entrada 14 840i0444 Sada 14 ERRO: "CEP Invlido ou no existente" Teste 15 Campo CEP Invlido Entrada 15 84010 Sada 15 ERRO: "CEP Invlido ou no existente" Teste 16 Campo CEP Vlido Entrada 16 84010444 Sada 16 Opo Vlida Teste 17 Campo Complemento Invlido Entrada 17 @#$ Sada 17 Erro: Caracteres Invlidos Teste 18 Campo Complemento Vlido Entrada 18 Apartamento 20 Sada 18 Opo Vlida Teste 19 Campo Cidade - Invlido Entrada 19 Pont@ Gr0ssa Sada 19 ERRO: Caracteres <>\ /@ ! # $ % & _ * ( ) + = [ ] { } ? : ; invlidos Teste 20 Campo Cidade - Vlido Entrada 20 Ponta Grossa Sada 20 Opo Vlida Teste 21 Campo Estado - Invlido Entrada 21 P%

74

Sada 21 ERRO: Caracteres <>\ /@ ! # $ % & _ * ( ) + = [ ] { } ? : ; invlidos Teste 22 Campo Estado - Vlido Entrada 22 PR Sada 22 Opo Vlida Teste 23 Campo DDD Invlido Entrada 23 a% Sada 23 ERRO: "Caracteres Invlidos" Teste 24 Campo DDD Vlido Entrada 24 42 Sada 24 Opo Vlida Teste 25 Campo Telefone Invlido Entrada 25 3027-1111 Sada 25 ERRO: "Caracteres Invlidos Teste 26 Campo Telefone Vlido Entrada 26 30271111 Sada 26 Opo Vlida

6.5 Cadastrar Evento


Teste 1 Campo "Descrio - Invlido Entrada 1 Ablhf%@ Sada 1 ERRO: Caracteres Invlidos Teste 2 Campo "Descrio - Invlido Entrada 2 Sada 2 ERRO: Informe Descrio Teste 3 Campo "Descrio - Vlido Entrada 3 Encontro Nacional de Matemtica Sada 3 Opo Vlida Teste 4 Campo "Prioridade - Invlido Entrada 4 aaa Sada 4 ERRO: Caracteres Invlidos Teste 5 Campo "Prioridade - Invlido Entrada 5 %%% Sada 5 ERRO: Caracteres Invlidos Teste 6 Campo "Prioridade - Vlido Entrada 6 1 Sada 6 Opo Vlida

75

7. CRONOGRAMA

Figura 44: Cronograma

76

8. CONCLUSO
Atravs da elaborao do anteprojeto, anlise dos riscos, custos e benefcios, pode-se perceber que o projeto tem implementao vivel tanto pelo seu escopo quanto pela necessidade do Departamento de Matemtica em ter um meio online de divulgao das informaes referentes aos seus professores no que diz respeito dados pessoais, trabalhos realizados, divulgao de material complementar ao estudo por parte dos acadmicos. Tais informaes so fundamentais na divulgao do departamento e suas produes, como uma forma de atrair novos alunos e professores interessados nas reas de pesquisa da matemtica proporcionando o crescimento do departamento dentro e fora da Universidade.

77

9. REFERNCIAS BIBLIOGRFICAS
E.C. Silva, K. M. Mattos WEBVET: Sistema WEB para Clnica Veterinria. Disponvel em <http://pacheco.w3.ind.br/projeto/projetoteca/Projeto%20WEBVET3%c2%baBI M.pdf> Acessado em 10/06/2010. Introduo UML. Disponvel em <www.scribd.com/doc/137108/IntroducaoUML> Acessado em 08/04/2010. Frum PHP. Disponvel em <www.php.net> Acessado em 20/08/2010. Fowler, Martin. UML Essencial. Porto Alegre: Bookman, 2000. Furlan , Jos Davi. Modelagem de Objetos atravs da UML. So Paulo: Makron Books, 1998. Pressman, Roger S. Engenharia de Software. 5a. Edio, McGraw-Hill, Rio de Janeiro, 2002. Silberschatz A., Sistema de Banco de Dados. So Paulo, 1999. Silva, Douglas Marcos da. Guia de Consulta Rpida UML. So Paulo: Novatec Editora Ltda, 2001.

78

10. RESPONSABILIDADES
Assinaturas:

_______________________________
Eliel Rosa Filho - Integrante

_______________________________
Henrique Zanetti Souza - Integrante

_______________________________
Mrcio Augusto de Souza - Orientador

_______________________________
Jorim Sousa das Virgens Filho - Cliente

79

Das könnte Ihnen auch gefallen