Вы находитесь на странице: 1из 38

Departamento de Engenharia e Cincias do Mar

Licenciatura em Engenharia Informtica e de Computadores


Projecto Fim de Curso

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

Mindelo, 2013

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

II

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

III

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

IV

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

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

VI

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

VII

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

VIII

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.
1

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

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.

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 UniCV;

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;

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 UniCV.

Figura 1 Modelo ER

3.2.1. Descrio das entidades do modelo ER


Tabela 1 Descrio das Entidades do Modelo ER

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
Lessonteachers
Lessonclasses
Lessonclassrooms
Lessongroups
Lessonstudents
SalasFixas

Armazena informaes de todas as aulas relacionadas com os


dias de semana e o perodo.
Armazena informaes de todas as aulas relacionadas com os
professores.
Armazena informaes de todas as aulas relacionadas com as
Turmas.
Armazena informaes de todas as aulas relacionadas com as
salas.
Armazena informaes de todas as aulas relacionadas com os
grupos.
Armazena informaes de todas as aulas relacionadas com os
alunos.
Armazena informaes das salas relacionadas com as turmas.

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.
Abreviatura do
nome do dia.

varchar(255)

short

varchar(45)

Tabela 3 Entidade Periods

Periods
Atributos

Tipo

Chave

int

PK

starttime

Descrio
Identificao do
perodo.
Incio da aula.

endtime

Fim da aula.

time

period

time

Tabela 4 Entidade Teachers

Teachers
Atributos
teacher_id
name
short

Descrio
Identificao do
professor.
Nome do
professor.
Abreviatura do
professor.

Tipo

Chave

int

PK

varchar(255)
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)

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
student_id
class_id
name

Descrio
Identificao do
aluno.
Identificao da
sala.
Nome do aluno.

Tipo

Chave

int

PK

int

FK

varchar(255)

Tabela 9 Entidade Departamento

Departamento
Atributos
departamento _id
departamento

Descrio
Identificao do
departamento.
Nome do
departamento.

Tipo

Chave

int

PK

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)

Tabela 11 Entidade Lessons

Lessons
Atributos
lesson _id
subject_id
periodspercard

Descrio

Tipo

Chave

int

PK

int

FK

Identificao da
aula.
Identificao da
disciplina.
Identificao da
relao do dia com
o perodo.

int

Tabela 12 Entidade Cards

Cards
Atributos
lesson _id
classrom_id
day
period

Descrio

Tipo

Chave

int

FK

int

FK

int

FK

int

FK

Identificao do
departamento.
Identificao da
sala.
Identificao do
dia.
Identificao do
perodo.

Tabela 13 Entidade Lessonteachers

Lessonteachers
Atributos
lesson_id
teacher_id

Descrio
Identificao da
aula.
Identificao do
professor.

Tipo

Chave

int

PK

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

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

10

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

11

3.3.1. Descrio dos Caso de Uso

Tabela 19 Descrio dos Casos de Uso

Caso de Uso

Cadastrar usurios

Gesto usuria

Carregar BD

Consultar Horrio Professor

Descrio
Consiste na criao de um
novo usurio, atribuindo a
ele o seu papel na
aplicao.
Consiste em visualizar todos
os usurios que
pertencem a aplicao e
tambm da a
possibilidade de eliminalos.
Consiste em carregar as
bases de dados da
aplicao com os ficheiros
XML.
Consiste em fazer consulta
dos horrios dos
professores.

Consultar Horrio Turmas

Consiste em fazer consulta


dos horrios das turmas.

Consultar Horrio Salas

Consiste em fazer consulta


dos horrios das salas.

Fazer Login

Imprimir

Consiste em pedir
autorizao para entrar na
aplicao.
Consiste em imprimir os
horrios.

Atores

Administrador

Administrador

Administrador e Admin
Administrador, Admin,
Professores e
Funcionrios
Administrador, Admin,
Professores,
Funcionrios, Aluno e
Usurio
Administrador, Admin,
Professores,
Funcionrios, Aluno e
Usurio
Administrador, Admin,
Professores e
Funcionrios
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.

12

Figura 3 Diagrama de Sequncia

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]

13

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.

Figura 4 Diagrama de Actividades

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

14

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

15

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.

16

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;
17

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 conectarse 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

18

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#;

19

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.

20

A figura 6 apresenta a interligao das camadas.

Figura 6 Arquitectura Trs 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.

21

Figura 7 Stored Procedure GetHorariosProfessor

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 8 Conexo Base Dados HO_DECM

22

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.

Figura 9 Pagina Principal

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.

23

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.

Figura 10 Pagina de Login

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 11 Pagina Gerir Usurios

24

O administrador tambm tem a funo de criar e atribuir papis aos usurio


da aplicao, as figuras a seguir apresenta a pgina criar usurios.

Figura 12 Pagina 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 13 Pagina Carregar Base de Dados

25

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.

Figura 14 Pagina Escolher Departamento

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.

Figura 15 Pagina Escolher Tipo de Horrio

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.

26

A figura seguinte mostra o horrio de um professor.

Figura 16 Pagina Horrio 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 17 Pagina Mudar Palavra Passe

27

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;

28

6. Referncias
[1]

Site

do

ascTimetable,

consultado

em

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)

29

[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-camadasparte-1/.

30

Вам также может понравиться