Upload
geisa-martins
View
3
Download
0
Embed Size (px)
DESCRIPTION
Geisa MartinsJhennyfer Emanuelle
Citation preview
1
UNIVERSIDADE ESTADUAL DE MONTES CLAROS- UNIMONTES
CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CCET
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO - DCC
SISTEMAS DE INFORMAÇÃO
GEISA MARTINS CRUZ
JHENNYFER EMANUELE
PROJETO DE UM SISTEMA PARA GERENCIAMENTO DE
TURMAS E COMPROMISSOS DE UM PROFESSOR.
MONTES CLAROS
NOVEMBRO, 2014
2
Sumário 1. Resumo ............................................................................................................................... 3
2. Introdução ............................................................................................................................4
2.1.Banco de Dados .................................................................................................................4
2.2.Sistema Gerenciador de Banco de Dados (SGDB) ...........................................................4
2.3.Modelo de dados ................................................................................................................4
3. Definição do Sistema ...........................................................................................................5
4. Dicionário de Dados ...........................................................................................................6
5. Modelagem (Entidade-Relacionamento ou UML) .............................................................7
6. Querys (Sentenças SQL) para criação das tabelas ..............................................................8
7. Sentenças SQL (cadastros, exclusão e alteração) ...............................................................9
8. Sentenças SQL para listagens simples ..............................................................................14
9. Tabelas do Banco de Dados ...............................................................................................17
10. Conclusão ..........................................................................................................................18
11. Referências ........................................................................................................................19
3
Resumo
Atualmente os computadores e a internet não se resumem somente ao entretenimento
como, por exemplo, no inicio da década de 90. A informática surgiu como um novo conceito de
negócio, gestão, administração.
Baseando nessa nova realidade propomos este trabalho, mostrando que a informática
pode ir mais além que simples momentos de diversão, como fazer o gerenciamento de
informações e facilitar o uso destas, garantido a segurança dos dados.
O Diário é um sistema pessoal do professor para gerenciamento de sua classe de alunos,
controle do educando e produtividade em ambiente educacional; para escolas de todos os níveis,
desenvolvido para ser compatível com qualquer plataforma de computadores. Ou seja, qualquer
organização e/ou professor pode adquirir uma versão para informatizar os seus processos e
explorar todos os benefícios que a Internet e os sistemas de informação podem trazer.
Dessa maneira dimensionamos as necessidades do professor, analisamos a sua estrutura e
recursos físicos para então projetarmos um sistema de informação moldado para o professor,
capaz de suprir as suas necessidades.
4
Introdução
Antes de definirmos o sistema é importante ressaltar alguns conceitos básicos para
melhor compreensão do projeto de Banco de Dados. São apresentados conceitos como banco de
dados que muitas vezes é a parte mais importante do projeto, pois será onde as informações serão
armazenadas; sistema de gerência de banco de dados e modelo de dados. Além disso, é fornecida
uma visão geral do projeto de banco de dados
Os leitores que já conhece m os fundamentos de banco de dados provavelmente poderão
passar diretamente para a definição do sistema.
1.1. Banco de Dados
Definições Preliminares:
[Chu, 1985]: Um banco de dados é um conjunto de arquivos relacionados entre si.
[Date, 1975]: Um banco de dados é uma coleção de dados operacionais armazenados que
são usados pelas aplicações de uma determinada organização.
De acordo com essas definições podemos afirmar que Banco de Dados é um conjunto de
dados integrados que tem por objetivo atender a uma comunidade de usuários.
1.2. Sistema Gerenciador de Banco de Dados (SGDB)
Um sistema de gerência de banco de dados (SGBD) é um conjunto de programas que
permite criar e manter bancos de dados. O mesmo incorpora as funções de definição,
recuperação e alteração de dados em um banco de dados.
1.3. Modelo de Dados
Um modelo de (banco de) dados é uma descrição dos tipos de informações que estão
armazenadas em um banco de dados.
No projeto de banco de dados, normalmente são considerados dois níveis de abstração de
modelo de dados, o do modelo conceitual e o do modelo lógico. No decorrer do projeto
falaremos especificamente de cada um.
5
Definição do sistema
O Diário (Daily) foi criado para facilitar o gerenciamento e controle de uma classe de
alunos. Ou seja, para auxiliar professores a gerenciar notas, frequências e compromissos de uma
turma a qual o professor (usuário) leciona.
O software futuramente trará ao usuário a possibilidade de ser usado tanto off-line quanto
na Nuvem. No entanto primeiramente passará por uma fase de teste onde será utilizado somente
o modo off-line.
O sistema disponibilizará funções como: cadastrar usuário, cadastrar disciplina, agendar
compromissos (provas, atividades, aulas), separar compromissos por marcadores, lembrar
compromissos, enviar arquivos (Nuvem), consultar e alterar freqüência, nota e situação de aluno.
Pensando na segurança da informação, criamos uma base de dados para controlar
redundância dos dados, armazenamento persistente dos dados, processamento eficiente de
consultas, manutenção de backup e recuperação de falhas, etc.
É importante destacar também que para garantir os três princípios básicos da segurança
da informação: integridade, disponibilidade e autenticidade das informações; primeiramente para
utilizar o sistema será solicitado login do usuário.
Como ferramenta de desenvolvimento utilizamos o Wamp para o BD, Mysql como nosso
sistema gerenciador de banco de dados (SGDB), SQL como linguagem, e brModelo como
ferramenta para desenvolver os diagramas.
6
Dicionário de dados
Professor
Descrição Restrições Tamanho Tipo Campo Chave
Código único do professor NOT NULL 3 Integer Cod_Prof Primary key
Nome do Professor NOT NULL 30 Varchar Nome
Turma
Chave Campo Tipo Tamanho Restrições Descrição
Primary Key Cod_Turma Integer 3 NOT NULL Código da turma
Nome Varchar 10 NOT NULL Nome da turma
Disciplina Varchar 20 NOT NULL Nome da disciplina
Foreign key Cod_Prof
Integer
integer 3 NOT NULL Código do professor da turma
Aluno
Chave Campo Tipo Tamanho Restrições Descrição
Primary Key Mat_aluno integer 5 NOT NULL Matrícula do aluno
Nome varchar 30 NOT NULL Nome do aluno
Nota decimal 5,2 NOT NULL Nota total de atividades do
aluno
Prova_final decimal 5.2 NOT NULL
Situacao varchar 20 NOT NULL Situação do aluno: “Aprovado
ou “Reprovado”
Foreign key Cod_Turma integer 3 NOT NULL Código da turma em que o
aluno está matriculado.
Atividade
Chave Campo Tipo Tamanho Restrições Descrição
Codigo Integer 3 NOT NULL Código da atividade
Data Date NOT NULL Data da realização da atividade
Nome Varchar 20 NOT NULL Nome da atividade
Descricao Varchar 30 NOT NULL Descrição da atividade a ser
realizada
Nota Decimal 5.2 NOT NULL Nota de atividades
Fereign key Mat_aluno Integer 5 NOT NULL Matricula do aluno
7
Modelagem (Entidade-Relacionamento ou UML)
Projeto Conceitual
Projeto MER:
8
Modelo Lógico
9
Querys (Sentenças SQL) para criação das tabelas
Comando para criar Banco de Dados:
create table Diario;
Comando para selecionar banco de dados para utilização:
use Diario;
Comando para criar tabela Professor:
CREATE TABLE Professor (
Cod_Prof Integer(3) NOT NULL PRIMARY KEY,
Nome Varchar(30) NOT NULL
);
Comando para criar tabela Aluno:
CREATE TABLE Aluno (
Nota decimal(5.2) NOT NULL,
Mat_aluno Integer(5) NOT NULL PRIMARY KEY,
Nome Varchar(30) NOT NULL,
Prova_final decimal(5.2) NOT NULL,
Situacao Varchar(20) NOT NULL,
Cod_Turma Integer(3)
);
Comando para criar tabela Turma:
CREATE TABLE Turma (
Cod_Turma Integer(3) NOT NULL PRIMARY KEY,
Nome Varchar(10) NOT NULL,
Disciplina Varchar(20) NOT NULL,
Cod_Prof Integer(3) NOT NULL,
FOREIGN KEY(Cod_Prof) REFERENCES Professor (Cod_Prof) ON UPDATE
CASCADE
);
10
Comando para criar tabela Atividade:
CREATE TABLE Atividade (
Codigo Integer(3) NOT NULL,
Mat_aluno Integer(5) NOT NULL,
Nota decimal(5.2) NOT NULL,
Data Date NOT NULL,
Descricao Varchar(30) NOT NULL,
Nome Varchar(20) NOT NULL,
PRIMARY KEY(Codigo,Mat_aluno),
FOREIGN KEY(Mat_aluno) REFERENCES Aluno (Mat_aluno) ON UPDATE
CASCADE
);
Comando para alterar tabela Aluno (Adicionando chave estrangeira):
ALTER TABLE Aluno ADD FOREIGN KEY(Cod_Turma) REFERENCES Turma
(Cod_Turma) ON UPDATE CASCADE;
11
Sentenças SQL para cadastros, exclusão e alteração, com a
explicação da funcionalidade de cada uma das querys apresentadas
Comando para inserir um professor no Banco de Dados:
INSERT INTO Professor values(001, "Amelia Pond");
INSERT INTO Professor values(002, "Sarah-Jane Smith");
Comando para inserir uma turma no Banco de Dados:
INSERT INTO Turma values(010,"1o ano","Física", 001);
INSERT INTO Turma values(020,"2o ano","Astronomia", 001);
INSERT INTO Turma values(030,"1o ano","História", 002);
Comando para inserir um aluno no Banco de Dados:
INSERT INTO Aluno values(0.00, 100, "Barry Allen", 0.00, "REPROVADO", 010);
INSERT INTO Aluno values(0.00, 101, "Arthur Dent", 0.00, "REPROVADO", 010);
INSERT INTO Aluno values(0.00, 102, "Clara Oswald", 0.00, "REPROVADO", 010);
INSERT INTO Aluno values(0.00, 103, "Leo Silva", 0.00, "REPROVADO", 010);
INSERT INTO Aluno values(0.00, 112, "Martha Jones", 0.00, "REPROVADO", 010);
INSERT INTO Aluno values(0.00, 104, "John Smith", 0.00, "REPROVADO", 020);
INSERT INTO Aluno values(0.00, 105, "Susan Foreman", 0.00, "REPROVADO", 020);
INSERT INTO Aluno values(0.00, 106, "Bárbara Silva", 0.00, "REPROVADO", 020);
INSERT INTO Aluno values(0.00, 107, "Ian Araújo", 0.00, "REPROVADO", 020);
INSERT INTO Aluno values(0.00, 108, "Susana Pevensie", 0.00, "REPROVADO",
030);
INSERT INTO Aluno values(0.00, 109, "Leia Skywalker", 0.00, "REPROVADO", 030);
INSERT INTO Aluno values(0.00, 110, "Ford Prefect", 0.00, "REPROVADO", 030);
INSERT INTO Aluno values(0.00, 111, "Lily Evans", 0.00, "REPROVADO", 030);
Comando para inserir atividade no Banco de Dados:
INSERT INTO Atividade values(001, 100, 20.00, 2014/04/20, "Avaliação do 1º
semestre", "Prova 1");
INSERT INTO Atividade values(001, 101, 10.00, 2014/04/20, "Avaliação do 1º
semestre", "Prova 1");
12
INSERT INTO Atividade values(001, 102, 18.00, 2014/04/20, "Avaliação do 1º
semestre", "Prova 1");
INSERT INTO Atividade values(001, 103, 21.00, 2014/04/20, "Avaliação do 1º
semestre", "Prova 1");
INSERT INTO Atividade values(001, 112, 24.25, 2014/04/20, "Avaliação do 1º
semestre", "Prova 1");
INSERT INTO Atividade values(002, 100, 30.00, 2014/11/20, "Avaliação do 2º
semestre", "Prova 2");
INSERT INTO Atividade values(002, 101, 25.00, 2014/11/20, "Avaliação do 2º
semestre", "Prova 2");
INSERT INTO Atividade values(002, 102, 28.00, 2014/11/20, "Avaliação do 2º
semestre", "Prova 2");
INSERT INTO Atividade values(002, 103, 26.00, 2014/11/20, "Avaliação do 2º
semestre", "Prova 2");
INSERT INTO Atividade values(002, 112, 20.00, 2014/11/20, "Avaliação do 2º
semestre", "Prova 2");
INSERT INTO Atividade values(003, 100, 40.00, 2014/12/09, "Realizações de Trabalhos
e Atividades em todo o ano", "Trabalhos");
INSERT INTO Atividade values(003, 101, 34.50, 2014/12/09, "Realizações de Trabalhos
e Atividades em todo o ano", "Trabalhos");
INSERT INTO Atividade values(003, 102, 40.00, 2014/12/09, "Realizações de Trabalhos
e Atividades em todo o ano", "Trabalhos");
INSERT INTO Atividade values(003, 103, 20.75, 2014/12/09, "Realizações de Trabalhos
e Atividades em todo o ano", "Trabalhos");
INSERT INTO Atividade values(003, 112, 23.00, 2014/12/09, "Realizações de Trabalhos
e Atividades em todo o ano", "Trabalhos");
Comando para somando as notas dos alunos
UPDATE Aluno,Atividade SET Aluno.Nota=(Aluno.Nota+Atividade.Nota) WHERE
(Aluno.Mat_aluno=Atividade.Mat_aluno AND Atividade.Codigo=001);
UPDATE Aluno,Atividade SET Aluno.Nota=(Aluno.Nota+Atividade.Nota) WHERE
(Aluno.Mat_aluno=Atividade.Mat_aluno AND Atividade.Codigo=002);
UPDATE Aluno,Atividade SET Aluno.Nota=(Aluno.Nota+Atividade.Nota) WHERE
(Aluno.Mat_aluno=Atividade.Mat_aluno AND Atividade.Codigo=003);
Comando para atualizar situação do aluno
UPDATE Aluno SET Situacao="APROVADO" WHERE Nota>60.00;
13
Comando para atualizar as notas e situação do aluno
UPDATE Aluno SET Nota=00.00;
UPDATE Aluno SET Situacao="REPROVADO"
UPDATE Aluno,Atividade SET Aluno.Nota=(Aluno.Nota+Atividade.Nota) WHERE
(Aluno.Mat_aluno=Atividade.Mat_aluno AND Atividade.Codigo=001);
UPDATE Aluno,Atividade SET Aluno.Nota=(Aluno.Nota+Atividade.Nota) WHERE
(Aluno.Mat_aluno=Atividade.Mat_aluno AND Atividade.Codigo=002);
UPDATE Aluno,Atividade SET Aluno.Nota=(Aluno.Nota+Atividade.Nota) WHERE
(Aluno.Mat_aluno=Atividade.Mat_aluno AND Atividade.Codigo=003);
UPDATE Aluno SET Situacao="APROVADO" WHERE Nota>60.00;
Comando para alterar a nota da prova de um aluno-> Alterando a nota da prova de Leo
Silva
UPDATE Atividade SET Nota=2.00 WHERE (Codigo=001 AND Mat_aluno=103);
Comandos de Exclusão->Excluindo a Turma 2 e 3, e a Profa.: Sarah-Jane
DELETE FROM Aluno WHERE Cod_Turma=030;
DELETE FROM Turma WHERE Cod_Turma=030;
DELETE FROM Professor where Cod_Prof=002;
DELETE FROM Aluno WHERE Cod_Turma=020;
DELETE FROM Turma WHERE Cod_Turma=020;
14
Sentenças SQL para listagens simples e com relacionamentos de
tabelas, com a explicação da funcionalidade de cada uma das querys
apresentadas
Comando para consultar o atributo Mat_Aluno do aluno apelidando-o Matricula: SELECT Mat_Aluno AS Matricula, Nome FROM Aluno GROUP BY Cod_Turma;
Comando para consultar o atributo Nome da tabela Aluno: SELECT Nome FROM
Aluno where Cod_Turma=010;
Comando para consultar os nomes de alunos que possuem código da turma “030’: SELECT Nome FROM Aluno where Cod_Turma=030;
15
Comando para consultar o nome e situação dos alunos: SELECT Nome, Situacao
FROM Aluno;
Comando para consultar os atributos Nome da tabela Aluno, atributo Atividade da
tabela Nota e Codigo da tabela Atividade: SELECT Aluno.Nome, Atividade.Nota,
Atividade.Codigo FROM Aluno, Atividade WHERE Aluno.Mat_aluno=
Atividade.Mat_aluno;
16
Comando para consultar Nome da tabela Professor, matricula, nome, nota, situação
da tabela Aluno: SELECT P.Nome AS Professor, A.Mat_aluno, A.Nome AS Aluno,
A.Nota, A.Situacao FROM Professor P, Turma T, Aluno A WHERE
(T.Cod_Prof=P.Cod_Prof AND T.Cod_Turma=A.Cod_Turma);
17
Tabelas do Banco de Dados
Tabela aluno
Tabela Atividade
Tabela Professor
Tabela Turma
18
Conclusão
Foi constatado que diversos professores necessitam de um sistema para gerenciar suas
classes. Para solucionar esta questão desenvolvemos um software para fazer esta gestão. No
entanto existem sistemas que já atendem á esta necessidade. Por isso pensamos em fazer algo
inovador como enviar os arquivos de estudo para e-mail do aluno.
Este sistema é adequado para professores ou pequenas Organizações. Não é possível
afirmar que podemos atender a demanda de uma faculdade, por exemplo, pois ainda estamos em
fase de teste.
Com o desenvolvimento do protótipo, o controle de alunos será efetivo, oferecendo
informações precisas em tempo real de acordo com as atualizações de cadastros.
Uma das principais contribuições do projeto é sem dúvida a emissão dos relatórios gerenciais,
que podem gerar informações estratégicas para o professor visualizar em qual disciplina o aluno
tem se saído melhor.
A fase de adaptação do sistema será branda e com poucas alterações na rotina de
trabalho. Pois o protótipo foi feito de acordo com as necessidades do professor e moldado nos
atuais métodos de trabalho.
Além dessas facilidades, é importante destacar a eliminação de arquivamento em papel,
rapidez nas informações, facilidade de consultas e confiabilidade das informações que são
pertinentes a todos os sistemas de informação.
19
Referências:
Conceitos Banco de dados. Disponível em: < http://homepages.dcc.ufmg.br/~laender/material
/ibd-parte1.pdf> Acesso em 25 de novembro de 2014.
Dicionário de dados. Disponível em: <http://www.inf.ufrgs.br/~vrqleithardt/Teaching/AULA%
20SEMANA%208%20a%2012/Dicionariodados.pdf> Acesso em: 24 de novembro de 2014.
Elmasri, R. & Navathe, S.B. Fundamentals of Database Systems. Second Edition. Benjamin/
Cummings, Redwood City, California, 1994
Heuser, Carlos A. Projeto de Banco de Dados. Disponível em: <http://jalvesnicacio.files.
wordpress.com/2010/03/carlos_alberto_heuser-projeto _ de _ banco _de _dados. pdf > Acesso
em : 23 de novembro de 2014
Mattoso, Marta. Top. Esp em Banco de Dados. Disponível em: <
http://www.cos.ufrj.br/~marta/IntroductionP.pdf > Acesso em: 26 de novembro de 2014.
Mysql.com. Disponível em http://dev.mysql.com/doc/refman/5.0/en/entering-queries.html >
Acesso em: 24 de novembro de 2014
Tutorial Mysql. Disponível em< http://www.tutorialspoint.com/mysql/mysql_tutorial.pdf>
Acesso em: 24 de novembro de 2014.