Horarios online

38
Departamento de Engenharia e Ciências do Mar Licenciatura em Engenharia Informática e de Computadores Projecto Fim de Curso Mindelo, 2013 TITULO Horários Online: Apresentação em Tempo Real dos Horários da Uni-CV AUTOR (s): Telma Regina Andrade da Graça ORIENTADOR: Mestre Carlos António Baia Mendes

description

Horarios online

Transcript of Horarios online

  • 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/.