Você está na página 1de 42

S ER V I ÇO N AC IO N AL D E AP R EN D IZ AG E M I ND U ST RI AL

F AC UL D AD E DE T ECN O L O G I A S EN AI DE D E S EN VO L V I M ENT O
G E RE NC I AL

F RE D ERI CO R A MO S DE SO UZ A
M AR CO A UR ÉL I O O L I V EI R A D A SI L V A
P AUL O VI CT O R D A SI L V A

Infraestruturas de TI para Sistemas Coorporativos

Goiânia,
2013
F RE D ERI CO R A MO S DE SO UZ A
M AR CO A UR ÉL I O O L I V EI R A D A SI L V A
P AUL O VI CT O R D A SI L V A

Infraestruturas de TI para Sistemas Coorporativos

Trabalho das Atividades Acadêmicas


„Projeto Integrador – 2º Período –
Curso Superior em Tecnologia de
Análise e Desenvolvimento de
Sistemas‟ - da Faculdade SENAI -
FATESG.

Orientador: Prof. Jo ã o C a e t a n o Ne t o

Goiânia,
2013
F RE D ERI CO R A MO S DE SO UZ A
M AR CO A UR ÉL I O O L I V EI R A D A SI L V A
P AUL O VI CT O R D A SI L V A

Infraestruturas de TI para Sistemas Coorporativos

Trabalho apresentado a Faculdade de Tecnologia SENAI/FATESG como


requisito para aprovação do trabalho de Projeto Integrador.

Goiânia, 29 de Novembro de 2013.

BANCA EXAMINADORA

Orientador: Prof. Jo ã o C a e t a n o Ne t o – S EN AI / F AT E SG
Dedicatória

Aos leitores formandos, alunos pesquisadores, mestres orientadores que se


interessam em saber mais sobre o processo de infraestrutura, analise e
desenvolvimento de sistemas coorporativos.
Resumo
Sistemas coorporativos são sistemas desenvolvidos para atender uma gestão
de forma integrada, trazendo maior transparência, rapidez e confiabilidade para
as informações corporativas. No qual abrange os seguimentos de uma
determinada empresa e seus diversos departamentos, filiais, permitindo o
gerenciamento de cada parte e a interligação deste com o todo.
Pode ser constituído por um robusto aplicativo ou um simples módulo central
que controla e interliga os outros processos, onde os principais interessados
são as pessoas com visão de futuro que desejam agilizar e simplificar o fluxo
de informações e organizações de suas empresas.
Abstract
Corporative systems are systems developed to suit a management integrated
way, bringing greater transparency, speed and reliability for enterprise
information. In which covers the segments of a given company and its various
departments, branches, allowing the management of each party and
interconnection with all of this.
May consist of a robust application or a simple core module that controls and
connects the other processes, where key stakeholders are the people with a
vision of the future who want to simplify and streamline the flow of information in
their organizations and businesses.
LISTA DE FIGURAS

Figura 1 - Local de Realização das Reuniões .................................................. 14


Figura 2 - Caso de Uso - Sistema para Rede de Ensino .................................. 19
Figura 3 - Modelo Conceitual Banco de Dados ................................................ 24
Figura 4 - Modelo Lógico do Banco de Dados ................................................. 25
Figura 5 - Representação Esquemática de um Monitor ................................... 30
Figura 6 - Diagrama de Classe (Interfaces)...................................................... 33
Figura 7 - Diagrama da Classe (Classes)......................................................... 34
Figura 8 - Diagrama de Classe (Negócio) ........................................................ 35
Figura 9 - Diagrama de Classe (Persistência) .................................................. 36
LISTA DE TABELAS E GRÁFICOS

Tabela 1 - Primeira Reunião do Grupo ............................................................. 12


Tabela 2 – Segunda Reunião do Grupo ........................................................... 13
Tabela 3 - Terceira Reunião do Grupo ............................................................. 14
Tabela 4 - Tabela de Prazos e Entregas .......................................................... 15
Tabela 5 - Histórico de Versões do Projeto ...................................................... 15
Tabela 6 - Caso de Uso / Cadastrar Alunos (Matricular) .................................. 20
Tabela 7 - Caso de Uso / Lançar Notas ........................................................... 20
Tabela 8 - Caso de Uso / Lançamento de Frequência ..................................... 21
LISTA DE ABREVIATURAS, SIGLAS E SÍMBOLOS

JAVA Linguagem de Programação Orientada a Objeto


DDL Data Description Language
ORACLE É um SGBD
SGBD Sistema Gerenciador de Banco de Dados
IP Internet Protocol
CONTEÚDO

1 INTRODUÇÃO ........................................................................................... 10
2 CONCEITOS GERAIS ............................................................................... 11
2.1 PROJETO .......................................................................................... 11
2.1.1 PROJETO INTEGRADOR ............................................................ 11
3 DESENVOLVIMENTO ............................................................................... 12
3.1 ATIVADES INTERDISCIPLINARES .................................................. 12
3.1.1 ANALISE E LEVANTAMENTO DE REQUISITOS ........................ 12
3.1.2 REDES DE COMPUTADORES .................................................... 21
3.1.3 BANCO DE DADOS ..................................................................... 23
3.1.4 SISTEMAS OPERACIONAIS ....................................................... 29
3.1.5 ORIENTAÇÃO A OBJETOS ......................................................... 33
3.1.6 TÉCNICAS DE PROGRAMAÇÃO ................................................ 37
3.1.7 GESTÃO INTEGRADA DA RESP. SÓCIO-AMBIENTAL, SEG. DO
TRABALHO E QUALIDADE I .................................................................... 37
4 CONSIDERAÇÕES FINAIS ....................................................................... 39
5 REFERÊNCIAS BIBLIOGRAFICAS........................................................... 40
6 REFERÊNCIAS DE SITES ........................................................................ 41
10

1 INTRODUÇÃO
O Objetivo deste trabalho é apresentar os conceitos básicos para realizar o
desenvolvimento de um sistema coorporativo, analisando e apresentando
inicialmente os requisitos levantados pelos clientes, apontando e indicando a
melhor opção de desenvolvimento e armazenamento dos dados que serão
armazenados pelos processos que serão executados diariamente.
11

2 CONCEITOS GERAIS
2.1 PROJETO
Um projeto é um esforço em conjunto de forma temporária empreendida a
partir da necessidade estrutural de certo produto, serviço ou até ações,
também se caracteriza como um empreendimento temporário, com datas e
inícios e término definido, que tem por finalidade criar um produto ou serviço
único, quando suas necessidades, metas e objetivo forem alcançados e
aprovados pelos interessados conhecidos também por “stakeholders”.

2.1.1 PROJETO INTEGRADOR


É um projeto desenvolvido pelos alunos, com orientação de um professor
relacionado com as atividades desenvolvidas no currículo. O projeto integrador
vem sendo usado cada vez mais para fomentar a interdisciplinaridade e
consolidar os saberes assimilados junto aos estudantes. Além disso, estimula a
colaboração, a atividade em equipe, e o relacionamento interpessoal.
Através de desafios problema, os estudantes desenvolvem projetos,
coordenados por um professor. Cada projeto integrador é específico e deve ser
considerado individualmente.
Foi designado aos discentes do curso superior de tecnologia em análise e
desenvolvimento de sistema, num cronograma com data de início: 02/09/2013
e data de conclusão 29/11/2013 além das datas e trabalhos de outras matérias,
a apresentação de um projeto integrado com informações sobre as diversas
áreas de conhecimento que permeiam e suportam a ação de desenvolver um
software.
12

3 DESENVOLVIMENTO
3.1 ATIVADES INTERDISCIPLINARES
Nesta parte do projeto apresentaremos o que foi proposto por cada disciplina,
afim que realizássemos para auxiliar na construção do Projeto Integrador,
entraremos com mais detalhes nas seções seguintes especificando cada
matéria.

3.1.1 ANALISE E LEVANTAMENTO DE REQUISITOS


Na Matéria Curricular de Analise e Levantamento de Requisitos
apresentaremos os seguintes documentos que são de extrema importância
para o início do projeto:

 Agenda de Reunião

19 de Setembro de 2013

Pautas

18h20min – 20h30min Definição de tipo de negócio estabelecido pelo grupo.

20h30min – 20h45min Agenda de reunião.


Logotipo.
Documento de Visão Ata de reunião.
Fases.
Análise e RUP.
Codificação. Até 30/10/2013.
Levantamento de Lista e
Implementação.
Requisitos. Especificações de
Abordagens

Implantação.
Requisitos.

20h45min – 21h30min Banco de Dados.


Brainstorming: Metodologia JAD
Redes.
Projeto Integrador (Joint Application Até 30/10/2013.
Modelo Lógico.
2013 Design)
Modelo Relacional.

Tabela 1 - Primeira Reunião do Grupo


13

01 de Outubro de 2013

Pautas

16h00min Instituição de Ensino: Ensino Médio e Curso Pré-Vestibular

16h30min - 17h00min Distribuição e delegação de tarefas realizadas pelo líder do grupo.

17h00min – 18h00min Início de


programação em
Reciclando e
O Alto Custo da linguagem JAVA.
Atualizando o Seu
Publicidade Com Até 20/10/2013.
Equipamento
(Saguão Sul) implementação
(Saguão Norte)
de Banco de
Dados.

Delegação de Funções
Exposições abertas

18h00min – 20h30min ADX3 – Líder do


ADX2 – Documento
ADX2 – Interfaces grupo. Documento
ADX 1 – Banco de Visão. Ata de
e Design de de Análise e
Dados. reunião, Agenda de
aplicação. Levantamento de
reunião.
Requisitos.

Documentos

20h30min – 22h45min Agenda de


reunião. Ata de
Definindo Apresentação
reunião.
Stakeholders e Elevando o Nível Final do Projeto
RUP.
Metodologias de Qualidade. Integrador
Lista e
utilizadas. (ELABORAÇÂO).
Especificações de
Requisitos.

09/10/2013 Apresentação do Pré – Projeto Integrador


Tabela 2 – Segunda Reunião do Grupo

3 de Outubro de 2013

Projeto Integrador SENAI FATESG – Segundo Módulo – 2013.

Pautas

18h20min – 19h45min Definição de Referências Bibliográficas e Bibliografia.

19h45min - 20h30minh Documento Visão.


Questão de
Lista de Requisitos. Modelo
Exibições Abertas

Desenvolvimento
Diagramas de Casos Conceitual.
Socioambiental –
de Uso. Modelo
Práticas de Até 29/11/2013.
Especificações de Relacional. Script
Sustentabilidade e
Casos de Uso. DDL, Views &
imprima somente
Agenda de Reunião Triggers.
se necessário.
e Ata de Reunião.

Intervalo para almoço


14

20h30min – 22h45min Como Ser Criativo Testando Seus


Excedendo os
com Poucos Produtos no Até 29/11/2013.
Padrões do Setor
Recursos Mercado
(Saguão Leste)
(Saguão Norte) (Saguão Sul)

Encerramento da Reunião
Tabela 3 - Terceira Reunião do Grupo

 Local da Reunião

Figura 1 - Local de Realização das Reuniões

 Ata de Reunião

Projeto Integrador – SENAI FATESG 2013. FOUR SYSTEMS. Projeto: Instituição de Ensino. Organizadores: Adx1, Adx2, Adx3 e
Adx4.

 Iniciamos o Levantamento dos requisitos que nosso software deverá atender bem como
a produção da documentação técnica do projeto integrador: Instituições de Ensino;
 O Grupo definiu inclusive o selecionado, quem ficará responsável por criar o banco de
dados e sua modelagem será o Adx1;
 O Grupo definiu inclusive o selecionado, quem ficará responsável por criar o Documento
de Visão, Documento de Levantamento de Requisitos e Documento de Agenda de
Reunião será Adx2;
 O grupo definiu inclusive o selecionado, quem ficará responsável pelo levantamento de
requisitos, RUP e documentos anexos será o Adx3;
 O grupo definiu, inclusive o selecionado, quem ficará responsável pelo diagrama de
casos de uso, modelagem do sistema, design do sistema e implementação será o Adx2;
 O grupo também trabalhará em conjunto com sua equipe para sanar dúvidas e
adequações do projeto integrador a ser apresentado À SENAI FATESG do Segundo
Módulo do Curso de Análise e Desenvolvimento de Sistemas.
15

Prazos e Cronogramas
Atividades Datas
Início do Projeto Integrador. 02/09/2013.
Término do Projeto Integrador. 29/11/2013.
02/09/2013 à
Apresentação do Projeto Integrador. 06/10/2013.
Até
Avaliação Parcial do PI. 04/10/2013.
Até
Seleção do Projeto Integrador. 22/11/2013.
Até
Documentos Digitais e Artefatos. 29/11/2013.
Apresentação dos melhores Projetos 04/12/2013.
Integradores do curso.
Conclusão
Instituições de Ensino: ENSINO MÉDIO E
Tema do Projeto Integrador CURSO PRÉ-VESTIBULAR
Discentes Responsabilidade Visto
FREDERICO RAMOS DE SOUZA Colaborador – Adx1
MARCO AURÉLIO OLIVEIRA Líder - Adx3
PAULO VICTOR DA SILVA Colaborador – Adx2
Tabela 4 - Tabela de Prazos e Entregas

 Documento de Visão

Histórico de Revisão
Data Versão Descrição Autor
03/10/20013 1.0 Versão Inicial do Documento ADX3

Tabela 5 - Histórico de Versões do Projeto

Sistema para Redes de Ensino

Introdução

Neste Documento será apresentado o processo realizado em uma rede de


ensino que necessita de um sistema para informatizar as atividades que hoje
em dia são anexadas em arquivos. A fim de auxiliar o crescimento e
desenvolvimento desta rede de ensino será criado um sistema onde os
responsáveis pela rede de ensino possam salvar e guardar essas informações
com mais segurança. Especificando quais são os requisitos necessitados pelo
cliente.
16

Público-Alvo

Este documento destina-se aos responsáveis que definiram os requisitos que


auxiliaram no desenvolvimento de um sistema informatizado, segue os
responsáveis: educadores (professores), coordenadores, secretários e diretor.

Visão Geral do Documento

Seção 1 – Requisitos Funcionais: Cadastro de Alunos, Funcionários, Turmas e


Fornecedores; Tela de Controle de Frequência dos Alunos; Tela de Controle de
Carga Horária dos Funcionários; Tela para Controle de Notas dos Alunos; Tela
de Histórico do Aluno; Tela de LOGIN (acesso), Tela de Pagamento de
Mensalidades dos Alunos.

Seção 2 – Requisitos Não Funcionais: Linguagem a ser Utilizada, Conexão do


Sistema entre outros relacionados abaixo;

Seção 3 – Referências: Assuntos referentes ao Contratante.

Prioridade dos Requisitos

Para auxiliar o gerenciamento e desenvolvimento do projeto abaixo serão


informados os requisitos levantados, no qual foram categorizados com
seguintes prioridades:

 Essencial – este tipo de requisito deve ser implementado para que o


sistema funcione;
 Importante – sem este requisito o sistema pode funcionar, mas não da
maneira esperada;
 Desejável – este tipo de requisito não compromete o funcionamento do
sistema.

Visão Geral do Projeto

Dentre várias redes de ensino escolares localizadas no Centro de Goiânia, o


colégio Agnus é um dos poucos que possuem um processo de armazenamento
de cadastros de alunos e históricos em arquivos/arquivos mortos, assim
vulneráveis a perda de documentos importantes para o ensino dos alunos ali
matriculados. Com um histórico de anos e anos de ensino o colégio Agnus
possui um excelente ensino com educadores e coordenadores formados e
graduados que se dedicam em aplicar no conjunto de disciplinas distribuídas
nas formações de Ensino Médio e Pré-Vestibular. Devido a grande quantidade
de dados existentes hoje nos arquivos, os responsáveis pela integração do
colégio decidiu procurar nossa empresa para analisarmos e desenvolvermos
um sistema que se atende às atividades e processos realizados hoje em sua
rede de ensino.
A preocupação com a segurança dos dados trouxe não somente a direção do
colégio adquirir uma forma mais fácil de armazenamento e preenchimento dos
17

dados que são de extrema importância para o currículo escolar do aluno, mas
os professores também se virão na necessidade de informar os responsáveis
pela direção do colégio que precisavam de uma ferramenta com tecnologia,
uma ferramenta informatizada para realizasse as atividades que são realizadas
em sala de aula.
Diante essas necessidades da utilização de um sistema que realizasse as
atividades passadas e descritas no decorrer do documento, o Projeto Sistema
Rede de Ensino (da empresa 4-System) vem com a proposta de inserir no
mercado de ensino educacional um produto, cuja missão é auxiliar os
educadores nas atividades diárias, passando confiabilidade, facilidade e
clareza nos dados que estão salvos em seu banco de dados. Assim se
tornando uma empresa informatizada com processos estruturados em suas
devidas áreas de ensino.

Requisitos Funcionais e Não Funcionais

Requisitos Funcionais

[RF1] Cadastro de Alunos, Funcionários, Turmas e Fornecedores.


O Sistema permitirá cadastrar os alunos, funcionários e fornecedores (Nome,
CPF, RG, Filiação, Fone/Celular, E-mail, Sexo, Endereço, Serie (Cursando) e
para no cadastro de fornecedores a informação da Conta Corrente dos
fornecedores). Além desses cadastros também deverá cadastrar as turmas (1º,
2º, 3º ano e Pré-Vestibular) existentes na rede de ensino de acordo com os
turnos existentes (Matutino, Vespertino e Noturno).
Prioridade: Essencial

[RF2] Controle de Frequências


O Sistema permitirá o ator (professor) ter controle de uma lista de frequências
por series (1º, 2º, 3º ano e Pré-Vestibular) e categorias („A‟,‟B‟,‟C‟,‟D‟...). Se o
aluno estiver presente não preencher o campo disponibilizado, mas se o aluno
não estiver presente clicar no campo disponibilizado, pois automaticamente
preencherá com a letra “F”. Deverá contar um totalizador de faltas, informando
à porcentagem que o aluno faltou em uma devida disciplina.
Prioridade: Essencial/Importante

[RF3] Controle de Carga Horária dos Funcionários


O Sistema permitirá os funcionários realizar suas presenças e descrever com
um breve comentário o que foi apresentado aos alunos. Observação: Criar uma
tela com a somatória das presenças dos funcionários.
Prioridade: Essencial

[RF4] Lançamento de Notas


O Sistema permitirá os professores terem acesso a uma tela para realizar o
lançamento das notas no decorrer dos bimestres (1º, 2º, 3º e 4º). No
lançamento das notas deverá ter uma coluna totalizando a porcentagem das
notas lançadas, no qual no final de tudo o aluno só estará aprovado se estiver
18

com a média ou acima da média (Média – 6,0) - (Cálculo da média - N1 + N2 +


N3 + N4/4).
Prioridade: Essencial/Importante

[RF5] Histórico dos Alunos


O Sistema permitirá os coordenadores (departamento de coordenação) de
lançarem os dados de todo o percurso do aluno no período de ensino,
contendo as seguintes informações: suas notas, faltas, advertências,
suspensões ou remanejamento, dentre outros assuntos a que venha interferir
em seus anos colegiais.
Prioridade: Importante

[RF6] Acesso ao Sistema


O Sistema terá uma tela de LOGIN e Senha, no qual o acesso será restrito
para uso aos coordenadores, secretários, diretores e educadores. O cadastro
de acesso será disponibilizado pela coordenação assim que o colaborador
(funcionário) estiver cadastrado com todos os dados necessários.
Prioridade: Essencial

[RF7] Pagamento de Mensalidades


O Pagamento de mensalidades será feito pela secretária, onde os pais/alunos
terão que informar o nome, serie e categoria que se encontra matriculados para
que seja dada baixa da matricula pendente com a rede de ensino. Lembrando
que no cadastro da turma deverá ter uma opção onde o aluno se encaixará nos
seguintes status existentes: Pagamento em Aberto, Pagamento Quitado e
Pagamento Concluído.
Prioridade: Desejável

[RF9] Relatórios de Gerenciamento


O Sistema permitirá a impressão de relatórios para os seguintes assuntos:
Controle de Frequências, Alunos Concluintes, Alunos Matriculados por turma,
Funcionários, Vagas Disponíveis, Turmas, Histórico de Notas por Aluno.
Prioridade: Importante

Requisitos Não Funcionais

[RNF1] IDE para Desenvolvimento


O Sistema será desenvolvido na linguagem JAVA.
Prioridade: Essencial

[RNF2] Impressão de Declarações


O Sistema permitirá a impressão de declarações dos alunos que já estão
formados.
Prioridade: Desejável

[RNF3] Designer do Sistema


Layout do aplicativo. (O Sistema possuirá uma interface com fontes e
visualização com fácil acesso, facilitando o processo pelo usuário percorrerá no
decorrer do seu trabalho diário).
19

Prioridade: Desejável

[RNF4] Banco de Dados


A comunicação, as consultas e o armazenamento dos dados serão realizados
com o banco de dados ORACLE, onde serão criadas tabelas, triggers e
exceções nos atributos e métodos que servirão de apoio ao código.
Prioridade: Importante

[RNF8] Conexão de Comunicação do Sistema


O Sistema poderá ser conectado via rede.
Prioridade: Importante

 Caso de Uso

Figura 2 - Caso de Uso - Sistema para Rede de Ensino

 Especificação do Caso de Uso


20

Tabela 6 - Caso de Uso / Cadastrar Alunos (Matricular)

Tabela 7 - Caso de Uso / Lançar Notas


21

Tabela 8 - Caso de Uso / Lançamento de Frequência

3.1.2 REDES DE COMPUTADORES


Uma rede de computadores consiste em 2 ou mais computadores e outros
dispositivos interligados entre si de modo a poderem compartilhar recursos
físicos e lógicos, estes podem ser do tipo: dados, impressoras, mensagens (e-
mails),entre outros.
A Internet é um amplo sistema de comunicação que conecta muitas redes de
computadores. Existem várias formas e recursos de vários equipamentos que
podem ser interligados e compartilhados, mediante meios de acesso,
protocolos e requisitos de segurança. Os meios de comunicação podem ser:
linhas telefônicas, cabo, satélite ou comunicação sem fios (wireless).
O objetivo das redes de computadores é permitir a troca de dados entre
computadores e a partilha de recursos de hardware e software.

 API

API é o acrônimo de Application Programming Interface ou, em português,


Interface de Programação de Aplicativos. Esta interface é o conjunto de
padrões de programação que permite a construção de aplicativos e a sua
utilização de maneira não tão evidente para os usuários.
Pacotes, javadoc, jars e java.lang apresentam os últimos conceitos
fundamentais do Java, dando toda a fundação para, então, passarmos a
implementar as principais e mais utilizadas APIs do Java SE.
As APIs mais estudadas são java.util, java.io e java.net. Todas elas usam e
abusam dos conceitos vistos no decorrer do curso, ajudando a sedimentá-los.
22

Juntamente, temos os conceitos básicos do uso de Threads, e os problemas e


perigos da programação concorrente quando dados são compartilhados.

 Aplicação

Aplicação desenvolvida em linguagem de programação Java que utiliza a rede


local (localhost).

 Conexão

//CONEXAO ORACLE

String driverName = "oracle.jdbc.driver.OracleDriver";


Class.forName(driverName);

// Create a connection to the database

String serverName = "localhost";


String portNumber = "1521";
String sid = "XE";
String URL = "jdbc:oracle:thin:@" + serverName + ":" + portNumber + ":" + sid;
String username = "paulovictor”;
String password = "f0911z1";
connection = DriverManager.getConnection(url, username, password);

return connection;

 IP / Acesso

É uma espécie de linguagem que os computadores usam pra se


comunicarem entre si em uma rede (pode ser rede local ou a internet) é
como se fosse um endereço do computador numa rede, todos os
computadores (geral) tem seu Internet Protocol (IP).
Porta é um ponto físico (hardware) ou lógico (software), no qual podem ser
feitas conexões, ou seja, um canal através do qual os dados são
transferidos entre um dispositivo de entrada e o processador ou entre o
processador e um dispositivo de saída.

A comunicação que estamos utilizando em nosso projeto é uma rede local,


ou seja, o endereço padrão do computador, no qual não é necessário
informar o IP da máquina que está sendo utilizada para realizar a conexão
com o banco de dados. Caso o servidor estivesse em uma maquina a
aplicação em outra, nesse caso sim, teríamos que informar o endereço
(código) de conexão, ou seja o IP da máquina a ser utilizada como servidor
para estabelecermos a conexão.
A Porta utilizada para realizar a conexão e comunicação com o banco de
dados em nosso projeto é a “1521”, definida como padrão Oracle.
23

3.1.3 BANCO DE DADOS


Conforme apresentado ao longo do semestre pelo docente responsável pela
disciplina de Banco de Dados, foi solicitado encima ao estudo de ensino
apresentado, a criação de dois modelos em diagramas, sendo eles: Lógico e
Conceitual das tabelas que serão utilizadas no desenvolvimento, testes e na
entrega do software construído.
Após realizarmos a inclusão de todos os atributos, métodos, cardinalidades e
especificações nos modelos de diagramas lógico e conceitual, partimos as
atividades para a criação da Data Description Language (DDL) das tabelas
geradas pelo modelo lógico, onde executamos os comandos de criação no
Banco de Dados Oracle.
24

 Estrutura do Banco de Dados em Modelo Conceitual (BrModelo)

Figura 3 - Modelo Conceitual Banco de Dados


25

 Estrutura do Banco de Dados em Modelo Lógico (BrModelo)

Figura 4 - Modelo Lógico do Banco de Dados


26

 DDL DAS TABELAS

CREATE TABLE CIDADES


(
COD_CIDADE NUMBER(5) PRIMARY KEY,
COD_ESTADO VARCHAR(2) REFERENCES ESTADOS(COD_ESTADO),
SIGLAESTADO VARCHAR(2) NOT NULL,
CIDADE VARCHAR(50) NOT NULL
)

CREATE TABLE ESTADOS


(
COD_ESTADO NUMBER(2) PRIMARY KEY,
SIGLAESTADO VARCHAR(2) NOT NULL,
ESTADO VARCHAR(50) NOT NULL
)

CREATE TABLE ALUNO


(
MATRICULA INT PRIMARY KEY,
NOME VARCHAR(50) NOT NULL,
CPF VARCHAR(11) UNIQUE NOT NULL,
RG VARCHAR(14) UNIQUE NOT NULL,
NOME_PAI VARCHAR(60) NOT NULL,
NOME_MAE VARCHAR(60) NOT NULL,
STATUS_ALUNO VARCHAR(15),
SEXO CHAR(1),
DATA_NASCIMENTO DATE NOT NULL,
FONE_RESPONSAVEL NUMBER(10),
RUA VARCHAR(20),
LOTE VARCHAR(10),
QUADRA VARCHAR(10),
NUMERO INT,
BAIRRO VARCHAR(30),
CEP NUMBER(8),
SIGLAESTADO VARCHAR(2),
CIDADE VARCHAR(50),
TELEFONE NUMBER(10),
TELEFONECOMPLEM NUMBER(10),
EMAIL VARCHAR(25),
EMAILCOMPLEM VARCHAR(25)
)

CREATE TABLE REFERENCIA_ESCOLAR


(
ID_HISTORICO INT PRIMARY KEY,
UNIDADE_DE_ENSINOPASSADA VARCHAR(50),
27

MATRICULA INT REFERENCES ALUNO(MATRICULA),


RUA VARCHAR(20),
LOTE VARCHAR(10),
QUADRA VARCHAR(10),
NUMERO INT,
BAIRRO VARCHAR(30),
CEP NUMBER(8),
COD_ESTADO VARCHAR(2) REFERENCES CIDADES(COD_ESTADO),
TELEFONE NUMBER(10),
TEFEFONECOMPLEM NUMBER(10)
)

CREATE TABLE FREQUENCIA


(
DATA DATE NOT NULL,
MATRICULA INT REFERENCES ALUNO(MATRICULA),
DATA_DATA DATE REFERENCES DIAS_NAO_LETIVO(DATA),
PRESENCA CHAR(1)
)

CREATE TABLE DIAS_NAO_LETIVO


(
DATA DATE PRIMARY KEY,
NOME_DO_DIA VARCHAR(13)
)

CREATE TABLE NOTAS


(
DISCIPLINA VARCHAR(15) PRIMARY KEY,
NOTA NUMBER(3) NOT NULL,
MATRICULA INT REFERENCES ALUNO(MATRICULA)
)

CREATE TABLE MATRICULADO


(
MATRICULA INT REFERENCES ALUNO(MATRICULA),
COD_TURMA INT REFERENCES TURMAS(CODIGO),
DATA DATE NOT NULL
)

CREATE TABLE TURMAS


(
CODIGO INT PRIMARY KEY,
NOME_TURMA VARCHAR(10),
TURNO VARCHAR(10),
COD_MATRICULA INT REFERENCES ALUNO(MATRICULA)
)

CREATE TABLE POSSUI


(
28

COD_DISCIPLINA INT REFERENCES DISCIPLINA(COD_DISCIPLINA),


COD_TURMAS INT REFERENCES TURMAS(CODIGO)
)

CREATE TABLE DISCIPLINA


(
COD_DISCIPLINA INT PRIMARY KEY,
NOME VARCHAR(15) NOT NULL
)

CREATE TABLE MINISTRADA


(
COD_DISCIPLINA INT REFERENCES DISCIPLINA(COD_DISCIPLINA),
COD_FUNCIONARIO INT REFERENCES FUNCIONARIO(CODIGO)
)

CREATE TABLE FUNCIONARIOS


(
CODIGO NUMBER(5) PRIMARY KEY,
NOME VARCHAR(60) NOT NULL,
CPF VARCHAR(11) UNIQUE NOT NULL,
RG VARCHAR(14) UNIQUE NOT NULL,
SEXO CHAR(1),
DATA_NASCIMENTO DATE NOT NULL,
DATA_ADMISSAO DATE NOT NULL,
DATA_DEMISSAO DATE,
EMAIL VARCHAR(25),
EMAILCOMPLEM VARCHAR(25),
TELEFONE NUMBER(10),
TELEFONECOMPLEM NUMBER(10),
RUA VARCHAR(60),
LOTE VARCHAR(10),
QUADRA VARCHAR(10),
NUMERO INT,
BAIRRO VARCHAR(60),
CEP NUMBER(8),
SIGLAESTADO VARCHAR(2),
SALARIO NUMBER(10,2),
CIDADE VARCHAR (60),
STATUS_FUNCIONARIO VARCHAR(20)
TIPO_FUNCIONARIO VARCHAR(20)
)

CREATE TABLE POSSUI_TIPO


(
COD_TIPO_FUNCIONARIO INT REFERENCES
TIPO_FUNCIONARIO(CODIGO),
COD_FUNCIONARIO INT REFERENCES FUNCIONARIO(CODIGO)
)
29

CREATE TABLE TIPO_FUNCIONARIO


(
CODIGO INT PRIMARY KEY,
NOME VARCHAR(20)
)

CREATE TABLE FORNECEDORES


(
CODIGO INT PRIMARY KEY,
CNPJ NUMBER(14) UNIQUE NOT NULL,
INSC_ESTADUAL NUMBER(15),
NOME VARCHAR(40) NOT NULL,
CONTA_BANCARIA VARCHAR(15),
EMAIL VARCHAR(25),
EMAILCOMPLEM VARCHAR(25),
TELEFONE NUMBER(10),
TELEFONECOMPLEM NUMBER(10),
RUA VARCHAR(20),
LOTE VARCHAR(10),
QUADRA VARCHAR(10),
NUMERO INT,
BAIRRO VARCHAR(30),
CEP NUMBER(8),
COD_ESTADO VARCHAR(2),
CIDADE VARCHAR(60),
)

CREATE TABLE USUARIOS


(
CODIGOFUNCIONARIO NUMBER(5) PRIMARY KEY,
USUARIO VARCHAR(10),
SENHA VARCHAR(8),
NOMEUSUARIO VARCHAR(60),
TIPOUSUARIO VARCHAR(2)
)

Create sequence codigofuncionario


Create sequence codigofornecedor
Create sequence matriculaaluno

3.1.4 SISTEMAS OPERACIONAIS


 Monitores

Um Monitor é um conjunto de procedimentos, variáveis e estruturas de dados,


todas agrupadas em um módulo especial, mecanismos de sincronização de
alto nível, onde torna mais fácil o desenvolvimento de programas concorrentes.
Sua característica mais importante é a implementação automática da exclusão
mútua entre os procedimentos, ou seja, somente um processo pode estar ativo
dentro de um monitor em um dado instante de tempo. Toda vez que o processo
chama um desses procedimentos, o monitor verifica se já existe outro processo
30

executando algum procedimento do monitor, caso exista, o processo ficará


aguardando sua vez até que tenha permissão para executar.

Figura 5 - Representação Esquemática de um Monitor

Veja, a seguir, um exemplo de uso do synchronized na declaração de um


método. Segue abaixo um modelo de monitor:

public final class MySingleton {

// Instancia estática privada que será acessada

private static MySingleton INSTANCE;

// Construtor privado. Suprime o construtor público padrao.

private MySingleton() {

// Operações de inicialização da classe


}

// Método público estático de acesso único ao objeto!

public static synchronized MySingleton getInstance(){

if (INSTANCE == null) {

INSTANCE = new MySingleton();

return INSTANCE;

}
31

 Semáforos

Um semáforo é uma estrutura de dados que consiste em um número inteiro e


em uma fila que armazena descritores de tarefas. O conceito de semáforos
consiste na colocação de proteções em torno do código que acessa esta
estrutura para oferecer acesso limitado aos dados. Em geral, a estrutura de
dados é uma fila, funcionando em regime de primeiro a entrar, primeiro a sair.
O semáforo tem uma variável especial protegida (ou tipo abstrato de dados)
que tem como função o controle de acesso a recursos compartilhados (por
exemplo, um espaço de armazenamento) num ambiente multitarefa.
As operações em tipos de semáforos, muitas vezes não são diretas, elas são
feitas por subprogramas de espera (wait) e de liberação (release). Há um
problema em semáforos, o deadlock. Este ocorre quando um processo altera o
valor do semáforo e entra na região crítica, mas ocorre uma falha na saída da
região porque ele foi danificado ou morto. As principais operações sobre o
semáforos são:

 Inicialização: Recebe um valor inteiro indicando a quantidade de


processos que podem acessar um determinado recurso.
 Operação P(S): Decrementa o valor do semáforo. Se o semáforo está
com valor zerado, o processo é posto para dormir.
 Operação V(S): Se o semáforo estiver com o valor zerado e existir
algum processo adormecido, um processo será acordado. Caso
contrário, o valor do semáforo é incrementado.

Segue abaixo um modelo de semáforo:

import java.util.concurrent.Semaphore;

// classe principal
public class CodigoSemafaro {
static Semaphore sA;
static Semaphore sB;
static Semaphore sC;
static Semaphore sD;

public void A1(){ System.out.println("A1"); }


public void A2(){ System.out.println("A2"); }
public void B1(){ System.out.println("B1"); }
public void B2(){ System.out.println("B2"); }

// classe FuncaoA
class FuncaoA extends Thread {
public void run () {
while(true){
try {
sD.acquire(); //wait (espera) no semaforo D
32

}catch(InterruptedException ie){ System.err.println( ie.toString());}


A1();
sA.release(); //signal (continue) no semaforo A
try {
sB.acquire(); //wait (espera) no semaforo B
}catch(InterruptedException ie){ System.err.println( ie.toString());}
A2();
sC.release(); //signal (continue) no semaforo C
}
}
}

// classe FuncaoB
class FuncaoB extends Thread {
public void run () {
while(true){
try {
sC.acquire(); //wait (espera) no semáforo C
}catch(InterruptedException ie){ System.err.println( ie.toString());}
B1();
sB.release(); //signal (continue) no semáforo B
try {
sA.acquire(); //wait (espera) no semáforo A
}catch(InterruptedException ie){ System.err.println( ie.toString());}
B2();
sD.release(); //signal (continue) no semáforo D
}
}
}

// metodo principal
public static void main(String[] args) {
CodigoSemafaro temp = new CodigoSemafaro();
// inicialização dos semáforos
sA = new Semaphore(0);
sB = new Semaphore(0);
sC = new Semaphore(1);
sD = new Semaphore(1);

// inicialização das threads


CodigoSemafaro.FuncaoA a = temp.new FuncaoA();
CodigoSemafaro.FuncaoB b = temp.new FuncaoB();

// inicia execução das threads


a.start();
b.start();
}
}
33

3.1.5 ORIENTAÇÃO A OBJETOS


Diagrama de Classe desenvolvido no programa ASTAH.

Figura 6 - Diagrama de Classe (Interfaces)


34

Figura 7 - Diagrama da Classe (Classes)


35

Figura 8 - Diagrama de Classe (Negócio)


36

Figura 9 - Diagrama de Classe (Persistência)


37

3.1.6 TÉCNICAS DE PROGRAMAÇÃO


Será apresentado em sala de aula o programa desenvolvido em Java com
Interface Gráfica conforme solicitado docente responsável pela disciplina.

3.1.7 GESTÃO INTEGRADA DA RESP. SÓCIO-AMBIENTAL, SEG. DO


TRABALHO E QUALIDADE I
Sabemos que hoje em dia o assunto sobre sustentabilidade abrange todos os
conceitos existentes na sociedade, aonde atualmente vem sendo tratada por
pesquisadores, governantes e cidadãos, em casa, no trabalho, nos países e no
mundo.
Inicializar o desenvolvimento de um software com planejamento e foco,
podemos sim efetivar e concretizar um plano de alta sustentabilidade em nosso
programa, pois o primeiro passo é a escolha do problema que será
apresentado no projeto, olhando sempre o lado que este que este
desenvolvimento venha trazer benefícios não somente a empresa solicitante ao
desenvolvimento, mas também a sociedade e ao meio ambiente.
Pensando em todos esses aspectos pensamos em desenvolver um projeto
para uma rede de ensino, visando uma integração de dados e informação que
alimentará o software diariamente, levando ao usuário a intenção de um
sistema seguro e robusto, onde irá suprimir todas as necessidades possíveis.
Apesar de um bom caminho para a realização de projetos futuros com os
alunos da instituição, levando os mesmos a ter um pensamento futuro, um
pensamento ecológico, um pensamento de conservação um pensamento de
sustentabilidade, com planos de programas de separação de resíduos.
Outro motivo para a escolha deste tema, e reduzir a emissões de Xerox de
atividades, diários, boletins entre outros, transferindo essas atividades para
uma área virtual, onde não seria necessária a impressão ou reimpressão de
informações que podem ser passadas ao aluno via programas de integração ao
software. Essas são ações e soluções que podemos programar utilizando os
conceitos de TI verde, utilizando hardwares que não agridam o meio ambiente
na sua utilização, operação e por fim não proporcione impactos no seu
descarte, permitindo reciclagem e reutilização.
Outro caso que pode ser julgado é a usabilidade do programa entre o usuário e
a máquina, fazendo entre ambos a interface gráfica, no qual tenha um
processo de manuseio mais fácil, mais claro, mais preciso, com mais foco,
podendo transformar essas características de processos em formas de
qualidade de visão.
Não se esquecendo da segurança que o sistema tem de trazer ao usuário,
quando estando operando, fazendo o mesmo utilizar termos e técnicas de
segurança nas atividades que deverão ser elaboradas, por fim incentivando
aos usuários utilizar de forma confortável os termos da ergonomia de software,
ciência que estuda conforto, utilização, organização e documentação do
software, tendo como objetivo facilitar e aperfeiçoar o trabalho do usuário junto
ao computador, propondo os padrões de:

 Apresentação de Telas;
 Diálogos;
 Ferramentas do Trabalho;
 Menus;
38

 Técnicas de Arquivos;
 Documentação.

As Vantagens são:

 Atração Homem-Máquina;
 Programas mais bem Documentados;
 Redução de Custo de Manutenção;
 Software mais Eficiente;
 Software com funções mais poderosas;
 Facilidade de Aprendizado;
 Redução de Perturbação psicológica do usuário em relação ao
Computador.

As Desvantagens são:

 Esforço Adicional no Desenvolvimento do Software;


 Novidades afastam Técnicos mais Antigos;
 Técnicas novas, em fase de Maturação.

Com essas técnicas os usuários não precisam se preocupar com o seu


desempenho somente nas funções essenciais, sendo assim não precisando
repetir o trabalho já elaborado, trabalho improdutivo será eliminado, todo
trabalho pode ser feito pelo usuário, sem estágios burocráticos intermediários.
39

4 CONSIDERAÇÕES FINAIS

Posteriormente pelas observações dos aspectos analisados e acrescentados


no trabalho concluímos que para o desenvolvimento de uma aplicação, ou seja,
para a criação de um software é preciso realizar todos os levantamentos que
envolva diretamente ou indiretamente os processos, recursos, infraestrutura,
tempo, investimentos, custos e mão-de-obra. Com o desenvolvimento realizado
em aulas práticas e teóricas, podemos observar que primeiramente temos que
saber qual é o tema do problema terá que ser resolvido, assim o analista tem o
papel de extrair e listar requisitos e informações que auxilie na construção de
documentos e fluxos que interagirão com o processo realizado na empresa
atualmente. O Desenvolvimento do software, tal como o levantamento de
requisitos é uma etapa muito importante no ciclo de criação do aplicativo, pois
é neste momento que o desenvolvedor realiza as parametrizações das regras
de negócio da empresa, sendo assim, uma regra que será implementada na
criação do código, levando em conta que nesta etapa do projeto o gestor ou
diretor do projeto tem de analisar a desempenho de rede e infraestrutura da
empresa, visando que futuramente o sistema não tenha um desempenho
mediano, referente ao que foi negociado. Pode ser identificado que com o
grande avanço das empresas de tecnologia, o mundo está se voltando para
uma era de desenvolvimento voltado a sustentabilidade, conhecido também
como TI Verde, um mecanismo onde reduziríamos em forma lógica e
sustentável, desenvolvimentos de softwares que agridam o meio ambiente na
sua utilização e operação, por fim não proporcionando impactos no seu
descarte, permitindo reciclagem e reutilização.
40

5 REFERÊNCIAS BIBLIOGRAFICAS

OMG – Object Management Group. UML Superstructure specifications V 2.1.


2002.

Gerenciando Projetos de Desenvolvimento de Software com PMI, RUP e UML.


Martins, J. C. - 5. ed. Rio de Janeiro, 2010.

SWEBOK – Software Engineering Body of Knowledge.2013. IEEE.

Gerenciando Projetos de Desenvolvimento de Software com PMI, RUP e UML.


Martins, J. C. - 5. ed. Rio de Janeiro, 2010.

Just Int Time, MRP II e OPT: um enfoque estratégico. CORRÊA H. L. GIANESI


I.N.G. - 2.ed. Sâo Paulo. Ed. Atlas. 1993.

ZIVIANE, N. Projeto de Algoritmos com implementação em JAVA e C++. São


Paulo. Thomson Learnings. 1 ed. 642 p. 2006.

CAETANO, Gilberto; ASHLEY, Patricia Almeida; GIANSANTI, Roberto.


Responsabilidade social e meio ambiente. São Paulo: Saraiva, 2006.

ALBUQUERQUE, José de Lima (Org). Gestão ambiental e responsabilidade


social: conceitos, ferramentas e aplicações. São Paulo: Atlas, 2009.

MOLINARI, Leonardo. Gerência de Configuração - Técnicas e Práticas no


Desenvolvimento do Software. Florianopolis: Visual Books, 2007.

KURNIAWAN, Budi. Java para a WEB com Servlets, JSP, and EJB. Rio de
Janeiro. Editora ciência Moderna Ltda. 2002.

MOLINARI, Leonardo. Gerência de Configuração - Técnicas e Práticas no


Desenvolvimento do Software. Florianopolis: Visual Books, 2007.
41

6 REFERÊNCIAS DE SITES

SISTEMA BRASILEIRO DE RESPOSTAS TÉCNICAS - SBRT. http://sbrt.ibict.br/

INMETRO. http://www.inmetro.gov.br/qualidade/responsabilidade_social/norma_nacional.asp

Você também pode gostar