Você está na página 1de 50

INSTITUTO SUPERIOR DE TECNOLOGIA DE INFORMAÇÃO E

COMUNICAÇÃO

SISTEMA DE GESTÃO DE MATRÍCULA E

REGISTO DE NOTA DO COLÉGIO NOVA JÓIA

TRABALHO DE FIM DO CURSO DE LICENCIATURA EM ENGENHARIA


INFORMÁTICA

AUTOR:

OCTÁVIO MATIAS RUFINO DA CONCEIÇÃO

LUANDA, 2017
INSTITUTO SUPERIOR DE TECNOLOGIA DE INFORMAÇÃO E
COMUNICAÇÃO

SISTEMA DE GESTÃO DE MATRÍCULA E

REGISTO DE NOTA DO COLÉGIO NOVA JÓIA

TRABALHO DE FIM DO CURSO DE LICENCIATURA EM ENGENHARIA


INFORMÁTICA

AUTOR: OCTÁVIO MATIAS RUFINO DA CONCEIÇÃO

LUANDA, 2017

I
INSTITUTO SUPERIOR DE TECNOLOGIA DE INFORMAÇÃO E
COMUNICAÇÃO

SISTEMA DE GESTÃO DE MATRÍCULA E

REGISTO DE NOTA DO COLÉGIO NOVA JÓIA

TRABALHO DE FIM DO CURSO DE LICENCIATURA EM ENGENHARIA


INFORMÁTICA

AUTOR: OCTÁVIO MATIAS RUFINO DA CONCEIÇÃO

ORIENTADOR: MSC. GEIDIS SÁNCHEZ MICHEL

LUANDA, 2017

II
Dados Contacto

Autor: Octávio Matias Rufino da Conceição

Instituto Superior de Tecnologias de Informação e Comunicação

E-mail: octaviofresco@gmail.com

III
Dedicatória

Dedico esta tese ao meus familiares e colegas,


em especial aos meus pais que deram-me
todo o apoio emocional e incondicional.

IV
Agradecimentos
Quero agradecer, em primeiro lugar, а Deus, pela força е coragem durante toda esta longa
caminhada, Agradeço aos meus pais Amarilo da Conceição e Madalena Matias, que me deram
apoio e incentivo nas horas difíceis, seguidamente a minha orientadora Msc. Geidis Sánchez
Michel. Sou grato também aos meus amigos, que não me deixaram ser vencido pelo cansaço.
Obrigado a minha futura esposa Elda Tchissola, que me estimulou durante todo e compreendeu
minha ausência pelo tempo dedicado aos estudos. Meus agradecimentos aos irmãos, sobrinhos, tías
e avós, que de alguma forma também contribuíram para que o sonho da faculdade se tornasse
realidade.

V
Resumo
As Instituições do Ensino Médio em geral precisam manipular uma grande quantidade de informações
armazenadas em diversos arquivos que, com o tempo, tornam o controle académico lento e incapaz de
oferecer qualidade no atendimento aos alunos. Algumas instituições preferem adquirir sistemas
comerciais para o gerenciamento do diretório de registro académico e administrativo. O Colégio Nova
Jóia é uma instituição de caráter privado com fins lucrativos, prestando serviços de educação e ensino,
dirigido para o IIº ciclo, os processos no Colégio Nova Jóia atualmente são todos processados de forma
manual, com o propósito de adquirir um melhor desempenho, optou por desenvolver uma ferramenta
adequada às suas necessidades. O relatório descreve o processo de desenvolvimento do “Sistema de
Gestão de Matrícula e Registo de Nota – SGMN- CNJ, um sistema que pretende gerir toda a vida
académica do aluno como: processo de matrícula, registo de nota, registo de falta, ocorrências e
comportamento. Para dar solução a problemática se utilizou a metodologia OpenUP, a linguagem de
programação utilizada foi a Java 1.8.0_60, utilizou-se MySQL 1.2.12 como sendo o repositório da base
de dados, o Netbeans IDE 8.2 como o ambiente desenvolvimento que permite escrever códigos, utilizou-
se o Astah Community 7.0 ferramenta case que nos permite desenhar todos os diagramas, utilizou-se o
framework JasperReports 5.60 para a geração de relatórios.

Palavras Chave: base de dados, engenharia de software, gestão acadêmica.

VI
Abstract

Higher Education Institutions generally need to manipulate a large amount of information stored in various
archives that, over time, make academic control slow and unable to provide quality student care. Some
institutions prefer to purchase commercial systems for the management of the academic and
administrative registration directory. Collegio Nova Jóia is a private, for-profit institution providing
education and teaching services, directed to the second cycle, processes at Nova Jóia College are
currently all processed manually, with the purpose of acquiring better performance, opted to develop a
tool that suited their needs. The report describes the process of developing the "SGMN-CNJ" Registration
and Registration Management System, a system that intends to manage the entire academic life of the
student such as: enrollment process, note registration, absence record, occurrences and behavior. In
order to solve the problem we used the OpenUP methodology, the programming language used was
Java 1.8.0_60, MySQL 1.2.12 was used as the database repository, Netbeans IDE 8.2 as the
development environment that allows writing codes, we used the Astah Community 7.0 tool case that
allows us to draw all the diagrams, we used the framework JasperReports 5.60 for the generation of
reports.

Keywords: database, software engineering, academic management.

VII
ÍNDICE
INTRODUÇÃO ....................................................................................................................................................... 12

CAPÍTULO 1. FUNDAMENTAÇÃO TEÓRICA ................................................................................................. 15

1.1 Introdução..................................................................................................................................................... 15

1.2 Principais conceitos associados ao objecto de estudo ......................................................................... 15

1.3 Sistemas similares ...................................................................................................................................... 16

1.3.1 Internacional ......................................................................................................................................... 16

1.3.2 Nacional................................................................................................................................................. 18

1.4 Metodologias................................................................................................................................................ 19

1.4.1 Metodologias Pesadas ........................................................................................................................ 19

1.4.2 Metodologias Ágeis ............................................................................................................................. 19

1.5 Ferramentas e tecnologias ........................................................................................................................ 21

1.5.1 MySQL 1.2.12 ..................................................................................................................................... 21

1.5.2 Netbeans IDE 8.2................................................................................................................................. 21

1.5.3 Astah Community 7.0 .......................................................................................................................... 21

1.5.4 Java 1.8.0_60 ....................................................................................................................................... 22

1.5.5 JasperReports 5.60 ............................................................................................................................. 22

1.5.6 Joda-Time 1.3....................................................................................................................................... 22

1.5.7 UML 2.0 ........................................................................................................................................... 22

1.5.8 JUnit 4.12 ........................................................................................................................................ 23

1.6 Conclusão parcial........................................................................................................................................ 24

CAPÍTULO 2. CARACTERÍSTICAS DO SISTEMA ......................................................................................... 25

2.1 Introdução..................................................................................................................................................... 25

VIII
2.2 Modelo de domínio ..................................................................................................................................... 25

2.3 Diagrama de Actividades ........................................................................................................................... 26

2.4 Análise do sistema ...................................................................................................................................... 27

2.5 Requisitos do sistema ................................................................................................................................ 28

2.5.1 Requisitos funcionais .......................................................................................................................... 28

2.5.2 Requisitos não funcionais ................................................................................................................... 29

2.6 Protótipos de interface ............................................................................................................................... 30

2.7 Conclusão parcial........................................................................................................................................ 32

CAPÍTULO.3 DESENHO E IMPLEMENTAÇÃO DO SISTEMA ..................................................................... 33

3.1 Diagrama de classe .................................................................................................................................... 33

3.2 Estilo Arquitetônico. .................................................................................................................................... 33

3.3 Padrões de desenho................................................................................................................................... 34

3.4 Desenho da base de dados....................................................................................................................... 36

3.5 Testes ........................................................................................................................................................... 36

3.5.1 Teste de caixa branca ......................................................................................................................... 37

3.5.2 Teste de caixa negra ........................................................................................................................... 39

3.5.3 Resultados das provas funcionais .................................................................................................... 40

3.6 Provas de integração .................................................................................................................................. 41

3.7 Conclusões parciais .................................................................................................................................... 42

CONCLUSÃO ..................................................................................................................................................... 43

RECOMENDAÇÕES ......................................................................................................................................... 44

REFERÊNCIAS ...................................................................................................................................................... 45

IX
ÍNDICE DE FIGURAS
Figura 1- Modelo de domínio ............................................................................................................................... 25

Figura 2- Registar Nota......................................................................................................................................... 26

Figura 3- Matrícular Aluno .................................................................................................................................... 27

Figura 4- Análise do sistema................................................................................................................................ 27

Figura 12- Aplicação do padrão Criador na classe AlunoController .............................................................. 35

Figura 13- Modelo ER .......................................................................................................................................... 36

Figura 14- Gráfico de fluxo .................................................................................................................................. 37

Figura 15- Gráfico de fluxo ................................................................................................................................... 38

Figura 16- Tela que permite a Confirmção de Matricula de um Aluno na Instituição ................................. 39

Figura 17- Resultados das provas. ..................................................................................................................... 41

Figura 18- Tela de Login............................................................................................................................................ 48

Figura 19- Figura 6- Tela que permite fazer o registo de um Encarregado de Educação......................................... 48

Figura 20- tela que permite fazer o Registo de um utilizador .................................................................................. 49

Figura 21- Tela que permite fazer o Registo de Falta ............................................................................................... 49

X
ÍNDICE DE TABELAS

Tabela 1- Características dos sistemas similares ............................................................................................ 18

Tabela 2- Características de OpenUP................................................................................................................ 20

Tabela 3- Requisitos funcionais .......................................................................................................................... 28

Tabela 4- Comportamento da interface confirmação de matricula ................................................................ 40

XI
INTRODUÇÃO
A Sociedade da Informação apresenta hoje novos desafios as instituições de educação
e ensino, consubstanciados não apenas no ensino à distância e na aprendizagem
interativa, mas também no aspecto menos visível da aplicação tecnológica ao serviço
da gestão das Instituições de Ensino. Os sistemas de informação beneficiam as
organizações, os utilizadores e qualquer indivíduo ou grupo que interagir com o sistema.
De entre os benefícios que um sistema de informação deve trazer encontram-se os da
segurança dos dados, melhoria do serviço, redução de erros de gestão, maior precisão,
maior eficiência e eficácia, e maior produtividade.

Por todas essas razões, este é um aspecto crucial. As Instituições de Ensino são
sistemas organizacionais complexos, com regras e processos muito próprios. Nestas
instituições, a informação pode ser académica, administrativa, docente e financeira,
entre outras, representando diversas unidades orgânicas com necessidades
informacionais específicas.

Porque a informação está em toda a parte e o conhecimento é a matéria-prima da gestão


eficiente, uma das tarefas mais críticas do quotidiano de uma Instituição de Ensino é,
pois, assegurar que a comunidade académica (alunos, docentes, pessoal administrativo
e gestores) tenha acesso à informação necessária, correta, em tempo útil e de forma
segura e eficiente.

O Colégio Nova Jóia é uma instituição de caráter privado com fins lucrativos, que foi
fundada em 1998 e está localizada no município de Belas, bairro Popular, prestando
serviços de educação e ensino, dirigido para o ensino do IIº ciclo.

A instituição realiza vários processos acadêmicos dentre eles destacamos os seguintes


processos: matricular aluno, registar docente, notas, faltas, emitir boletim de notas,
comprovativos, certificados, entre outros serviços.

Os processos na instituição atualmente são todos processados de forma manual, isto


provoca que exista perda de informação na hora de realizar a matricula de um aluno,
emitir um certificado, boletim de nota, comprovativo, entre outros processos.

O Processo emitir boletim de nota, é um processo que se realiza quando o estudante


deseja saber qual foi o seu desempenho durante um trimestre, e o diretor pedagógico
faz a colheita das notas de cada disciplina em cada professor que são armazenados em
planilhas do Excel, que depois faz-se a impressão de um formulário que de forma
manual é preenchido todo o formulário ou boletim de cada estudante da instituição, esta
maneira atual de processar os boletins de notas é duradouro e se perde informações,
as informações podem se duplicar, as notas de muitos estudantes muitas das vezes é
trocada e muitos ficam sem elas, devido a forma de preenchimento dos boletins.

Como situação problemática verificou-se a inexistência de um Sistema de gestão


escolar:

Atualmente no colégio, se realiza diferentes actividades acadêmicas em que se


encontra a emitir boletim de notas, registar notas, registar ou matricular aluno,
atualmente para realização da matricula de um aluno, toda a actividade se realiza de
maneira manual, utilizando em muitos casos ferramentas do pacote do office que serve
como a base de dados, isto provoca que se duplica informação, ocorre que muitos
12
alunos que já estão matriculados não aparecem na sua folha do Word que serve como
base de dados, logo o funcionário preenche um recibo de maneira manual que serve de
confirmação de matricula, em relação ao registo de nota também se faz de maneira
manual, inserindo os dados em folha de calcula do Excel, que muitos funcionário não
dominam e preferem lançarem os dados em formulários impresso, que gera um caos na
altura gerenciar as pautas, processo demasiado lento na busca das informações de um
estudante.

Pelas razões anteriormente expostas fica proposto o seguinte problema da


investigação: Como gerir as atividades de Gestão de Matrícula e Registo de Nota no
Colégio Nova Jóia, de forma a melhorar os níveis de acessibilidade e qualidade dos
dados?

Deste modo fica definido como objeto de estudo para a presente investigação:
Actividade de Gestão de Matrícula e Registo de Nota.

O campo de ação: Gestão de Matrícula e Registo de Nota no Colégio Nova Jóia.

Para dar solução ao problema antes descrito se tem como objetivo geral: Desenvolver
um sistema para a Gestão das Actividades de Matrícula e Registo de Nota no Colégio
Nova Joia, de forma a melhorar os níveis de acessibilidade e qualidade dos dados.

Para dar solução ao objetivo geral se definem os seguintes objetivos específicos:

 Definir o quadro teórico da pesquisa.


 Desenvolver o estudo dos sistemas similares, para a Gestão das Actividades de
Matrícula e Registo de Nota.
 Definir os requisitos funcionais e não funcionais do sistema para a Gestão das
Actividades de Matrícula e Registo de Nota do Colégio Nova Jóia.
 Desenhar o sistema de gestão para as Actividades de Matrícula e Registo de
Nota do Colégio Nova Jóia.
 Implementar o sistema de Gestão para as Actividades de Matrículas e Registo
de Notas do Colégio Nova Jóia.
 Validar o sistema de Gestão para as Actividades de Matrícula e Registo de Nota
do Colégio Nova Jóia.

A ideia a defender fica definida na seguinte proposta: O Desenvolvimento de um


sistema para a Gestão das Actividades de Matrícula e Registo de Nota no Colégio Nova
Joia, de forma a melhorar os níveis de acessibilidade e qualidade dos dados.

Como Tarefas da Investigação para dar cumplimento aos objetivos propostos são:

1. Revisão de documentos e entrevista a trabalhadores.


2. Caracterização dos sistemas no âmbito nacional e internacional que realizam a
gestão dos processos de Matricula e Registo de Nota.
3. Seleção e caracterização dos métodos, ferramentas e tecnologias para o
desenvolvimento do sistema.
4. Obtenção dos requisitos funcionais e não funcionais do sistema.
5. Implementação de um sistema de gestão das Actividades de Matricula e Registo
de Nota.
6. Realização de provas ao sistema.

13
Métodos

Todas as ciências caracterizam-se pela utilização de métodos científicos; em


contrapartida, nem todos os ramos de estudo que empregam estes métodos são
ciências. Dessas afirmações podemos concluir que a utilização de métodos científicos
não é da alçada exclusiva da ciência, mas não há ciência sem o emprego de métodos
científicos. (Lakatos, 2003)

Assim, o método é o conjunto das atividades sistemáticas e racionais que, com maior
segurança e economia, permite alcançar o objetivo - conhecimentos válidos e
verdadeiros, traçando o caminho a ser seguido, detectando erros e auxiliando as
decisões do cientista. (Lakatos, 2003)

Método científico conjunto de procedimentos ou regras gerais, por meio do qual o objeto
de estudo da ciência é investigado. Os métodos classificam em teorico e emprico.
(Rodrigues, Jaime Ricardo, 2014)

Para desenvolver a proposta de solução se utiliza os seguintes métodos teóricos e


empíricos, dentro dos métodos empíricos a entrevista, se utiliza para recupera
informação sobre como se desenvolve o processo de negócio no Colégio Nova Jóia e
dentro do método teórico, o método análise e síntese se utiliza sobre o estudo revisado
para dar uma caracterização no desenho para a proposta de solução, o método histórico
lógico é que permite fazer uma revisão de todo o conceito, método de modelação para
o desenho, modelando para a proposta de solução.

Capítulo 1: Fundamentação teórica. Neste capítulo se especificam os principais


conceitos relacionados com o tema, realiza-se o estudo do estado da arte a nível
nacional e internacional sobre os sistemas de gestão acadêmica. Também se definem
as ferramentas, metodológicas e tecnológicas a utilizar durante o desenvolvimento do
sistema.

Capítulo 2: Características do sistema. É neste capítulo onde se apresenta uma


descrição geral da solução proposta, definem-se os requisitos funcionais e não
funcionais dentre outros elementos importantes.

Capítulo 3: Desenho e implementação do sistema. Neste capítulo se abordam aspectos


relacionados com a implementação do sistema em, à arquitetura de desenvolvimento
de software. Documentam-se as provas de sistemas de Gestão de Matrícula e Registo
de Nota, realizam-se provas detectar possíveis falhas no sistema.

14
CAPÍTULO 1. FUNDAMENTAÇÃO TEÓRICA
1.1 Introdução
Neste capítulo é feita uma explicação sobre o estudo da arte, este estudo foi feito por
modo de pesquisas. Diferentes conceitos relevantes relacionados ao sistema são
definidos, também são explicadas as metodologías, ferramentas e diferentes
tecnologias usadas para a construção do sistema proposto.

1.2 Principais conceitos associados ao objecto de estudo

Gestão significa tomada de decisões, organização, direção. Relacionasse com a


atividade de impulsionar uma organização a atingir seus objetivos, cumprir suas
responsabilidades. Significa também a manutenção de controle sobre um grupo, uma
situação ou uma organização, de forma a garantir os melhores resultados. Gestão da
educação significa ser responsável por garantir a qualidade de uma “mediação no seio
da prática social global” (Saviani, 1980, p. 120), que se constitui no único mecanismo
de humanização de ser humano, que é a educação, a formação humana de cidadãos.
Seus princípios da educação que a gestão assegura serem cumpridos – uma educação
comprometida com a “sabedoria” de viver junto respeitando as diferenças,
comprometida com a construção de um mundo mais humano e justo para todos os que
nele habitam, independentemente de raça, cor, credo ou opção de vida. (FERREIRA,
2004, p. 306307)

Gestão Educacional

A expressão gestão educacional, comumente utilizada para designar a ação dos


dirigentes, surge, por conseguinte, em substituição à administração Educacional (ou
escolar), para representar novas ideias e estabelecer, na Instituição, uma orientação
transformadora, a partir da dominação da rede de Relações que ocorrem,
dialeticamente, no seu contexto interno e externo. O conceito de gestão educacional,
diferentemente do de administração Educacional, abrange uma série de concepções
não abarcadas democratização do processo de administração. Pode-se citar a
democratização do processo de determinação dos destinos do estabelecimento de
ensino e seu projeto político pedagógico, A compreensão da questão dinâmica e
conflitiva das relações interpessoais da organização Como uma entidade viva e
dinâmica, demandando uma atuação de liderança; o entendimento de que a mudança
dos processos pedagógicos envolve alterações nas relações sociais da organização.
(LUCK, 1998)

Gestão da Escolar

Expressão relacionada à atuação que objetiva promover a organização, a mobilização


e a articulação de todas as condições materiais e humanas necessárias para garantir o
avanço dos processos socioeducacionais dos estabelecimentos de ensino, orientados
para a promoção efetiva da aprendizagem pelos alunos. (MENEZES, Ebenezer Takuno
de; SANTOS, 2001)

15
Sistema de gestão acadêmica

Um sistema de gestão acadêmica (SGA) é um sistema de gerenciamento de


informações direcionado às instituições de ensino. Trata-se de um software que
automatiza os processos internos de escolas e universidades, facilitando o
monitoramento do dia a dia acadêmico. ( Techne, 2015)

Matricula ação de inscrever num registro um indivíduo, um animal, um objeto, assim


como o número que lhe é atribuído, a fim de que sua identificação possa ser feita com
facilidade. (Lucas, 2010)
Nota escolar é a avaliação de um professor para o esforço de um aluno nos diversos
graus do sistema de ensino, com provas escritas e/ou orais, trabalhos de todos os tipos
(em grupo, individual), pontos extras por comportamento. (Dicionário, 2011)

1.3 Sistemas similares


A continuação realizara uma fundamentação dos principais sistemas de gestão
academica estudados do ambito intercional e nacional.

1.3.1 Internacional

O sistema Lyceum é uma solução de gestão de instituições de ensino superior que


incorpora os avanços tecnológicos necessários ao novo modelo institucional. Realiza a
automação das atividades administrativas, o controle financeiro, a gestão acadêmica e
a integração do aluno e do docente aos serviços e informações disponíveis na
universidade. ( Techne, 2015)

O Lyceum integra dirigentes e pessoal administrativo da instituição, aos alunos e


docentes que, utilizando os módulos Aluno Online e Docente Online realizam todos os
serviços de secretaria através de um Web browser. ( Techne, 2015)

Outro mecanismo facilitador da gestão e do controle da universidade é a utilização de


smart cards como identidade escolar. Isso permite ao aluno registrar sua presença nas
aulas, obter acesso aos laboratórios e outras dependências da instituição, além de
utilizar os módulos de Internet. Este mesmo cartão pode ser utilizado para outras
explicações como, por exemplo, moeda eletrônica para efetuar compras.

No Lyceum, cada professor e cada aluno possui uma conta, que lhe permitem acesso
às aplicações clientes (browsers) voltadas para Internet. Esse ambiente permite um
significativo aumento de eficiência na comunicação entre a administração da instituição,
professores e alunos, permitindo a eliminação do trâmite de documentos através da
divulgação eletrônica de avisos, horários, notícias e notas de aula.

O Lyceum efetua a gestão acadêmica desde o processo de seleção de alunos, toda a


organização do ensino, com a grade curricular, seus pré-requisitos e equivalências,
histórico escolar, alocação de professores, espaço físico recursos, até o controle
financeiro.

O Lyceum fornece aos dirigentes uma radiografia completa da atividade fim da


instituição, permitindo monitorar o desempenho acadêmico e financeiro. Com o auxílio
de ferramentas de apoio à decisão, e a partir das informações contidas no sistema, o
16
reitor e seus auxiliares podem planejar a evolução futura e tomar decisões baseadas na
realidade.

Características:

 Parametrização : permite a utilização do sistema sob diversas circunstâncias.


Isto torna o sistema muito versátil, pois se adapta a várias realidades de
instituições. Por exemplo, cada universidade tem o seu tipo de conceito de
avaliação de notas (0 .. 10, A .. E), os próprios usuários definem esse conceito.
 Padronização : permite que o usuário não tenha dificuldades de operação, o que
aumenta a produtividade, além de ser mais fácil a manutenção.
 Segurança de Acesso : cada usuário é responsável pela manutenção de sua
senha. O usuário não poderá acessar qualquer tela do sistema. A cada usuário
será atribuído um padrão de acesso, ou seja, conjunto de telas (transações),
relatórios e processos que ele poderá acessar.
 Auditoria : o sistema registra todos os acessos a esses elementos e as
modificações feitas. ( Techne, 2015)

SGA

O SGA é um sistema de gestão académica desenvolvido pela Expoente Soluções


Comerciais e Educacionais de origem brasileira, feito para ser utilizado via web (por
intermédio de um browser), o mesmo permite gerir os recursos físicos, humanos,
financeiros e materiais. Segundo a empresa, o SGA foi concebido para os diversos
níveis de ensino. Por ser um sistema web, oferece facilidade no facto de que não é
necessário instala-lo para usar. (Expoente, 2009)

Tal como outros sistemas de gestão, o SGA é composto por módulos e citaremos
alguns.

Módulo de turma: É neste módulo em que os alunos são distribuídos nas turmas de
acordo com as regras de negócio da escola. Outras funções: Turma, Disciplina da turma,
Matrícula da turma, Horário, Relatório das atividades extracurriculares, entre outros.

Módulo de avaliação: Este módulo permite configurar um sistema de avaliação da


escola. Tem um funcionamento semelhante a plataforma de ensino a distância Moodle.
(Expoente, 2009)

SIGA

O Sistema Integrado de Gestão Acadêmica (SIGA) é um sistema de acesso via web,


desenvolvido pelo Núcleo de Computação Eletrônica da UFRJ (NCE), através do qual
alunos, professores e funcionários podem obter informações e fazer determinadas
atualizações referentes ao registro acadêmico. Alguns serviços disponibilizados pelo
SIGA, na página de boas-vindas, têm prazos determinados no calendário dos atos
acadêmicos, aprovados nos Conselhos Superiores da Universidade. As permissões
para consultas e operações são concedidas pela Divisão de Registro de Estudantes
(DRE), conforme o perfil de cada usuário. ( Synergia , 2013)

O Sistema de Administração e Gestão Acadêmica de centros públicos dependentes do


departamento da educação é uma aplicação permite o gerenciamento de planos de
estudo, inscrição de estudantes, distribuição de currículos, avaliação, emissão de
17
relatórios e certificados oficiais, oferece suporte em processos administrativos e permite
a gestão econômica dos centros. Desenvolvido em Web usando as tecnologias
Maven, Hibernate, Struts, Oracle, HTML5. ( Synergia , 2013)

1.3.2 Nacional

GSchool

O Sistema de Gestão Acadêmica da Ramos Soft é desenvolvido em desktop e é


proprietário, criado de forma a responder a todas as necessidades inerentes ao dia-a-
dia das instituições de ensino. (Manual de utilizador- Gestão Escolar, 2014)

Gerenciar Aluno:
Inserir aluno;
Mostrar aluno;
Alterar aluno;
Eliminar aluno.

Registar Pagamentos de:


 Propinas ( com a respectiva multa, se houver);
 Uniformes ( Principal, Educação Física, T-Shirts, etc);
 Transporte;
 Caderneta
 Cartão de Estudante;
 Matérial Didáctico;
 ATL ( Actividades e Trabalhos ou Tarefas Livres);
 Outros.

Listagens
 Pagamentos;
 Dados do Aluno.

O quadro considera que os sistemas anteriormente mencionados não cumprem as


necessidades devido que, em alguns casos são desenvolvidos usando tecnologia web,
e a instituição não conta com uma estrutura de rede, por isso decidiu desenvolver uma
aplicação em desktop, e em muitos casos estas aplicações são proprietárias necessitam
de uma licença para poderem ser implementados e não se adaptam nas qualidades do
negócio. Exemplos: não gera mini pauta, recibo de confirmação de matricula entre
outros.

Na tabela 1, faz se um resumo dos principais elementos para o estudo do sistema.

Tabela 1- Características dos sistemas similares

Lyceum SGA SIGA SGA-RS


Proprietário Sim Sim Sim Sim
Tipo Web Web Web Desktop
Adaptáveis ao Não Não Não Não
negocio

18
Segundo os estudo dos sistemas similares estudados evidencio que não compre com
as necessidades de negócio, pelo qual se optou desenvolver uma aplicação desktop,
pelo qual se obtem o seguinte ambiente de trabalho.

1.4 Metodologias
Uma metodologia de desenvolvimento de software se define como um conjunto de
procedimentos, técnicas, ferramentas e um suporte documentário que ajuda na
construção de um software. (Pressman, 2005)

Uma metodologia define estados, etapas e fases de desenvolvimento. Também define


tarefas, atividades. As metodologias podem ser pesadas ou ágeis.

1.4.1 Metodologias Pesadas

As metodologias tradicionais são também chamadas de pesadas ou orientadas a


documentação. Elas foram muito utilizadas no passado em um contexto de
desenvolvimento de software muito diferente do atual, baseado apenas em um
mainframe e terminais burros naquela época, o custo de fazer alterações e correções
era muito alto, uma vez que o acesso aos computadores eram limitados e não existiam
modernas ferramentas de apoio ao desenvolvimento do software, como depuradores e
analisadores de código. Por isso o software era todo planejado e documentado antes
de ser implementado. Uma das metodologias tradicionais mais utilizadas até hoje é o
modelo Clássico ou Cascata. (SOARES, 2004)

Tipos de metodologias pesadas: RUP (Rational Unifield Procces), Iconix, MSF


(Microsoft Solution Framework).

Como estou a desenvolver um software de médio porte optou-se por uma das
metodologias ágeis que é OpenUp, por levar em conta os seguintes critérios, por ter um
uma equipa de desenvolvimento pequeno, por tem o cliente como parte da equipa de
desenvolvimento, dentro do tempo laboral e a medida do desenvolvendo vai se
apresentando as respectivas soluções, por estas razões é que se escolheu uma
metodologia ágil.

1.4.2 Metodologias Ágeis

Métodos de desenvolvimento de software que aplicam o desenvolvimento iterativo,


empregam o planejamento adaptativo, promovem a entrega incremental, incluem outros
valores e práticas que encorajam a agilidade-resposta rápida e flexível às mudanças.
Tipos de metodologias ágeis: XP (Xtreme Programming), OpenUp, SCRUM. (Balduino,
2013)

OpenUP é um processo de desenvolvimento de software minimamente suficiente – isso


significa que somente o conteúdo fundamental é incluído. Assim, ele não provê
orientação em alguns tópicos que o projeto possa tratar, como equipes grandes,
situações contratuais, aplicações de segurança ou missão crítica, orientação de
tecnologia específica entre outras. Contudo, OpenUP é completo no sentido que ele
pode ser apresentado como um processo completo para construir um sistema. Para
atender as necessidades que não são cobertas no seu conteúdo, OpenUP é extensível

19
para ser usado como base no qual o conteúdo do processo pode ser adicionado ou
adaptado como necessário. (Balduino, 2013)

OpenUP é um processo ágil. Embora o OpenUP seja leve, há muito mais para ser ágil
do que simplesmente ser leve. Práticas ágeis mais reconhecidas são voltadas para obter
comunicação do time no qual todos compartilham o entendimento do projeto. Métodos
ágeis têm chamado nossa atenção de volta à importância de coordenar o entendimento,
beneficiando os stakeholders ao invés de entregas improdutivas e formalidade.

OpenUP têm uma característica essencial de um Processo Unificado magro que aplica
abordagens interativas e incrementais dentro de um comprovado ciclo de vida
estruturado. OpenUP é baseado em casos de uso e cenários, gerenciamento de risco e
uma abordagem centrada na arquitetura orientada ao desenvolvimento.

OpenUP é orientado a quatro princípios principais listados abaixo. Os princípios


capturam a intenção geral por trás do processo e cria a fundação para interpretar papéis
e produtos de trabalho, e realizar tarefas.

Colaboração para alinhar interesses e compartilhar entendimento. Este princípio


promove práticas para fomentar um ambiente saudável entre o time, permitindo a
colaboração e desenvolvimento de um entendimento compartilhado do projeto.

Balanceamento de prioridades concorrente para maximizar o valor do cliente.


Este princípio promove práticas que permitem os participantes do projeto e stakeholders
desenvolver uma solução que maximize os benefícios dos stakeholders e está de
acordo com as restrições do projeto.

Foco antecipado na arquitetura para minimizar os riscos e organizar o


desenvolvimento. Este princípio promove práticas que permitem o time focar numa
arquitetura para minimizar os riscos e organizar o desenvolvimento.

Envolver para continuamente obter feedback e melhorar. Este princípio promove


práticas que permitem o time obter feedback contínuo e antecipado dos stakeholders, e
demonstrar valor incremental a eles.

Cada princípio do OpenUP suporta uma afirmação do Manifesto Ágil, como visto na
tabela 2.

Tabela 2- Características de OpenUP

Princípio do OpenUP Afirmação do Manifesto Ágil


Colaborar para alinhar interesses e Indivíduos e interações sobre processos
compartilhar entendimento. e ferramentas
Balanceamento de prioridades Colaboração com o cliente mais que
concorrentes para maximizar valor para o negociação de contratos
cliente
Foco antecipado na arquitetura para Software em funcionamento mais que
minimizar os riscos e organizar o documentação abrangente.
desenvolvimento.
Envolvimento contínuo para obter Responder a mudanças mais que seguir
feedback e melhoria. um plano.

20
1.5 Ferramentas e tecnologias
O mundo atual disponibiliza uma gama de ferramentas para atender as mais diversas
necessidades. Tais ferramentas que podem ser proprietárias ou gratuitas.

1.5.1 MySQL 1.2.12

MySQL, que é um SGBD (Sistema Gerenciador de Banco de Dados) relacional, que


utiliza a linguagem SQL (Structured Query Language, ou traduzindo, Linguagem de
Consulta Estruturada). MySQL também é multiusuário e multitarefas. (Ricardo, 2011)

Este SGBD inicialmente foi desenvolvido para trabalhar com projetos de pequeno e
médio porte, com a capacidade de suportar por volta de cem milhões de registros em
cada tabela, podendo chegar ao tamanho médio de aproximadamente cem megabytes
por tabela, entretanto, esses eram os tamanhos recomendados nas primeiras versões.
Porém, hoje em dia o MySQL ultrapassa extraordinariamente esses limites e
capacidades das versões anteriores. (Ricardo, 2011)

1.5.2 Netbeans IDE 8.2

O NetBeans IDE é um ambiente de desenvolvimento - uma ferramenta para


programadores, que permite escrever, compilar, depurar e instalar programas. O IDE é
completamente escrito em Java, mas pode suportar qualquer linguagem de
programação. Existe também um grande número de módulos para estender as
funcionalidades do IDE NetBeans. O NetBeans IDE é um produto livre, sem restrições
à sua forma de utilização. (Oracle Corporation, 2015)

Também está disponível na Plataforma NetBeans; uma base modular e extensível que
pode ser usada como infraestrutura para a criação de grandes aplicações de desktop.
Os Parceiros fornecem plugins que podem ser facilmente integrados na Plataforma, e
que podem ser utilizados para desenvolver ferramentas e soluções próprias. (Oracle
Corporation, 2015)

O NetBeans IDE 8.2 fornece analisadores e editores de códigos prontos para trabalhar
com as mais recentes tecnologias Java 8 - Java SE 8, Java SE Embedded 8 e Java ME
Embedded 8. O IDE também possui uma variedade de novas ferramentas para HTML5
/ JavaScript, em particular para Node.js, KnockoutJS e AngularJS; aprimoramentos que
melhoram ainda mais seu suporte para Maven e Java EE com PrimeFaces; e melhorias
para suporte a PHP e C / C +.

1.5.3 Astah Community 7.0

Astah Community é um software para modelagem UML (Unified Modeling Language –


Linguagem de Modelagem Unificada) com suporte a UML 2, desenvolvido pela Change
Vision, Inc e disponível para sistemas operacionais Windows 64 bits. Anteriormente
conhecido por JUDE, um acrônimo de Java and UML Developers Environment (Ambiente
para Desenvolvedores UML e Java). (Lima, 2016)

Astah Community disponibiliza para desenvolvimento, os diagramas de Classes, Casos de


Uso, Sequência, Comunicação, Maquina de Estados, Atividade, Componentes, Implantação
e Diagrama de Estrutura Composta. (Lima, 2016)

21
1.5.4 Java 1.8.0_60

Java é uma excelente linguagem de programação orientada a objetos. Ela tem


proporcionado muitos benefícios para os desenvolvedores de software, incluindo uma
boa abordagem orientada a objeto, gerenciamento de memória implícita e vinculação
dinâmica, entre outros. Estas características linguísticas são uma das principais razões
para a popularidade de Java e uma ampla aceitação. Mas Java é muito mais do que
uma linguagem de programação; é uma plataforma de desenvolvimento conjunto. Isso
significa que ela vem com um ambiente de tempo de execução (JRE), que fornece a
máquina virtual, e as interfaces de programação de aplicativos (APIs padronizadas) que
ajudam os desenvolvedores realizar a maioria de suas tarefas desejadas. As principais
vantagens deste ambiente integrado de tempo de execução são a sua independência
de plataforma verdadeira e simplificação do desenvolvimento de software. (Bosanac,
2007)

1.5.5 JasperReports 5.60

O JasperReports é um framework para a geração de relatórios. É uma ferramenta


totalmente open source e gratuita, e a mais utilizada com esse propósito atualmente.
Entre as funcionalidades do JasperReports podemos destacar. (Martins, 2010)

 É capaz de exportar relatórios para diversos formatos diferentes, tais como PDF,
HTML, XML, XLS, entre outros.
 Aceita diversas formas de entrada de dados, tais como um arquivo XML ou CSV,
conexão com o banco de dados, uma sessão do Hibernate, uma coleção de
objetos em memória, entre outros.

1.5.6 Joda-Time 1.3

Joda-Time fornece uma substituição de qualidade para as classes de data e hora Java.
Joda-Time é a biblioteca de data e hora padrão de fato para Java. De Java SE 8 em
diante, os usuários são convidados a migrar para java.time (JSR-310). Joda-Time está
licenciado sob a licença ideal para negócios Apache 2.0. (Velykis, 2015)

1.5.7 UML 2.0

A UML - Linguagem de Modelagem Unificada (do inglês, UML - Unified Modeling


Language) é uma linguagem gráfica para a visualização, especificação, construção e
documentação de artefactos de um sistema.
Algumas razões para o uso de UML

 A construção de software necessita de um plano;


 Um projecto é concebido por equipas de especialidades diferentes;
 Facilita a compreensão do problema;
 É uma linguagem unificada e universal;
 É vantajoso a nível empresarial a existência de um software bem
documentado.

22
1.5.8 JUnit 4.12

O JUnit é um framework de código aberto, com suporte à criação de teste unitários para
linguagem de programação Java. Esse framework facilita a criação de código para a
automação de teste com apresentação dos resultados. Com ele, pode ser verificado se
cada método de uma classe funciona da forma esperada, exibindo possíveis erros ou
falhas.

23
1.6 Conclusão parcial
Neste capitulo apresentou os principais conceitos em torno do objeto de estudo, fez-se
um estudo e comparação entre os já existentes e a partir deles obteve-se uma ideia de
como um sistema de gestão deve funcionar. Falou-se também das metodologias e
depois de estudadas foi escolhida a metodologia OpenUp principalmente por ser uma
metodologia ágil e adequada para pequenas equipas de desenvolvimento, também
foram apresentadas as ferramentas e tecnologias selecionadas.

24
CAPÍTULO 2. CARACTERÍSTICAS DO SISTEMA
2.1 Introdução
Este capítulo é responsável por explicar e informar sobre os artefatos usados para que
o sistema gestão de Matricula e Registo de Nota (SG-CNJ) seja concebido, este capítulo
vai desde os requisitos até a modelagem do sistema de gestão de Matricula e Registo
de Nota (SG-CNJ).

2.2 Modelo de domínio


O Modelo de domínio é uma representação visual de classes conceituais ou objetos do
mundo real em um domínio de interesse. Usando a notação UML, o modelo de domínio
é ilustrado com um conjunto de diagramas de classes nos quais não são definidas
operações. (Larman, 1998)

A continuação da figura 1 se mostrar o modelo de domínio para a proposta de solução.

Figura 1- Modelo de domínio

Aluno: indivíduo que recebe instrução ou educação em estabelecimento de ensino ou


não; discípulo, estudante, escolar.

Docente: aquele que ensina, ministra aulas (em escola, colégio, universidade, curso ou
particularmente).

Secretário Escolar: é o profissional responsável por atuar na gestão de registros e


documentos escolares auxiliando toda a gestão.

Subdiretor pedagógico: é o responsável pela coordenação dos processos de ensino


e aprendizagem decorrente duma atividade de formação.

25
Matrícula: ação de inscrever num registro um indivíduo, um animal, um objeto, assim
como o número que lhe é atribuído, a fim de que sua identificação possa ser feita com
facilidade.

Curso: conjunto de disciplinas que habilitam para um diploma profissional.

Disciplina: conjunto de conhecimentos especiais que se professam em cada cadeira


de um estabelecimento escolar.

Falta: o fato de não estar num lugar onde se poderia ou deveria estar; ausência.

Pauta: relação dos alunos de uma turma ou curso.

Listagens: acto ou efeito de listar ou alistar.

Regra de negócio

Como regra de negócio se definiu que para efetuar-se a confirmação da matricula de


um aluno, o mesmo deverá ser registado e tem de ter uma idade maior ou igual a 15
anos. Os Alunos deveram fazer avaliações escritas e orais, e a classificação das
avaliações será de 0 a 20, e os docentes não podem fazer as classificações dos alunos
com notas inferiores a 0 e nem superiores a 20.

2.3 Diagrama de Actividades

A continuação das figuras 2 e 3 se evidência os diagramas de atividades de realizar


matrícula e registo de nota.

Figura 2- Registar Nota

26
Figura 3- Matrícular Aluno

2.4 Análise do sistema

O propósito da análise baseada em objetos é modelar o sistema do mundo real de uma


forma que possa ser entendida, abstraindo-se importantes características e deixando
os pequenos detalhes para a implementação do projeto.

Esta etapa serve a diversos objetivos, tais como: esclarecer os requisitos, proporcionar
uma base de concordância entre o requisitante do software e o desenvolvedor e tornar-
se o alicerce para o projeto e para a implementação de um sistema.

Tendo em vista que o Sistema de Gestão de Matricula e Registo de Nota manipulará


uma certa quantidade de dados, sendo estes, dados pessoais de professores e alunos,
este sistema deve não só ter como demonstrar um grau de segurança para estes
usuários.

A continuação da figura 4 se evidência o modelo de análise do sistema.

Figura 4- Análise do sistema


27
2.5 Requisitos do sistema
Um requisito é uma condição necessária ou capacidade por parte do utilizador para
resolver um problema ou atingir um objetivo específico. (Pressman, 2005)

A necessidade de se estabelecer os requisitos de forma mais precisa é crítica à medida


em que o tamanho e a complexidade do software aumentam. Os requisitos exercem
influência uns sobre os outros. Por exemplo, o requisito de que o software deve ter
grande portabilidade pode implicar em que o requisito desempenho não seja satisfeito.
(Carvalho, et al., 2002)

2.5.1 Requisitos funcionais

Um requisito funcional define uma função do sistema de software ou seus componentes.


A função é descrita como um conjunto de entradas, saídas e comportamentos. Os
requisitos funcionais incluem: cálculos, detalhes técnicos, manipulação de dados e
outras funcionalidades específicas que se supõe, um sistema deve atender. (Pressman,
2005)

A continuação da tabela 3 faz a descrição dos requisitos funcionais do sistema.

Tabela 3- Requisitos funcionais

Requisito Descrição Prioridade


RF 1 Inserir usuário Alta
RF 2 Modificar usuário Média
RF 3 Mostrar usuário Alta
RF 4 Excluir usuário Baixa
RF 5 Autenticar Alta
RF 6 Inserir disciplina Alta
RF 7 Modificar disciplina Média
RF 8 Mostrar disciplina Alta
RF 9 Excluir disciplina Baixa
RF 10 Inserir curso Alta
RF 11 Modificar curso Média
RF 12 Mostrar curso Alta
RF 13 Excluir curso Baixa
RF 14 Inserir aluno Alta
RF 15 Modificar aluno Média
RF 16 Mostrar aluno Alta
RF 17 Inserir turma Alta
RF 18 Modificar turma Média
RF 19 Mostrar turma Alta
RF 20 Excluir turma Baixa
RF 21 Inserir nota Alta
RF 22 Modificar nota Média
FR 23 Mostrar nota Alta
RF 24 Excluir nota Baixa
RF 25 Inserir falta Média
RF 26 Modificar falta Média
RF 27 Mostrar falta Alta

28
RF 28 Excluir falta Baixa
RF 29 Inserir docente Alta
RF 30 Modificar docente Média
FR 31 Mostrar docente Alta
RF 32 Excluir docente Baixa
RF 33 Gerenciar pauta Alta
RF 34 Gerenciar boletim de nota Alta
RF 35 Listar docente Média
FR 36 Listar aluno Média
RF 37 Listar ocorrência Média
RF 38 Listar confirmação Média
FR 39 Listar matrícula Média
RF 40 Listar encarregado de educação Média

2.5.2 Requisitos não funcionais

São as restrições nas funções oferecidas pelo sistema. Incluem restrições de tempo,
restrições no processo de desenvolvimento, padrões e qualidades globais de um
software, como manutenibilidade, usabilidade, desempenho e custos. (Carvalho, et al.,
2002)

Usabilidade

 RNF1 - O sistema deve ser intuitivo e fácil de navegar a qualquer usuário.

Software

 RNF2 - Será desenvolvido na linguagem java 1.8.0_60.


 RNF3 - O sistema gerenciador de base de dados a usar será o MySQL 9.3.4.

Segurança

 RNF4 - O sistema deve permitir apenas que utilizadores com credenciais válidas
tenham acesso ao sistema.
 RNF5 - O sistema deve garantir que a exclusão de informações tenha uma opção
de aviso antes de executar a ação.

Aparência ou interface externa

 RNF6 - A boa organização das informações é garantida para permitir a


interpretação correta.

Hardware

 RNF-7 - Os requisitos mínimos para computadores clientes serão: PCs Pentium


4 com 256 MB de RAM, 80 GB de disco rígido.

29
2.6 Protótipos de interface
A continuação das figuras 5,6,7 e 8 se evidência as interfaces de mais relevância para
o negócio.

igura 5- Tela geral do Sistema de Gestão de Matricula e Registo de Nota

Figura 6- Tela que permite o Registo de um Aluno na Instituição


30
Figura 7 Tela que permite fazer a confirmação da Matricula do aluno.

Figura 8- Tela que permite fazer registo de nota do aluno.

31
2.7 Conclusão parcial
Tendo apresentado as características do sistema, deixou-se definido em cada etapa os
elementos necessários para a obtenção de artefatos. Através dos requisitos funcionais
foi possível apresentar as funcionalidades do sistema, também ficou especificado a
representação de classes conceituais.

32
CAPÍTULO.3 DESENHO E IMPLEMENTAÇÃO DO
SISTEMA
3.1 Diagrama de classe
Um diagrama de classe UML descreve o objeto e informações de estruturas usadas pelo
seu aplicativo, internamente é comunicação com seus usuários. Ele descreve as
informações sem referência a qualquer implementação específica. Suas classes e
relações podem ser implementadas de várias maneiras, como tabelas de banco de
dados. (Microsoft, 2018)

A continuação da figura 9 se evidência a o diagrama de classe.

Figura 9- Diagrama de classes

3.2 Estilo Arquitetônico.

Estilo arquitectónico é uma expressão utilizada com o fim de classificar períodos


da história da arquitetura de acordo com suas caraterísticas formais, técnicas e
materiais.

A aplicação será desenvolvida usando a arquitetura modelo vista controladora (mvc).

3.2.1 Modelo Vista Controlador

Para a proposta de solução se utilizou o padrão modelo vista controladora, exemplo a


interface confirmação, o modelo é utilizado para manipular informações de forma mais
detalhada, é o modelo que realiza as consultas, calculos e todas as regras do negocio
do meu aplicativo porque é ele que tem acesso a toda a informação sendo esta vinda
do banco de dados MySQL 1.2.12, exemplo quando se alterar um determinado curso, a

33
classe CursoModelo que se encontra no modelo que realiza a consulta de todos os
curso existentes no banco de dado e mostra ao usuário através da interfce da classe
CursoVisao . A visão é a responsavel por tudo que o usuario final visualiza assim sendo
toda a interface e informações não importando as suas origens por exemplo a interface
da classe MenuPrincipal. A controladora é a responsavel por controlar todo o fluxo de
informação do aplicativo, na controladora se definem quais regras devem ser
executadas e onde as informações devem ir, é a controladora que executa uma regra
de negocio e repassa a informação para a visualização, por exemplo quando adiciona-
se nota a um estudante, através da vista que se encontra na classe NotasVisao2 a
controladora executa esta operação através da classe NotaController , dericiona a
informação ao local ideal, através do modelo que se encontra na classe NotasModelo e
depois mostra no a mesma no usuario, atraves da interface da classe NotasVisao2.

A continuação da figura 10 mostra o funcionamento do modelo vista controlador.

Figura 10- Modelo-Visão-Controlador

3.3 Padrões de desenho

Os padrões GRASP (General Responsibility Assignment Software Patterns) são


padrões gerais de software para a atribuição de responsabilidades, que descrevem os
princípios fundamentais do desenho do objeto e a atribuição de responsabilidades.
(Larman, 1998)

Para gozar a posse de uma maior qualidade no desenho do Sistema de Gestão de


Matricula e Registo de Nota no Colégio Joia, tiveram em conta os seguintes padrões:

 Experto: Atribuir a responsabilidade da classe que contém toda a informação


necessária para cumpri-la. Utilizou-se este padrão pois todas as classes se
especializam em suas responsabilidades.

A continuação da figura 11 se evidência a utilização do padrão experto quando a classe


ConfirmacaoController executa uma instrução de confirmação da matricula de um
estudante.

34
Figura 11- Aplicação do padrão Experto na classe ConfirmacaoController

 Baixo acoplamento: as classes se comunicão com o menor número das


classes possiveis para evitar muita dependência entre classe. Utilizou-se este
padrão póis na classe DisciplinasController para fazer o registo de uma disciplina
é necessario simplismente o curso e o estado.

 Alta coesão: as classes têm suas funcionalidades bem definidas e todas as


funcionalidades estão relacionadas. Utilizou-se este padrão pois na classe
DocenteController as funcionalidades estão bem definidas e se relaciona.

 Criador: atribuem a uma classe a responsabilidade de criar outra classe.


Utilizou-se este padrão póis nas classes controladoras se carregam os modelos
e as vistas tanto mais que muitos modelos criam objectos dos outros.

A continuação da figura 12 se evidência a utilização do padrão criador quando a classe


AlunoController executa uma instrução registar aluno.

Figura 5- Aplicação do padrão Criador na classe AlunoController

35
3.4 Desenho da base de dados
O desenho da base de dados é um conjunto de regras e métodos que permite
representar conjuntos de dados (entidades) especificando as relações entre cada um
deles.

Figura 6- Modelo ER

3.5 Testes
Um dos maiores problemas que enfrentam no campo da tecnologia da informação é a
qualidade do software. O processo de teste de software (também conhecido como teste
beta) é um dos aspectos fundamentais para medir o estado de um sistema informático
de qualidade e introduzi-la com sucesso no mercado global. (Martínez, 2012)

Testes funcionais são testes projetados com referência às especificações funcionais de


um componente ou sistema (que irá testar o software ou parte dele). Testes de
funcionalidade para ver se o software atende as funções esperadas. É evidente a partir
desta definição que a estrutura interna do software ou módulo testado não é avaliado
nesses testes, por isso não irá afetar ou não os superar. (Mauri, 2011)

36
3.5.1 Teste de caixa branca

Teste de caixa branca é também chamado de teste de caixa estruturais ou de vidro.


Este teste de caixa branca envolve olhar para a estrutura do código. Quando se conhece
a estrutura interna de um produto, os testes podem ser realizados para garantir que as
operações internas realizadas de acordo com a especificação. E todos os componentes
internos foram devidamente exercido. (S. Testing Help , 2015)

Como resultado do teste de caixa branca utilizando a técnica de caminha básico para
provar o correcto funcionamento do sistema, resultou como deficiência que existia
alguns campo que permitia inserir dados dos tipos int, double entre outros no lugar de
uma String.

A continuação da figura 14 mostra o teste de caixa branca que se realizou ao método


ConfirmacaoMatricula.

Figura 7- Gráfico de fluxo

37
Figura 8- Gráfico de fluxo

3.5.1.1 Complexidade ciclomática

Complexidade ciclomática (ou complexidade condicional) é uma métrica de


software usada para indicar a complexidade de um programa de computador.
Desenvolvida por Thomas J. McCabe em 1976, ela mede a quantidade de caminhos de
execução independentes a partir de um código fonte. Essa complexidade é computada
através do grafo de fluxo de controle do programa: os nós do grafo correspondem a
grupos indivisíveis de comandos, e uma aresta direcionada conecta dois nós se o
segundo comando pode ser executado imediatamente após o primeiro. A complexidade
ciclomática também pode ser aplicada a funções, módulos, métodos ou classes
individuais dum programa. Uma estratégia de teste de software formulada por McCabe
é testar cada caminho independente dum programa, de forma que a quantidade
de casos de teste será a complexidade ciclomática do programa. (Sampaio, 2014)

V (G) = A - N + 2

V (G) = 8 – 9 + 2

V (G) = 1

Onde A: quantidade de arestas e N: o número de nodos

Caminho básico

Caminho 1-2-9

 Caso de prova: inexistências de vaga na turma.


 Entrada: para qualquer valor de nome de aluno.
 Resultado: será exibida uma mensagem informando que á nao ha vagas nesta
turma.

38
Caminho 1-2-3-4-8

 Caso de prova: confirmação da matricula pela 2ª vez no mesmo ano.


 Entrada: para um nome, turma e ano de aluno ja existente.
 Resultado: será exibida uma mensagem de erro, informando que o aluno ja
confirmado para este ano lectivo e para esta turma"

Caminho 1-2-3-4-5-7

 Caso de prova: dados errados para confirmação.


 Entrada: para um valor válido de aluno, turma e ano.
 Resultado: será exibida uma mensagem de erro, informando que ocorreu uma
falha ao efectuar a Confirmação

Caminho 1-2-3-4-5

 Caso de prova: fazer confirmação de matricula


 Entrada: para um valor válido de alunno, turma, sala, classe e ano lectivo.
 Resultado: será exibida uma mensagem de confirmação efectuada para o
presente ano lectivo.

3.5.2 Teste de caixa negra

O teste de caixa preta trata o sistema como uma "caixa preta", por isso não usa
explicitamente o conhecimento da estrutura ou do código interno. Ou, em outras
palavras, o engenheiro de teste não precisa conhecer o funcionamento interno da
“caixa preta” ou do aplicativo. (S. Testing Help , 2015)

A continuação da figura 16 se presenta a interface que permite realizar a confirmação


de matricula de um aluno seguido de caso de provas.

Figura 9- Tela que permite a Confirmção de Matricula de um Aluno na Instituição


39
A Continuação da tabela 4 mostrar o comportamento da interface confirmação de
Matricula de um estudante.

Tabela 4- Comportamento da interface confirmação de matricula

Entradas Resposta Esperada Resposta do Sistema


Dados correctos…

Nome: Madalena Bernardo “O Dados Salvados “O Dados Salvados com


Matias com Sucesso …” Sucesso …”

N- Matricula: 121

Turma: CP12MT

Sala: 05

Classe: 12

Curso: Ciência Físicas e


Biológicas

Status: Normal
Nome: Madalena Bernardo
Matias
“Erro Aluno ja “Erro Aluno ja
N- Matricula: 121 Confirmado para este Confirmado para este
ano Lectivo” ano Lectivo”
Turma: CP12MT

Sala: 05

Classe: 12

Curso: Ciência Físicas e


Biológicas

Status: Normal Status: Normal

3.5.3 Resultados das provas funcionais

Com parte de validação das provas funcionais se utilizou o teste de caixa preta,
utilizando a técnica de partição de equivalência, que foram feita três interacções de
prova, na 1ª se detectaram um total de 25 não conformidades nais quais estão referidas
em erros de validação e interface, na qual se trabalhou na sua correção dos mesmo, se
realizou uma 2ª interacção onde se detectaram 13 não conformidades relacionadas com
tipo de dados e ortigráfico, na qual se trabalhou na sua correção dos mesmo e se
realizou uma 3ª interacção e não se detectou nenhuma não conformidades.
Demostrando a qualidade do sistema proposto.
40
A continuação da figura 17 se representa o comportamento das provas realizadas.

Figura 10- Resultados das provas.

3.6 Provas de integração


Também se realizaram para a validação do sistema provas de integração, utilizando a
técnica de integração ascendente, que se foi provando modulo a modulo como estão
integrados entre si, a medida que se foi desenvolvidos e se verificou que as dependecias
de todos os modulos funcionam correctamente, então pode-se dizer que a integração
ao sistema foi satisfatoria.

41
3.7 Conclusões parciais
Neste capítulo foi apresentado como foi desenhado e implementado o sistema,
apresentando assim o modelo lógico e físico da base de dados. Mostrou também como
foram aplicados o teste unitário e o resultado que se obteve ao aplica-los.

42
CONCLUSÃO
A elaboração deste trabalho cientifico deu solução aos problemas abordados durante o
desenvolvimento do mesmo, tendo que se cumprir com os objetivos gerais e específicos
e com as tarefas de investigação, deste modo chegou-se a as seguintes conclusões:

 O estudo dos sistemas similares de gestão acadêmicas a nível internacional e


nacionais permitiu definir uma proposta que possibilitasse dar respostas as
necessidades das actividades do gerenciamento do Colégio Nova Jóia

 O desenvolvimento ágil proposto pela metodologia de desenvolvimento de


software OpenUp, e o uso das tecnologias, ferramentas e padrões de
desenvolvimento definidos possibilitaram o cumprimento das tarefas de
investigação, objetivos gerais e específicos e a descrição das actividade para
que fosse possível dar solução ao problema de investigação.

 A implementação do sistema foi sujeita a teste unitários, integração e


funcionais para que fosse possível verificar a integridade do Sistema de
Gestão de Matrícula e Registo de Nota do Colégio Nova Jóia.

43
RECOMENDAÇÕES
Todos os objetivos definidos na etapa inicial foram cumpridos, mas tem como
recomendações:

 Implementar funcionalidades de gerencia administrativa.


 O sistema deve ser implatando no Colégio Nova Jóia.

44
REFERÊNCIAS

Synergia , Empresa. 2013. SIGA – Sistema de Gestão Acadêmica. synergia. [Online] synergia, 01
2013. [Cited: 10 22, 2017.] http://www.synergia.dcc.ufmg.br/clientes-e-projetos/ufmg/siga-
sistema-de-gestao-academica/.

Techne, Empresa. 2015. O que é o Lyceum? (Parece até propaganda). bcc.ime. [Online] Techne,
10 23, 2015. [Cited: 09 23, 2017.]
https://bcc.ime.usp.br/tccs/2000/rogerio/mac499/lyceum.htm.

Abrahamsson, Pekka, y otros. 2002. 2002. Agile software development methods. Review and
analysis. . 2002.

Abrahamsson, Pekka, y outros. 2002. Agile software development methods. Review and
analysis. 2002.

Balduino, Ricardo. 2013. Introdução ao OpenUP (Open Unified Process). eclipse. [Online] 05 23,
2013. [Cited: 08 07, 2017.] http://epf.eclipse.org/uploads/16.pdf.

Bauer, Christian;King, Gavin. 2007. Java persistence with hibernate. 2007.

Beck, Kent y Andres, Cynthia,. 1999. Extreme Programming Explained: Embrace Change. 1999.

Beck, Kent y Andres, Cynthia. 1999. Extreme Programming Explained: Embrace Change. 1999.

Bosanac, Dejan. 2007. Scripting in Java. 2007.

Carvalho, Elizabete A. and Tavares, Cristina H. 2002. VISÃO GERAL SOBRE REQUISITOS. serpro.
[Online] 2002. [Cited: Novembro 5, 2015.]
http://www1.serpro.gov.br/publicacoes/tematec/pubtem60.htm.

Coca-Cola. Dicionário da lingua Portuguesa.

Debastiani, Alberto .C. 2015. Definindo Escopo em Projetos de Software. São Paulo : s.n., 2015.

Dicionário. 2011. Dicionario Sensagent. Dicionario. [Online] 2011. [Cited: 03 06, 2018.]
http://dicionario.sensagent.com/Nota%20escolar/pt-pt/.

Expoente. 2009. SGA- Sistema de Gestão académica. gaexpoente. [Online] Grupo Expoente,
2009. [Cited: Dezembro 25, 2015.] http://www.sgaexpoente.com.br/.

Integração da Metodologia Agil OpenUP nos Processos de Engenharia de Software. Diedrich,


Lucas Guilherme. 2011. MEDIANEIRA : s.n., 2011.

Kruthiventi, Devsen. 2012. Da Tata Projects Limited. 2012.

Lakatos, Eva Maria. 2003. Fundamentos da Metodologia Científica. São Paulo : Atlas S.A, 2003.

Larman, Craig. 1998. Applying-uml-and-patterns. . 1998.

45
Lima, Davi. 2016. Modele softwares com Astah Community. techtudo. [Online] 07 20, 2016.
[Cited: 09 08, 2017.] http://www.techtudo.com.br/tudo-sobre/astah-commmunity.html.

Lucas, Jose. 2010. Conceito de Matricula. conceitos. [Online] 2010. [Cited: 03 05, 2018.]
https://conceitos.com/matricula.

Manual de utilizador- Gestão Escolar. Soft, Ramos. 2014. LUANDA : s.n., 2014.

Martínez, Eduardo S. 2012. Propuesta de Procedimiento para realizar pruebas de Caja Blanca a
las aplicaciones que se desarrollan en lenguaje Python. [Online] Outubro 8, 2012. [Cited:
Dezembro 06, 2015.] http://www.egov.ufsc.br/portal/conteudo/propuesta-de-procedimiento-
para-realizar-pruebas-de-caja-blanca-las-aplicaciones-que-se-des.

Martins, Marcelo. 2010. relatorios-em-java-jasperreports-e-irepor/. www.k19.com.br. [Online]


Novembro 20, 2010. [Cited: Outubro 28, 2015.] http://www.k19.com.br/artigos/relatorios-em-
java-jasperreports-e-irepor/.

Mauri, Edo. 2011. Testing funcional o pruebas de caja negra? testingfuncional. [Online] Março
12, 2011. [Cited: 12 05, 2015.]
https://testingfuncional.wordpress.com/2011/03/12/%C2%BFtesting-funcional-o-pruebas-de-
caja-negra/.

MENEZES, Ebenezer Takuno de; SANTOS. 2001. Thais Helena dos. Verbete gestão escolar.
Dicionário Interativo da Educação Brasileira - Educabrasil. educabrasil. [Online] São Paula:
Midiamix, 2001. www.educabrasl.com.br/gestão-escolar/.

Microsoft. 2018. Diagramas de Classe UML. msdn. [Online] 2018. [Cited: 03 06, 2018.]
https://msdn.microsoft.com/pt-br/library/dd409437.aspx.

Oracle Corporation. 2015. index_pt_PT.html. netbeans.org/. [Online] 2015. [Cited: Outubro 28,
2017.] https://netbeans.org/index_pt_PT.html.

Pour, Jean-Michel. 2012. baixaki-3251-pgadmin-iii. br.ccm.net. [Online] Outubro 30, 2012.


[Cited: Outubro 25, 2015.] http://br.ccm.net/download/baixaki-3251-pgadmin-iii.

Pressman, Roger. 2005. Ingeniería de Software. Un enfoque práctico. 2005. Vol. 6.

Ricardo, Jóse. 2011. Introdução ao MySQL. devmedia. [Online] 04 06, 2011. [Cited: Outubro 28,
2015.] https://www.devmedia.com.br/introducao-ao-mysql/27799.

Rodrigues, Jaime Ricardo. 2014. ANALISIS DE LA INVESTIGACION. [Online] setembro 2, 2014.


[Cited: 01 25, 2018.]

S. Testing Help . 2015. White box testing: Need, Skill required and Limitations. Software Testing
Help. [Online] Novembro 3, 2015. [Cited: Dezembro 11, 2015.]
http://www.softwaretestinghelp.com/white-box-testing/.

Sampaio, G. 2014. Qual é um bom valor para Complexidade Ciclomática? . O bom programador.
[Online] Janeiro 22, 2014. [Cited: Dezembro 11, 2015.]
http://www.obomprogramador.com/2014/01/qual-e-um-bom-valor-para-complexidade.html.
46
Scribd. 2015. Concepto-y-Caracteristicas-Del-Sistema-de-Gestion-de-Informacion. 2015.

SOARES, Miguel dos Santos. 2004. comparação entre metodologias Ágeis e tradicionais para o
Desenvolvimento de Software. dcc.ufla. [Online] 2004.
www.dcc.ufla.br/infocomp/artigos/v3.2/art02.pdf.

Velykis, Andrius. 2015. Joda-Time - Home. Joda.org. [Online] Outubro 24, 2015. [Cited:
Novembro 11, 2015.] http://www.joda.org/joda-time/.

47
Anexos

z
Figura 11- Tela de Login

Figura 12- Figura 6- Tela que permite fazer o registo de um Encarregado de Educação

48
Figura 13- tela que permite fazer o Registo de um utilizador

Figura 14- Tela que permite fazer o Registo de Falta

49

Você também pode gostar