Upload
jadson-barros
View
233
Download
0
Embed Size (px)
Citation preview
8/18/2019 TCC - SANAT
1/96
Curso de Sistemas de Informação
Jadson Silva Barros Dias Pereira - 010830
Marcelo Santos de Brito - 615950
Paulo José Milanez - 614993
SANAT - Sistema de Apoio ao Núcleo de Atendimento ao Docente e Discente
Brasília
Novembro/2015
8/18/2019 TCC - SANAT
2/96
ii
Curso de Sistemas de Informação
Jadson Silva Barros Dias Pereira - 010830 Marcelo Santos de Brito - 615950
Paulo José Milanez - 614993
SANAT - Sistema de Apoio ao Núcleo de Atendimento ao Docente e Discente
Projeto da disciplina: Projeto de Sistemas
de Informação II, do Centro Universitário
UNIEURO, unidade de Águas Claras,Brasília, DF.
Orientadora: Profª Msc. Elizabeth
d’Arrochella Teixeira
BrasíliaNovembro/2015
8/18/2019 TCC - SANAT
3/96
iii
Curso de Sistemas de Informação
Jadson Silva Barros Dias Pereira - 010830 Marcelo Santos de Brito - 615950
Paulo José Milanez - 614993
SANAT - Sistema de Apoio ao Núcleo de Atendimento ao Docente e Discente
BANCA EXAMINADORA - APROVADO POR:
__________________________________________
Profª Msc Elizabeth d’ Arrochella Teixeira
Centro Universitário Unieuro, DF
__________________________________________
Prof. Msc Percival Lopes Pompeu Filho
Centro Universitário Unieuro, DF
Brasília
Novembro/2015
8/18/2019 TCC - SANAT
4/96
iv
Curso de Sistemas de Informação
AGRADECIMENTOS
Agradecemos primeiramente a Deus, que em sua infinita bondade e sabedoria,
guiou os nossos passos e permitiu que chegássemos até aqui, pois nos proporcionou
a chance de demonstrar a nossa capacidade para a realização deste trabalho que,
apesar de árduo, hoje nos proporciona orgulho e vontade de seguir adiante.
Não podemos deixar de agradecer também a todos os professores da
UNIEURO pela presteza que nos fora conferido durante todos os semestres até aqui
cursado, em especial à professora Mestra Elizabeth d’Arrochella Teixeira.
8/18/2019 TCC - SANAT
5/96
v
Curso de Sistemas de Informação
RESUMO
Este trabalho apresenta os modelos de análise e projeto da solução de
tecnologia da informação para o Centro Universitário JMP (empresa fictícia).
Foram levantadas as necessidades no Núcleo de Atendimento ao Docente e
Discente (NADD) do Centro Universitário JMP, que é composto por coordenadores e
colaboradores, onde a finalidade é auxiliar os professores e alunos. Na ocasião
identificou-se o problema da falta de dados atualizados para se obter informações
precisas a respeito de turmas dos cursos de graduação, sua localização física,
professores, disciplinas e cursos, cujo controle não é feito em forma de sistema, mas
com planilhas.
Para minimizar a questão, o NADD deve dispor de uma ferramenta
informatizada para controle de turmas e divulgação de informações a respeito destas.
As funcionalidades do Sistema de Apoio ao Núcleo de Atendimento ao Docente
e Discente (SANAT), um software construído e implantado a partir de recursos e
métodos da Tecnologia da Informação (TI) modernos, resolve o problema do NADDem ter de maneira atualizada, rápida, fácil e segura, as informações corretas sobre
turmas.
Para a operacionalização do SANAT, foram necessárias pesquisas em
literatura relacionadas com a TI, além da utilização de ferramentas próprias para seu
desenvolvimento, métodos indicados pelas melhores práticas, e aplicações de
conteúdos de disciplinas do Curso de Sistemas de Informação.
Com o SANAT, o NADD minimiza os problemas de divulgação de informaçõesimprecisas a respeito de turmas e dispõe de uma ferramenta informatizada e moderna,
de grande utilidade, servindo de auxílio nas suas atividades diárias, inclusive como
apoio aos coordenadores na montagem de turmas.
Palavras-chaves: SANAT; NADD; Centro Universitário JMP.
8/18/2019 TCC - SANAT
6/96
vi
Curso de Sistemas de Informação
ABSTRACT
This document presents models of analysis and design of information
technology solution for the Centro Universitário JMP (fictitious company).
The needs were raised in the Center for Attention to Teacher and Student
(NADD) of Centro Universitário JMP, which is composed of coordinators and
collaborators, where the purpose is to help teachers and students. At the time identified
the problem of lack of updated data to obtain accurate information about classes of
undergraduate courses, their physical location, teachers, subjects and courses, whose
control is not made in the form of computerized system, but with spreadsheets.
To minimize the issue, the NADD must have a computerized tool to control
groups and disseminating information regarding these.
The features of the System Support Center for Attention to Teacher and Student
(SANAT), a software built and deployed from resources and methods of Information
Technology (IT) Modern, NADD solve the problem of having to updated, quickly , easy
and safe, the right information about classes.In order to implement SANAT were necessary research literature related to IT,
in addition to using its own tools for their development, methods outlined the best
practices, applications and content of courses Course of Information Systems.
With SANAT, the NADD minimizes the problems of disseminating inaccurate
information about classes and runs a computerized and modern tool, very useful,
serving as assistance in their daily activities, including as a support to the Coordinators
on the assembly classes.
Keywords: SANAT; NADD; Centro Universitário JMP.
8/18/2019 TCC - SANAT
7/96
vii
Curso de Sistemas de Informação
LISTA DE FIGURAS
Figura Nome Página
01 Arquitetura do Sistema 17
02 Máquina Virtual 20
03 Gráfico dos Melhores Servidores em Todos Domínios 25
04 Diagrama Geral dos Processos do SANAT 43
05 Diagrama de Casos de Uso 52
06 Diagrama de Classe de Domínio 77
07 Diagrama de Sequência – Cadastrar Usuário 78
08 Diagrama de Sequência – Cadastrar Professor 79
09 Diagrama de Sequência – Cadastrar Curso 79
10 Diagrama de Sequência – Cadastrar Disciplina 80
11 Diagrama de Sequência – Cadastrar Sala 80
12 Diagrama de Sequência – Cadastrar Turma 81
13 Diagrama de Sequência – Ensalamento 8114 Diagrama de Sequência – Visualizar Mapa 82
15 Diagrama de Entidade e Relacionamento do Banco de Dados 83
16 Tela de Login 84
17 Tela Principal de Manter Usuário 85
18 Tela Editar Professor 86
19 Tela Criar Novo Curso 87
20 Tela Editar Disciplina 8821 Tela Principal de Manter Turma 89
22 Tela Principal de Ensalamento 90
23 Tela Visualizar Mapa 91
8/18/2019 TCC - SANAT
8/96
viii
Curso de Sistemas de Informação
LISTA DE QUADROS
Quadro Nome Página
01 Descrição do Problema 41
02 Sobre o Produto Final 42
03 Requisitos Funcionais 46
04 Requisitos Não Funcionais 48
05 Regras de Negócio 49
06 Características de Qualidade 50
07 Atores 53
08 Prioridades e Riscos dos Casos de Uso 53
09 Regras de Negócio de UC-01 – Manter Usuário 56
10 Mensagens de UC-01 – Manter Usuário 56
11 Regras de Negócio de UC-02 – Manter Professor 59
12 Mensagens de UC-02 – Manter Professor 59
13 Regras de Negócio de UC-03 – Manter Curso 6214 Mensagens de UC-03 – Manter Curso 62
15 Regras de Negócio de UC-04 – Manter Disciplina 65
16 Mensagens de UC-04 – Manter Disciplina 65
17 Regras de Negócio de UC-05 – Manter Sala 68
18 Mensagens de UC-05 – Manter Sala 68
19 Regras de Negócio de UC-06 – Manter Turma 71
20 Mensagens de UC-06 – Manter Turma 7121 Regras de Negócio de UC-07 – Ensalamento 74
22 Mensagens de UC-07 – Ensalamento 74
23 Regras de Negócio de UC-08 – Visualizar Mapa 76
8/18/2019 TCC - SANAT
9/96
ix
Curso de Sistemas de Informação
LISTA DE ABREVIATURAS E SIGLAS
SIGLA Descrição
ABNT Associação Brasileira de Normas Técnicas
ACM Association For Computing Machinery
BD Banco de Dados
CASE Computer-Aided Software Engineering
EA Enterprise Architect
GPL GNU General Public Licence
HTML Hyper Text Markup Language
HTTP Hypertext Transfer Protocol
IDE Integrated Development Enviroment (Ferramenta de Desenvolvimento)
IBM International Businesse Machine
IIS Internet Information Services
MER Modelo Entidade Relacionamento
MVC Modelo Visualização-Controle
NADD Núcleo de Apoio ao Docente e Discente
NCSA National Center For Supercomputing ApplicationsORM Object Role Model
RAD Rapid Application Development (Desenvolvimento Rápido de Aplicativo)
RAM Random Access Memory (Memória de Acesso Aleatório)
RDBMS Relational Database Management System
RF Requisito Funcional
RN Regra de Negócio
RNF Requisito Não Funcional
SANAT Sistema de Apoio ao Núcleo de Atendimento ao Docente e Discente
SGDB Sistema Gerenciador de Banco de DadosSQL Structured Query Language
UC User Case (Caso de Uso)
UML Unified Modeling Language (Linguagem de Modelagem Unificada)
URL Uniform Resource Locator – Endereço Virtual de Rede
WEB World-Wide Web (Rede de Computadores de Alcance Mundial)
8/18/2019 TCC - SANAT
10/96
x
Curso de Sistemas de Informação
SUMÁRIO1.
INTRODUÇÃO ........................................................................................................................ 12 1.1.
Motivação.......................................................................................................................................... 13
1.2.
Objetivos. .......................................................................................................................................... 14
1.2.1. Geral ............................................................................................................................................. 14
1.2.2. Específicos ...................................................... ............................................................. ................ 14
1.3. Organização do Trabalho ....................................................... ........................................................ 14
2. PESQUISAS E MÉTODOS................................................................................................... 15 2.1. Metodologia ...................................................................................................................................... 15
2.2. Proposta da Solução ..................................................... ............................................................. ..... 15
2.3. Referencial Tecnológico ......................................................... ........................................................ 16
2.3.1.
Arquitetura do Sistema .............................................................................................................. 16
2.3.2.
Requisitos Mínimos Para Instalação ........................................................................................ 18
2.4. Tecnologia de Desenvolvimento ................................................................................................... 18
2.4.1. Linguagem de Programação ........................................................ ............................................. 18
2.4.1.1. JAVA ............................................................................................................................................. 19
2.4.1.2.
PHP ......................................................... ........................................................... ........................... 21
2.4.1.3. Visual Basic.NET ........................................................................................................................ 22
2.4.2. Servidor Web ............................................................. ............................................................. ..... 23
2.4.2.1.
Apache ......................................................................................................................................... 24
2.4.2.2.
Tomcat ............................................................... ........................................................... ................ 25
2.4.2.3. Internet Information Services – IIS ........................................................ ................................... 25
2.4.3. Banco de Dados/Sistema Gerenciador de Banco de Dados (SGDB) ................................ 26
2.4.3.1.
Mysql ............................................................................................................................................ 27
2.4.3.2.
PostgreSQL ................................................................................................................................. 28
2.4.3.3.
Oracle ........................................................................................................................................... 29
2.4.4. Modelador de Dados .......................................................... ........................................................ 30
2.4.4.1. Dbdesigner ...................................................... ............................................................. ................ 31
2.4.4.2. Enterprise Architect (EA) ........................................................................................................... 32
2.4.4.3.
ERWin........................................................................................................................................... 32
2.4.5. Ferramenta de Desenvolvimento IDE (Integrated Development Environment) ................ 33
2.4.5.1. Eclipse .......................................................................................................................................... 33
2.4.5.2. NetBeans ..................................................................................................................................... 34
2.4.6.
Outras Tecnologias .................................................................................................................... 35
2.4.6.1. HTML ............................................................................................................................................ 35
2.4.6.2.
Bootstrap ........................................................... ........................................................... ................ 35
2.4.6.3. MVC (Model - View - Controller) ............................................................ ................................... 36
2.4.6.4. AXURE RP Pro ........................................................................................................................... 37
2.4.6.5.
UML .............................................................................................................................................. 38
2.4.6.5.1. Diagramas da UML: ....................................................... ........................................................ 38
2.5. Ferramentas Utilizadas ........................................................... ........................................................ 39
3.
VISÃO DO SISTEMA ............................................................................................................. 41 3.1.
Descrição do Problema .................................................................................................................. 41
3.2. Sentença de Posição do Produto ............................................................... ................................... 42
3.3. Modelo de Negócio ......................................................................................................................... 42
3.4. Apoio da Solução............................................................................................................................. 44
4.
ELABORAÇÃO DA SOLUÇÃO ............................................................................................ 45 4.1.
Requisitos Funcionais ............................................................. ........................................................ 45
4.2. Requisitos Não Funcionais ............................................................................................................ 47
4.3. Regra de Negócio .......................................................... ............................................................. ..... 48
8/18/2019 TCC - SANAT
11/96
xi
Curso de Sistemas de Informação
4.4.
Características de Qualidade ........................................................................................................ 50
4.5. Casos de Uso ...................................................... ............................................................. ................ 51
4.5.1. Atores ........................................................................................................................................... 53
4.5.2. Prioridades ...................................................... ............................................................. ................ 53
4.5.3.
Caso de Uso (UC-01): Manter Usuário. .................................................................................. 54
4.5.4. Caso de Uso (UC-02): Manter Professor. .................................................... ........................... 57
4.5.5. Caso de Uso (UC-03): Manter Curso. ..................................................................................... 60
4.5.6. Caso de Uso (UC-04): Manter Disciplina. .................................................... ........................... 63
4.5.7.
Caso de Uso (UC-05): Manter Sala ...................................................... ................................... 66
4.5.8. Caso de Uso (UC-06): Manter Turma. .................................................................................... 69
4.5.9. Caso de Uso (UC-07): Ensalamento. ...................................................................................... 72
4.5.10. Caso de Uso (UC-08): Visualizar Mapa. ................................................................................. 75
4.6.
Diagrama de Classe ...................................................... ............................................................. ..... 77
4.7.
Diagrama de Sequência ......................................................... ........................................................ 78
4.8. Modelo Entidade Relacionamento ............................................................. ................................... 82
4.9. Telas do Sistema. .......................................................... ............................................................. ..... 83
5.
CONCLUSÃO ......................................................................................................................... 92 REFERÊNCIAS BIBLIOGRÁFICAS................................................................................................. 93
8/18/2019 TCC - SANAT
12/96
12
Curso de Sistemas de Informação
1. INTRODUÇÃO
Segundo CAUTELA & POLLONI (1996), sistemas de informação é um conjunto
de elementos interdependentes (subsistemas), logicamente associados, para que
sejam geradas informações necessárias à tomada de decisões a partir de sua
interação, ou seja, é um conjunto de elementos interdependentes ou um todo
organizado ou partes que interagem formando um todo unitário e complexo.
Um outro conceito de sistemas de informação, segundo LAUDON & LAUDON
(2004), é um conjunto de componentes inter-relacionados que coleta (ou recupera)
dados, processa, armazena e distribui informações destinadas a apoiar a tomada de
decisões e o controle em uma organização.
A Engenharia de Software na prática profissional cresce dia após dia, por meio
do somatório das experiências. As disciplinas acadêmicas são estudadas em todos
os anos letivos, desmembradas em diversas cadeiras.
De forma moderna, a Engenharia de Software caminha em paralelo com os
Sistemas de Informação, ambos os temas destinados às organizações, para auxiliar
as mesmas a tomarem decisões sob o foco de seu negócio empresarial ou de sua
atividade pública (REZENDE, 2005).
Durante as três primeiras décadas da era do computador, o principal desafio
era desenvolver um hardware que reduzisse o custo de processamento e
armazenagem de dados (PRESSMAN, 1995).
Para REZENDE (2005), hoje o problema é diferente, o principal desafio desta
década é melhorar a qualidade (e reduzir o custo) de soluções baseados em
computador, que são implementados com softwar e.
O principal problema nos tempos atuais é desenvolver sistema de informação
que seja de grande utilidade, de alta qualidade, alto desempenho, seguro e que
satisfaça as exigências do usuário final. Ao desempenhar suas tarefas o analista de
desenvolvimento de software, deve considerar a produtividade, a confiabilidade e a
manutenibilidade do sistema.
Atualmente o software deve ser distribuído, com “inteligência” embutida, comvisuais orientados aos clientes ou usuários, modulares e em redes complexas.
8/18/2019 TCC - SANAT
13/96
13
Curso de Sistemas de Informação
Modernamente o software ou sistema de informação deve estar com o foco no negócioempresarial ou atividade organizacional e com o objetivo de auxiliar os processos de
tomadas de decisões (estratégicas, táticas ou gerenciais e operacionais) (REZENDE,
2005).
Este trabalho apresenta o documento de projeto do Sistema de Apoio ao
Núcleo de Atendimento ao Docente e Discente (SANAT), do Centro Universitário JMP
(empresa fictícia). Essa atividade é um projeto idealizado para atender aos requisitos
do Curso de Sistemas de Informação, disciplina Projeto de Sistemas de Informação
II, do Centro Universitário UNIEURO, unidade de Águas Claras.
1.1. Motivação
O Centro Universitário JMP foi fundado no ano de 2000 e consolida-se no
ensino superior como uma das maiores instituições de ensino da região Centro-Oeste.
Possui instalações modernas, arrojadas, projetos que mobilizam toda a sociedade e
principalmente, um ensino focado nos princípios humanistas e ético na busca dacidadania plena e universal. Esse sucesso permite que sonhos sejam realizados e
carreiras construídas. O orgulho de fazer parte da vida de cada aluno é a recompensa
pelos anos de esforço e dedicação da instituição.
Todo início de semestre o Núcleo de Atendimento ao Docente e Discente
(NADD) possui dificuldades em obter informações precisas, bem como repassar com
exatidão em que local do Centro Universitário JMP as turmas dos cursos de graduação
estão alocadas.Em contato com o NADD, no Centro Universitário JMP, durante o levantamento
de requisitos, foi identificado que o mesmo não dispõe de uma ferramenta que
pudesse auxiliar na minimização da dificuldade citada, bem como qual disciplina e
qual professor ocupa um determinado ambiente de ensino, dos cursos de graduação,
em um determinado horário.
Para suprir a falta de uma ferramenta que viesse minimizar a dificuldade
encontrada no NADD, a criação de um sistema informatizado que fosse capaz de
realizar o ensalamento, ou seja, alocar turma, professor, sala e disciplina, seria uma
boa solução.
8/18/2019 TCC - SANAT
14/96
14
Curso de Sistemas de Informação
1.2. Objetivos.Encontrar uma solução que auxilie o NADD na dificuldade de atendimento aos
alunos e professores, em divulgar corretamente a localização física de um ambiente
de ensino, disciplina, turma e o respectivo professor.
1.2.1. Geral
Criação de um sistema onde o NADD poderá controlar e alocar turmas,
professor das disciplinas dos cursos de graduação em uma sala de aula.
1.2.2. Específicos
Criar uma ferramenta para ser utilizada em rede local de computadores;
Obter informações relacionadas a turmas, cursos, disciplinas e
professores;
Realizar Ensalamento das turmas.
1.3. Organização do Trabalho
Esse trabalho está organizado em cinco capítulos assim distribuídos:
O primeiro capítulo refere-se à introdução englobando a motivação, objetivos e
organização.
O segundo capítulo aborda pesquisas e métodos.
No capítulo três está descrito a visão do sistema, sua descrição e o problema.
O capítulo quatro apresenta a elaboração da solução, os requisitos funcionais
e não funcionais, as regras do negócio, os casos de uso e suas respectivas
documentações. É apresentado o modelo de classes de domínio da solução.
Descreve as interações dos objetos da solução, através dos diagramas de sequência.
Também estão apresentados exemplos de telas do sistema, e está registrado o
modelo Entidade Relacionamento do sistema.
No capítulo cinco está apresentado a conclusão do trabalho.
E por último é apresentada as Referências Bibliográficas.
8/18/2019 TCC - SANAT
15/96
15
Curso de Sistemas de Informação
2. PESQUISAS E MÉTODOSPara desenvolver o trabalho foi necessário realizar uma pesquisa exploratória
que proporciona uma maior familiaridade com o problema, explicitando-o, envolvendo
pesquisa bibliográfica e entrevistas com pessoas experientes no problema pesquisado
(GIL, 2008).
Neste capítulo serão apresentadas a metodologia, a proposta da solução, o
referencial tecnológico, a arquitetura do sistema e as tecnologias empregadas no
desenvolvimento do projeto.
2.1. Metodologia
A pesquisa bibliográfica é desenvolvida com base em material já elaborado,
constituído principalmente de livros e artigos científicos (GIL, 2008).
A metodologia utilizada é basicamente uma pesquisa bibliográfica na área de
engenharia de software, análise de dados, aplicação de recomendações técnicas de
desenvolvimento de software, bem como leitura de artigos técnicos relacionados com
a Tecnologia da Informação (GIL, 2008).
Utilizou-se também por meio de entrevistas e questionários um levantamento
da situação atual no local de funcionamento do NADD. Foram entrevistados os
colaboradores, coordenadores de curso e coordenador administrativo.
Também foram analisados diversos documentos da instituição, como por
exemplo, a planta baixa arquitetônica do Centro Universitário JMP, a grade de cursos,
o cadastro de disciplinas e de professores, planilhas e tabelas utilizadas pelo NADD,
Plano de Desenvolvimento Institucional, o Regimento e o Estatuto do Centro
Universitário JMP.
2.2. Proposta da Solução
A solução proposta proveu os mecanismos necessários para auxiliar o NADD
em suas atividades diárias de apoio aos docentes e discentes do Centro UniversitárioJMP através do sistema denominado SANAT. Esse sistema se propõe a manter
8/18/2019 TCC - SANAT
16/96
16
Curso de Sistemas de Informação
atualizados a localização física dos ambientes de ensino, bem como as turmas e seusrespectivos professores, de maneira informatizada e de fácil utilização, em rede,
sendo uma solução para os coordenadores na criação de turmas das disciplinas dos
cursos de graduação e base para o NADD divulgar informações sobre a localização
de turmas, professores e alunos.
2.3. Referencial Tecnológico
Tem como base a aplicação de conhecimento adquiridos durante o
desenvolvimento do curso de Sistema de Informação e a consulta às normas
relacionadas com software.
A seguir será apresentada uma abordagem tecnológica, tratando da arquitetura
do sistema, dos requisitos mínimos de instalação de hardware e de software.
2.3.1. Arquitetura do Sistema
De acordo com BASS, CLEMENTS E KAZMAN (2003), a arquitetura de
software de um sistema computacional refere-se à sua estrutura, consistindo de
elementos de software, propriedades externamente visíveis desses elementos e os
relacionamentos entre eles. A arquitetura define elementos de software (ou módulos)
e envolve informações sobre como eles se relacionam uns com os outros. Uma
arquitetura pode envolver mais de um tipo de estrutura, com diferentes tipos de
elementos e de relacionamentos entre eles. A arquitetura omite certas informações
sobre os elementos que não pertencem às suas interações. As propriedadesexternamente visíveis indicam as suposições que os demais elementos podem fazer
sobre um elemento, tais como serviços providos e características de qualidade
esperadas. Assim, uma arquitetura é antes de tudo uma abstração de um sistema que
suprime detalhes dos elementos que não afetam como eles são usados, como se
relacionam, como interagem e como usam outros elementos. Na maioria das vezes,
a arquitetura é usada para descrever aspectos estruturais de um sistema.
Outro fator que afeta a escolha da arquitetura é o ambiente técnico (ouplataforma de implementação) corrente. Muitas vezes, há para esse ambiente um
8/18/2019 TCC - SANAT
17/96
17
Curso de Sistemas de Informação
conjunto dominante de padrões, práticas e técnicas que é aceito pela comunidade dearquitetos ou pela organização de desenvolvimento. Por fim, a arquitetura é
influenciada também pela estrutura e natureza da organização de desenvolvimento
(BASS; CLEMENTS; KAZMAN, 2003).
De acordo com PRESSMAN (2011) a arquitetura de software de um programa
ou sistema computacional é a estrutura ou estruturas do sistema, que abrangem os
componentes de software, as propriedades externas visíveis desses componentes e
as relações entre eles.
A arquitetura proposta para o SANAT é mostrada graficamente na figura 01. O
acesso para coordenador Administrativo, coordenador de curso e colaborador ocorre
através de requisição Hypertext Transfer Protocol (HTTP) para o servidor, que
interage com o código PHP, que por sua vez faz acesso aos dados armazenados no
banco de dados MySQL.
SERVIDOR
S E R V I D O R
A P A C H E –
P H P
Banco deDados MySql
WEBPHP + HTML
Resultados
Requisições
Administrador Coordenador Administrativo
Coordenador de CursoColaborador
Resultados
Resultados
Requisições
CLIENTE
BROWSER - PÁGINA WEB
Requisições
Figura 01 – Arquitetura do Sistema.
Fonte: Elaborado pelos autores.
O modelo proposto está baseado na arquitetura do tipo cliente-servidor, onde
8/18/2019 TCC - SANAT
18/96
18
Curso de Sistemas de Informação
o servidor Web (Rede Mundial de Computadores) representa a figura no banco dequestões e coordenador administrativo, coordenador do curso e o colaborador são
representados através de clientes, o conteúdo em PHP não é visível ao usuário, sendo
processado no servidor.
2.3.2. Requisitos Mínimos Para Instalação
Para o correto funcionamento do sistema é necessário atender aos requisitos
mínimos listados a seguir.
Requisitos mínimos de hardware:
- Computador Pentium/AMD 500 MHz;
- 128 MB de memória RAM (recomendado 256 MB);
- 50 MB de espaço disponível em disco rígido;
- Interface de rede.
Requisitos mínimos de software:
- Sistema Operacional WINDOWS versão 7 ou superior;
- Servidor Web Apache – 2.0.54 ou superior;
- PHP 5;
- Gerenciador de banco de dados MySQL 5.
2.4. Tecnologia de Desenvolvimento
A seguir estão descritas algumas das tecnologias envolvidas em
desenvolvimento de projeto de software.
2.4.1. Linguagem de Programação
O conjunto de instruções de um processador, que é conhecido como linguagem
de máquina, é pouco amigável para o desenvolvimento de programas.
Linguagens de programação surgiram para implementação de algoritmos,
complexos ou não, em um computador, tornando a tarefa de programar mais fácil e
menos suscetível a erros. Ao longo do tempo as linguagens de programação foram
8/18/2019 TCC - SANAT
19/96
19
Curso de Sistemas de Informação
introduzindo facilidades e recursos, e atualmente, com as linguagens visuais,programar deixou de ser uma arte restrita a poucos, tornando-se mais uma ferramenta
para os usuários comuns (GUDWIN, 1997).
Linguagem de programação, é um tipo de linguagem usada pelo homem para
desempenhar comunicação com a máquina, pois essa não reconhece a linguagem
normal do ser humano. Para que a relação homem versus máquina pudesse evoluir,
fez-se necessário a criação de uma linguagem que tornasse a máquina operacional.
A partir do desenvolvimento da linguagem de programação é que o ser humano
passou a obter grandes resultados com a máquina. Atualmente é possível encontrar
diversos tipos de linguagem de programação, sendo as principais: Java, C, C++, C#,
PHP, Delphi, entre outras (REAL, 2015).
A seguir serão mostradas as linguagens mais aplicadas em desenvolvimento
de software, destacando-se o Java, o PHP e o Visual Basic.NET.
2.4.1.1. JAVA
O Java foi criado pela antiga empresa de softwares Sun Microsystems e
mantida através de um comitê. Seu site principal era o java.sun.com, e java.com um
site mais institucional, voltado ao consumidor de produtos e usuários leigos, não
desenvolvedores. Com a compra da Sun Microsystems pela Oracle em 2009, muitas
Uniform Resource Locators (URL) ou Localizador Padrão de Recursos, que se refere
ao endereço de rede no qual se encontra algum recurso informático e nomes tem sido
trocado para refletir a marca da Oracle. A página principal do Java é:
http://www.oracle.com/technetwork/java/ (CAELUM, 2015).
No Brasil, diversos grupos de usuários se formaram para tentar disseminar o
conhecimento da linguagem. Um deles é o GUJ no endereço da internet
http://www.guj.com.br , uma comunidade virtual com artigos, tutoriais e fórum para tirar
dúvidas, o maior em língua portuguesa com mais de cem mil usuários e um milhão de
mensagens.
Em 2009 a Oracle comprou a Sun, fortalecendo a marca. A Oracle sempre foi,
junto com a International Businesse Machine (IBM), uma das empresas que maisinvestiram e fizeram negócios através do uso da plataforma Java. Em 2014 surge a
http://www.java.sun.com/http://www.java.sun.com/http://www.java.sun.com/http://www.java.sun.com/http://www.java.sun.com/http://www.java.sun.com/http://www.oracle.com/technetwork/java/http://www.oracle.com/technetwork/java/http://www.guj.com.br/http://www.guj.com.br/http://www.guj.com.br/http://www.oracle.com/technetwork/java/http://www.java.sun.com/http://www.java.sun.com/
8/18/2019 TCC - SANAT
20/96
20
Curso de Sistemas de Informação
versão Java 8 com mudanças interessantes na linguagem (CAELUM, 2015).Segundo CAELUM (2015), o Java utiliza do conceito de máquina virtual (Figura
02), onde existe, entre o sistema operacional e a aplicação, uma camada extra
responsável por "traduzir", mas não apenas isso, o que sua aplicação deseja fazer
para as respectivas chamadas do sistema operacional onde ela está rodando no
momento:
Byte Code Java
Máquina Virtual Java para Linux
Linux
Byte Code Java
Máquina Virtual Java par a Windows
Windows
Figura 02 – Máquina Virtual.
Fonte: http://www.caelum.com.br/apostila-java-orientacao-objetos/o-que-e-java/ (CAELUM, 2015).
Principais características e vantagens da linguagem Java:
Suporte à orientação a objetos;
Portabilidade;
Segurança;
Linguagem Simples; Alta Performance;
Dinamismo;
Interpretada (o compilador pode executar os bytecodes do Java
diretamente em qualquer máquina);
Distribuído;
Independente de plataforma;
Tipada (detecta os tipos de variáveis quando declaradas).
8/18/2019 TCC - SANAT
21/96
21
Curso de Sistemas de Informação
2.4.1.2. PHPO PHP é uma linguagem de criação de scripts do lado do servidor que foi
projetada especificamente para Web. Dentro de uma página HTML (Hyper Text
Markup Language), você pode embutir código de PHP que será executado toda vez
que a página for visitada. O código de PHP é interpretado no servidor Web e gera
HTML ou outra saída que o visitante verá (THOMSON, 2005).
O PHP foi concebido em 1994, como resultado do trabalho de uma única
pessoa, Rasmus Lerdorf. O PHP foi adotado por outras pessoas inteligentes e foireescrito três vezes para proporcionar o amplo e aperfeiçoado produto que vemos
hoje (THOMSON, 2005).
Em outubro de 2002, ele era utilizado em mais de nove milhões de domínios
em todo o mundo e esse número está crescendo rapidamente. Você pode constatar
o número atual em http://php.net/usage.php (THOMSON, 2005).
O PHP significa originalmente Personal Home Page, mas foi alterado de acordo
com a conversão para atributos de nomes recursiva do GNU (GNU = GNU’a Not Unix )e agora significa PHP Hypertext Preprocessor (THOMSON, 2005).
A atual versão do PHP é a versão 5. Nesta versão, o Zend Engine foi
completamente reescrito, e foram feitos aprimoramentos à linguagem.
Algumas capacidades do PHP (THOMSON, 2005).
Alto desempenho;
Interfaces para muitos sistemas diferentes de bancos de dados;
Biblioteca integradas para muitas tarefas comuns da Web; Baixo custo;
Facilidade de aprender e utilizar;
Ótimo suporte orientado a objetos;
Portabilidade;
Disponibilidade de código-fonte;
Disponibilidade de suporte.
http://php.net/usage.phphttp://php.net/usage.phphttp://php.net/usage.phphttp://php.net/usage.php
8/18/2019 TCC - SANAT
22/96
22
Curso de Sistemas de Informação
O desempenho do PHP é muito eficiente. Utilizado um único servidor barato,você pode atender a milhões de acessos por dia. Os benchmarks (processo de
comparação) publicados pela Zend Tecnologies mostraram o PHP superando o
desempenho do concorrente.
A integração do banco de dados com o PHP tem conexões nativas disponíveis
para muitos sistemas de banco de dados. Além do MySQL você pode conectar
diretamente a bancos de dados PostgreSQL, Oracle, entre outros.
O PHP é gratuito. Pode-se fazer download da última versão a qualquer
momento em http://www.php.net, gratuitamente.
2.4.1.3. Visual Basic.NET
O Visual Basic .NET evoluiu a partir do BASIC (Beginner’s All-purpose Symbolic
Instruction Code – código de instrução simbólico de propósito geral para iniciantes),
desenvolvido na metade da década de 60 pelos professores John Kemeny e Thomas
Kurtz da Faculdade Dartmouth como uma linguagem para escrever programas
simples. O propósito primário do BASIC era familiarizar novatos com as técnicas de
programação (DEITEL, 2004).
O uso difundido do BASIC em vários tipos de computadores causou vários
aprimoramentos na linguagem. Quando Bill Gates fundou a Microsoft Corporation, ele
implementou o BASIC em diversos dos primeiros computadores pessoais. Com o
desenvolvimento da interface gráfica do usuário (GUI) do Windows da Microsoft, no
final da década de 80 e início da década de 90, a evolução natural do BASIC foi o
Visual Basic, introduzido pela Microsoft em 1991 (DEITEL, 2004).
Até que o Visual Basic surgisse em 1991, desenvolver aplicativos baseado no
Windows da Microsoft era um processo difícil e complicado. Embora o Visual Basic
seja derivado da linguagem de programação BASIC, ele é uma linguagem
distintamente diferente que oferece recursos poderosos como interfaces gráficas do
usuário, tratamento de eventos, programação orientada a objetos e tratamento de
exceções. O Visual Basic .NET é uma linguagem de programação visual, dirigida a
eventos, na qual os programas são criados usando um IDE (integrated developmentenviroment – ambiente de desenvolvimento integrado). Com o IDE, um programador
http://www.php.net/http://www.php.net/http://www.php.net/http://www.php.net/
8/18/2019 TCC - SANAT
23/96
23
Curso de Sistemas de Informação
pode escrever, executar, testar, depurar convenientemente os programas em VisualBasic, reduzindo assim o tempo que gasta para produzir um programa que funcione a
uma fração do tempo que gastaria sem o uso do IDE. O processo de criar rapidamente
um aplicativo é chamado RAD (rapid application development – desenvolvimento
rápido de aplicativo). O Visual Basic é a linguagem RAD mais amplamente usada no
mundo (DEITEL, 2004).
A Microsoft anunciou a introdução da estratégia Microsoft .NET (pronuncia-se
‘ponto-net’) em 2000. A plataforma .NET é uma sobre a qual os aplicativos baseados
em Web podem ser distribuídos a uma variedade de dispositivos (como telefones
celulares) e a computadores de mesa. A plataforma .NET oferece um modelo novo de
programação que permite que os programas criados em linguagens de programação
incompatíveis se comuniquem uns com os outros (DEITEL, 2004).
A Microsoft projetou uma versão do Visual Basic para .NET. As primeiras
versões do Visual Basic ofereciam recursos orientados a objeto, mas o Visual Basic
.NET oferece orientação a objetos aprimorada, incluindo uma biblioteca poderosa de
componentes, permitindo que os programadores desenvolvam aplicativos muito mais
rapidamente. O Visual Basic .NET também possibilita interoperabilidade de linguagem
aprimorada: Componentes de software de linguagem diferentes podem interagir como
nunca antes. Os desenvolvedores podem empacotar até mesmo um software antigo
para trabalhar com novos programas Visual Basic .NET. Além disso, os aplicativos
Visual Basic .NET podem interagir via Internet (DEITEL, 2004).
2.4.2. Servidor Web
Os servidores Web tornaram-se essenciais com a evolução da tecnologia, que
é o meio responsável por armazenar e trocar informações com outra máquina. Para
realizar este ciclo de troca de mensagem é preciso um cliente que solicite a informação
e o servidor que irá receber a solicitação. O cliente utiliza os browsers como Internet
Explorer, Google Chrome para realizar a solicitação e o servidor trabalha com
softwares para realizar a transferência de informação. Para essa transferência de
informação é usado o protocolo Hypertext Transfer Protocol (HTTP) de comunicaçãoda Web. Segundo INFOWESTER (2015), quando um navegador de internet acessa
8/18/2019 TCC - SANAT
24/96
24
Curso de Sistemas de Informação
um site, este faz as solicitações devidas ao servidor Web do mesmo através do HTTPe então recebe o conteúdo correspondente.
Existem alguns servidores disponíveis como: IIS (Internet Information Services)
da Microsoft, que possui seus servidores baseados em Windows NT e aplicação
proprietária, o Tomcat que é servidor voltado para aplicações Java, e o Apache HTTP
Server, que é o servidor mais robusto no mercado.
A seguir uma breve descrição do Apache, do Tomcat e o do IIS.
2.4.2.1. Apache
O Apache Software Foundation contém mais de 140 projetos de software de
código aberto que contam com suporte organizacional, legal e financeiro. Trata-se de
uma organização sem fins lucrativos que proporciona estrutura intelectual e ao mesmo
tempo limita a exposição legal potencial para esses projetos. O projeto Apache HTTP
Server nasceu em 1995, obra do então funcionário do NCSA (National Center for
Supercomputing Applications), Rob McCool, responsável também pela versão 2.2 do
Apache (APACHE, 2015).
O Apache é um software colaborativo que tem o objetivo de criar um robusto
nível comercial, provido de recursos e com livre implementação de código fonte de um
servidor HTTP (Web). O projeto é desenvolvido por um grupo de voluntários ao redor
do mundo, que se comunicam através da Internet e da Web, bem como planejam e
desenvolvem tanto o servidor como sua documentação (APACHE, 2015).
Segundo as informações disponibilizadas pela Netcraft, desde 1995 (figura 03),
vem crescendo o uso dos domínios da internet utilizando o servidor Web Apache, que
tem entre suas principais qualidades a independência de plataformas específicas, o
que possibilita o suporte para os variados tipos de documentos da Web.
8/18/2019 TCC - SANAT
25/96
25
Curso de Sistemas de Informação
Figura 03 – Gráfico dos Melhores Servidores em Todos Domínios.
Fonte: http://news.netcraft.com/archives/2014/05/07/may-2014-web-server-survey.html (NEWS
CRAFT, 2014).
2.4.2.2. Tomcat
O Tomcat é um dos servidores WEB mais utilizados, a diferença é que esse
servidor é voltado para aplicações Java e pode ser utilizado independentemente ou
como uma extensão do Apache. Foi desenvolvido pela Fundação Apache e por esse
motivo também é disponibilizado como um software livre, além disso também é um
servidor de alto desempenho e de qualidade. Apache Tomcat é desenvolvido em um
ambiente aberto e participativo e liberado sob a licença Apache versão 2. Apache
Tomcat é destinado a ser uma colaboração de desenvolvedores de todo o mundo
(PORTALEDUCAÇÃO, 2015).
2.4.2.3. Internet Information Services – IIS
Segundo a MICROSOFT (2015), o Internet Information Services (IIS), é um
servidor web criado por ela para seus sistemas operacionais para servidores. Sua
primeira versão foi introduzida com o Windows NT Server versão 4, e passou por
várias atualizações. Vale ressaltar que a versão mais atual é a 7.5, que se encontra
disponível no Windows Server 2008 R2 e Windows 7.
8/18/2019 TCC - SANAT
26/96
26
Curso de Sistemas de Informação
Das várias características existentes, uma das mais utilizadas é a geração depáginas HTML dinâmicas, que ao contrário de outros servidores web, usa tecnologia
proprietária, podendo usar outras tecnologias com adição de módulos de terceiros.
O IIS 7.0 completa 10 anos onde se consolida como o principal servidor web
da atualidade sendo distribuído com o Windows Server 2008 e Windows Vista SP1.
Para os desenvolvedores ASP.NET o IIS é o grande parceiro responsável pela
distribuição das aplicações na Web. Desde a versão 6.0 foram feitos grandes
investimentos em segurança tornando a infraestrutura muito segura reduzindo a zero
o número de hotfix (correções) relacionados (DURÃES, 2015, p.1).
Segundo DURÃES (2015) o IIS oferece ao desenvolvedor Web uma nova
plataforma totalmente reestruturada e adaptável as suas necessidades consolidando
o mesmo como principal plataforma para hospedagem de aplicações Web. Com a
criação de novos módulos é possível ampliar os recursos e criar novas
funcionalidades conforme as necessidades de negócio.
2.4.3. Banco de Dados/Sistema Gerenciador de Banco de Dados (SGDB)
O modelo relacional de banco de dados foi introduzido em 1970, por Edgar
Frank Codd, em uma publicação com o título: " A relational model of data for large
shared data banks", na revista da Association for Computing Machinery (ACM). Essa
publicação revolucionária demonstrou como tabelas podem ser usadas para
representar objetos, do mundo real e como os dados podem ser armazenados para
os objetos. A integridade dos dados nesse conceito foi levada mais a sério que em
qualquer modelo de Banco de Dados (BD) antes visto. Desde esta publicação
surgiram muitos BDs utilizando esse conceito e conquistaram um status quase padrão
para uso no desenvolvimento de aplicações (MATTHEW; STONES, 2005).
O conceito é baseado na teoria relacional da matemática, por isso há uma
grande flexibilidade para o acesso e a manipulação de dados gravados no BD. Usando
técnicas simples, como normalização na modelagem do BD, criam-se várias tabelas
relacionadas, as quais servem como base para consultas usando uma linguagem de
consulta quase padronizada, a Structured Query Language - SQL. Um BD relacional,basicamente, contém relações (tabelas) com atributos (colunas) e tuplas (linhas).
8/18/2019 TCC - SANAT
27/96
27
Curso de Sistemas de Informação
Todo atributo tem um tipo de dado definido, uma tupla representa um conjunto dedados com um valor para cada atributo da linha e as tabelas são relacionadas através
de chaves (MATTHEW; STONES, 2005).
O uso de banco de dados relacionais torna necessário dividir agregados
utilizados na aplicação em várias relações conforme as regras da normalização. Para
recuperar o mesmo agregado são necessárias consultas utilizando joins, (junção) uma
operação que dependendo da quantidade e do tamanho das relações pode ser muito
custosa no sentido de necessidade de processamento. Nos casos em que se deseja
uma resposta rápida de um sistema isso pode ser uma desvantagem (SADALAGE;
FOWLER, 2013).
Segundo DATE (2004), “Um banco de dados é uma coleção de dados
persistentes, usada pelos sistemas de aplicação de uma determinada empresa”. Em
outras palavras, um banco de dados é um local onde são armazenados dados
necessários à manutenção das atividades de determinada organização, sendo este
repositório a fonte de dados para as aplicações atuais e as que vierem a existir.
A seguir estão as descrições do Mysql, PostreSQL e do Oracle.
2.4.3.1. Mysql
O MySQL é um sistema de gerenciamento de banco de dados relacional
(relational database management system - RDBMS) poderoso e muito rápido. Um
banco de dados permite armazenar, pesquisar, classificar e recuperar dados de forma
eficiente. O servidor de MySQL, controla o acesso aos dados para assegurar que
vários usuários possam trabalhar com os dados ao mesmo tempo, fornecendo acesso
rápido aos dados e assegurar que somente usuários autorizados obtenham acesso.
Portanto, o MySQL é um servidor multiusuário e multiencadeado (ou multitbreaded ).
Ele utiliza SQL (Structured Query Language), a linguagem de consulta padrão de
banco de dados em todo o mundo. O MySQL está publicamente disponível desde
1996, mas tem uma história de desenvolvimento que remonta a 1979. O MySQL
ganhou o prêmio Journal Readers’ Choice Award Linux em várias ocasiões
(THOMSON, 2005).MySQL está disponível sob um esquema de licença dupla. Você pode usá-lo
8/18/2019 TCC - SANAT
28/96
28
Curso de Sistemas de Informação
sob a licença Open Source (código aberto) General Public Licence ( GPL)gratuitamente, contanto que cumpra os termos da licença. No entanto, se quiser
distribuir uma aplicação não GPL que inclua o MySQL, você pode comprar uma
licença comercial (THOMSON, 2005).
O MySQL é inegavelmente rápido. Pode ver a página de benchmark dos
desenvolvedores em https://www.mysql.com/why-mysql/benchmarks/. Muitos desses
benchmarks mostraram como o MySQL é bem mais rápido do que os concorrentes.
Em 2002, a revista EWEEK publicou um benchmark comparando cinco bancos de
dados que fazem uma aplicação Web funcionar. O melhor resultado foi em empate
entre o MySQL e o Oracle, que é muito caro (THOMSON, 2005).
O MySQL está disponível sem nenhum custo, sob uma licença de código-fonte
aberto, ou a baixo custo, sob uma licença comercial. A licença é necessária se você
quiser redistribuir o MySQL como parte de uma aplicação não desejada disponibilizar
sua aplicação com uma licença de código-fonte aberto (THOMSON, 2005).
O MySQL pode ser utilizado em muitos sistemas, Microsoft Windows e Linux
(THOMSON, 2005).
2.4.3.2. PostgreSQL
Tecnicamente falando, o PostgreSQL é um banco de dados relacional e
orientado a objetos. Um de seus atrativos é possuir recursos comuns a banco de
dados de grande porte, o que o deixa apto a trabalhar, inclusive, com operações de
missão crítica. Além disso, trata-se de um banco de dados versátil, seguro, gratuito e
de código aberto (disponível sob uma licença do Sistema Operacional BSD)
(POSTGRESQL, 2015).
Entre suas características, tem-se:
Compatibilidade multiplataforma, ou seja, executa em vários sistemas
operacionais, como Windows, Mac OS X, Linux e outras variantes de Unix;
Compatibilidade com várias linguagens, entre elas, Java, PHP, Python,
Ruby, e C/C++;
Base de dados de tamanho ilimitado;
Tabelas com tamanho de até 32 TB;
https://www.mysql.com/why-mysql/benchmarks/https://www.mysql.com/why-mysql/benchmarks/https://www.mysql.com/why-mysql/benchmarks/https://www.mysql.com/why-mysql/benchmarks/
8/18/2019 TCC - SANAT
29/96
29
Curso de Sistemas de Informação
Quantidade de linhas de até 1.6 TB ilimitada; Campos de até 1 GB;
Suporte a recursos como triggers, views, stored procedures, SSL, MVCC,
schemas, transactions, savepoints, referential integrity e expressões
regulares;
Instruções em SQL, como indica o nome.
O PostgreSQL é otimizado para aplicações complexas, isto é, que envolvem
grandes volumes de dados ou que tratam de informações críticas. Assim, para um
sistema de comércio eletrônico de porte médio/alto, por exemplo, o PostGreSQL é
mais interessante, já que esse SGBD é capaz de lidar de maneira satisfatória com o
volume de dados gerado pelas operações de consulta e venda (POSTGRESQL,
2015).
2.4.3.3. Oracle
A história do banco de dados da Oracle começa em 1970, quando Ted Coddlançou um modelo de dados relacional, tendo como protótipos o System R e o Ingress.
O System R foi desenvolvido pela IBM, porém, ainda era um modelo não-comercial
de banco de dados. Já o Ingress, teve seu desenvolvimento na Universidade de
Berkeley, na Califórnia, pela equipe liberada por Michael Stonebaker (FANDERUFF,
2003).
De acordo com ORACLE (2004), nessa época Larry Ellison vislumbrou, ao
encontro uma descrição de um protótipo funcional de um banco de dados relacional,uma oportunidade que outras companhias não haviam percebido, a de comercializar
essa tecnologia. Porém, Ellison e os co-fundadores da Oracle, Bob Miner e Ed Oates,
não imaginavam de que transformariam “a cara da computação empresarial para
sempre”.
De acordo com RAMALHO (1999), a estrutura física do Oracle é determinada
pelos arquivos do sistema operacional que o constituem. Então, para cada banco de
dados da Oracle há pelo menos: um arquivo datafiles (conjunto de arquivos onde as
informações estão efetivamente armazenadas), dois arquivos redo (são utilizados
para armazenagem de transações realizadas no banco de dados com a finalidade
8/18/2019 TCC - SANAT
30/96
30
Curso de Sistemas de Informação
desfazer as operações quando da perda de dados) e um arquivo de controle.O Oracle divide a memória RAM (Randon Acess Memory ) em duas partes
(ZEGGER, 2001):
O SGA (system global área) é um grupo das estruturas de memórias
compartilhadas que, quando combinadas com os processos do Oracle,
compreendem uma instância do Oracle.
O PGA ( process global área) é onde a memória é alocada a cada processo
conectado a base de dados. O tamanho deste alocamento é estático. O
tamanho do PGA é dependente do sistema, mas é afetado pelos seguintes
parâmetros: open links; db_files; e log_files.
2.4.4. Modelador de Dados
Modelagem de dados é o ato de explorar estruturas orientadas a dados. Como
outros artefatos de modelagem, modelos de dados podem ser usados para uma
variedade de propósitos, desde modelos conceituais de alto nível até modelos físicos
de dados. Do ponto de vista de um desenvolvedor atuando no paradigma orientado a
objetos, modelagem de dados é conceitualmente similar à modelagem de classes.
Com a modelagem de dados identificamos tipos de entidades da mesma forma que
na modelagem de classes identificamos classes. Atributos de dados são associados
a tipos de entidades exatamente como associados atributos e operações às classes.
Existem associações entre entidades, similar às associações entre classes
(relacionamento, herança, composição e agregação) são todos conceitos aplicáveis
em modelagem de dados (NETO, 2015).
Modelagem de dados tradicional é diferente da modelagem de classes porque
o seu foco é totalmente nos dados – modelos de classes permitem explorar os
aspectos comportamentais e de dados em um domínio de aplicação, já com o modelo
de dados podemos apenas explorar o aspecto dado. Por causa deste foco, projetistas
de dados tendem a serem melhores em identificar os dados “corretos” em uma
aplicação do que modeladores de objetos. No entanto, algumas pessoas modelam
métodos de banco de dados (stored procedures, stored functions e triggers) quando
8/18/2019 TCC - SANAT
31/96
31
Curso de Sistemas de Informação
estão realizando a modelagem física dos dados (NETO, 2015). Apesar do foco ser modelagem de dados, existem normalmente alternativas
para artefatos orientados a dados. Por exemplo, quando estamos na modelagem
conceitual, os diagramas ORM (Object Role Model ) não são a única opção. Além do
Modelo Lógico de Dados, é comum a criação de diagramas de classes da UML
(Unified Modeling Language) (NETO, 2015).
A seguir uma breve descrição do Dbdesigner, do Enterprise Architect e do
ERWin.
2.4.4.1. Dbdesigner
O DBDesigner é uma ferramenta CASE (Computer-Aided Software
Engineering ) desenvolvida pela empresa Fabulous Force Database Tools. Esta
ferramenta é livre e utilizada para a modelagem de dados visual que está disponível
sob a licença GPL (GNU General Public License ou Licença Pública Geral)
(FABFORCE, 2015).
O DBDesigner é uma excelente opção para quem utiliza qualquer banco de
dados principalmente MySQL, Oracle, MSSQL e PostgreSQL, mas obviamente não
se limita apenas a esses. Através dele podemos modelar tabelas de forma gráfica,
relacionamentos e muito mais (FABFORCE, 2015).
Após a modelagem, é possível nos conectarmos ao banco de dados, por
exemplo, o banco de dados MySQL, para sincronização. Com o DBDesigner também
é possível trabalharmos com os dados das tabelas (FABFORCE, 2015).
Para fins de comparação com outras ferramentas o DBDesigner tem como
principais concorrentes produtos como Oracle Designer, IBM Relational Rose e CA
Erwin. A diferença para outras versões é que o DBDesigner tem bastante suporte
tanto no fórum da ferramenta quanto na internet em geral devido à grande quantidade
de pessoas que utilizam esta ferramenta, além de ser uma opção livre e disponível
para diferentes sistemas operacionais. No entanto, o DBDesigner já está há um certo
tempo sem receber atualizações muito em função do desenvolvedor principal da
ferramenta ter sido contratado para trabalhar no Workbench que é mais umconcorrente do DBDesigner (FABFORCE, 2015).
8/18/2019 TCC - SANAT
32/96
32
Curso de Sistemas de Informação
2.4.4.2. Enterprise Architect (EA)Segundo SPARX SYSTEMS (2015), o EA é uma ferramenta CASE baseada
em UML. O EA é utilizado no desenho e construção de projetos de sistemas de
software e abrange todas as fases do ciclo de desenvolvimento do projeto do sistema
de software, desde o levantamento das necessidades, o desenvolvimento até a
manutenção.
De acordo com LIMA (2005, p.41), o EA é uma ferramenta que cobre todos os
aspectos do ciclo de desenvolvimento, fornecendo suporte para teste, manutenção econtrole de mudanças e requisitos, além de diagramas e modelos UML 2. Algumas
características do EA são:
Modelagem de sistemas de software de acordo com a notação UML 2.1;
Integração com o Visual Studio .Net e Eclipse;
Importação e exportação de modelos nos formatos XML;
Controle de versão e comparação de modelos e criação de baseline;
Automação e customização do EA nas linguagens VB, C++ e Delphi.
2.4.4.3. ERWin
O software ERWin é uma poderosa ferramenta que simplifica a modelagem,
criação e manutenção de bases de dados, data warehouses (depósitos de dados
digitais) e modelos de dados empresariais. Essa ferramenta não apenas permite que
o usuário defina as necessidades e regras corporativas na forma de um modelo de
dados lógico, mas também as converta em seu equivalente físico para um dos bancosde dados suportados. Esta ferramenta é utilizada no mercado para modelagem de
dados relacionais e/ou dimensionais. A modelagem dimensional é o nome de uma
técnica de projeto lógico normalmente usados para data warehouses (DEVMEDIA,
2015).
O ERWin permite, ainda, a construção de modelos lógicos (Logical ), modelos
físicos (Physical ) e modelos lógicos e físicos (Logical/Physical ). O modelo lógico
permite representar fielmente o negócio, e não necessariamente a base de dadosdesejada, a qual será construída posteriormente por ocasião do projeto físico. Já o
8/18/2019 TCC - SANAT
33/96
33
Curso de Sistemas de Informação
modelo físico oferece funcionalidades para implementação em um SGBD específico(DEVMEDIA, 2015).
2.4.5. Ferramenta de Desenvolvimento IDE (Integrated DevelopmentEnvi ronment )
IDE, do inglês Integrated Development Environment ou Ambiente Integrado de
Desenvolvimento, é um programa de computador que reúne características e
ferramentas de apoio ao desenvolvimento de software com o objetivo de agilizar este
processo (CAELUM, 2015).
Geralmente os IDEs facilitam a técnica de RAD (Rapid Application
Development , ou Desenvolvimento Rápido de Aplicativos), que visa a maior
produtividade dos desenvolvedores, como (CAELUM, 2015):
Editar;
Compilador;
Lincador;
Depurador;
Modelagem;
Geração de código.
A seguir uma breve descrição do Eclipse e do Netbeans.
2.4.5.1. Eclipse
O Eclipse é uma IDE (integrated development environment ). Diferente de uma
RAD (Rapid Application Development ) é um modelo de processo de desenvolvimento
de software interativo e incremental que enfatiza um ciclo de desenvolvimento
extremamente curto (entre 60 e 90 dias), onde o objetivo é desenvolver o mais rápido
possível através do arrastar-e-soltar do mouse, onde montanhas de código são
gerados em background (segundo plano) uma IDE auxilia no desenvolvimento, e
evitando mudanças (CAELUM, 2015).
O Eclipse é a IDE líder de mercado. Formada por um consórcio liderado pela
IBM, possui seu código livre (CAELUM, 2015).
De acordo com a revista CNET NEWS, em 2001 o projeto Eclipse foi iniciado
8/18/2019 TCC - SANAT
34/96
34
Curso de Sistemas de Informação
na IBM que desenvolveu a primeira versão do produto e doou-o como software livrepara a comunidade. O gasto inicial da IBM no produto foi de mais de 40 milhões de
dólares. Hoje, o Eclipse é o IDE Java mais utilizado no mundo. Possui como
característica marcante o uso da SWT (Standard Widget Toolkit) e não do Swing como
biblioteca gráfica do Java, a forte orientação ao desenvolvimento baseado em plug-
ins e o amplo suporte ao desenvolvedor com centenas de plug-ins que procuram
atender as diferentes necessidades de diferentes programadores.
2.4.5.2. NetBeans
O NetBeans IDE é um ambiente de desenvolvimento integrado gratuito e de
código aberto para desenvolvedores de software nas linguagens Java, C, C++, PHP,
Groovy, Ruby, entre outras. O IDE é executado em muitas plataformas, como
Windows, Linux, Solaris e MacOS. O NetBeans IDE oferece aos desenvolvedores
ferramentas necessárias para criar aplicativos profissionais de desktop, empresariais,
Web e aplicações móveis multiplataformas (NETBEANS, 2015).
O NetBeans foi iniciado em 1996 por dois estudantes tchecos na Universidade
de Charles, em Praga, quando a linguagem de programação Java ainda não era tão
popular como atualmente. Primeiramente o nome do projeto era Xelfi, em alusão ao
Delphi, pois a pretensão deste projeto era ter funcionalidades semelhantes aos IDEs
então populares do Delphi que eram mais atrativas por serem ferramentas visuais e
mais fáceis de usar, porém com o intuito de ser totalmente desenvolvido em Java.
Em 1999 o projeto já havia evoluído para uma IDE proprietário, com o nome de
NetBeans DeveloperX2, nome que veio da ideia de reutilização de componentes que
era a base do Java. Nessa época a empresa Sun Microsystems havia desistido de
sua IDE Java Workshop e, procurando por novas iniciativas, adquiriu o projeto
NetBeans DeveloperX2 incorporando-o a sua linha de softwares (NETBEANS, 2015).
Por alguns meses a Sun mudou o nome do projeto para Forte for Java e o
manteve por um bom tempo como software proprietário, porém, em junho de 2000 a
Sun disponibilizou o código fonte do IDE NetBeans tornando-o uma plataforma
OpenSource (código livre). Desde então a comunidade de desenvolvedores queutilizam e contribuem com o projeto não parou de crescer, tornando-se uma das IDEs
8/18/2019 TCC - SANAT
35/96
35
Curso de Sistemas de Informação
mais populares atualmente (NETBEANS, 2015).
2.4.6. Outras Tecnologias
A seguir estão listadas outras tecnologias empregadas.
2.4.6.1. HTML
É uma linguagem de programação muito simples, utilizada para criar
documentos Hipertexto. A HTML (Hyper Text Markup Language) pode ser portada de
uma plataforma computacional para outra (BUGAY, 2000).
A linguagem HTML é usada para criar as páginas usadas na Web, o serviço
mais popular na Internet. HTML é uma linguagem simples, porém poderosa e com
muitos recursos. Ela é composta de marcações de formatação e diagramação de
hipertexto/hipermídia (informações em texto, imagens, sons e ações ligadas umas às
outras de uma forma complexa e não sequencial através de chaves relacionadas). É
com essa linguagem que são feitos os hyperlinks que permitem navegar pela web.
Para isso, utiliza marcações, chamadas tags, no ponto da página que é feito um
hyperlink com outras páginas. É a linguagem da WWW (World Wide Web), justamente
por esta capacidade de formatação e diagramação de hipertexto/hipermídia.
Atualmente existem muitas outras linguagens utilizadas concorrentemente com o
HTML, mas a base da WWW ainda é HTML, por isso essa ferramenta foi escolhida
(FRAGA, 2003).
2.4.6.2. Bootstrap
Desenvolvido pela equipe do Twitter, é uma rede social e um serviço para
microblogging , que permite aos usuários enviar e receber atualizações pessoais de
outros contatos até 140 caracteres, conhecido como “tweets”. Foi criado em março de
2006 por Jack Dorsey, Evan Williams, Biz Stone e Noah Glasss e foi lançado em julho
de 2006 nos EUA. O Bootstrap é um framework ( arcabouço ) front-end de código
aberto (opensource). Em palavras simples, é um conjunto de ferramentas criadas para
facilitar o desenvolvimento de sites e sistemas Web (BOOTSTRAP, 2015).Compatível com HTML5 e CSS3, o framework possibilita a criação de layouts
8/18/2019 TCC - SANAT
36/96
36
Curso de Sistemas de Informação
responsivos e o uso de grids (sistema de grades), permitindo que seu conteúdo sejaorganizado em até 12 colunas e que se comporte de maneira diferente para cada
resolução (BOOTSTRAP, 2015).
Como qualquer outra ferramenta, possui suas vantagens. É importante
conhecer e entender suas funcionalidades para saber os momentos certos de utilizá-
lo (BOOTSTRAP, 2015).
Vantagens:
Possui documentação detalhada e de fácil entendimento;
É otimizado para o desenvolvimento de layouts responsivos;
Possui componentes suficientes para o desenvolvimento de qualquer site
ou sistema Web com interface simples;
Facilita a criação e edição de layouts por manter padrões;
Funciona em todos os navegadores atuais (Chrome, Safari, Firefox, IE,
Opera).
Como funciona:
A estrutura é simples e seu pacote contém três tipos diferentes de arquivos
(CSS, JavaScrpipt e Fonts), que vêm devidamente organizados em suas pastas.
Montar um layout é simples e rápido utilizando sua documentação. Como toda
a estrutura do CSS já vem definida, basta procurar o componente necessário e
adicionar seu código. Em poucos minutos seu layout toma forma e está pronto para
uso. E o mesmo acontece com o JavaScript (BOOTSTRAP, 2015).
O sistema de grids:O uso efetivo dos grids é fundamental para um bom projeto com o Bootstrap e
entender sua lógica é simples.
2.4.6.3. MVC (Model - View - Controller)
O Modelo é o objeto de aplicação, a Visão é a apresentação na tela e o
Controlador é o que define a maneira como a interface do usuário reage às entradas
do mesmo (GAMMA, 2000).O padrão de projeto MVC (Modelo Visualização Controle) fornece uma maneira
8/18/2019 TCC - SANAT
37/96
37
Curso de Sistemas de Informação
de dividir a funcionalidade envolvida na manutenção e apresentação dos dados deuma aplicação. O MVC não é novo e foi originalmente desenvolvido para mapear as
tarefas tradicionais de entrada, processamento e saída para o Modelo de interação
com o usuário. Usando o padrão MVC fica fácil mapear esses conceitos no domínio
de aplicações Web multicamadas (MACORATTI, 2015).
Na arquitetura do MVC o Modelo representa os dados da aplicação e as regras
do negócio que governam o acesso e a modificação dos dados. O Modelo mantém o
estado persistente do negócio e fornece ao controlador a capacidade de acessar as
funcionalidades da aplicação encapsuladas pelo próprio Modelo (MACORATTI, 2015).
Um componente de visualização renderiza (compila) o conteúdo de uma parte
particular do Modelo e encaminha para o controlador as ações do usuário e, acessa
também os dados do Modelo via controlador e define como esses dados devem ser
apresentados (MACORATTI, 2015).
Um controlador define o comportamento da aplicação, é ele que interpreta as
ações do usuário e as mapeia para chamadas do Modelo. Em um cliente de aplicações
Web essas ações do usuário poderiam ser cliques em botões ou seleções de menus.
As ações realizadas pelo Modelo incluem ativar processos de negócio, alterar o
estado do Modelo. Com base na ação do usuário e no resultado do processamento
do Modelo, o controlador seleciona uma visualização a ser exibida como parte da
resposta a solicitação do usuário. Há normalmente um controlador para cada conjunto
de funcionalidades relacionadas (MACORATTI, 2015).
2.4.6.4. AXURE RP Pro
Axure RP Pro é um wireframing (simulação de como a interface deve
funcionar), prototipagem rápida, documentação e especificações ferramenta de
software voltado para aplicações Web e desktop. Dispõe de arrastar e soltar
colocação, redimensionar e formatação de widgets (pequenos aplicativos). O Axure
suporta prototipagem Rich Internet Applications, mapeando os comportamentos
desejados de interface (como exibir ou ocultar um elemento), em resposta a ações
como cliques do mouse ou gestos de toque. Axure RP gera sites em HTML e MicrosoftWord documentos como saída (AXURE, 2015).
8/18/2019 TCC - SANAT
38/96
38
Curso de Sistemas de Informação
2.4.6.5. UML A UML (Unified Modeling Language ou Linguagem de Modelagem Unificada)
surgiu da união de três métodos de modelagem: o método de Booch, o método OMT
de Jacobson e o método OOSE de Rumbaugh. Estas eram, até meados da década
de 90, os três métodos de modelagem orientada a objetos mais populares entre os
profissionais da área de desenvolvimento de software. A união dessas metodologias
contou com o amplo apoio da Rational Software, que incentivou e financiou a união
das três metodologias (MEDEIROS, 2004). A UML é uma linguagem visual utilizada para modelar sistemas computacionais
por meio do paradigma de Orientação a Objetos. O objetivo da UML é ajudar a definir
as características do software, tais como seus requisitos, seu comportamento, sua
estrutura lógica, a dinâmica de seus processos e suas necessidades físicas em
relação ao equipamento sobre o qual o sistema deverá ser implantado. Todas essas
características são definidas por meio da UML antes do software começar a ser
realmente desenvolvido (GUEDES, 2004). A UML é composta por diferentes tipos de diagrama, cada um representando o
sistema sob uma determinada ótica. A utilização de diversos diagramas permite que
falhas sejam descobertas, diminuindo a possibilidade da ocorrência de erros futuros.
2.4.6.5.1. Diagramas da UML: Diagrama de Casos de Uso: é o diagrama mais geral e informal da UML,
sendo utilizado normalmente nas fases de levantamento e análise de
requisitos do sistema. Procura identificar os atores que utilizarão o softwaree os serviços que o sistema disponibilizará aos atores, conhecidos como
casos de uso.
Diagrama de Classes: é o diagrama mais utilizado e o mais importante da
UML. Define a estrutura das classes utilizadas pelo sistema, determinando
os atributos e métodos de cada classe, além de estabelecer como as
classes se relacionam e trocam informações entre si.
Diagrama de Sequência: preocupa-se com a ordem temporal em que asmensagens são trocadas entre os objetos envolvidos em um determinado
8/18/2019 TCC - SANAT
39/96
39
Curso de Sistemas de Informação
processo. Diagrama de Atividades: preocupa-se em descrever os passos a serem
percorridos para a conclusão de uma atividade específica.
2.5. Ferramentas Utilizadas
Para o desenvolvimento do sistema do SANAT, citamos duas ferramentas
Eclipse e NetBeans, sendo ótimas opções aos desenvolvedores. Estes dois
ambientes possuem código aberto e são gratuitos, podendo ser utilizado para odesenvolvimento de aplicações em outras linguagens. Mas o Eclipse é uma IDE
desenvolvida em Java e possibilita integração com frameworks e plug-ins como o
PHP. Estas integrações podem subsidiar a construção, implantação e gerenciamento
de software em todo seu ciclo de vida. O Eclipse também se destaca por possui
características de arquiteturas diferenciadas.
A linguagem de programação, tem vários tipos como PHP, Java e .Net. O PHP
tem uma sintaxe bastante parecida com Java. Com o PHP é possível desenvolver: Aplicações Web dinâmicas (websites, intranets, extranets, etc);
Aplicações desktop;
Rich Clients;
Web Services;
Scripts de linha de comando;
Tarefas de segundo plano.
O PHP usa duas sintaxes. Uma é procedural e a outra é orientada a objetos. A
procedural é utilizada por webmasters (profissional da Web) que trabalham na
interface com o usuário. Já a sintaxe Orientada a Objetos é, propositalmente similar,
ao Java, com o objetivo de reduzir os custos com treinamento e encorajar a migração
para o PHP.
Na maioria das vezes o PHP é utilizado com um servidor Web: Apache ou
Microsoft IIS.
Umas das melhores habilidades do PHP é lidar com banco de dados de uma
forma fácil. O MySQL é um banco de dados simples, rápido e eficiente para se
8/18/2019 TCC - SANAT
40/96
40
Curso de Sistemas de Informação
trabalhar com sistemas Web. A licença desse banco de dados é software livre.PHP e HTML possuem muita interação: PHP pode gerar HTML, e o HTML pode
passar informações para o PHP.
Utilizaremos o Apache para o servidor Web, por ser gratuito.
Uma tendência em alta no mundo front-end é o uso de frameworks CSS com
estilos base para nossa página. Ao invés de começar todo projeto do zero, criando
todo estilo na mão, existem frameworks que já trazem toda uma base construída de
onde partiremos nossa aplicação (WD-43, 2015).
Existem muitas opções, mas o Twitter Bootstrap talvez seja o de maior
notoriedade. Ele foi criado pelo pessoal do Twitter a partir de código que eles já
usavam internamente. Foi liberado como opensource e ganhou muitos adeptos. O
projeto cresceu bastante em maturidade e importância no mercado a ponto de se
desvincular do Twitter e ser apenas o Bootstrap.
O Bootstrap traz uma série de recursos:
Reset CSS;
Estilo visual base para maioria das tags;
Ícones;
Grids prontos para uso;
Componentes CSS;
Plug-ins JavaScript;
Tudo responsivo e mobile-first ;
Como sugere o nome, é uma forma de começar o projeto logo com um
design e recursos base sem perder tempo com design no início.
8/18/2019 TCC - SANAT
41/96
41
Curso de Sistemas de Informação
3. VISÃO DO SISTEMASerá mostrada a descrição do problema, o impacto e a proposta de solução.
3.1. Descrição do Problema
No quadro a seguir está a descrição do problema.
Quadro 01 – Descrição do Problema
O problema do NADD de
Atendimento ao Docente e Discentedo Centro Universitário JMP.
Os colaboradores do NADD têm dificuldades em fazer
um bom atendimento de demandas no que se refere àatribuição de ambiente de ensino para cada mapa doscursos de Graduação. Quando há mudanças dalocalização de um ambiente de ensino para umadeterminada turma, o NADD não fica informadoimediatamente pelos coordenadores que fazematualização das informações, o que traz um desconfortotanto para alunos quanto para colaboradoras que nãorecebem a informação precisa. As informações sobreturma e o local do ambiente de ensino ficamarmazenadas em planilhas, que, se não forem
repassadas ao NADD imediatamente, a informação nãoestará atualizada, comprometendo a veracidade dainformação.
Afeta Os colaboradores do NADD, professores ecoordenadores e alunos.
O seu impacto é O desencontro das informações a respeito do local físicodo ambiente de ensino, das disciplinas que estão sendoministradas em cada ambiente de ensino e seusrespectivos professores, trazendo imprecisão nainformação.
8/18/2019 TCC - SANAT
42/96
42
Curso de Sistemas de Informação
Uma solução bem-sucedida seria Um sistema informatizado que, baseado em informaçõesrepassadas por coordenadores sobre os ambientes deensino, disciplina, professor, onde será mostrada em umlayout a alocação de ambientes de ensino das turmasdos cursos de graduação do Centro Universitário JMP,auxiliando aos colaboradores na divulgação dainformação correta sobre turmas e sua localização noCentro Universitário JMP, de modo que as informaçõesestarão disponíveis simultaneamente para todosusuários que estiverem logados no sistema. O sistema manterá cadastro de disciplinas, de ambientesde ensino e de professores, onde permitirá que
coordenadores atribuam um ambiente de ensino a umadisciplina assim como um professor a uma disciplina emum determinado horário.
3.2. Sentença de Posição do Produto
No quadro a seguir temos a sentença sobre o produto final.
Quadro 02 – Sobre o Produto Final
Para O Núcleo de Atendimento ao Docente e Discente, do Centro UniversitárioJMP.
Que Terá uma ferramenta para auxiliar na atividade de apoio a docentes ediscentes.
O SANAT Sistema de Apoio ao Núcleo de Atendimento ao Docente e Discente.Que Facilitará a identificação de ambientes de ensino alocadas das disciplinas e
seus respectivos professores, para os cursos de graduação.Diferente Da maneira como é feito atualmente, em planilhas.Nosso produto Visa informatizar de tal forma que, em vez de planilhas, será visualizado em
tela.
3.3. Modelo de Negócio
A Figura 04 mostra o modelo de processo do SANAT.
8/18/2019 TCC - SANAT
43/96
43
Curso de Sistemas de Informação
Figura 04 - Diagrama Geral dos Processos do SANAT.Fonte: Elaborado pelos autores.
8/18/2019 TCC - SANAT
44/96
44
Curso de Sistemas de Informação
3.4. Apoio da SoluçãoOs coordenadores terão mais facilidades para criar turmas, realizar alocação
de ambientes de ensino para as salas, realizar ensalamento de turmas, bem como
alocar disciplinas aos professores.
Os colaboradores terão uma melhor visão da distribuição dos ambientes de
ensino e turmas dos cursos de graduação na unidade de ensino, podendo assim
repassar as informações disponíveis.
8/18/2019 TCC - SANAT
45/96
45
Curso de Sistemas de Informação
4. ELABORAÇÃO DA SOLUÇÃO A criação de um sistema informatizado deverá melhorar o atendimento do
NADD, facilitando a relação entre o corpo Docente e o Discente de modo que as
informações referentes a localização e ocupação de um ambiente de ensino estará
sempre atualizada.
4.1. Requisitos Funcionais
São declarações de serviços que o sistema deve prover, descrevendo o que o
sistema deve fazer (SOMMERVILLE, 2007). Um requisito funcional descreve uma
interação entre o sistema e o seu ambiente (PFLEEGER, 2004), podendo descrever,
ainda, como o sistema deve reagir a entradas específicas, como o sistema deve se
comportar em situações específicas e o que o sistema não deve fazer
(SOMMERVILLE, 2007).
Eles dependem do tipo de software a ser desenvolvido, de quem são seus
possíveis usuários e da abordagem geral adotada pela organização ao escrever os
requisitos. Quando expressos como requisitos de usuário, os requisitos funcionais são
normalmente descritos de forma abstrata, para serem compreendidos pelos usuários
do sistema. No entanto, requisitos de sistema funcionais mais específicos descrevem
em detalhes as funções do sistema, suas entradas e saídas, exceções etc.
(SOMMERVILLE, 2007).
Requisitos funcionais do sistema variam de requisitos gerais, que abrangem o
que o sistema deve fazer, até requisitos muito específicos, que refletem os sistemas
e as formas de trabalho em uma organização (SOMMERVILLE, 2007).
No levantamento de requisitos foi utilizada a técnica mais comumente utilizada,
o da entrevista aberta, tendo como participantes os alunos atuando como
desenvolvedores, as coordenações e os colaboradores do NADD.
O sistema será capaz de:
Manter Usuários;
Manter Professores;
Manter Cursos;
8/18/2019 TCC - SANAT
46/96
46
Curso de Sistemas de Informação
Manter Disciplinas; Manter Sala (Ambientes de Ensino);
Manter Turmas,
Manter Ensalamentos, e
Visualizar Mapas de Ambientes de Ensino.
No quadro a seguir são demonstrados os requisitos funcionais.
Quadro 03 – Requisitos Funcionais
RequisitoFuncional
Descrição
RF-01
Manter Usuário
Operação realizada pelo administrador do sistema.
Cadastrar usuário; Al