58
Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA DE CONTROLE ACADÊMICO COM ENVIO DE MENSAGENS AUTOMÁTICAS Willian Alexandre Ribeiro Campinas – São Paulo – Brasil Dezembro de 2008

Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

Embed Size (px)

Citation preview

Page 1: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

Curso de Engenharia de Computação

PROTÓTIPO DE UM SISTEMA DE CONTROLE ACADÊMICO

COM ENVIO DE MENSAGENS AUTOMÁTICAS

Willian Alexandre Ribeiro

Campinas – São Paulo – Brasil

Dezembro de 2008

Page 2: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

Curso de Engenharia de Computação

PROTÓTIPO DE UM SISTEMA DE CONTROLE ACADÊMICO

COM ENVIO DE MENSAGENS AUTOMÁTICAS

Willian Alexandre Ribeiro

Monografia apresentada à disciplina de Trabalho de Conclusão do Curso de Engenharia de Computação da Universidade São Francisco, sob a orientação da Professora Silvia Elisabeth S. Lopes, como exigência parcial para conclusão do curso de graduação. Orientadora: Professora Silvia Elisabeth S. Lopes

Campinas – São Paulo – Brasil

Dezembro de 2008

Page 3: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

Protótipo de um Sistema de Controle Acadêmico com Envio de Mensagens Automáticas

Willian Alexandre Ribeiro

Ribeiro, Willian Alexandre. Protótipo de um Sistema de Controle Acadêmico

com Envio de Mensagens Automáticas. Monografia defendida e aprovada em 11

de Dezembro de 2008 pela Banca Examinadora assim constituída:

Prof. M.Sc. Silvia Elisabeth S. Lopes (Orientadora)

USF – Universidade São Francisco – Campinas – SP.

Prof M.Sc. Raimundo Cláudio da Silva Vasconcelos.

USF – Universidade São Francisco – Campinas – SP.

Prof Esp. Ricardo César Boaretto.

USF – Universidade São Francisco – Campinas – SP.

Page 4: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

Aos meus pais, por imensa dedicação e pelos

sábios conselhos despendidos ao longo da minha

caminhada.

Page 5: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

v

.Agradecimentos

Agradeço imensamente aos meus pais, que me apoiaram e compartilharam

todas as batalhas que enfrentei até aqui, com muito carinho, paciência, sorriso e

principalmente confiança.

Agradeço a todos os meus colegas de trabalho, em especial: Marcelo Oliveira

de Moraes e André L. Macedo, pelo incentivo, fornecimento de fontes e literaturas

que trouxeram um maior esclarecimento sobre os assuntos abordados.

Agradeço a todos os meus amigos, em especial: Fagner Firmo de Souza

Santos e Waldeir C. Alves de Souza, pelo incentivo e companheirismo em horas

definitivamente importantes.

Ao professor Raimundo Claudio da Silva Vasconcelos, pela paciência na co-

orientação e explicações a respeito de sistemas de gerenciamento, comunicação e

desenvolvimento web.

A minha professora e orientadora Silvia Elisabeth S. Lopes, que me auxiliou

durante toda a elaboração e conclusão deste trabalho.

Agradeço a todos que, de alguma forma direta ou indireta me ajudaram e

incentivaram para a realização deste projeto.

Page 6: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

vi

Sumário

Lista de Siglas ........................................................................................................ viii

Lista de Figuras ........................................................................................................ ix

Lista de Tabelas ....................................................................................................... xi

Resumo .................................................................................................................... xii

Abstract ................................................................................................................... xiii

1 Introdução ............................................................................................................ 1

1.1 Contextualização ............................................................................................. 1

1.2 Objetivo ........................................................................................................... 1

1.3 Estrutura do Texto ........................................................................................... 1

2 TECNOLOGIA adotada ........................................................................................ 3

2.1 Linguagem de Programação Java ................................................................... 3

2.2 Características Importantes ............................................................................. 4

2.2.1 Simplicidade na programação ................................................................... 4

2.2.2 Linguagem orientada a objetos ................................................................. 4

2.2.3 Independente de Plataforma ..................................................................... 5

2.2.4 Performance e segurança ......................................................................... 6

2.3 Java Server Pages (JSP) ................................................................................ 6

2.4 Servlet ............................................................................................................. 8

2.5 Tomcat ............................................................................................................ 9

2.6 MySQL ............................................................................................................ 9

2.7 UML ................................................................................................................. 9

2.7.1 Análise de requisitos ............................................................................... 10

2.7.2 Conceitos ................................................................................................ 11

3 Projeto Desenvolvido ........................................................................................ 12

3.1 Visão Geral da Universidade ......................................................................... 12

3.2 Problema de Negócio .................................................................................... 12

3.3 Solução Proposta .......................................................................................... 13

3.4 Interessados no Projeto ................................................................................. 13

3.5 Características Gerais do Projeto .................................................................. 14

3.5.1 Requisitos não funcionais: ....................................................................... 14

3.5.2 Requisitos Funcionais: ............................................................................ 14

3.6 Usuários do Projeto ....................................................................................... 14

3.7 Premissas e Restrições do Projeto................................................................ 15

3.8 Documentos Relacionados ............................................................................ 15

3.9 Diagrama de Caso de Uso ............................................................................ 15

3.9.1 Descrição dos Casos de Uso .................................................................. 16

Page 7: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

vii

3.10 Diagrama de Classes .................................................................................... 27

3.11 Diagrama de Seqüência ................................................................................ 28

3.12 Administração ................................................................................................ 29

3.13 Comunicação ................................................................................................ 35

4 Conclusão .......................................................................................................... 40

4.1 Contribuições ................................................................................................ 40

4.2 Trabalhos futuros........................................................................................... 40

5 Referências Bibliográficas ............................................................................... 41

6 Glossário ............................................................................................................ 42

7 APÊNDICE .......................................................................................................... 45

7.1 Apêndice A .................................................................................................... 45

Page 8: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

viii

Lista de Siglas

SGBD

JSP

JVM

ASP

HTTP

API

JPA

UML

HTML

Sistema de Gerenciamento de Banco de Dados.

Java Server Pages.

Java Virtual Machine.

Active Server Pages.

Hypertext Transfer Protocol.

Application Programming Interface.

Java Persistence API.

Unified Modeling Language.

Hyper Text Markup Language.

Page 9: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

ix

Lista de Figuras

FIGURA 1: AMBIENTE DE DESENVOLVIMENTO JAVA .......................................................... 3

FIGURA 2: EXEMPLO DE CLASSE E OBJETOS. ................................................................... 5

FIGURA 3: JAVA MULTIPLATAFORMA. .............................................................................. 6

FIGURA 4: ARQUITETURA DE UMA PÁGINA JSP ................................................................ 8

FIGURA 5: FUNCIONAMENTO DE UM SERVLET .................................................................. 9

FIGURA 6: CASO DE USO GERAIS DO SISTEMA. ............................................................... 16

FIGURA 7: CASO DE USO CADASTRO DE ALUNO. ............................................................. 16

FIGURA 8: CASO DE USO LISTAR ALUNO. ....................................................................... 17

FIGURA 9: CASO DE USO CADASTRO DE PROFESSOR. ..................................................... 18

FIGURA 10: CASO DE USO LISTAR PROFESSOR. ............................................................. 19

FIGURA 11: CASO DE USO CADASTRO DE DISCIPLINA. ..................................................... 20

FIGURA 12: CASO DE USO LISTAR DISCIPLINA. ............................................................... 21

FIGURA 13: CASO DE USO CADASTRO DE TURMA............................................................ 21

FIGURA 14: CASO DE USO LISTAR TURMAS. ................................................................... 22

FIGURA 15: CASO DE USO CADASTRO DE HISTÓRICO. ..................................................... 23

FIGURA 16: CASO DE USO ENVIA MENSAGEM. ................................................................ 24

FIGURA 17: CASO DE USO LISTAR MENSAGENS. ............................................................. 25

FIGURA 18: CASO DE USO UPLOAD DE ARQUIVO. ............................................................ 26

FIGURA 19: CASO DE USO LISTAR ARQUIVOS. ................................................................ 26

FIGURA 20: DIAGRAMA DE CLASSES ............................................................................. 28

FIGURA 21: DIAGRAMA DE SEQÜÊNCIA ......................................................................... 29

FIGURA 22: CADASTRO DE ALUNO ................................................................................ 30

FIGURA 23: CADASTRO DE PROFESSOR ........................................................................ 31

FIGURA 24: CADASTRO DE DISCIPLINA .......................................................................... 32

FIGURA 25: CADASTRO DE TURMA ............................................................................... 33

FIGURA 26: LISTAR DE ALUNOS CADASTRADOS NA TURMA PESQUISADA. .......................... 34

FIGURA 27: GERENCIAMENTO DE HISTÓRICO. ............................................................... 35

FIGURA 28: MODELO DE ENVIO DE MENSAGENS. ............................................................ 37

FIGURA 29: INSERÇÃO DE ARQUIVOS NO SISTEMA. ......................................................... 38

FIGURA 30: DOWNLOAD DE ARQUIVOS. ......................................................................... 39

Page 10: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

x

FIGURA 31: DIAGRAMA DE CLASSES COMPLETO. ............................................................ 45

Page 11: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

xi

Lista de Tabelas

TABELA 1: INTERESSADOS NO PROJETO (STAKEHOLDERS). ............................................. 13

TABELA 2: USUÁRIOS DO PROJETO. .............................................................................. 15

Page 12: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

xii

Resumo

O presente trabalho tem como objetivo principal apresentar um protótipo de um

sistema de controle acadêmico com envio de mensagens automáticas para correios eletrônicos

e celulares, utilizando a linguagem de programação Java. O protótipo desenvolvido tem como

foco principal o desenvolvimento de um software que agrega conceitos adquiridos durante o

curso de Engenharia de Computação, tais como, engenharia de software, linguagem orientada

a objetos e sistemas de gerenciamento de banco de dados. Esse sistema visa beneficiar os

usuários de um sistema acadêmico, proporcionando ferramentas para uma melhor

comunicação e estabelecendo assim uma melhor integração entre os seus membros. O

protótipo foi desenvolvido em um ambiente Java, pois a linguagem de programação Java

proporciona vantagens na programação com uso de interface com banco de dados e

protocolos da internet, elementos de extrema importância para a realização e conclusão deste

protótipo.

PALAVRAS-CHAVE: envio de mensagens automáticas; sistema de controle acadêmico;

protótipo em Java;

Page 13: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

xiii

Abstract

This work has as main objective to present a prototype of an academic control system

with automatic messaging to emails and to mobile phones, using Java programming language.

The prototype has as main focus the development of software that uses concepts acquired

during the Computing Engineering course such as software engineering, knowledge of object

oriented languages, and database management systems. This system aims to help users of an

academic system, making available tools to improve communication, and so improving the

interactions in between the members of this system. The prototype was developed in a Java

environment, because the Java programming language presents advantages during the

implementation as the use of an easy interface with the database and internet protocols,

extremely important elements for the realization and conclusion of such prototype.

KEY WORDS: automatic messaging; academic control system; Java prototype;

Page 14: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

1

1 INTRODUÇÃO

1.1 Contextualização

A idéia principal do projeto é a implementação de um protótipo de controle acadêmico

com envio de mensagens automáticas para celulares utilizando a linguagem de programação

Java. Este sistema acadêmico possibilita aos seus usuários o serviço de envio de mensagens

automáticas após a ocorrência de determinados eventos.

O desenvolvimento do projeto tem como foco principal o desenvolvimento de um

protótipo baseado em orientação a objetos utilizando como ferramenta a linguagem de

programação Java. A linguagem Java oferece uma série de vantagens na implementação da

interface com banco de dados e protocolos da internet. No desenvolvimento do projeto

também foi utilizado um sistema de gerenciamento de banco de dados (SGBD).

O projeto tem como base o sistema acadêmico utilizado na Universidade São

Francisco, e tem como finalidade a implementação de um programa que utiliza uma interface

disponível na linguagem Java para um banco de dados. Após o desenvolvimento do projeto é

feito um estudo de caso para mostrar sua funcionalidade.

A escolha do software Netbeans justifica-se por ser um software livre, prática utilizada

pela Universidade São Francisco. Com a contribuição da linguagem JSP (Java Server Pages),

o projeto visa uma melhor interface gráfica com os seus usuários bem como sua utilização via

internet.

Este trabalho de conclusão de curso tem como função também promover uma inter

ralação entre os diversos temas e conteúdos tratados durante o curso de Engenharia de

Computação, de forma a contribuir para a formação profissional do aluno agregando

conhecimento entre as diversas áreas relacionadas ao curso.

1.2 Objetivo

O objetivo principal do projeto é a implementação de um sistema acadêmico que

possibilitará uma melhor comunicação entre seus usuários com envio de mensagens

automáticas após a ocorrência de determinados eventos.

1.3 Estrutura do Texto

A monografia foi dividida em 6 seções da seguinte maneira:

• Seção 1 aborda a introdução e contextualização do objetivo do projeto.

Page 15: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

2

• Seção 2 aborda a tecnologia e ferramentas necessárias para o desenvolvimento

do protótipo.

• Seção 3 contempla tópicos de metodologias de desenvolvimento utilizadas na

implementação do protótipo.

• Seção 4 aborda a conclusão da monografia assim como contribuições a possíveis

trabalhos futuros.

• Seção 5 lista as referências bibliográficas.

• Seção 6 contém um glossário de palavras para um maior entendimento da

monografia.

Page 16: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

3

2 TECNOLOGIA ADOTADA

2.1 Linguagem de Programação Java

A linguagem de programação Java foi criada por uma equipe de pesquisadores da Sun

Microsystems, em 23 de maio de 1995. Java é uma linguagem de alto nível muito semelhante

à linguagem de programação C++. A linguagem de programação Java é o resultado de um

trabalho de pesquisa e desenvolvimento muito mais do que uma simples linguagem de

programação, ou seja, tem todo um ambiente de desenvolvimento e execução de programas

que reúne um conjunto infinito de facilidades. A seguir, a figura 1 demonstra como é dividido

um ambiente de desenvolvimento Java.

Figura 1: Ambiente de Desenvolvimento Java

Fonte: www.javafree.org

A linguagem de programação Java foi adotada para o desenvolvimento deste projeto,

por tratar-se de uma linguagem de programação que suporta a programação orientada a

objetos, por ter facilidade na implementação de uma interface com bancos de dados e

protocolos de internet e por incorporar diversas características voltadas para segurança.

Page 17: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

4

Como será visto posteriormente, um aperfeiçoamento deste projeto seria a execução

do mesmo através de um dispositivo móvel, e, neste caso, é através da linguagem Java que

este tipo de implementação se torna possível.

2.2 Características Importantes

2.2.1 Simplicidade na programação

Sua semelhança com a linguagem de programação C++ torna a linguagem Java

conhecida pela maioria dos programadores que utilizam a programação orientada a objetos.

Porém Java foi desenvolvida com intuito de melhorar e eliminar desvantagens que vinham do

C++, como por exemplo, herança múltipla, sobrecarga de operadores, aritmética de ponteiros,

alocação e liberação manual de memória.

“Java é uma linguagem de programação de propósito geral, concorrente, com base em

classes e orientada a objetos. Foi projetada para ser simples o bastante para que a maioria dos

programadores se torne fluente com a linguagem Java. A linguagem Java tem relação com C

e C++, mas é organizada de maneira diferente, com vários aspectos de C e C++ omitidos e

algumas idéias de outras linguagens incluídas” [6]

2.2.2 Linguagem orientada a objetos

O protótipo tem como princípio, além do envio de mensagens automáticas após a

ocorrência de determinados eventos, a manipulação de usuários desse sistema acadêmico

utilizando métodos como cadastro, pesquisa e alteração, por essa razão foi necessário a

utilização de uma linguagem que suportasse a orientação a objetos. Ao se utilizar uma

linguagem de programação orientada a objetos para a manipulação dos dados, ganha-se uma

maior organização e gerenciamento, pois esta programação ajuda em muito o tratamento e

gerenciamento de grandes quantidades de dados. A linguagem orientada a objetos também

descreve procedimentos para obter a solução de um problema de forma clara, rápida e

objetiva dando segurança ao programador.

A programação orientada a objetos implementa uma séries de classes que irão definir

os objetos presentes do sistema, onde cada classe determinará o comportamento e estados

possíveis de seus objetos, assim como o relacionamento com outros objetos.

O projeto orientado a objetos fornece uma maneira natural e intuitiva de visualizar o

processo de projeto de software – modelar objetos por seus atributos e comportamentos da

maneira como descrevemos objetos do mundo real. [1]. A figura 2 mostra um exemplo de

Page 18: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

5

orientação a objetos onde temos uma classe casa e as suas instâncias. A classe casa define o

comportamento dos objetos, através do método boolean abrePorta(), e quais estados que esses

objetos poderão manter através dos atributos número e cor. Os objetos c1, c2 e c3 têm valores

diferentes de cor e número das casas, enquanto apenas o objeto c3 utiliza o método

abrePorta().

Figura 2: Exemplo de classe e objetos.

Fonte: www.argonavis.com.br

2.2.3 Independente de Plataforma

Um dos conceitos mais importantes da linguagem Java é a independência de

plataforma, pois um programa Java escrito em uma plataforma pode ser utilizado em qualquer

outra plataforma diferente da original. Isso é possível através da utilização da Java Virtual

Machine (JVM), esta máquina virtual interpretará um programa Java para o código de

máquina específico da plataforma em questão. Portanto, qualquer plataforma que possui uma

JVM pode compilar qualquer programa Java. Na figura 3, temos um exemplo de como o JVM

pode funcionar em diferentes sistemas operacionais, como Windows, Linux e Mac.

Page 19: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

6

Figura 3: Java Multiplataforma.

Fonte: www.java.sun.com

2.2.4 Performance e segurança

Pensando em performance, a linguagem de programação Java foi projetada para ser

compacta, independente de plataforma e para a utilização em rede, o que levou a decisão de

ser interpretada por intermédio dos esquemas de bytecodes. “Sendo uma linguagem

interpretada, sua performance é razoável não podendo ser comparada a velocidade de

execução de código nativo”. [6].

Visando a segurança e considerando a possibilidade de que as aplicações possam ser

obtidas através de uma rede, a linguagem Java possui mecanismos de segurança que podem,

no caso de applets, evitar, por exemplo, qualquer operação no sistema de arquivos de outra

máquina, minimizando problemas de segurança. Tal mecanismo é flexível o suficiente para

determinar se uma applet é considerada segura, especificando nesta situação diferentes níveis

de acesso ao sistema de outro computador.

2.3 Java Server Pages (JSP)

Java Server Pages é uma tecnologia usada para o desenvolvimento de aplicações para

web, muito semelhante ao Active Server Pages (ASP). Por ser modelada na linguagem de

programação Java, tem a vantagem da portabilidade de plataforma, que permite a execução

em diversos sistemas operacionais como o Windows e o Linux.

Page 20: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

7

“As Java Server Pages simplificam o fornecimento de conteúdo web dinâmico. Elas

permitem aos programadores de aplicativo web criar conteúdo dinâmico reutilizando

componentes pré-definidos e interagindo com componentes que utilizam script do lado do

servidor”. [1].

JSP permite aos programadores de sites, construírem aplicações que permitam o

acesso ao banco de dados, acessos a arquivos texto, a captação de informações por

formulários, a captação de informações sobre o visitante e sobre o servidor entre outras

funcionalidades. Há quatro componentes chaves para o JSP: diretivas, ações, elementos de

script e bibliotecas de tags.

● Diretivas: são mensagens para o componente de servidor que executa o JSP, que

permitem ao programador especificar configurações de página, incluindo conteúdos de outros

recursos, e especificar as bibliotecas de tag personalizada para utilização em uma JSP.

● Ações: encapsulam funcionalidades em tags pré-definidas que os programadores

podem incorporar em uma JSP. As ações freqüentemente são realizadas com base nas

informações enviadas para o servidor como parte de uma solicitação particular de cliente,

estas ações também podem criar objetos Java para a utilização em scriptlets de JSP.

● Elementos de Script: permitem aos programadores inserir um código Java que entre

em interação com os componentes de uma página JSP, para realizar o processo de solicitação.

Os scriptlets podem ser considerados como um tipo de script, que contém fragmentos de

código, que descrevem a ação a ser realizada em resposta a uma solicitação de um usuário.

● Bibliotecas de tags: fazem parte do mecanismo de extensão de tag que disponibiliza

aos programadores criarem tags personalizadas.

“Os programadores tendem a utilizar JSPs quando a maior parte do conteúdo enviado

para o cliente for dados de template fixo e uma pequena ou nenhuma parte do conteúdo for

gerada dinamicamente com código Java”. [1].

A figura 4 mostra a arquitetura de uma página JSP, onde o cliente faz uma requisição a

uma página. Após essa requisição o browser web efetua o pedido através da internet. O

pedido JSP é então enviado para o servidor web. O servidor web reconhece o pedido em

extensão JSP e entrega o arquivo JSP ao JSP Engine.

Page 21: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

8

Figura 4: Arquitetura de uma página JSP

Fonte: Fonte: www.javafree.org

2.4 Servlet

Servlet é uma classe Java usada para ampliar as capacidades dos servidores que

permitem o acesso a aplicações por meio do modelo requisição-resposta. Embora as classes

Servlets possam responder a qualquer tipo de requisição, as mesmas são comumente usadas

para ampliar as aplicações hospedadas em servidores web. Para tais aplicações, a tecnologia

Java Servlet define classes Servlets específicas para o protocolo HTTP. [7].

Servlets geralmente são utilizadas para geração de conteúdo HTML dinâmico,

sincronização de requisição e redirecionamento de requisições. A classe Servlet é executada a

partir de requisições de clientes, que executam uma determinada tarefa, por exemplo, tarefas

em banco de dados. A classe Servlet realiza a operação requisitada e retorna uma página ao

cliente. Na figura 5 será mostrado o funcionamento de uma classe servlet.

Page 22: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

9

Figura 5: Funcionamento de um Servlet

Fonte: www.devmedia.com.br

No momento (1), na figura 5, o cliente envia uma requisição POST ou GET via HTTP

ao Servlet; no momento (2) o Servlet executa as tarefas necessárias para atender à requisição,

buscando, inserindo ou alterando dados na Base de Dados; no momento (3) o Servlet envia ao

navegador do cliente uma URL como resultado da requisição deste; finalizando no momento

(4) o navegador recupera a URL e exibe ao cliente.

2.5 Tomcat

O Tomcat é um servidor de aplicações Java para web. É distribuído como software

livre e desenvolvido como código aberto dentro do projeto Apache Jakarta. O Tomcat tem a

capacidade de atuar também como servidor web/HTTP. Este foi o grande motivo pelo qual o

Apache Tomcat foi utilizado para o desenvolvimento deste protótipo.

2.6 MySQL

O MySQL é um sistema de gerenciamento de banco de dados, que utiliza a linguagem

SQL (Structured Query Language – Linguagem de Consulta Estruturada) como interface. O

gerenciador de dados é usado para adicionar, modificar ou apagar dados armazenados em uma

base de dados do computador. A grande vantagem do MySQL é o fato de ser um gerenciador

gratuito e possuir as mesmas funcionalidades de outros gerenciadores de dados atualmente no

mercado.

2.7 UML

A UML (Unified Modeling Language) não é um método e sim uma linguagem de

modelagem projetada para especificar, visualizar, construir e documentar um sistema. A

linguagem de modelagem é a notação que o método utiliza para expressar projetos enquanto

Page 23: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

10

que o processo indica quais passos seguir para desenvolver um projeto. A especificação da

UML consiste de duas partes:

• Semântica - especifica a sintaxe abstrata e a semântica dos conceitos de modelagem

estática e dinâmica de objetos;

• Notação – especifica a notação gráfica para a representação visual da semântica.

A UML suporta o desenvolvimento iterativo e incremental. Desenvolvimento iterativo e

incremental é o processo de desenvolvimento de sistemas em pequenos passos. Uma iteração

é um laço de desenvolvimento que resulta na liberação de um subconjunto de produtos que

evolui até o produto final percorrendo as seguintes atividades:

• Análise de requisitos

• Análise

• Projeto

• Implementação

• Teste

O detalhamento de cada etapa destas atividades define o método de desenvolvimento de

sistemas.

2.7.1 Análise de requisitos

Esta etapa se caracteriza pela definição do comportamento do sistema, ou seja, como o

sistema age ou reage, descrevendo o relacionamento entre o ambiente e o sistema. Deve ser

uma definição de necessidades do usuário e não uma proposta de solução. O usuário deve

indicar os requisitos prioritários para o sistema.

O grupo de análise deve identificar as necessidades do usuário. Decisões do projeto

impostas não são características essenciais do domínio do problema.

A análise de requisitos é composta pelos seguintes diagramas:

• Diagrama de caso de uso;

• Diagrama de seqüência;

Page 24: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

11

• Diagrama de colaboração;

Para realizar a análise de requisitos, primeiramente deve-se:

• Identificar objetivo e características do sistema;

• Identificar os requisitos essenciais;

• Descrever as necessidades do usuário;

• Elaborar diagrama de caso de uso;

• Elaborar diagrama de seqüência;

• Elaborar diagrama de colaboração

2.7.2 Conceitos

Como já foi dito, a UML é uma linguagem visual para especificação (modelagem) de

sistemas orientados a objeto. A UML privilegia a descrição de um sistema seguindo três

perspectivas:

1. Os diagramas de classes - (Dados estruturais);

2. Os diagramas de casos de uso (Operações funcionais);

3. Os diagramas de seqüência, atividades e transição de Estados (Eventos temporais);

No decorrer desse documento, estes assuntos serão abordados com maiores detalhes.

Page 25: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

12

3 PROJETO DESENVOLVIDO

Conforme comentado anteriormente, o projeto visa beneficiar os usuários de um

sistema acadêmico, proporcionando ferramentas para uma melhor administração e também

comunicação entre as partes envolvidas neste sistema. O protótipo tem como base o sistema

acadêmico utilizado na Universidade São Francisco.

3.1 Visão Geral da Universidade

Como já dito anteriormente, o Sistema Acadêmico utilizado como base deste protótipo

tem como referência o sistema utilizado pela Universidade São Francisco. A Universidade

São Francisco é uma entidade educacional que contribui para o desenvolvimento humano e

profissional de seus alunos, bem como para sua inserção no mercado de trabalho. Com sede

em Bragança Paulista, a Universidade São Francisco conta com mais três campus (Itatiba,

Campinas e São Paulo), todos situados em região de fácil acesso. Fisicamente estão

distribuídos em instalações que acolhem plenamente as atividades educacionais e, também

técnico-administrativas. Com laboratórios altamente equipados a Universidade São Francisco

oferece aos seus alunos e professores alto nível no ensino superior.

A Universidade São Francisco adota o sistema denominado “Aluno online” para o

cadastro de alunos, atualização dos dados dos alunos, disponibilização de notas e freqüências,

disponibilização de arquivos, mensagens e avisos, plano de estudo, histórico acadêmico entre

outras ferramentas, para melhor gerenciamento e comunicação entre alunos e professores.

A Universidade também adota o sistema denominado “Docente online”, que atua em

conjunto com o sistema “Aluno online”. O sistema “Docente online” possibilita a interação do

docente com as turmas das disciplinas para as quais leciona. É realizado a inserção de notas e

freqüências e também a disponibilização de arquivos juntamente com a comunicação via

mensagens e avisos.

3.2 Problema de Negócio

O sistema “Aluno online” atua de acordo com as normas internas da Universidade. A

comunicação entre o docente e os alunos de uma determinada turma, somente se dá quando

do acesso via internet ao sistema. Este método de interação não é muito eficiente, uma vez

que o aluno necessita verificar constantemente se houve a inclusão de algum arquivo,

mensagem ou aviso, ou se houve a inclusão de nota ou freqüência. Com esses acessos

constantes, a rede e o sistema tendem a ficar sobrecarregados gerando assim certo desconforto

por parte de seus usuários.

Page 26: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

13

3.3 Solução Proposta

Visando resolver o problema de negócio mencionado no item anterior, o presente

trabalho apresenta uma melhoria na comunicação entre o docente e os alunos, promovendo a

emissão de avisos para endereços eletrônicos e dispositivos móveis, sempre após a ocorrência

de um determinado evento no sistema. Por evento, entende-se a inclusão de um arquivo,

mensagem ou aviso, ou a inserção de nota ou freqüência. Com a emissão dos avisos, o usuário

não necessita verificar constantemente o sistema, apenas o fará após o recebimento de

mensagens em seu correio eletrônico ou mensagens em seu dispositivo móvel.

3.4 Interessados no Projeto

A tabela abaixo apresenta os interessados/envolvidos no desenvolvimento do projeto.

Tabela 1: Interessados no Projeto (Stakeholders).

Coordenador do curso de Engenharia de Computação.

Orientar os alunos e docentes sobre as atividades e deveres da Universidade.

Solicitação de retornos freqüentes das atividades desenvolvidas no projeto e aplicação das devidas avaliações.

Espera-se que o aluno aplique na prática os conhecimentos adquiridos durante a graduação em um projeto inovador.

Professor

Lecionar as disciplinas oferecidas pelo curso.

Contribuição nas explanações sobre a utilização do sistema: elogios, críticas e sugestões.

Espera-se um software que seja rápido e seguro, facilitando a interação com os alunos da Universidade

Aluno

Atuar como um cliente para a Universidade, tendo direitos e deveres de acordo com o estatuto.

Contribuição nas explanações sobre a utilização do sistema: elogios, críticas e sugestões.

Espera-se um software que seja rápido e seguro, facilitando a interação com os professores e outros alunos da Universidade.

Desenvolvedor Apresentar um projeto rápido, seguro e inovador.

Manter o escopo do projeto, aplicando os requisitos pré-estabelecidos na fase de planejamento. Desenvolver a programação com qualidade, visando não ultrapassar o budget (esforço).

Espera-se concluir um projeto que siga as normas e padrões de um trabalho de conclusão de curso.

Page 27: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

14

3.5 Características Gerais do Projeto

3.5.1 Requisitos não funcionais:

1. O acesso ao sistema deve ser feito usando a tecnologia de internet, ou seja,

usando um navegador web.

2. As telas para consulta e cadastro (alunos, professores, turmas, disciplinas, etc.)

devem ter tempo de resposta máximo de 8 segundos.

3. O sistema deve ser projetado tanto para dar agilidade de movimentação do

dados quanto para evitar erros de digitação que possam levar a informações

inconsistentes.

4. Os computadores da Universidade estão baseados na plataforma Windows. O

sistema foi desenvolvido em Java, utilizando servidor web (Tomcat) e banco

de dados (MySQL).

3.5.2 Requisitos Funcionais:

5. Manutenção de Alunos: criar um banco de dados de alunos no sistema

acadêmico e assim gerar possíveis consultas no sistema.

6. Manutenção de Professores: criar um banco de dados de professores no sistema

acadêmico e assim gerar possíveis consultas no sistema.

7. Manutenção de Disciplinas: criar um banco de dados das disciplinas no sistema

acadêmico e assim gerar possíveis consultas e exclusões das disciplinas do

sistema.

8. Manutenção de Turmas: criar um banco de dados de turmas no sistema

acadêmico e assim gerar possíveis consulta e exclusões das turmas no sistema.

9. Envio de Mensagens: criar um banco de dados com os conteúdos das

Mensagens Enviadas. Essas mensagens são visualizadas pelos usuários do

sistema e podem ser excluídas a qualquer momento.

10. Upload (inclusão) de Arquivos: criar um acervo de arquivos para possíveis

consultas e downloads dos usuários do sistema.

3.6 Usuários do Projeto

A tabela abaixo informa os usuários do projeto.

Page 28: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

15

Tabela 2: Usuários do Projeto.

Professores Responsável por lecionar as disciplinas.

Disponibilizar arquivos para acompanhamento das aulas. Divulgar através de mensagens u avisos informações pertinentes ao curso. Incluir as notas e freqüências.

Alunos Atua como um cliente para a Universidade, mantendo um comprometimento com as normas acadêmicas.

Interage com os demais usuários incluindo mensagens. Possui acesso ao seu cadastro e também as notas e freqüências.

Desenvolvedor Responsável pela implementação e validação do sistema.

Deve atuar na manutenção do sistema e futuras alterações.

Funcionários Responsável pelas atividades administrativas.

Cadastra alunos, professores, disciplinas e turmas. Exclui disciplinas e turmas.

3.7 Premissas e Restrições do Projeto

O projeto apresenta as seguintes premissas e restrições:

1. O banco de dados MySQL está disponível para o armazenamento dos dados dos

professores e dos alunos e também para o armazenamento das mensagens e

arquivos.

2. O servidor suporta páginas JSP.

3. Professores e alunos devem ter acesso ao sistema.

3.8 Documentos Relacionados

O projeto não contempla nenhum documento específico, uma vez que a finalidade da

presente monografia é didática e âmbito acadêmico.

3.9 Diagrama de Caso de Uso

“O caso de uso é a parte mais importante da construção de software orientado a

objetos utilizando a UML. Os Casos de Uso são, talvez, o único instrumento que acompanha

um software do seu inicio até a sua conclusão. “[5].

A utilização do diagrama de casos de uso auxiliou a descrever as funcionalidades

propostas desse sistema acadêmico, pois podemos descrever a seqüência de eventos que um

usuário necessita realizar para completar um processo no sistema. A seguir é apresentado um

Page 29: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

16

exemplo utilizando o diagrama de casos de uso, demonstrando a seqüência de eventos

necessária para realização de um envio de mensagem no sistema.

A figura 6 mostra as funcionalidades gerais do sistema na forma de diagrama de casos

de uso. Em seguida estão detalhadas as especificações textuais dos casos de uso do sistema.

Figura 6: Caso de uso gerais do sistema.

3.9.1 Descrição dos Casos de Uso

3.9.1.1 Cadastro de Aluno

Figura 7: Caso de uso cadastro de aluno.

Page 30: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

17

Breve Descrição: Deve ser possível cadastrar novos alunos no sistema.

Atores: Usuário, Sistema.

Pré-condições: O aluno não deve estar cadastrado no sistema.

Pós-condições: Aluno cadastrado no sistema.

Fluxo Principal:

1. Usuário seleciona opção Cadastrar Aluno.

2. Usuário entra com os dados do Aluno:

• RA do Aluno

• Nome

• Email

• Celular

• Recebe SMS

• Recebe Email

• Seleciona uma Turma

3. Caso usuário clique no botão Limpar, segue para Fluxo alternativo item 1.

4. Caso usuário clique no botão Voltar, segue para Fluxo alternativo item 2.

5. Usuário clica no botão Cadastrar.

6. Sistema volta para a tela de Cadastro de Aluno.

Fluxo alternativo:

1. Sistema remove todos os dados deixando os campos sem nenhum preenchimento.

2. Sistema volta para a tela anterior sem efetuar nenhum cadastro.

3.9.1.2 Listar Aluno

Figura 8: Caso de uso listar aluno.

Breve Descrição: Deve ser possível listar todos os alunos no sistema.

Atores: Usuário, Sistema.

Page 31: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

18

Pré-condições: O sistema deve conter alunos cadastrados.

Pós-condições: Listagem de todos os alunos cadastrados no sistema.

Fluxo Principal:

1. Usuário seleciona opção Listar Aluno.

2. Caso usuário clique no botão Voltar, segue para Fluxo alternativo item 1.

3. Caso usuário clique no botão Histórico, segue para Fluxo alternativo item 2.

4. O sistema deve exibir todos os alunos cadastrados.

Fluxo alternativo:

1. Sistema volta para a tela anterior.

2. Sistema avança para a tela de Cadastro de Histórico.

3.9.1.3 Cadastro de Professor

Figura 9: Caso de uso cadastro de professor.

Breve Descrição: Deve ser possível cadastrar novos professores no sistema.

Atores: Usuário, Sistema.

Pré-condições: O professor não deve estar cadastrado no sistema.

Pós-condições: Professor cadastrado no sistema.

Fluxo Principal:

1. Usuário seleciona opção Cadastrar Professor.

2. Usuário entra com os dados do Professor:

• Nome

• Email

• Celular

Page 32: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

19

3. Caso usuário clique no botão Limpar, segue para Fluxo alternativo item 1.

4. Caso usuário clique no botão Voltar, segue para Fluxo alternativo item 2.

5. Usuário clica no botão Cadastrar.

6. Sistema volta para a tela de Cadastro de Professor.

Fluxo alternativo:

1. Sistema remove todos os dados deixando os campos sem nenhum preenchimento.

2. Sistema volta para a tela anterior sem efetuar nenhum cadastro.

3.9.1.4 Listar Professor

Figura 10: Caso de uso listar professor.

Breve Descrição: Deve ser possível listar todos os professores do sistema.

Atores: Usuário, Sistema.

Pré-condições: O sistema deve conter professores cadastrados.

Pós-condições: Listagem de todos os professores cadastrados no sistema.

Fluxo Principal:

1. Usuário seleciona opção Listar Professor.

2. Caso usuário clique no botão Voltar, segue para Fluxo alternativo 1.

3. O sistema deve exibir uma lista de todos os professores cadastrados.

Fluxo alternativo:

1. Sistema volta para a tela anterior.

3.9.1.5 Cadastro de Disciplina

Page 33: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

20

Figura 11: Caso de uso cadastro de disciplina.

Breve Descrição: Deve ser possível cadastrar novas disciplinas no sistema.

Atores: Usuário, Sistema.

Pré-condições: A disciplina não deve estar cadastrada no sistema.

Pós-condições: Disciplina cadastrada no sistema.

Fluxo Principal:

1. Usuário seleciona opção Cadastrar Disciplina.

2. Usuário entra com os dados da Disciplina:

• Nome

• Carga Horária

• Nome do Professor

3. Caso usuário clique no botão Limpar, segue para Fluxo alternativo item 1.

4. Caso usuário clique no botão Voltar, segue para Fluxo alternativo item 2.

5. Usuário clica no botão Cadastrar.

6. Sistema volta para a tela de Cadastro de Disciplina.

Fluxo alternativo:

1. Sistema remove todos os dados deixando os campos sem nenhum preenchimento.

2. Sistema volta para a tela anterior sem efetuar nenhum cadastro.

3.9.1.6 Listar Disciplina

Page 34: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

21

Figura 12: Caso de uso listar disciplina.

Breve Descrição: Deve ser possível listar todas as disciplinas do sistema.

Atores: Usuário, Sistema.

Pré-condições: O Sistema deve conter disciplinas cadastradas.

Pós-condições: Listagem de todas as disciplinas cadastradas no sistema

Fluxo Principal:

1. Usuário seleciona opção Listar Disciplinas.

2. Caso usuário clique no botão Voltar, segue para Fluxo alternativo 1.

3. O sistema irá exibir todas as disciplinas cadastradas.

Fluxo alternativo:

1. Sistema volta para a tela anterior.

3.9.1.7 Cadastro de Turma

Figura 13: Caso de uso cadastro de turma.

Breve Descrição: Deve ser possível cadastrar novas turmas no sistema.

Atores: Usuário, Sistema.

Pré-condições: A Turma não deve estar cadastrada no sistema.

Pós-condições: Turma cadastrada no sistema.

Page 35: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

22

Fluxo Principal:

1. Usuário seleciona opção Cadastrar Turma.

2. Usuário entra com dados da Turma:

• Ano

• Horário

3. Caso usuário clique no botão Limpar, segue para Fluxo alternativo item 1.

4. Caso usuário clique no botão Voltar, segue para Fluxo alternativo item 2.

5. Usuário clica no botão Cadastrar Turma.

6. Sistema volta para a tela de Cadastro de Turma.

Fluxo alternativo:

1. Sistema remove todos os dados deixando os campos sem nenhum preenchimento.

2. Sistema volta para a tela anterior sem efetuar nenhum cadastro.

3.9.1.8 Listar Turma

Figura 14: Caso de uso listar turmas.

Breve Descrição: Deve ser possível listar todas as turmas do sistema.

Atores: Usuário, Sistema.

Pré-condições: O Sistema deve conter turmas cadastradas.

Pós-condições: Listagem de todas as turmas cadastradas no sistema.

Fluxo Principal:

1. Usuário seleciona opção Listar Turmas.

2. Caso usuário clique no botão Voltar, segue para Fluxo alternativo item 1.

3. Caso usuário clique no botão Excluir, segue para Fluxo alternativo item 2.

4. Caso usuário clique no botão Lista segue para Fluxo alternativo item 3.

Page 36: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

23

5. O sistema irá exibir todas as turmas cadastradas.

Fluxo alternativo:

1. Sistema volta para a tela anterior.

2. Sistema exclui a turma selecionada.

3. Listagem de todos os alunos cadastrados na turma selecionada (caso de uso listar

alunos).

3.9.1.9 Cadastro de Histórico

Figura 15: Caso de uso cadastro de histórico.

Breve Descrição: Deve ser possível gerenciar o histórico de cada aluno do sistema.

Atores: Usuário, Sistema.

Pré-condições: O Sistema deve conter disciplinas cadastradas.

Pós-condições: Listagem do Histórico de um determinado aluno do sistema.

Fluxo Principal:

1. Usuário seleciona opção Histórico.

2. Usuário entra com dados:

• Freqüência

• Nota

3. Caso usuário clique no botão Limpar, segue para Fluxo alternativo item 1.

4. Caso usuário clique no botão Voltar, segue para Fluxo alternativo item 2.

5. Caso usuário clique no botão Excluir, segue para Fluxo alternativo item 3.

Page 37: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

24

6. Caso usuário clique no botão Cadastra segue o Fluxo alternativo 4.

7. Usuário clica no botão Salvar.

8. Sistema volta para a tela de Cadastro de Histórico.

Fluxo alternativo:

1. Sistema remove todos os dados deixando os campos sem nenhum preenchimento.

2. Sistema volta para a tela anterior sem efetuar nenhum cadastro.

3. Sistema exclui o cadastro do aluno na disciplina selecionada.

4. Sistema cadastra aluno na disciplina selecionada.

3.9.1.10 Enviar Mensagem

Figura 16: Caso de uso envia mensagem.

Breve Descrição: Deve ser possível cadastrar e enviar novas mensagens no sistema.

Atores: Usuário, Sistema.

Pré-condições: Nenhuma.

Pós-condições: Nova mensagem cadastrada no sistema. Nova mensagem enviada aos

usuários do sistema.

Fluxo Principal:

1. Usuário seleciona opção Enviar Mensagem.

2. Usuário entra com dados da Mensagem:

• Assunto

• Conteúdo

3. Caso usuário clique no botão Limpar, segue para Fluxo alternativo item 1.

4. Caso usuário clique no botão Voltar, segue para Fluxo alternativo item 2.

5. Usuário clica no botão Enviar.

Page 38: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

25

6. Sistema volta para a tela de Enviar Mensagem.

Fluxo alternativo:

1. Sistema remove todos os dados deixando os campos sem nenhum preenchimento.

2. Sistema volta para a tela anterior sem efetuar nenhum cadastro.

3.9.1.11 Listar Mensagens

Figura 17: Caso de uso listar mensagens.

Breve Descrição: Deve ser possível listar todas as mensagens do sistema.

Atores: Usuário, Sistema.

Pré-condições: O Sistema deve conter mensagens cadastradas.

Pós-condições: Listagem das mensagens cadastradas no Sistema

Fluxo Principal:

1. Usuário seleciona opção Listar Mensagens.

2. Caso usuário clique no botão Voltar, segue para Fluxo alternativo item 1.

3. Caso usuário clique no botão Excluir, segue para Fluxo alternativo item 2.

4. O Sistema irá exibir todas as Mensagens Cadastradas no Sistema.

Fluxo alternativo:

1. Sistema remove todos os dados deixando os campos sem nenhum preenchimento.

2. Sistema exclui a Mensagem selecionada.

3.9.1.12 Upload de Arquivo

Page 39: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

26

Figura 18: Caso de uso upload de arquivo.

Breve Descrição: Deve ser possível incluir novos arquivos no sistema.

Atores: Usuário, Sistema.

Pré-condições: Nenhuma.

Pós-condições: Novo arquivo incluído no Sistema

Fluxo Principal:

1. Usuário seleciona opção Upload Arquivo.

2. Caso usuário clique no botão Voltar, segue para Fluxo alternativo item 1.

3. Caso usuário clique no botão Limpar, segue para Fluxo alternativo item 2.

4. Usuário seleciona arquivo pra incluir no Sistema.

5. Usuário clica no botão Enviar Dados.

6. Sistema volta para a tela de Upload Arquivo.

Fluxo alternativo:

1. Sistema remove todos os dados deixando os campos sem nenhum preenchimento.

2. Sistema volta para a tela anterior sem incluir nenhum arquivo.

3.9.1.13 Listar Arquivos

Figura 19: Caso de uso listar arquivos.

Breve Descrição: Deve ser possível listar todos os arquivos do sistema.

Page 40: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

27

Atores: Usuário, Sistema.

Pré-condições: O Sistema deve conter arquivos.

Pós-condições: Listagem de todos os arquivos do Sistema.

Fluxo Principal:

1. Usuário seleciona opção Listar Arquivos.

2. Caso usuário clique no botão Voltar, segue para Fluxo alternativo item 1.

3. O Sistema deve exibir todos os arquivos incluídos no sistema disponível para o

download.

Fluxo alternativo:

1. Sistema remove todos os dados deixando os campos sem nenhum preenchimento.

2. Sistema volta para a tela anterior sem incluir nenhum arquivo.

3.10 Diagrama de Classes

Nos Diagramas de Classes devemos identificar as diferentes classes que compõem o

sistema a ser desenvolvido e como estas classes se relacionam entre si. Estes diagramas são

normalmente estáticos, pois demonstram as classes em conjunto com os seus métodos e

atributos, assim como as relações estáticas de uma classe com a outra. Com a utilização do

diagrama de classes pode-se perceber quais as classes que se comunicam e as que se

completam, porém no diagrama de classes não é demonstrado as chamadas de métodos entre

as classes que o compõem. Na Figura 20 temos o diagrama de classes desse protótipo, as

classes Aluno e Professor herdam os seus métodos e atributos da classe Pessoa seguindo o

conceito de herança na linguagem orientada a objetos.

A classe Professor está associada às classes Disciplina e Turma, relacionando as

disciplinas que os professores lecionam em determinado ano e horário formando, as turmas. A

classe Disciplina possui código, nome e carga horária e a classe Turma possui código ano e

horário.

A classe Aluno está associada às classes Histórico, Turma e Disciplina, relacionando

as disciplinas que os alunos cursam em determinado ano e horário, formando as turmas e seus

respectivos históricos. A classe Histórico possui freqüência e nota.

Page 41: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

28

Figura 20: Diagrama de Classes

No apêndice A é mostrado o diagrama de classes relacionando todas as classes utilizadas no

protótipo. Para um melhor entendimento do diagrama, neste caso, os métodos não são

mostrados.

3.11 Diagrama de Seqüência

Um diagrama de seqüência pode ser usado para mostrar a evolução de uma dada

situação em determinado momento do software, mostrar uma dada colaboração entre duas ou

Page 42: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

29

mais classes e pode, também, ser usado para mostrar a tradução de um Caso de Uso desde a

interação com o usuário até a finalização do processo em questão. [5].

Em um projeto podemos ter uma grande quantidade de métodos em diferentes classes,

então para se determinar uma seqüência dos processos e atividades do software, foi utilizado o

diagrama de seqüência para que assim pudéssemos descrever a maneira como os objetos

colaboram entre si ao longo dos processos. Na figura 21 podemos verificar o fluxo dos dados,

ao realizar um cadastro de aluno no protótipo do sistema. Primeiramente na tela inicial o

usuário escolhe a opção cadastrar aluno, em seguida na página cadastra aluno o usuário envia

os dados para o armazenamento no Banco de Dados. Após o cadastro do aluno, o usuário tem

a opção de realizar um novo cadastro ou apenas voltar para tela inicial do sistema.

Figura 21: Diagrama de Seqüência

3.12 Administração

Com a implementação do protótipo, uma melhor administração será alcançada por

parte dos usuários desse sistema acadêmico, pois o sistema disponibilizará ao funcionário

ferramentas para o auxilio de tarefas como:

Cadastro de Alunos, onde o usuário deverá entrar com os dados do aluno.

● ra;

● nome;

● email;

● celular;

● Recebe SMS;

Page 43: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

30

● Recebe Email;

● Turma;

Em seguida o software analisa os dados fornecidos, de forma a garantir a

compatibilidade entre os valores inseridos, com os valores esperados pelo sistema. Após a

validação dos dados do aluno, um objeto do tipo aluno é armazenado no Banco de Dados. A

seguir na figura 22, podemos visualizar a aparência da página através da qual os alunos serão

cadastrados no sistema acadêmico.

Figura 22: Cadastro de Aluno

Cadastro de Professores, onde o usuário deverá entrar com os dados do professor.

● nome;

● email;

● celular;

Em seguida o software analisa os dados fornecidos, de forma a garantir a

compatibilidade dos valores inseridos, com os valores esperados pelo sistema. Após a

validação dos dados do professor, um objeto do tipo professor é armazenado no Banco de

Page 44: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

31

Dados. Na figura 23, podemos visualizar a aparência da página através da qual os professores

serão cadastrados no sistema acadêmico.

Figura 23: Cadastro de Professor

Cadastro de Disciplinas, onde o usuário deverá entrar com os dados da Disciplina.

● nome;

● carga horária;

● Nome Professor

Porém a inclusão de dados a um objeto do tipo disciplina é um pouco diferentes das

inclusões de valores em objetos vistos anteriormente, pois o usuário não necessita preencher o

campo professor figura 24. O usuário apenas seleciona com o mouse no Drop Down List do

campo, nome do professor os valores oferecidos, evitando assim que os usuários necessitem

conhecer todos os professores disponíveis para lecionar as disciplina. Além de facilitar no

preenchimento dos campos o Drop Down List realiza uma pré-analise dos valores, pois

apenas os professores cadastrados no sistema podem ser selecionados para um possível

cadastro na disciplina.

Page 45: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

32

Figura 24: Cadastro de Disciplina

Cadastro de Turmas, onde o usuário deverá entrar com os dados da Turma.

● ano;

● horário;

Em seguida o software analisa os dados inseridos via usuário, de forma a garantir a

compatibilidade realizando comparações dos valores inseridos, com os valores esperados pelo

sistema. Após a validação desses dados referentes ao objeto turma, o mesmo é armazenado no

Banco de Dados. Na figura 25, podemos visualizar a aparência da página através da qual as

turmas serão cadastradas no sistema acadêmico.

Page 46: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

33

Figura 25: Cadastro de Turma

Inclusão de Notas e Freqüência, onde o professor deverá entrar com os valores.

● freqüência;

● nota;

Após uma listagem na turma na qual o usuário queira incluir as notas e freqüências de

seus alunos, uma lista dos alunos referente à turma pesquisada é apresentada, conforme

apresentado na figura 26.

Page 47: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

34

Figura 26: Listar de alunos cadastrados na turma pesquisada.

Uma opção denominada histórico aparece ao lado dos nomes dos alunos da turma. Após o

usuário clicar em histórico de um determinado aluno o software encaminha o usuário à página

de Gerenciamento de Histórico, nesta página o usuário pode cadastrar o aluno nas disciplinas

oferecidas pelo curso e também pode incluir notas e freqüências em disciplinas pré-

cadastradas no sistema. Na figura 27, podemos visualizar a aparência da página através da

qual as notas e freqüências serão incluídas no histórico de cada aluno.

Page 48: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

35

Figura 27: Gerenciamento de Histórico.

O sistema disponibiliza aos seus usuários, um acesso para a realização de consultas

referentes as notas e freqüências, essas informações serão armazenadas no histórico individual

de cada aluno.

3.13 Comunicação

O protótipo do sistema acadêmico com envio de mensagens automáticas tem como

objetivo integrar os membros que utilizam esse sistema acadêmico, através de uma

comunicação eficiente e rápida.

Os usuários do sistema podem realizar o envio de mensagens e postagem de dúvidas e

esclarecimentos sobre a disciplina em questão, como por exemplo, provendo dúvidas

relacionadas a datas de entregas de trabalhos e provas. Estas informações serão de acesso

público para todos os alunos de uma mesma disciplina. Além dessa informação, que fica na

página como as páginas de um “FÓRUM”, os alunos que optaram por receber o “alerta” de

que uma nova informação foi inserida no sistema irão receber um aviso através de

Page 49: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

36

dispositivos moveis (celular) e endereços eletrônicos (e-mails), dados esses que foram

devidamente cadastrados no sistema.

Não será enviado o conteúdo da nova mensagem incluída no sistema, mas sim uma

mensagem informando aos alunos da disciplina em questão que há uma nova mensagem ou

aviso sobre a disciplina no sistema acadêmico. Essa mensagem informativa tem como

conteúdo o titulo e o autor da mensagem inserida anteriormente no sistema. Os alunos

interessado em descobrir o conteúdo da mensagem deve acessar o sistema acadêmico.

Após o envio da mensagem informativa, um número maior de alunos da disciplina é

alcançado, esses alunos terão informações necessárias para um melhor aproveitamento das

aulas.

Um bom exemplo da utilização de envios de mensagens para os emails e celulares

doas alunos, é a necessidade de avisos urgentes, que os alunos ou o professores só tomam o

conhecimento deste aviso urgente no momento da aula. Exemplo de uma mensagem urgente é

a necessidade não prevista antecipadamente do professor em faltar em uma de suas aulas, uma

maneira para se evitar que os alunos não tenham a infelicidade de serem informados que não

haverá aula apenas no momento em que chegam à Universidade, seria a utilização da

comunicação disponibilizada nesse sistema. O professor pode informar a sua ausência através

desse sistema utilizando o envio de mensagens, não garantindo que 100% dos alunos serão

informados da ausência do professor, mas que a grande maioria dos alunos estará ciente da

ausência de seu professor com muito mais eficácia e rapidez. A seguir na figura 28, uma

ilustração da página de envio de mensagens, onde o usuário deve preencher os campos Titulo

e corpo da mensagem antes de enviar.

Page 50: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

37

Figura 28: Modelo de envio de mensagens.

A mesma mensagem informativa também será enviada aos alunos da disciplina,

quando um novo arquivo for inserido no sistema. Arquivos que o professor pode

disponibilizar aos seus alunos, visando ajudá-los com o aprendizado nas aulas. Esses arquivos

podem ser apostilas, artigos, listas de exercícios entre outros.

Após a inclusão do material o sistema envia mensagens para os alunos interessados em

recebê-las, pois como dito anteriormente os alunos serão questionados se querem ou não

receber essas informações em seus celulares e e-mails no momento em que se cadastrarem no

sistema. O sistema, por sua vez, verificará todos os alunos que aceitam receber essas

mensagens e assim envia uma mensagem informativa, seguindo o mesmo modelo das

mensagens postadas com o titulo e o autor no corpo da mensagem. A figura 29 mostra como a

página de inserção de arquivos foi desenvolvida, o usuário deve fornecer o arquivo ao

sistema. Após essa especificação o usuário deve clicar no botão “Enviar dados, após o “click”

do usuário com o mouse o arquivo é carregado na página do sistema. Os arquivos incluídos no

sistema podem ser visualizados pelos usuários após selecionarem a opção do menu “Listar

Arquivos”, após a escolha dessa opção o sistema disponibiliza ao usuário a lista de arquivos

Page 51: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

38

incluídos no sistema, e também a opção de “download” para esses arquivos. A figura 30

demonstra como é realizado a pesquisa para o download desses arquivos.

Figura 29: Inserção de arquivos no sistema.

Page 52: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

39

Figura 30: Download de arquivos.

Page 53: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

40

4 CONCLUSÃO

Este protótipo nos permitiu agregar conceitos adquiridos nas disciplinas da grade de

engenharia de computação, tais como: A disciplina de Engenharia de Software que nos

permite especificar, desenvolver e garantir a sua manutenção, objetivando organização,

produtividade e qualidade. A disciplina de banco de dados que no trouxe as noções de

gerenciamento, recuperação e alteração de informações. A disciplina de programação

orientada a objetos da qual utilizamos conceitos de objeto, classe, encapsulamento e herança;

entre outras. Portanto, da fase inicial do projeto até o desenvolvimento, conseguimos articular

diversos conceitos de diferentes áreas da engenharia.

Tornamos essa articulação possível neste protótipo com a utilização da linguagem

Java, por se tratar de uma ferramenta orientada a objeto, além de facilitar a implementação de

interface com banco de dados e protocolos de internet, possibilitando ainda um

aperfeiçoamento desse protótipo para uso em dispositivos móveis.

4.1 Contribuições

O projeto foi elaborado tendo em vista a carência de comunicação entre alunos e

professores observada no sistema da Universidade São Francisco, sobretudo as de caráter

informativo, tornando mais eficientes os avisos de uma determinada disciplina na qual tenha

ocorrido alguma eventualidade. Dessa forma, acreditamos ter avançado no sentido de um

aperfeiçoamento da atual interação/comunicação entre alunos e professores existente na

universidade, já que até então as informações disponibilizadas não vêm acompanhadas de

aviso simultâneo aos usuários, forçando-os a acessar o sistema com muita freqüência.

Todavia, acessos freqüentes não garantem a precisão na aquisição de informações, visto que o

momento da consulta pode não coincidir com o momento da inclusão dos dados, deixando o

usuário carente de informações que, em muitas ocasiões, podem ser imprescindíveis.

4.2 Trabalhos futuros

• Utilização de envio SMS para um número maior de operadoras.

• Acesso ao aplicativo via dispositivos móveis.

• Teste no sistema acadêmico da Universidade São Francisco.

• Incluir o envio de mensagens automáticas para celulares a um sistema de segurança.

Page 54: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

41

5 REFERÊNCIAS BIBLIOGRÁFICAS

[1] Deitel, Harvey M/Deitel, P.J.Java como programar. 6º edição. 2007.

[2] Gonçalves, Edson. Desenvolvendo Aplicações Web com Netbeans IDE 5,5. 1º

edição.2007.

[3] Korth, H.F. e Silberschatz, A.; Sistemas de Bancos de Dados, Makron Books, 2a. edição

revisada, 1994.

[4] DATE, C. J. Introdução a sistemas de bancos de dados. 4. ed. Rio de Janeiro : Campus,

1991.

[5] MEDEIROS, Ernani. Desenvolvendo software com UML 2.0 Definitivo. Makron Books.

2004.

[6] JANDL JUNIOR, Peter. Introdução ao Java. São Paulo: Berkeley, 2002.

[7] Sun Microsystems. Disponivel on-line em http://java.sun.com, 2008.

[8] Sun Microsystems. Java Server Servlet Technology. Disponível on-line em

http://java.sun.com/products/servlet/index.jsp, 2008.

[9] Sun Microsystems. Java Server Pages Standard Tag Library. Disponível on-line em

http://java.sun.com/products/jsp/jstl/, 2008.

Page 55: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

42

6 GLOSSÁRIO

● Apache

O servidor Apache (em inglês: Apache HTTP Server, ou simplesmente: Apache) é a

principal tecnologia da Apache Software Foundation, responsável por mais de uma dezena de

projetos envolvendo tecnologias de transmissão via web, processamento de dados e execução

de aplicativos distribuídos.

● Apple

A Apple Inc. é uma empresa multinacional norte-americana que atua no ramo de

aparelhos eletrônicos e informática famosa principalmente pela fabricação do computador de

marca registrada, Macintosh, com seu próprio sistema operacional, Mac OS, entre outros

produtos.

● Applet

É um aplicativo ou um programa pequeno com capacidade limitada. Geralmente, é um

programa ou uma ferramenta auxiliar, como o Painel de controle do Windows.

● Bollean

Bollean é um tipo de dado primitivo que possui dois valores, que podem ser

considerados como 0 ou 1, verdadeiro ou falso.

● Browser

O navegador, também conhecido como web browser ou simplesmente browser, termos

em inglês, é um programa que habilita seus usuários a interagirem com documentos virtuais,

também conhecidos como páginas HTML, que estão hospedadas num servidor Web.

● Budget

Budget (do francês bougette, porta-moedas) geralmente se refere a uma lista de todas

as receitas e despesas programadas.

● Bytecodes

Em ciência da computação, bytecode é o resultado de um processo semelhante ao dos

compiladores de código-fonte que não é imediatamente executável.

● C

C é uma linguagem de programação compilada de propósito geral, estruturada,

imperativa, de alto nível, e padronizada, criada em 1972.

● C++

A linguagem de programação C++ foi originalmente derivada do C para suportar

programação orientada a objetos.

Page 56: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

43

● Download

Download (significa descarregar ou baixar, em português), é a transferência de dados

de um computador remoto para um computador local: o inverso de upload (carregar em

português).

● Drop Down List

Uma lista drop-down é uma interface de usuário controle GUI elemento semelhante a

uma lista caixa que permite ao usuário escolher um valor a partir de uma lista.

● Email

E-mail, correio-e (em português, correio electrónico), ou ainda email é um método que

permite compor, enviar e receber mensagens através de sistemas eletrônicos de comunicação.

● Engine

Na programação é a parte do programa que trata de dados de um certo tipo ou

mecanismo.

● Forum

Forum é uma ferramenta para páginas de Internet destinada a promover debates

através de mensagens publicadas abordando uma mesma questão.

● GUI

(GUI do inglês Graphical User Interface) é um tipo de interface do utilizador que

permite a interação com dispositivos digitais através de elementos gráficos como ícones e

outros indicadores visuais, em contraste a interface de linha de comando.

● Java

Java é uma linguagem de programação orientada a objeto desenvolvida na década de

90, por uma da empresa Sun Microsystems.

● Linux

Linux é o termo geralmente usado para designar qualquer sistema operativo ou sistema

operacional que utilize o núcleo Linux.

● Mac

O Macintosh Operating System (Mac OS) é a denominação do sistema operacional

padrão dos computadores Macintosh produzidos pela Apple.

● Netbeans

O NetBeans IDE é um ambiente de desenvolvimento integrado (IDE) gratuito e de

código aberto para desenvolvedores de software na linguagem Java.

● Servlet

Servlet é uma tecnologia que insere novos recursos a um servidor.

Page 57: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

44

● Stakeholder

Stakeholder ou, em português, parte interessada ou interveniente, refere-se a todos os

envolvidos num processo, por exemplo, clientes, colaboradores, investidores, fornecedores,

comunidade etc.

● Tags

Na programação são estruturas de linguagem de marcação que consistem em breves

instruções, tendo uma marca de início e outra de fim.

● Tomcat

O Tomcat é um servidor web Java, mais especificamente, um container de servlets.

● Upload

Upload é a transferência de dados de um computador local para um servidor.

● Unix

Unix é um sistema operacional portável, multitarefa e multiusuário originalmente

criado por Ken Thompson. A marca UNIX é uma propriedade do The Open Group, um

consórcio formados por empresas de informática.

● URL

Um URL (de Uniform Resource Locator), em português Localizador de Recursos

Universal, é o endereço de um recurso (um arquivo, uma impressora etc.), disponível em uma

rede; seja a Internet, ou uma rede corporativa, uma intranet.

● Web

A World Wide Web (que em português significa, "Rede de alcance mundial"; também

conhecida como Web e WWW) é um sistema de documentos em hipermídia que são

interligados e executados na Internet.

● Windows

Microsoft Windows é uma popular família de sistemas operacionais criados pela

Microsoft, empresa fundada por Bill Gates e Paul Allen.

Page 58: Curso de Engenharia de Computação PROTÓTIPO DE UM SISTEMA ...lyceumonline.usf.edu.br/salavirtual/documentos/1202.pdf · curso de Engenharia de Computação, tais como, engenharia

45

7 APÊNDICE

7.1 Apêndice A

No apêndice A é mostrado o diagrama de classes relacionando todas as classes

utilizadas no protótipo. Para um melhor entendimento do diagrama, neste caso, os métodos

não são mostrados.

Figura 31: Diagrama de classes completo.