horarios online
DESCRIPTION
Horarios onlineTRANSCRIPT
-
Departamento de Engenharia e Cincias do Mar
Licenciatura em Engenharia Informtica e de Computadores
Projecto Fim de Curso
Mindelo, 2013
TITULO
Horrios Online: Apresentao em Tempo Real dos Horrios da Uni-CV
AUTOR (s): Telma Regina Andrade da Graa
ORIENTADOR: Mestre Carlos Antnio Baia Mendes
-
II
Termo de Responsabilidade
Asseguro que sou o autor original deste trabalho e que no foi
consultado nenhuma fonte de informao alm das aqui devidamente
referenciadas.
O Estudante
O Orientador
O Coordenador do Curso
-
III
Resumo
O presente projecto descreve o processo usado no desenvolvimento de uma
aplicao web Horrios Online que tm como principal objectivo publicar os
horrios das turmas, dos professores e das salas pertencentes a cada um dos
departamentos da Uni-CV.
O relatrio encontra-se dividido em 5 captulos: no captulo 1 encontra-se a
introduo descrevendo as necessidades, os objectivos e as vantagens da
aplicao.
O captulo 2 refere-se aos trabalhos relacionados com o projecto desenvolvido,
fazendo uma breve descrio e comparao com outras aplicaes de Horrios.
No captulo 3 encontra-se a modelagem da aplicao, abordando a descrio e
o funcionamento da aplicao.
O captulo 4 refere-se ao desenvolvimento da aplicao, onde esto descritos
os recursos e a arquitectura usada na sua implementao.
No captulo 5 encontra-se a concluso e os trabalhos futuros onde se faz uma
avaliao da implementao e se prope melhorias para prximas verses.
Palavras-chave: Asp .Net, Aplicao web, Horrios Online
-
IV
Lista de Siglas
ADO Activex Data Objects
Asp Active Server Page
CLR Common Language Runtime
DECM Departamento de Engenharia e Cincias do Mar
DLL Dinamic Link Library
ER Entidade Relacional
EXE Executvel
HTML Hypertext Markup Language
IIS Internet Information Services
PF Foreign Key
PK Primary Key
SQL - Structured Query Language
TIC Tecnologias de Informao e Comunicao
Uni-CV Universidade de Cabo Verde
WWW Word Wide Web
XML Extensible Markup Language
-
V
ndice Figuras
Figura 1 Modelo ER ................................................................................................. 5
Figura 2 Diagrama Caso de Uso ............................................................................ 11
Figura 3 Diagrama de Sequncia ........................................................................... 13
Figura 4 Diagrama de Actividades ......................................................................... 14
Figura 5 Diagrama de Classes ............................................................................... 15
Figura 6 Arquitectura trs camadas ....................................................................... 20
Figura 7 Stored Procedure GetHorariosProfessor .................................................. 22
Figura 8 Conexo Base Dados HO_DECM............................................................ 22
Figura 9 Pagina Principal ....................................................................................... 23
Figura 10 Pagina de Login ..................................................................................... 24
Figura 11 Pagina Gerir Usurios ............................................................................ 24
Figura 12 Pagina Criar Usurios ............................................................................ 25
Figura 13 Pagina Carregar Base de Dados............................................................ 25
Figura 14 Pagina Escolher Departamento ............................................................. 26
Figura 15 Pagina Escolher Tipo de Horrio............................................................ 26
Figura 16 Pagina Horrio Professor ....................................................................... 27
Figura 17 Pagina Mudar Palavra Passe ................................................................. 27
-
VI
ndice Tabelas
Tabela 1 Descrio das Entidades do Modelo ER ................................................... 6
Tabela 2 Entidade Days ........................................................................................... 6
Tabela 3 Entidade Periods ....................................................................................... 7
Tabela 4 Entidade Teachers .................................................................................... 7
Tabela 5 Entidade Classes ....................................................................................... 7
Tabela 6 Entidade Classrooms ................................................................................ 7
Tabela 7 Entidade Groups........................................................................................ 8
Tabela 8 Entidade Students ..................................................................................... 8
Tabela 9 Entidade Departamento ............................................................................. 8
Tabela 10 Entidade Subjects.................................................................................... 8
Tabela 11 Entidade Lessons .................................................................................... 9
Tabela 12 Entidade Cards ........................................................................................ 9
Tabela 13 Entidade Lessonteachers ........................................................................ 9
Tabela 14 Entidade Lessonclasses .......................................................................... 9
Tabela 15 Entidade Lessonclassrooms .................................................................. 10
Tabela 16 Entidade Lessongroups ......................................................................... 10
Tabela 17 Entidade Lessonstudents ...................................................................... 10
Tabela 18 Entidade SalasFixas .............................................................................. 10
Tabela 19 Descrio dos Casos de Uso ................................................................ 12
-
VII
ndice
1. Introduo ............................................................................................................. 1
2. Trabalhos Relacionados ........................................................................................ 2
3. Modelagem da Aplicao ...................................................................................... 4
3.1. Anlise de Requisitos ..................................................................................... 4
3.1.1. Requisitos funcionais ............................................................................... 4
3.1.2. Requisitos no funcionais ........................................................................ 4
3.2. Modelo Entidade Relacional ........................................................................... 5
3.2.1. Descrio das entidades do modelo ER .................................................. 6
3.2.2. Dicionrio de dados ................................................................................. 6
3.3. Diagrama de caso de uso ............................................................................ 11
3.3.1. Descrio dos Caso de Uso .................................................................. 12
3.4. Diagrama de sequncia ............................................................................... 12
3.5. Diagrama de actividades .............................................................................. 13
3.6. Diagrama de classes .................................................................................... 15
3.6.1. Descrio das classes da aplicao ...................................................... 16
4. Desenvolvimento da aplicao ............................................................................ 17
4.1. Recursos usados no desenvolvimento da aplicao .................................... 17
4.1.1. Microsoft .NET ....................................................................................... 17
4.1.2. Asp .Net ................................................................................................. 17
4.1.3. ADO .NET .............................................................................................. 18
4.1.4. XML ....................................................................................................... 19
4.1.5. C# .......................................................................................................... 19
4.2. Arquitectura de trs camadas ...................................................................... 20
4.2.1. Camada Acesso aos Dados .................................................................. 21
4.2.2. Camada de Negcio .............................................................................. 22
4.2.3. Camada de Apresentao ..................................................................... 23
-
VIII
4.2.3.1. Pgina principal .................................................................................. 23
4.2.3.2. Login................................................................................................... 23
4.2.3.3. Gerir Usurios .................................................................................... 24
4.2.3.4. Carregar a Base de Dados ................................................................. 25
4.2.3.5. Consultar Horrios ............................................................................. 26
4.2.3.6. Mudar palavra passe .......................................................................... 27
5. Concluso ........................................................................................................... 28
5.1. Trabalhos Futuros ............................................................................................ 28
6. Referncias ......................................................................................................... 29
-
1
1. Introduo
Actualmente, as Tecnologias de Informao e Comunicao (TIC) esto
presentes em praticamente todas as actividades do nosso dia-a-dia. Podendo
encontrar a sua utilizao nas mais variadas actividades e situaes, estando
presentes num contexto pessoal ou profissional e de uma forma directa ou indirecta.
Torna-se ento evidente que hoje em dia as TIC tm um papel fundamental
nas empresas ou instituies, onde elas contribuem fortemente para a produtividade,
qualidade e organizao.
Varias so as instituies que vm tirando proveito das TIC, de realar as
Universidades, permitindo melhorias na realizao das suas tarefas tanto no aspecto
acadmico como no administrativo.
A Uni-CV no foge a regra, desde a sua instalao se procurou estar cada
vez mais preparado no sentido de conseguir um crescimento contnuo em relao as
TIC, que constituem um suporte inevitvel para gerir as informaes que se tm
aumentado no seio da instituio.
A Uni-CV pretende mudar a forma de publicar os seus horrios, deixando de
publica-los de forma tradicional, passando a usar as novas tecnologias de
informao e comunicao.
Assim surge a necessidade do desenvolvimento de uma aplicao web onde
sero publicadas os horrios das aulas que decorrem num determinado semestre,
permitindo a toda a comunidade acadmica terem acesso aos seus horrios
actualizados a qualquer momento.
O projecto Horrios Online tem como principal objectivo publicar os horrios
das turmas, dos professores e das salas nos departamentos da Uni-CV.
Para gerar os horrios das aulas no DECM usam o software AscTimetable[1],
que um software que faz gerao automtica de horrios. Este software muito
usado pela sua eficincia, produtividade e usabilidade. A partir do ascTimetable os
horrios so exportados para um ficheiro XML[2], e com base neste ficheiro foi
desenvolvida a aplicao. O XML foi escolhido pela facilidade de manipulao dos
dados, permitindo que estes possam ser apresentados em qualquer dispositivo de
diversas formas. Foi construda uma base de dados com o ficheiro XML onde so
guardados os dados referentes aos horrios. E por ltimo temos a interface web
onde sero disponibilizados os diferentes tipos de horrios para cada um dos
departamentos.
-
2
2. Trabalhos Relacionados
Existem vrios trabalhos relacionados com o tema horrios. Alguns tm como
principal objectivo o desenvolvimento de softwares para gerao de horrios e
outros o desenvolvimento de aplicaes web para publicar horrios, segue-se alguns
exemplos:
Abordagem heurstica para o problema de programao de
horrios de cursos Trabalho de dissertao para obteno do grau de
Mestre em Engenharia Elctrica, tem como principal objectivo apresentar uma
proposta de um mtodo que solucione o problema de programao de quadro
de horrio de forma eficiente. Ou seja, Encontrar um mtodo capaz de fazer a
programao de um quadro de horrio vivel, melhor e mais rpido em
comparao aos gerados manualmente, alm de obter resultados satisfatrios
em relao aos mtodos existentes na literatura. [3]
Metaheursticas Aplicadas ao Problema de Horrio Escolar
Projecto de dissertao de Mestrado, tem como objectivo geral estudar e
aplicar meta-heursticas para encontrar solues de qualidade na gerao de
quadros de horrios escolares em um tempo computacional aceitvel. [4]
Gesto de Horrios Consiste na criao de uma aplicao web
que permite a visualizao dos horrios de forma atractiva para utilizadores
WWW comum. Com essa aplicao possvel exportar horrios para um
formato standard de eventos permitindo que sejam importadas numa agenda
electrnica, e tambm tem a opo de edio dos horrios. Essa aplicao
surge para solucionar um problema encontrado na universidade do Minho, em
que os horrios dos cursos de informtica e dos docentes do departamento
de informtica eram gerados para folhas Excel a partir de uma base de dados
MySQL. A aplicao usada era bastante lenta, dificultando o processo de
construo interactiva dos horrios. [5]
MN Horrios Relatrio que relata o desenvolvimento de uma
aplicao que permitiria a criao de horrios para as aulas referentes aos
-
3
cursos leccionados na Escola Superior de Tecnologia e Gesto, como
ferramenta de apoio. Para alm deste objectivo, a aplicao deve estar
estruturada tendo em conta a integrao de duas bases de dados idnticas
criadas em gestores de bases de dados diferentes. [6]
De todos esses exemplos o mais parecido com a aplicao desenvolvida o
projecto Gesto de Horrios. Ambos tm como principal objectivo a construo de
uma aplicao web permitindo a todos os usurios fazerem consulta dos seus
horrios de aula. Para alm dessa semelhana existe tambm algumas diferenas
entre as duas aplicaes. Na aplicao Gesto de Horrios um usurio no
autenticado consegue visualizar todos os tipos de horrios existentes na aplicao.
Os usurios sem privilgio de administrador tm permisso para criar e editar os
seus horrios. J na aplicao que esta sendo desenvolvida um usurio no
autenticado tem acesso apenas aos horrios das salas e das turmas. Para ter
acesso aos horrios dos professores estes tm de estar autenticados com privilgios
de professor ou funcionrio, no sendo permitido a edio dos horrios.
Qualquer mudana nos horrios deve ser feita no software AscTimetable que
o responsvel pela gerao dos mesmos.
-
4
3. Modelagem da Aplicao
3.1. Anlise de Requisitos
Consiste em capturar os objectivos e as necessidades dos usurios de um
determinado sistema a ser desenvolvido.
Os requisitos da aplicao encontra-se dividido em, Requisitos funcionais e
Requisitos No Funcionais.
Os Requisitos Funcionais indicam todas as funcionalidades disponveis num
sistema [7] e os Requisitos no Funcionais so todos os aspectos relacionados aos
atributos, propriedades, comportamento e restries de um sistema [8].
3.1.1. Requisitos funcionais
Fazer consulta dos horrios das salas em todos os departamentos da Uni-CV;
Fazer consulta dos horrios das turmas em todos os departamentos da Uni-
CV;
Fazer consulta dos horrios dos professores em todos os departamentos da
Uni-CV;
Carregar a base de dados com ficheiros XML;
Criar contas de usurios, atribuindo os seus respectivos papeis,
Gerir usurios;
Autenticao por meio de login Nome usurio e palavra passe;
Imprimir horrios;
3.1.2. Requisitos no funcionais
A aplicao dever funcionar sem falhas;
A aplicao foi testada nos seguintes browsers: Google Chrome, Internet
Explorer e Mozilla FireFox (recomenda-se o uso do browser Google Chrome);
A aplicao utiliza Base Dados SQLServer;
A Base Dados actualizada em tempo real;
A aplicao dever possuir controlo sobre os usurios no acesso a dados;
A aplicao devera disponibilizar informaes de acordo com o papel de cada
usurio;
-
5
3.2. Modelo Entidade Relacional
A figura 1 apresenta as tabelas que compe as bases de dados da aplicao,
com seus atributos e os respectivos relacionamentos.
Existe uma base de dados idntica para cada um dos departamentos da Uni-
CV.
Figura 1 Modelo ER
-
6
3.2.1. Descrio das entidades do modelo ER
Tabela 1 Descrio das Entidades do Modelo ER
3.2.2. Dicionrio de dados
Tabela 2 Entidade Days
Days
Atributos Descrio Tipo Chave
day Identificao do dia. int PK
name Nome do dia. varchar(255)
short Abreviatura do nome do dia.
varchar(45)
Entidades Descrio
Days Armazena informaes dos dias de semana.
Periods Armazena informaes dos perodos que decorreram as aulas.
Teachers Armazena informao dos professores.
Classes Armazena informaes das turmas.
Classrooms Armazena informaes das salas.
Groups Armazena informaes dos grupos.
Students Armazena informaes dos alunos
Departamento Armazena informaes dos departamentos.
Subjects Armazena informaes das disciplinas.
Lessons Armazena informaes das aulas.
Cards Armazena informaes de todas as aulas relacionadas com os
dias de semana e o perodo.
Lessonteachers Armazena informaes de todas as aulas relacionadas com os
professores.
Lessonclasses Armazena informaes de todas as aulas relacionadas com as
Turmas.
Lessonclassrooms Armazena informaes de todas as aulas relacionadas com as
salas.
Lessongroups Armazena informaes de todas as aulas relacionadas com os
grupos.
Lessonstudents Armazena informaes de todas as aulas relacionadas com os
alunos.
SalasFixas Armazena informaes das salas relacionadas com as turmas.
-
7
Tabela 3 Entidade Periods
Periods
Atributos Descrio Tipo Chave
period Identificao do
perodo. int PK
starttime Incio da aula. time
endtime Fim da aula. time
Tabela 4 Entidade Teachers
Teachers
Atributos Descrio Tipo Chave
teacher_id Identificao do
professor. int PK
name Nome do professor.
varchar(255)
short Abreviatura do
professor. varchar(45)
Tabela 5 Entidade Classes
Classes
Atributos Descrio Tipo Chave
classe_id Identificao da
turma. int PK
name Nome da turma. varchar(255)
short Abreviatura da
turma. varchar(45)
Tabela 6 Entidade Classrooms
Classrooms
Atributos Descrio Tipo Chave
classeroom_id Identificao da
sala. int PK
name Nome da sala. varchar(255)
short Abreviatura da
sala. varchar(45)
-
8
Tabela 7 Entidade Groups
Groups
Atributos Descrio Tipo Chave
group_id Identificao do grupo. int PK
name Nome do grupo. varchar(255)
short Abreviatura do grupo. varchar(45)
Tabela 8 Entidade Students
Students
Atributos Descrio Tipo Chave
student_id Identificao do
aluno. int PK
class_id Identificao da
sala. int FK
name Nome do aluno. varchar(255)
Tabela 9 Entidade Departamento
Departamento
Atributos Descrio Tipo Chave
departamento _id Identificao do departamento.
int PK
departamento Nome do
departamento. varchar(45)
semestre Nome do semestre. varchar(45)
anolectivo Nome do ano
lectivo. char(9)
Tabela 10 Entidade Subjects
Subjects
Atributos Descrio Tipo Chave
subject_id Identificao da
disciplina. int PK
name Nome da disciplina. varchar(255)
short Abreviatura da
disciplina. varchar(45)
-
9
Tabela 11 Entidade Lessons
Lessons
Atributos Descrio Tipo Chave
lesson _id Identificao da
aula. int PK
subject_id Identificao da
disciplina. int FK
periodspercard
Identificao da relao do dia com
o perodo. int
Tabela 12 Entidade Cards
Cards
Atributos Descrio Tipo Chave
lesson _id Identificao do departamento.
int FK
classrom_id Identificao da
sala. int FK
day Identificao do
dia. int FK
period Identificao do
perodo. int FK
Tabela 13 Entidade Lessonteachers
Lessonteachers
Atributos Descrio Tipo Chave
lesson_id Identificao da
aula. int PK
teacher_id Identificao do
professor. int PK
Tabela 14 Entidade Lessonclasses
Lessonclasses
Atributos Descrio Tipo Chave
lesson_id Identificao da
aula. int PK
class_id Identificao da
turma. int PK
-
10
Tabela 15 Entidade Lessonclassrooms
Lessonclassrooms
Atributos Descrio Tipo Chave
lesson_id Identificao da
aula. int PK
classroom_id Identificao da
sala. int PK
Tabela 16 Entidade Lessongroups
Lessongroups
Atributos Descrio Tipo Chave
lesson_id Identificao da
aula. int PK
group_id Identificao do
grupo. int PK
Tabela 17 Entidade Lessonstudents
Lessonstudents
Atributos Descrio Tipo Chave
lesson_id Identificao da
aula. int PK
student_id Identificao do
aluno. int PK
Tabela 18 Entidade SalasFixas
SalasFixas
Atributos Descrio Tipo Chave
classrom_id Identificao da
sala. int PK
class_id Identificao da
turma. int PK
-
11
3.3. Diagrama de caso de uso
O diagrama de caso de uso usado para descrever e definir os requisitos
funcionais de um sistema. Este diagrama descreve a relao existente entre os
actores e os casos de uso. [9]
A figura 2 apresenta o diagrama de caso de uso da aplicao, onde so
exibidas as actividades relacionadas aos usurios que possuem acesso a aplicao.
Figura 2 Diagrama Caso de Uso
-
12
3.3.1. Descrio dos Caso de Uso
Tabela 19 Descrio dos Casos de Uso
Caso de Uso
Descrio Atores
Cadastrar usurios
Consiste na criao de um novo usurio, atribuindo a
ele o seu papel na aplicao.
Administrador
Gesto usuria
Consiste em visualizar todos os usurios que
pertencem a aplicao e tambm da a
possibilidade de elimina-los.
Administrador
Carregar BD
Consiste em carregar as bases de dados da
aplicao com os ficheiros XML.
Administrador e Admin
Consultar Horrio Professor Consiste em fazer consulta
dos horrios dos professores.
Administrador, Admin, Professores e Funcionrios
Consultar Horrio Turmas Consiste em fazer consulta
dos horrios das turmas.
Administrador, Admin, Professores,
Funcionrios, Aluno e Usurio
Consultar Horrio Salas Consiste em fazer consulta
dos horrios das salas.
Administrador, Admin, Professores,
Funcionrios, Aluno e Usurio
Fazer Login Consiste em pedir
autorizao para entrar na aplicao.
Administrador, Admin, Professores e Funcionrios
Imprimir Consiste em imprimir os
horrios.
Administrador, Admin, Professores,
Funcionrios, Aluno e Usurio
3.4. Diagrama de sequncia
O diagrama de sequncia apresenta a colaborao dinmica entre os vrios objectos de um sistema no decorrer do tempo. Atravs do diagrama percebe-se a sequncia de mensagens enviadas entre os objectos. [10]
A figura 3 apresenta o caso de uso consultar horrio por um actor professor,
num determinado perodo de tempo.
-
13
Quando um professor envia uma mensagem de solicitao para consultar
horrios, a aplicao vai envia-lo o formulrio de login onde ele ter que o preencher
com seu nome de usurio e palavra passe, em seguida a aplicao envia uma
mensagem para a base de dados, verificando se os dados so validos. Se os dados
forem validos a aplicao vai permitir ao professor continuar com a sua consulta. Em
seguida o professor envia de novo uma mensagem especificando qual o horrio que
ele quer consultar, a aplicao envia uma mensagens para a base de dados e este
vai disponibilizar os dados pertencentes aos horrios.
3.5. Diagrama de actividades
O diagrama de actividade apresenta as dependncias entre as actividades.
Eles focam o trabalho executado na implementao de um mtodo, e suas
actividades numa instncia de um objecto. [11]
Figura 3 Diagrama de Sequncia
-
14
A figura 4 apresenta o diagrama de actividade para fazer consulta de horrios.
Descreve os passos a serem seguidos para um usurio fazer a consulta dos seus
horrios na aplicao.
Para fazer a consulta dos horrios, primeiro o usurio tem que escolher um
departamento, em seguida ter que escolher um tipo de horrio. Se escolher fazer
consulta dos horrios das turmas ou das salas vai ser apresentado uma pgina onde
ele ter que escolher qual a turma ou a sala que ele pretende visualizar o horrio. Se
escolher horrios dos professores ele tem de efectuar o login. Em seguida a
aplicao vai verificar se o usurio esta cadastrado e se os dados que ele introduziu
so validos, se isso confirmar vai ser apresentado a pagina onde ele ter que
Figura 4 Diagrama de Actividades
-
15
escolher qual o professor que ele pretende visualizar o horrio e a aplicao vai
apresentar o horrio, caso contrario a consulta estar terminada.
3.6. Diagrama de classes
O diagrama de classes apresenta uma estrutura esttica das classes de um
sistema onde estas exibem os objectos que so gerenciadas pelo sistema
modelado. As classes relacionam entre si atravs de associao, dependncia ou
generalizao. [12]
A figura 5 apresenta o diagrama de classe da aplicao. Neste diagrama
esto representadas todas as classes que fazem parte da aplicao
Figura 5 Diagrama de Classes
-
16
3.6.1. Descrio das classes da aplicao
Helper Classe que contem a conexo com a base de dados HO_DECM,
atravs do mtodo ConnectionString.
CellItem a classes que contem os itens que preenche uma clulas.
HorarioCell a classe que vai preencher as clulas atravs do mtodo
AddData, usando os itens da classe CellItem.
Horarios Classe responsvel para criar a tabela de horrios. O mtodo
horrio coloca os dias da semana na vertical e o perodo na horizontal, os
dados dos dias e dos perodos so apanhados na base de dados HO_DECM,
atravs da classe Helper. E o mtodo AddData vai adicionando o nmero de
clulas de acordo com os dias e os perodos.
TableCellProfessor, TableCellTurma e TableCellSala Essas classes so
responsveis para posicionar os itens nas clulas, de acordo com o tipo de
horrio, atravs do mtodo RenderCounts.
PrintWeb Classe responsvel pela impresso dos horrios, atravs do
mtodo PrintWebControle.
Carregar Essa classe contm a interface para carregar a base de dados,
dentro da classe carregar existe o mtodo Page_Load onde esta a conexo
com a base de dados, o mtodo btnUpload_Click um boto, depois de
preenchido todos os campos na interface a pessoa vai carregar no boto,
para guardar o ficheiro XML numa pasta na aplicao e carregar a base de
dados. Para carregar a base de dados chamado o mtodo CarregarBD. O
mtodo ClearTable vai eliminar todos os dados existentes na base de dados
antes de serem inseridos novos dados a partir do ficheiro XML.
HorariosProfessor, HorariosTurma e HorariosSala Essas classes possuem
uma interface que mostra os horrios dos professores, das turmas e das
salas, o mtodo Page_Load tem a conexo com a base de dados que contm
as informao dos horrios, o mtodo ddlProfessor_SelectedIndexChanged
faz parte do dropdawnlist onde vai ser escolhido o nome de um professor, e
em seguida apresentado o horrio. A classe btn_Click para imprimir o
horrio.
-
17
4. Desenvolvimento da aplicao
4.1. Recursos usados no desenvolvimento da aplicao
4.1.1. Microsoft .NET
A Microsoft .NET um Framework .NET, desenvolvida pela Microsoft para a
execuo, construo e desenvolvimento de Web Services (Aplicaes Web) de
forma integrada e unificada.
O principal objectivo da arquitectura .NET permitir ao usurio o fcil acesso
a seus aplicativos e dados em qualquer lugar, a qualquer hora, usando qualquer
dispositivo, desde que esse possui um framework da plataforma.
executada sobre uma CLR que um ambiente de execuo independente
de Linguagens, interagindo com um conjunto de bibliotecas unificadas e suporta
uma programao de vrias linguagens diferentes, integrados entre si como se
fossem a mesma linguagem. [13]
4.1.2. Asp .Net
ASP .NET uma evoluo da tecnologia ASP, criada pela Microsoft para
desenvolver aplicaes web, e esta inserido no Framework .NET da Microsoft. A
principal ferramenta de desenvolvimento ASP .NET o Microsoft Visual Studio .NET.
As aplicaes ASP .Net rodam em Servidor Web da Microsoft IIS verso 5.0 ou
superior.
Apesar do ASP .Net rodar somente no Servidor Web IIS da Microsoft, as
pginas so acessveis em qualquer navegador, mesmo que no tenha sido
desenvolvido pela Microsoft, e em qualquer sistema operacional, pois a aplicao
depender apenas do navegador. [14]
Caracteristicas do ASP .NET
O cdigo de apresentao pode ser implementado em qualquer linguagem
suportada pela plataforma .NET;
Facilidade para implementao de validao das entradas dadas pelo usurio
utilizando componentes do tipo Validator;
Criao de pginas Web atravs de componentes visuais no Visual Studio
.NET e com controlos orientados a eventos, o que muito familiar para a
maioria dos desenvolvedores;
-
18
Herana de Web Forms e Web Controls, utilizando o mesmo conceito dos
Windows Forms e Windows Controls;
Separao entre o HTML e o cdigo de lgica de apresentao da pgina.
Essa separao facilita a actualizao de cada tipo de cdigo, simplifica a
legibilidade do cdigo (um grande problema que existe quando o cdigo de
script est misturado com o HTML), e possibilita o controle de verso do
cdigo mais facilmente;
Cdigo ASP .NET agora compilada ao invs de interpretado, o que causa
um aumento considervel na performance da pgina;
Capacidade de identificar o browser que est sendo utilizado pelo cliente e
apresentar apenas as funcionalidades da pgina especificadas para o
browser.
4.1.3. ADO .NET
ADO .NET o conjunto de classes do .NET Framework que permite as
aplicaes desenvolvidas em .Net leiam e actualizam informaes no banco de
dados ADO .NET. a evoluo do ADO usado amplamente no desenvolvimento de
sistemas para bancos de dados.
Componentes principais do ADO .NET:
DataSet Armazena o gerenciamento de dados em um ambiente onde os
usurios ou aplicaes no esto directamente conectados a um banco de
dados. Alm de representar uma cpia na memria virtual dos dados que
esto recuperados de uma ou mais fonte de dados, proporcionando o acesso
a tabelas, colunas, linhas e relacionamentos, podendo conter diversas
tabelas.
Data Provider Conjunto de componentes que permita a comunicao entre
a aplicao e a fonte de dados. So utilizados pelo ADO .NET para conectar-
se com o banco de dados e o cdigo fonte, com o objectivo de aumentar o
desempenho deste sem prejudicar suas funcionalidades. Exemplos de data
provider: SQL Server .NET, utilizando o namespace System.Data.SqlClient e
OLEDB .NET utiliza o namespace System.Data.OleDb.
Um provider formado pelas seguintes classe: Connection que a
responsvel por criar a conexo com o banco de dados, Command executa os
-
19
comandos SQl e retorna os resultados para a aplicao, DataReader que fornece
uma lista de dados retornados pelo banco de dados e DataAdapter que possibilita
um conjunto de objectos Command utilizados para inserir, alterar, remover e
pesquisar registos no banco de dados. [15]
4.1.4. XML
A linguagem XML tornou-se num padro para armazenamento e troca de
dados, incluindo tanto dados de configurao quanto dados com contedo
relacionado ao negcio das aplicaes. A plataforma .NET tem XML numa posio
central, oferecendo integrao total com essa tecnologia.
O padro XML permite, por exemplo, que os dados possam ser mostrados em
qualquer dispositivo e de vrias formas diferentes. Com essa possibilidade, a
interface grfica de uma aplicao pode ser projectada de maneira independente do
dispositivo que ir execut-la. [16]
4.1.5. C#
C# uma linguagem de programao orientada a objectos, derivada da
linguagem C, C++ e Java, usada por desenvolvedores para construir aplicaes que
rodam na plataforma .NET. [17]
Principais caractersticas do C#:
Simplicidade: os projectistas de C# costumam dizer que essa linguagem to
poderosa quanto o C++ e to simples quanto o Visual Basic;
Completamente orientada a objectos: em C#, qualquer varivel tem de fazer
parte de uma classe;
Fortemente tipada: isso ajudar a evitar erros por manipulao imprpria de
tipos e atribuies incorrectas;
Gera cdigo gerenciado: assim como o ambiente .NET gerenciado, assim
tambm o C#;
Tudo um objecto: System.Object a classe base de todo o sistema de tipos
de C#;
-
20
Controle de verses: cada assembly gerado, seja como EXE ou DLL, tem
informao sobre a verso do cdigo, permitindo a coexistncia de dois
assemblies homnimos, mas de verses diferentes no mesmo ambiente;
Suporte a cdigo legado: o C# pode interagir com cdigo legado de objectos
COM e DLLs escritas em uma linguagem no-gerenciada;
Flexibilidade: se o desenvolvedor precisar usar ponteiros, o C# permite, mas
ao custo de desenvolver cdigo no-gerenciado, chamado unsafe;
Linguagem gerenciada: os programas desenvolvidos em C# executam num
ambiente gerenciado, o que significa que todo o gerenciamento de memria
feito pelo runtime via o GC (Garbage Collector).
4.2. Arquitectura de trs camadas
Para a implementao da aplicao foi usado a arquitectura de trs camadas,
que constituda pelas seguintes camadas: Camada de Acesso aos Dados (Data
Access Layer), Camada Negcio (Business Logic Layer) e Camada de
Apresentao (Presentation Layer). [18]
Foi escolhido essa arquitectura para o desenvolvimento da aplicao porque
ela possui as seguintes vantagens:
Os usurios podem rodar sua aplicao em qualquer internet ou
intranet;
O acesso a fonte de dados esta separado em seu prprio componente
de forma que o cdigo da aplicao de frente no possu cdigo SQL
embutido;
A informao da conexo mantida somente no servio XML,
minimizando a manuteno do cliente;
A camada de acesso a dados pode ser actualizada em um nico local
centralizado.
-
21
A figura 6 apresenta a interligao das camadas.
4.2.1. Camada Acesso aos Dados
A camada de acesso a dados contm as classes que do acesso ao banco de
dados e retornam o resultado a camada de negcio.
Para ter acesso aos dados dos horrios na aplicao foi feito o uso Stored
Procedure ou Procedimentos de Armazenamento que uma coleco de comandos
no SQL, compiladas e armazenadas na base de dados. Os procedimentos de
armazenamento melhoram o trafego na rede, melhora a performance das
aplicaes, criam mecanismos de segurana e melhoram a manuteno dos cdigos
SQL e das aplicaes que do acesso ao banco de dados.
Para ter acesso aos dados relacionados com os horrios das turmas dos
professores e das salas foram criadas trs Stored Procedue, GetHorarioTurma,
GetHorarioProfessor e GetHorarioSala. Esses Stored Procedure so criados em
cada uma das Bases de Dados existentes na aplicao. A seguir segue-se um
exemplo do stored procedure GetHorarioProfessor.
Figura 6 Arquitectura Trs Camadas
-
22
4.2.2. Camada de Negcio
A Camada de Negcio recebe a requisio da camada de apresentao e
retorna o resultado dependendo da logica de negcio. A ligao entre essas duas
camadas feita atravs do objecto Connection que responsvel por fazer a
ligao a uma Base de dados e a string ConnectionString contm as informaes
que permitem estabelecer essa ligao (nome do servidor e nome da base de
dados).
A figura 8 apresenta a conexo da base de dados HO_DECM, que a base
de dados que contm as informaes do DECM.
Figura 7 Stored Procedure GetHorariosProfessor
Figura 8 Conexo Base Dados HO_DECM
-
23
4.2.3. Camada de Apresentao
A camada de apresentao interage directamente com os usurios da
aplicao e nela inclui toda a logica que inclui a interaco entre o visitante e as
regras de negcio.
4.2.3.1. Pgina principal
A figura a seguir apresenta a pgina principal da aplicao, onde se
encontram a reas de notcias, ligaes para outras aplicaes relacionadas com a
Uni-CV e menu para que os utilizadores possam navegar no site e fazer suas
consultas.
4.2.3.2. Login
A seguir apresentada a pgina de login, onde os usurios fazem a sua
autenticao. As operaes que cada usurio pode realizar esta definida atravs do
perfil de acesso, possibilitando o acesso apenas as funcionalidades disponibilizada
ao seu perfil.
Figura 9 Pagina Principal
-
24
Se o usurio seleccionar a opo Entrar e no tiver preenchido os campos
nome usurio e palavra passe, ser exibida uma mensagem ao lado de cada campo
Introduza o nome de usurio e Introduza a palavra passe. Se aps preencher os
campos os dados na forem vlidos ser exibida a mensagem Sua tentativa de login
no foi bem-sucedida. Por favor, tente novamente. Se as informaes forem
correctas, este ser redireccionado para a pgina principal da aplicao onde
poder realizar as suas tarefas.
4.2.3.3. Gerir Usurios
A figura 11 apresenta a tela gerir usurios, essa gesto feita pelo
administrador, onde ele tem a possibilidade de visualizar os usurios que tem
acesso a aplicao e tambm pode eliminar os usurios.
Figura 10 Pagina de Login
Figura 11 Pagina Gerir Usurios
-
25
O administrador tambm tem a funo de criar e atribuir papis aos usurio
da aplicao, as figuras a seguir apresenta a pgina criar usurios.
4.2.3.4. Carregar a Base de Dados
Existe um usurio com o papel Admin para cada departamento. Esse Admin
a pessoa responsvel por carregar a base de dados pertencente ao seu
departamento com os ficheiros XML que so exportados pelo software ascTimetable
depois de serem gerados os horrios do ano e semestre em curso.
Figura 12 Pagina Criar Usurios
Figura 13 Pagina Carregar Base de Dados
-
26
4.2.3.5. Consultar Horrios
Para fazer a consulta de horrios os usurios tm de ir ate ao menu e
seleccionar a opo horrio. Ao seleccionar a opo horrio temos uma pgina onde
o usurio ira escolher qual o departamento que ele pretende consultar horrios.
Depois de escolher um departamento, vai ser redireccionado para a pagina do
departamento, onde ele vai ter de escolher qual o tipo de horrio que ele quer
consultar.
Se for um usurio annimo ele ter apenas duas opes, pode escolher
horrios de turmas ou de salas, porque se escolher a opo horrios professor ele
vai ser redireccionado para a pgina de login. Para consultar os horrios dos
professores o usurio tem que possuir o papel de professor ou de funcionrio, que
lhe d a possibilidade de consultar os horrios.
Figura 14 Pagina Escolher Departamento
Figura 15 Pagina Escolher Tipo de Horrio
-
27
A figura seguinte mostra o horrio de um professor.
4.2.3.6. Mudar palavra passe
O usurio ao efectuar o primeiro login usa uma palavra passe atribuda pelo
administrador da aplicao. Depois ele pode alterada a palavra passa atravs do
menu mudar palavra passe.
Figura 16 Pagina Horrio Professor
Figura 17 Pagina Mudar Palavra Passe
-
28
5. Concluso
Este trabalho apresenta o desenvolvimento de uma aplicao web para
publicar os horrios das aulas na Uni-CV em todos os departamentos. Com essa
aplicao alunos, professores e funcionrios conseguem fazer consulta dos horrios
a qualquer momento. Permitindo a sua rpida divulgao e reduo dos custos com
a impresso.
Todos os objectivos propostos foram compridos com sucesso. Com aplicao
possvel visualizar diferentes tipos de horrios nomeadamente horrios das turmas,
dos professores e das salas. Os horrios das turmas e das salas podem ser
visualizados por qualquer usurio e os horrios dos professores sero visualizados
apenas por usurios com o papel de professor ou funcionrio.
5.1. Trabalhos Futuros
Como trabalhos futuros propem-se:
A customizao da aplicao para dispositivos mveis, visto que estes esto
sendo bastantes usados;
Melhoria na base de dados, criando uma nica base de dados para todos os
departamentos;
Melhorias no design depois da anlise do feedback dos usurios;
Integrao com a aplicao Sumrios Online, porque as duas aplicaes tem
pontos em comum;
-
29
6. Referncias
[1] Site do ascTimetable, consultado em 7 de Maio de 2013 em:
http://www.asctimetables.com.br/.
[2] Site XML, consultado em 20 de Maio de 2013 em: http://www.w3.org/XML/.
[3] Carvalho Rodrigo. (Agosto 2011). Abordagem heurstica para o problema de
programao de horrios de cursos. Escola de Engenharia da Universidade Federal
de Minas Gerais.
[4] Alves Reginaldo. (Agosto 2011). Metaheursticas Aplicadas ao Problema de
Horrio Escolar. Centro Federal de Educao Tecnolgica de Minas Gerais.
[5] Brs Igor, Boas V. Ricardo, Moreira Jorge. (Ano Lectivo 2007/2008). Gesto de
Horrios, Universidade do Minho Conselho de Cursos de Engenharia Licenciatura
em Engenharia Informtica.
[6] Dria Nomio, (Dezembro de 2008).MN Horrios. Instituto Politcnico da Guarda,
Escola Superior de Tecnologia e Gesto, Departamento de Informtica.
[7], [8] Machado, Nery Felipe. (2011). Anlise e Gesto de requisitos de software.
(primeira edio).
[9], [10], [11] e [12] Jones P. Meillir, Fundamentos do desenho Orientado a Objectos
com UML. Makron Books.
Silva Alberto M. R., Videira Carlos A. E. (2001). UML, Metodologias e Ferramentas
Case (1 edio).
[13] Pereira Adenzio C. Apostila ASP.NET 2.0 com C#.
[14] MacDonald Matthew, Szpusta Mario. (2008).Pro ASp.NET 3.5 in C#, Includes
ilverlight 2. (Third Edition).
Amaral Fernando. ASP.NET 3.5 em VB.NET e C#.
[15] Informaes sobre a tecnologia Ado.net, consultados em Julho de 2013 em:
http://www.macoratti.net/ado_net1.htm,
http://csharp-station.com/Tutorial/AdoDotNet/Lesson01,
http://msdn.microsoft.com/en-us/library/27y4ybxw.aspx.
[16] Heitlinger Paulo. (Outubro de 2011). O guia prtico da XML. (1 edio)
-
30
[17] Ridolfi Lorenzo, Colcher Srgio. (2002). C# e .Net Guia do Desenvolvedor.
Editora Campos Lda.
Batista Diogo C. T. (20 de Novembro de 2008). Apostila C#. Universidade
Tecnolgica Federal do Paran.
Purdum Jack, Beginning Object Oriented Programming with C#.
[18] Informaes sobre a tecnologia de trs camadas, consultados em 15 Julho
2013 em http://www.macoratti.net/net_arc1.htm,
http://www.macoratti.net/11/05/c_aspn3c.htm,
http://marcelamperes.wordpress.com/2011/07/14/arquitetura-em-tres-camadas-
parte-1/.