Sie sind auf Seite 1von 49

2

UNIVERSIDADE ANHANGUERA – UNIDERP


POLO DE LIMEIRA - SP
Curso Superior de Tecnologia em Análise e Desenvolvimento de
Sistemas

WILSON APARECIDO BUENO RA 60276955

DESAFIO PROFISSIONAL

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS


5ª SÉRIE
DISCIPLINAS NORTEADORAS:
ENGENHARIA DE SOFTWARE E GERÊNCIA DE PROJETO; LINGUAGEM
PARA ORGANIZAÇÃO E TRANSFERÊNCIA DE DADOS PARA WEB;
DESENVOLVIMENTO DE SOFTWARE SEGURO; PROGRAMAÇÃO EM
DISPOSITIVOS MÓVEIS; REDES DE COMPUTADORES.

Tutor EAD: Ivo Ducatti.

LIMEIRA SP / SP 2019
3

Sumário
Escopo do projeto .................................................................................................................... 4
Histórico resumido da empresa ............................................................................................... 4
Levantamento regional para identificar as principais tecnologias e linguagens de
programação .......................................................................................................................... 5
Relatório Bibliográfico do Java, como surgiu quem inventou e porquê do seu nome .........5
Bibliografia da linguagem PhP sua história e como surgiu ...................................................... 7
Selecionando a linguagem de programação Java .................................................................... 9
Banco de dados escolhido foi MySql...................................................................................... 12
Provedores de serviços de aplicativo para segurança da informação foi o SAFEND ............. 14
Provedores de acesso à internet o “net virtua” o mais usado na região .............................. 15
Código SQL Scripts para construção de tabelas em banco de dados orientado a objetos ... 16
Construção das tabelas em sql e print das telas cos as tabelas criadas ................................ 22
Scripts em Java com os dados das tabelas criadas e SQL...................................................28
Códigos fonte para a criação do banco de dados e tabelas necessárias.............................43
Exemplo de um algoritmo simplificado do movimento de locação..........................44.
Consideraçõesfinais..............................................................................................46
Referências Bibliográficas ...................................................................................................... 47
4

1. HISTÓRICO RESUMIDO DA EMPRESA

A Nossa história teve início em 1979, quando nosso fundador Luiz Bandeira, iniciou
um processo de construção de algumas pequenas casas na cidade de
Florianópolis, em Santa Catarina.
Desde o começo, o objetivo foi executar um trabalho com qualidade, motivados
pela convicção de que seria um bom caminho rumo ao crescimento de forma
sustentável.
No início da década de 1990, inicia um projeto inovador para sua realidade, a
construção de edifícios residenciais houve a necessidade urgente de sua
estruturação a automatização de processos. No ano de 1993, seu fundador e
presidente Luiz Bandeira, junto com sua equipe de gestores, decidiu contratar uma
consultoria em tecnologia da informação para estruturar a primeira fase de
informatização.

Em 1995, houve uma nova estruturação de informatização, na qual foram incluídas


as seguintes áreas:
Recursos humanos, departamento pessoal, fiscal e contábil.
Em uma nova etapa de expansão houve uma decisão da gestão da empresa junto
aos consultores administrativos em direcionar a equipe de TI no desenvolvimento
inovador para automatizar o processo de manobras de controle das obras,
atingindo suas rotinas de controle em relação aos recursos de terceiros, a alocação
de equipamentos e ao planejamento e cronograma de obras correntes e futuras.
Para isso, foi alocada uma equipe multidisciplinar para a elaboração do projeto de
expansão.
5

3.0 INTRODUÇÃO:

3.1 A necessidade a ser suprida.


A Construção de um software para um sistema mobile utilizando a plataforma
Android que fara uso do armazenamento em nuvem.

0 Sistema deverá promover a integração entre os sistemas heterogêneos da


empresa.
Deverá possuir um banco de dados para o armazenamento das informações em
pasta privada.
possuir sistema alarme de segurança para impedir acessos indevidos não ser
acessado indevidamente com um sistema de alarme que informe a tentativa de
acesso não permitido devera cadastra os usuário por nome cargo CPF e função.
Possuirá dois níveis de acesso operacional e gerencial.
um sistema de emissão e controle de notas fiscais Emitira notas ficais eletrônicas,
enviar as notas para os e-mails dos fornecedores, cadastrar os colaboradores
ligados a obra, cadastrar a obra informar mando data de início de data prevista
pra a entrega Controlar o tempo de jornada dos terceiros na Identificar os
prestadores de serviços por CNPJ ou CPF
Efetuar backup de segurança diáriosalunos de forma que seja possível o
compartilhamento da versão mais recente da atividade para todo o grupo que devera
a cada nova postagem, receber uma notificação de atualização do material
construído. Dessa forma, o aplicativo disponibilizara uma versão individual do
trabalho compartilhado assim como seu respectivo histórico, bem como, a versão
colaborativa, que contemplara todas as atualizações de acordo com a ordem de
alteração do arquivo, por hora e data
6

3.2 O produto de software adquirido deverá apresentar as seguintes


características: O Software deverá ser um sistema mobile desenvolvido na
plataforma Android. Com armazenamento em nuvem, seus arquivos deverão ser
salvos de forma temporária cujo período de armazenamento será o mesmo da
duração do projeto dos alunos.
Para proteger as informações dos envolvidos no projeto o software as armazenara
em pasta privada nos formatos xml com as extensões .xsl e .doc.
Para o aluno ter acesso ao software bastara se cadastrar usando para isso seu
nome e número do RA (registro de aluno) o software criara assim um log-in e senha.
O aluno poderá executar seu trabalho através do software localmente ou, através
de um navegador de internet.
O software deverá promover a integração entre os alunos de forma que seja
possível o compartilhamento da versão mais recente da atividade para todo o grupo.
O software deverá notificar o grupo a cada nova postagem, o software deverá
enviar uma notificação de atualização do material construído de forma automática a
todos os alunos cadastrados no sistema.
O software devera disponibilizar uma versão individual do trabalho compartilhado e
seu respectivo histórico assim como a versão colaborativa, que contemplara todas
as atualizações de acordo com a ordem de alteração do arquivo, por hora e data.
O Software deverá ser construído em conformidade com as leis e diretrizes de
segurança ISO 27001 Modelo de Qualidade da Norma ISO 9126

ENGENHARIA DE SOFTWARE E GERÊNCIA DE PROJETO.

2. ESCOPO PROJETO

O projeto aqui descrito deverá ter as seguintes funcionalidades


 Ser um projeto Mobile.
 Usar o sistema operacional Android
 Ter aderência aos sistemas heterogêneos da empresa
 Usar armazenamento em nuvem
 Possuir um banco de dados para o armazenamento dos dados de forma
Segura
7

 Possuir segurança para não ser acessado indevidamente


 Possuir um sistema de emissão e controle de notas fiscais
 Emitir notas ficais eletrônicas
 Enviar as notas para os e-mails dos fornecedores
 Devera cadastrar os colaboradores ligados a uma obra
 Devera cadastrar a obra e informar data de início de data prevista pra a
entrega
 Controlar o tempo de jornada dos terceiros na
 Identificar os prestadores de serviços por CNPJ ou CPF
 Efetuar backup de segurança diários.

Populacional, devendo ser maior que 150 mil habitantes, e a definição de


softwares para o novo sistema computacional

local.

3.0. Levantamento regional para identificar as principais tecnologias e


linguagens de programação.

3.1. Java

A linguagem de programação mais solicitada segundo a pesquisa é o Java.

No topo da maioria dos índices especializados na medição da popularidade, o Java


se, ou seja, é possível compilar um programa em Java de maneira fácil para todo
tipo de aparelho.
8

Vale lembrar também que o Java é a linguagem mais usada para a criação de
aplicativos Android.

 Caracteriza-se por ser portável;


 Escalabilidade, ou seja, a capacidade de adaptar seu programa à medida que ele
cresce em número de utilizações
 Além de sua retro-compatibilidade, já que um código feito em uma versão antiga
continua a ser reconhecida pelas versões atuais

3.1’.1. Relatório bibliográfico do Java, como surgiu quem inventou e o porquê


do seu nome

Em 1991, na Sun Microsystems, foi iniciado o Green Project, o berço do Java,


uma linguagem de programação orientada a objetos. Os mentores do projeto eram
Patrick Naughton, Mike Sheridan, e James Gosling. Eles acreditavam que,
eventualmente, haveria uma convergência dos computadores com os equipamentos
e eletrodomésticos frequentemente usados pelas pessoas no seu dia-a-dia.

Para provar a viabilidade desta ideia, 13 pessoas trabalharam arduamente durante


18 meses. No verão de 1992 eles emergiram de um escritório de Sand Hill Road,
no Menlo Park, com uma demonstração funcional da ideia inicial. O protótipo se
chamava *7 (lê-se“Star Seven”), um controle remoto com uma interface
gráfica touchscreen. Para o *7, foi criado um mascote, hoje amplamente conhecido
no mundo Java, o Duke. O trabalho do Duke no *7 era ser um guia virtual ajudando
e ensinando o usuário a utilizar o equipamento. O *7 tinha a habilidade de controlar
diversos dispositivos e aplicações. James Gosling especificou uma nova linguagem
de programação para o *7. Gosling decidiu batizá-la de “Oak”, que quer
dizer carvalho, uma árvore que ele podia observar quando olhava através da sua
janela.

O próximo passo era encontrar um mercado para o starseven. A equipe achava que
uma boa ideia seria controlar televisões e vídeo por demanda com o equipamento.
Eles construíram uma demonstração chamada de MovieWood, mas infelizmente era
muito cedo para que o vídeo por demanda bem como as empresas de TV a
cabo pudessem viabilizar o negócio. A ideia que o *7 tentava vender, hoje já é
realidade em programas interativos e também na televisão digital. Permitir ao
telespectador interagir com a emissora e com a programação em uma grande rede
9

de cabos, era algo muito visionário e estava muito longe do que as empresas de TV
a cabo tinham capacidade de entender e comprar. A ideia certa, na época errada.

Entretanto, o estouro da internet aconteceu e rapidamente uma grande rede


interativa estava se estabelecendo. Era este tipo de rede interativa que a equipe do
*7 estava tentando vender para as empresas de TV a cabo. E, da noite para o dia,
não era mais necessário construir a infraestrutura para a rede, ela simplesmente
estava lá. Gosling foi incumbido de adaptar o Oak para a internet e em janeiro 1995
foi lançada uma nova versão do Oak que foi rebatizada para Java. A tecnologia Java
tinha sido projetada para se mover por meio das redes de dispositivos heterogêneos,
redes como a internet. Agora aplicações poderiam ser executadas dentro
dos navegadores nos Applets Java e tudo seria disponibilizado pela internet
instantaneamente. Foi o estático HTML dos navegadores que promoveu a rápida
disseminação da dinâmica tecnologia Java. A velocidade dos acontecimentos
seguintes foi assustadora, o número de usuários cresceu rapidamente, grandes
fornecedores de tecnologia, como a IBM anunciaram suporte para a tecnologia Java.

Desde seu lançamento, em maio de 1995, a plataforma Java foi adotada mais
rapidamente do que qualquer outra linguagem de programação na história da
computação. Em 2004 Java atingiu a marca de 3 milhões de desenvolvedores em
todo mundo. Java continuou crescendo e hoje é uma referência no mercado de
desenvolvimento de software. Java tornou-se popular pelo seu uso na internet e hoje
possui seu ambiente de execução presente em navegadores, mainframes, sistemas
operacionais, celulares, palmtops, cartões inteligentes etc

(Origem Wikipédia, a enciclopédia livre (livrhttps://pt.wikipedia.org/wiki/Java_(linguagemde


programa%C3%A7%C3%A3o)#Hist%C3%B3r)

3.2. Linguagem PHP:


Segundo a pesquisa conclui que a Linguagem PHP é uma linguagem de
programação de domínio específico, ou seja, seu escopo se estende a um campo de
atuação que é o desenvolvimento web, embora tenha variantes como o PHP-GTK.
Seu propósito principal é de implementar soluções web velozes, simples e eficientes.

Características:
10

 Velocidade e robustez;
 Orientação a objetos;
 Portabilidade - independência de plataforma - escreva uma vez, rode em qualquer
lugar;
 Tipagem dinâmica;
 Sintaxe similar a C/C++ e o Perl;
 Open-source;
 Server-side (O cliente manda o pedido e o servidor responde em página HTML).

3.2.1 A BIBLIOGRAFIA DA LINGUAGEM PHP SUA HISTORIA E COMO SURGIL.


A linguagem foi criada em 1994 e o código fonte do PHP só foi liberado em 1995,
como um pacote de programas CGI criados por Rasmus Lerdorf, com o
nome Personal Home Page Tools, para substituir um conjunto de scripts Perl que ele
usava no desenvolvimento de sua página pessoal.
Em 1997 foi lançado o novo pacote da linguagem com o nome de PHP/FI, trazendo a
ferramenta Forms Interpreter, um interpretador de comandos SQL. Mais tarde, Zeev
Suraski desenvolveu o analisador do PHP 3 que contava com o primeiro recurso de
orientação a objetos, que dava poder de alcançar alguns pacotes, tinha herança e
dava aos desenvolvedores somente a possibilidade de implementar propriedades e
métodos.
Pouco depois, Zeev e Andi Gutmans, escreveram o PHP 4, abandonando por
completo o PHP 3, dando mais poder à máquina da linguagem e maior número de
recursos de orientação a objetos. O problema sério que apresentou o PHP 4 foi a
criação de cópias de objetos, pois a linguagem ainda não trabalhava
com apontadores ou handlers, como são as linguagens Java, Ruby e outras. O
problema fora resolvido na versão atual do PHP, a versão 5, que já trabalha
com handlers. Caso se copie um objeto, na verdade copiaremos um apontador, pois,
caso haja alguma mudança na versão original do objeto, todas as outras também
sofrem a alteração, o que não acontecia na PHP 4.[5]
Trata-se de uma linguagem extremamente modularizada, o que a torna ideal para
instalação e uso em servidores web. Diversos módulos são criados no repositório de
extensões PECL (PHP Extension Community Library) e alguns destes módulos são
introduzidos como padrão em novas versões da linguagem. É muito parecida,
em tipos de dados, sintaxe e mesmo funções, com a linguagem C e com a C++.
Pode ser, dependendo da configuração do servidor, embarcada no código HTML.
11

Existem versões do PHP disponíveis para os seguintes sistemas


operacionais: Windows, Linux, FreeBSD, Mac OS, OS/2, AS/400, Novell
Netware, RISC OS, AIX, IRIX e Solaris.
Construir uma página dinâmica baseada em bases de dados é simples com PHP,
(em parte, vale lembrar), este provê suporte a um grande número de bases de
dados: Oracle, Sybase, PostgreSQL, InterBase, MySQL, SQLite, MSSQL, Firebird,
etc., podendo abstrair o banco com a biblioteca ADOdb, entre outras. A Wikipédia
funciona sobre um software inteiramente escrito em PHP, usando bases de dados
MySQL: o MediaWiki.
PHP tem suporte aos protocolos: IMAP, SNMP, NNTP, POP3, HTTP, LDAP, XML-
RPC, SOAP. É possível abrir sockets e interagir com outros protocolos. E
as bibliotecas de terceiros expandem ainda mais estas funcionalidades. Existem
iniciativas para utilizar o PHP como linguagem de programação de sistemas fixos. A
mais notável é a PHP-GTK. Trata-se de um conjunto do PHP com a biblioteca GTK,
portada do C++, fazendo assim softwares inter-operacionais entre Windows e Linux.
Na prática, essa extensão tem sido muito pouco utilizada para projetos reais.
O acrônimo recursivo PHP representa um elefante, que é conhecido como o
mascote da linguagem.

(Origem: Wikipédia, a enciclopédia livre. https://pt.wikipedia.org/wiki/PHP#Hist%C3%B3ria)

4.0. Selecionando a linguagem de programação.

4.1. Justificativa:

Apesar das duas linguagens pesquisadas serem muito usadas na região em que se
deu a pesquisa (Curitiba/PR) e apresentando excepcionais características, a
linguagem de programação escolhida após análise criteriosa foi o Java. Devido as
suas características únicas em relação ao PHP. Linguagem Java script, que permite
acesso ao programa ou projeto por meio equipamentos mobile.
12

5.0. Banco de Dados:

Para a composição do banco de dados, de acordo com as pesquisas os dois que


mais atendem a aplicação web são os seguintes:

5.1. Banco de dados MySQL.

Considerado um dos melhores para a aplicação pretendida segundo pesquisa


regional, o MySQL cresceu tanto em uso e aplicação nos últimos anos, na região e
assim como no Brasil e no mundo.
13

Abaixo segue uma lista das características que fizeram esse SGBD (sistema de
gerenciamento de banco de dados) crescer tanto e continuar crescendo cada vez
mais.

5.2. Características do banco de dados MySQL:

 Portabilidade (suporta praticamente qualquer plataforma atual);


 Compatibilidade; existem drivers ODBC, JDBC e .NET e módulos de interface
para diversas linguagens de programação, como Delphi, Java, C/C++, C#, Visual
Basic, Python, Perl, PHP, ASP e Ruby;
 Excelente desempenho e estabilidade;
 Pouco exigente quanto a recursos de hardware;
 Facilidade de uso;
 É um Software Livre com base na GPL (entretanto, se o programa que acessar o
Mysql não for GPL, uma licença comercial deverá ser adquirida);
 Contempla a utilização de vários Storage Engines como MyISAM, InnoDB, Falcon,
BDB, Archive, Federated, CSV, Solid…
 Suporta controle transacional;
 Suporta Triggers;
 Suporta Cursors (Non-Scrollable e Non-Updatable);
 Suporta Stored Procedures e Functions;
 Replicação facilmente configurável;
Interfaces gráficas (MySQL Toolkit) de fácil utilização cedidos pela MySQL Inc

5.3. O Postgre SQL sistema de gerenciamento de banco de dados objeto-


relacional (ORDBMS):

Muito pontuado na pesquisa, figura junto ao MySQL nos quesitos de eficiência e


outros surpreendentes, que serão apresentados logo abaixo.
Baseado no POSTGRES versão 4.21, que foi desenvolvido na Universidade da
Califórnia em Berkeley, Computer Science Department. PostgreSQL possui suporte
embutido para três linguagens procedurais:

 SQL simples (seguro);


14

 Mais simples podem ser expandidas in line, na consulta de chamada (SQL), o


que economiza a sobrecarga de chamada de função e permite que o otimizador de
consulta "veja dentro" da função;

 PL / pgSQL (seguro), que se assemelha à linguagem procedural PL / SQL da


Oracle e ao SQL / PSM;
 Transações;
 Pesquisa de texto completo;
 Views;
 Opiniões materializadas;;
 Visualizações atualizáveis;
 Vistas recursivas internas, externas (total, esquerda e direita) e junções cruzadas;;
 sub- selects;
 Subconsultas correlacionadas;
 Expressões regulares;
 Expressões de tabela comuns e expressões de tabela comum graváveis;
 Conexões criptografadas via TLS (as versões atuais não usam SSL vulnerável;
 Mesmo com essa opção de configuração);
 Domínios;

 Savepoints;

 Cometa de duas fases;


 TOAST (Oversized-Attribute Storage Technique) é usado para armazenar
transparentemente grandes atributos de tabela (como grandes anexos MIME
ou mensagens XML) em uma área separada, com compactação automática;
O SQL incorporado é implementado usando o pré-processador;
O código SQL é primeiro gravado em código C. Em seguida, o código é
 Executado pelo pré-processador do ECPG, que substitui o SQL por chamadas. À
biblioteca de códigos. Então o código pode ser compilado usando um
 Compilador C;
A incorporação também funciona com o C ++, mas não reconhece todas as
construções do C ++.
5.4. Definindo o banco de dados

O sistema de banco de dados escolhido foi boo pelas suas excelentes características
MySql foi escolhido para o projeto de baco de dados e por ser compatível com a
linguagem de programação Java.
15

6.0. Provedores de serviços de aplicativo:

Os aplicativos Modernos mais comuns:

Application Service Provider. Companhias terceirizadas que gerenciam e distribuem


serviços baseados em softwares para outras companhias distantes, pela Internet
através de uma central. ASPs permitem que as companhias poupem dinheiro, tempo
e recursos.

Existem vários tipos de softwares de aplicação:

6.1. J2EE.
16

Devido a popularização da plataforma Java, o termo servidor de aplicação é


frequentemente uma referência a "Servidor de aplicação J2EE".

O servidor WebSphere Application Server da IBM e o WebLogic Server da Oracle


são dois dos mais conhecidos servidores JEE comerciais. Alguns servidores de
software livre também são muito utilizados, como Glassfish, JBoss, JOnAS, Apache
Jerônimo e Apache Tomcat. Este último apesar de ser um servidor de aplicações
JEE, não é servidor de EJBs. O Tomcat é um exemplo de container de software livre,
onde os módulos Web podem ser publicados. Como mencionado, a linguagem de
programação destes softwares é Java. Os módulos Web são em geral
implementados através de servlets e JSP e a lógica de negócio através de EJBs. A
plataforma JEE disponibiliza padrões para os containers Web e EJB.

6.2. Zope

Muitas tarefas de administração de um servidor Zope podem ser realizadas através


de uma interface web. Os objetos que o Zope publica na Web são escritos em
linguagem Python, e tipicamente armazenados num banco de dados orientado a
objetos, o ZODB, que é integrado ao sistema. Objetos básicos, tais como
documentos, imagens e templates (modelos de páginas) podem ser criados ou
modificados via web. Objetos especializados, tais como wikis, blogs, e galerias de
fotos estão disponíveis como componentes adicionais (chamados products), e existe
uma comunidade pujante de pequenas empresas criando aplicações web como
produtos.

6.3. .NET Na plataforma Microsoft .NET, o servidor de aplicação não é visto como
um elemento separado. O sistema operacional Windows 2003 contém a
infraestrutura necessária para servir aplicações, como o IIS, COM+ e Framework
.NET.

6.4. Safend, Servidor de aplicativo de segurança da informação

Para o controle das informações trocadas entre dispositivos externos e o PC.


Vazamento e perda de informação (normalmente representada pela sigla DLP, do
inglês Data Leakage Prevention e/ou Data Loss Prevention),Servidor de
aplicativo de segurança da informação seguintes funcionalidades:

 Inspeção de conteúdo de arquivos, identificando, filtrando e bloqueia o


vazamento de informações classificadas como confidenciais
 Criptografia completa dos dados no disco rígido
17

 Criptografia de CD/DVD Forçada para aumentar as possibilidades de


configuração de políticas
 Particionamento em Domínios, estendendo o mecanismo de acesso para
maior flexibilidade na definição de gerentes de domínios separados dentro de
uma organização
 Políticas Embutidas para Conformidade Regulatória com SOX, PCI, BASEL e
HIPAA, que podem ser aplicadas em sua forma original ou customizadas para
necessidades específicas
 A solução Safend se compõe seguintes módulos:
 Inspector: realiza inspeção de conteúdo em arquivos, classificando,
identificando, filtrando e bloqueando informação sigilosa, controlando o seu
envio através de políticas granulares
 Protector: controle total e granular das portas de um computador e seus
dispositivos externos, protegendo contra o vazamento de informação
 .Encryptor: criptografa de modo completo todos os dados existentes no disco
rígido através do mesmo controle centralizado existente para o Protector.
Sendo um módulo da solução integrada Safend, sua segurança está baseada
nas políticas flexíveis e em seu software cliente que é uma barreira
intransponível para malfeitores
 .Auditor: realiza auditoria de portas e dispositivos existentes na rede (no
presente momento ou no passado). Dá visibilidade aos administradores de
rede.
 Reporter: prepara diversos tipos de relatórios baseados nos registros
existentes no servidor de todas as transações ocorridas em máquinas da
corporação.

7.0. Provedores de acesso à internet.

De acordo com a pesquisa de levantamento regional de provedores de internet os


com maiores velocidades e confiáveis são os a seguir:

7.1. NET Virtua.

A Net è atualmente a maior provedora no Brasil, detendo sozinha 32% de todos os


assinantes de internet no país. Atendendo todas as regiões, está presente na maioria
dos estados, exceto Acre, Sergipe, Rondônia, Roraima e Tocantins. A NET Virtua
18

oferece velocidades de conexão entre 2 Mbps e 500 Mbps, com fibra óptica
disponível em localidades específicas.

7.2. Vivo.
A Vivo já está operando em diversos estados do Brasil, oferecendo internet
residencial através da tecnologia 4G. incluindo fibra óptica, com velocidade de
conexão de até 200 Mbps no plano mais avançado. A Vivo possui em torno de 4
milhões de assinaturas, com participação de 26,24%.
7.3. Determinado o provedor de internet:

Devido a sua velocidade; entre 2 Mbps e 500 Mbps a Net Virtua foi selecionada para
este projeto.

8.0. Criando o banco de dados movimento locação livros


Da locadora de livros medievais;

create database movimento_locação_livros_medievais;


use livraria;

8.1 Script criando a tabela funcionários


create table funcionarios(
id_funcionario_resp_alug_livro smallint primary key not null,
departamento_funcionario varchar(50)not null,
nome_funcionario varchar(50)not null,
rg_funcionario varchar(50),
cpf_funcionario varchar(50),
e_mail_funcionario varchar(50),
telefone_funcionario varchar(50),
rua_funcionario varchar(50),
num_res_funcionario varchar(50),
cep_rua_funcionario varchar(50),
bairro_funcionario varchar(50),
19

cidade_funcionario varchar(50),
uf_funcionario varchar(50)
);

8.2. Script Criando a tabela clientes Da “Locadora de Livros Medievais”


create table clientes(
id_cliente_aluguel_livro smallint primary key not null,
nome_cliente varchar(50),
rg_cliente varchar(50),
cpf_cliente varchar(50),
e_mail_cliente varchar(50),
telefone_cliente varchar(50),
rua_cliente varchar(50),
num_res_cliente varchar(50),
cep_rua_cliente varchar(50),
bairro_cliente varchar(50),
cidade_cliente varchar(50),
uf_cliente varchar(50)
);

8.3. Script Criando tabela devolução de livros devolvidos Da “Locadora de


Livros Medievais”
create table livros_devolvidos(
nome_livro varchar(50),
20

autores_livro varchar(50),
genero_livro varchar(50),
valor_aluguel_livro varchar(50),
data_aluguel_livro varchar(50),
data_devoluçao_livro varchar(50),
id_cliente_aluguel_livro smallint,
id_funcionario_resp_alug_livro smallint,
data_dev_livro varchar(10),
observ_estd_geral_livro varchar(80)
);

8.4. Script criando a tabela de livro alugado para “Locadora de Livros


Medievais”
create table livros_alugados(
id_Livro smallint primary key,
nome_livro varchar(50),
autores_livro varchar(50),
genero_livro varchar(50),
valor_aluguel_livro varchar(50),
data_aluguel_livro varchar(50),
data_devoluçao_livro varchar(50),
id_cliente_aluguel_livro smallint,
id_funcionario_resp_alug_livros smallint,

);
21

8.5. Script criando a tabela de funcionários para “Locadora de Livros


Medievais”

use livraria;

---criando a tabela funcionários

create table funcionarios(


id_funcionario_resp_alug_livro smallint primary key not null,
departamento_funcionario varchar(50)not null,
nome_funcionario varchar(50)not null,
rg_funcionario varchar(50),
cpf_funcionario varchar(50),
e_mail_funcionario varchar(50),
telefone_funcionario varchar(50),
rua_funcionario varchar(50),
num_res_funcionario varchar(50),
cep_rua_funcionario varchar(50),
bairro_funcionario varchar(50),
cidade_funcionario varchar(50),
uf_funcionario varchar(50)
);

8.6. Script criando a tabela de clientes para “Locadora de Livros Medievais”.

-------criando a tabela clientes

create table clientes(


id_cliente_aluguel_livro smallint primary key not null,
nome_cliente varchar(50),
rg_cliente varchar(50),
cpf_cliente varchar(50),
e_mail_cliente varchar(50),
telefone_cliente varchar(50),
rua_cliente varchar(50),
num_res_cliente varchar(50),
cep_rua_cliente varchar(50),
bairro_cliente varchar(50),
cidade_cliente varchar(50),
22

uf_cliente varchar(50)
)

8.7. Script criando tabela de livro devolvido para “Locadora de Livros


Medievais”.
---criando tabela devolução de livros
create table livros_devolvidos(
nome_livro varchar(50),
autores_livro varchar(50),
genero_livro varchar(50),
valor_aluguel_livro varchar(50),
data_aluguel_livro varchar(50),
data_devoluçao_livro varchar(50),
id_cliente_aluguel_livro smallint,
id_funcionario_resp_alug_livro smallint,
data_dev_livro varchar(10),
observ_estd_geral_livro varchar(80)
);
23

8.8. Script Criando tabela livro alugado para “Locadora de Livros Medievais”.
-criando tabela livro alugado

create table livros_alugados(


id_Livro smallint primary key,
nome_livro varchar(50),
autores_livro varchar(50),
genero_livro varchar(50),
valor_aluguel_livro varchar(50),
data_aluguel_livro varchar(50),
data_devoluçao_livro varchar(50),
id_cliente_aluguel_livro smallint,
id_funcionario_resp_alug_livros smallint
);

8.9. Script criando tabela livro em estoque para “Locadora de Livros


Medievais”.

--- criando a tabela estoque livros


create table estoque_livros(
id_Livro smallint primary key,
nome_livro varchar(50),
autores_livro varchar(50),
genero_livro varchar(50),
valor_livro varchar(50),
isbn_livros varchar(50),
linguagem_livros varchar(50),
livros_ouro varchar(50),
livros_prata varchar(50),
ano_lanc_livros varchar(50),
editora_livros varchar(50)
24

9.0. Criando tabela livro alugado para “Locadora de Livros Medievais usando
o MySQL Workbench
25

9.1. Inserção de dados na tabela funcionários para “Locadora de Livros


Medievais usando o MySQL Workbench

9.2. Confirmação da criação da tabela funcionários em banco de dados para


“Locadora de Livros Medievais” usando o MySQL Workbench.
26

9.3. Confirmação de criação de tabela cliente em banco de dados da


“Locadora de Livros Medievais “ usando o MySQL Workbench.

9.4. Confirmação de criação de tabela cliente em banco de dados da


“Locadora de Livros Medievais usando o MySQL Workbench
27

9.5. Criação e inserção de dados na tabela livros alugados, “Locadora de Livros


Medievais”. Usando o MySQL Workbench.
28

9.6. Criação da tabela “estoque de livros “no banco de dados e inserção de


dados, “Locadora de Livros Medievais”. Usando o MySQL Workbench.

9.7. Confirmação da criação da tabela estoque de livros em banco de dados,


da “Locadora de Livros Medievais”. Usando o MySQL Workbench.
29

9.8. Criação da tabela e inserção de dados na tabela livros devolvidos,


“Locadora de Livros Medievais”. Usando o MySQL Workbench.
30

9.9. Confirmação da criação da tabela livro devolvido em banco de dados,


“Locadora de Livros Medievais”. Usando o MySQL Workbench.

10.0. Classes Criadas em Java, com as informações obtidas no


desenvolvimento do banco de dados “livros”, para a “Locadora de Livros
Medievais”. Usando o MySQL Workbench, LIVRO Nº1

package org.tabelas.livros;
public class livro 1 { //LIVRO Nº1
public int id_livro;
public String nome_livro;
public String autores_livro;
public String genero_livro;
public String lingua_livro;
public int numero_pag_livro;
public int preço_livro;
public int ano_lanc_livro;
public int classif_livro;

public livros() {}
this.livro = 100;
this.livro = Macunaíma;
31

this.livro = Mario de Andrade;


this.livro = Humor, Romance, Ficção;
this.livro = Lingua Portuguesa;
this.livro = 240;
this.livro = 12,50;
this.livro = 1928
this.livro = ouro
}

10.1. Classes Criadas em Java, com as informações obtidas no


desenvolvimento do banco de dados “livros”, para a “Locadora de Livros
Medievais”. Usando o MySQL Workbench, LIVRO Nº2

package org.tabelas.livros;
public class livro 2 { //LIVRO Nº2
public int id_livro;
public String nome_livro;
public String autores_livro;
public String genero_livro;
public String lingua_livro;
public int numero_pag_livro;
public int preço_livro;
public int ano_lanc_livro;
public int classif_livro;
32

public livros() {}

this.livro = 101;
this.livro = Escrava Isaura;
this.livro = Reanato_Guimares;
this.livro = Novela, propaganda;
this.livro = Lingua Portuguesa;
this.livro = 240;
this.livro = 16,50;
this.livro = 18875
this.livro = Prata
}

10.3. Classes Criadas em Java, com as informações obtidas no


desenvolvimento do banco de dados “livros”, para a “Locadora de Livros
Medievais”. Usando o MySQL Workbench, LIVRO Nº3

package org.tabelas.livros;

Public classlivro 3 { //LIVRO Nº3


public int id_livro;
public String nome_livro;
public String autores_livro;
public String genero_livro;
public String lingua_livro;
public int numero_pag_livro;
public int preço_livro;
33

public int ano_lanc_livro;


public int classif_livro;

public livros() {}

this.livro = 102;
this.livro = Grande_Sertão_Veredas;
this.livro = Guimares Rosa;
this.livro = ficção;
this.livro = Lingua Portuguesa;
this.livro = 624;
this.livro = 20,50;
this.livro = 1955
this.livro = Ouro
}

10.4. Classes Criadas em Java, com as informações obtidas no


desenvolvimento do banco de dados “livros”, para a “Locadora de Livros
Medievais”. Usando o MySQL Workbench, LIVRO Nº4

Package org.tabelas.livros;

public class livro 4{ //LIVRO Nº4


public int id_livro;
public String nome_livro;
public String autores_livro;
public String genero_livro;
public String lingua_livro;
public int numero_pag_livro;
public int preço_livro;
public int ano_lanc_livro;
public int classif_livro;
34

public livros() {}

this.livro = 103;
this.livro = Dom_Qixote_de_la_Mancha;
this.livro = Gabriel de Servantes;
this.livro = ficção_novela_de_cavalaria;
this.livro = Castelhano traduzido para a língua Portuguesa;
this.livro = 624;
this.livro = 70,50;
this.livro = 1955
this.livro = Ouro
}

10.5. Classes Criadas em Java, com as informações obtidas no


desenvolvimento do banco de dados “livros”, para a “Locadora de Livros
Medievais”. Usando o MySQL Workbench, LIVRO Nº5

Package org.tabelas.livros;
public classlivro 5 { //LIVRO Nº5
public int id_livro;
public String nome_livro;
public String autores_livro;
public String genero_livro;
public String lingua_livro;
public int numero_pag_livro;
public int preço_livro;
public int ano_lanc_livro;
public int classif_livro;
35

public livros() {}

this.livro = 104;
this.livro = o homem_mais_inteligente_da_terra;
this.livro = Augusto Cury;
this.livro = ficção;
this.livro = Língua Portuguesa;
this.livro = 624;
this.livro = 70,50;
this.livro = 2016
this.livro = prata

11.0. Classes Criadas em Java, com as informações obtidas no


desenvolvimento do banco de dados “clientes”, para a “Locadora de Livros
Medievais”. Usando o MySQL Workbench, cliente Nº1

public class clientes 1 {


public int id_cliente;
private int nome_cliente;
private int telefone_cliente;
private int rg_cliente;
private int cpf_cliente;
private int e_mail_cliente;
private int rua_cliente;
private int numero_res_cliente;
private int bairro_cliente;
private int cep_cliente;
private int estado_cliente;
private int cidade_cliente;
36

public class clientes 1 () {}


this.cliente = 300;
this.cliente = João da Silva;
this.cliente = 041-981342-8473;
this.cliente = 21468675-3;
this.cliente = 154723458;
this.cliente = js39@gmail.com;
this.cliente = Getúlio Vargas;
this.cliente = Santa Felicidade;
this.cliente = 4094-008;
this.cliente = Paraná732;
this.cliente = Curitiba;
}

1.1. Classes Criadas em Java, com as informações obtidas no


desenvolvimento do banco de dados “clientes”, para a “Locadora de Livros
Medievais”. Usando o MySQL Workbench, cliente Nº2
public class clientes 2 {
public int id_cliente;
private int nome_cliente;
private int telefone_cliente;
private int rg_cliente;
private int cpf_cliente;
private int e_mail_cliente;
private int rua_cliente;
private int numero_res_cliente;
private int bairro_cliente;
private int cep_cliente;
private int estado_cliente;
private int cidade_cliente;

public class clientes 2() {}

this.cliente = 301;
37

this.cliente = Jorge Amadeu;


this.cliente = 041-98732101521;
this.cliente = 21518767-3;
this.cliente = 153751278-17;
this.cliente = ja32@gmail.com;
this.cliente = jatobá;
this.cliente = cic;
this.cliente = 104468;
this.cliente = Paraná;
this.cliente = Curitiba;
}

11.2. Classes Criadas em Java, com as informações obtidas no


desenvolvimento do banco de dados “clientes”, para a “Locadora de Livros
Medievais”. Usando o MySQL Workbench, cliente Nº3
public class clientes 3 {
public int id_cliente;
private int nome_cliente;
private int telefone_cliente;
private int rg_cliente;
private int cpf_cliente;
private int e_mail_cliente;
private int rua_cliente;
private int numero_res_cliente;
private int bairro_cliente;
private int cep_cliente;
private int estado_cliente;
private int cidade_cliente;

public class clientes () {}


38

this.cliente = 302;
this.cliente = Roberto Silva;
this.cliente = 041-985654354;
this.cliente = 31420877-3;
this.cliente = 267824299-19;
this.cliente = @gmail.com;
this.cliente = 52;
this.cliente = perola;
this.cliente = casqueiro;
this.cliente = 4498-120;
this.cliente = Paraná;
this.cliente = Curitiba;
}

1.3. Classes Criadas em Java, com as informações obtidas no


desenvolvimento do banco de dados “clientes”, para a “Locadora de Livros
Medievais”. Usando o MySQL Workbench, cliente Nº4

public class clientes 4 {


public int id_cliente;
private int nome_cliente;
private int telefone_cliente;
private int rg_cliente;
private int cpf_cliente;
private int e_mail_cliente;
private int rua_cliente;
private int numero_res_cliente;
private int bairro_cliente;
private int cep_cliente;
private int estado_cliente;
private int cidade_cliente;

public class clientes4 () {}


39

this.cliente = 303;
this.cliente = Manuel Dornelles;
this.cliente = 041-98732212;
this.cliente = 30418653-33;
this.cliente = 154713208-19;
this.cliente = md0@gmail.com;
this.cliente = 221;
this.cliente = Doutor Dantas;
this.cliente = Boa vista;
this.cliente = 4498-220;
this.cliente = Paraná;
this.cliente = Curitiba;
}

11.4. Classes Criadas em Java, com as informações obtidas no


desenvolvimento do banco de dados “clientes”, para a “Locadora de Livros
Medievais”. Usando o MySQL Workbench, cliente Nº5
public class clientes 5 {
public int id_cliente;
private int nome_cliente;
private int telefone_cliente;
private int rg_cliente;
private int cpf_cliente;
private int e_mail_cliente;
private int rua_cliente;
private int numero_res_cliente;
private int bairro_cliente;
private int cep_cliente;
private int estado_cliente;
private int cidade_cliente;
public class clientes5 () {}
this.cliente = 303;
40

this.cliente = Manuel Dornelles;


this.cliente = 041-98732212;
this.cliente = 30418653-33;
this.cliente = 154713208-19;
this.cliente = md0@gmail.com;
this.cliente = 221;
this.cliente = Doutor Dantas;
this.cliente = Boa vista;
this.cliente = 4498-220;
this.cliente = Paraná;
this.cliente = Curitiba;
}

12.0. Classes Criadas em Java, com as informações obtidas no


desenvolvimento do banco de dados “funcionário”, para a “Locadora de Livros
Medievais”. Usando o MySQL Workbench, funcionário Nº1
public class funcionários 1 {
public int id_funcionario;
public int dep_funcionario;
public int nome_funcionario;
public int rg_funcionario;
public int cpf_funcionario;
public int e_mail_funcionario;
public int tel_funcionario;
public int rua_funcionario;
public int num_res_funcionario;
public int cep_rua_funcionario;
public int bairro_funcionario;
public int cidade_funcionario;
public int estado_funcionario;
public class funcionários() {}
this.funcionario = 200;
41

this.funcionario = atendimento clientes;


this.funcionario = maria Lucia almeida;
this.funcionario = 20419666;
this.funcionario = 15472319870;
this.funcionario = mal@gmail.com;
this.funcionario = 1-98746-2554;
this.funcionario = João Alcântara;
this.funcionario = 231;
this.funcionario = casqueiro;
this.funcionario = 4505-109;
this.funcionario Curitiba;
this.funcionario = Paranã;

}
12.1. Classes Criadas em Java, com as informações obtidas no
desenvolvimento do banco de dados “funcionário”, para a “Locadora de Livros
Medievais”. Usando o MySQL Workbench, funcionário Nº2
public class funcionario {
public int id_funcionario;
public int dep_funcionario;
public int nome_funcionario;
public int rg_funcionario;
public int cpf_funcionario;
public int e_mail_funcionario;
public int tel_funcionario;
public int rua_funcionario;
public int num_res_funcionario;
public int cep_rua_funcionario;
public int bairro_funcionario;
public int cidade_funcionario;
public int estado_funcionario;

Public class funcionário () {};


this.funcionario = 201;
42

this.funcionario = atendimento clientes;


this.funcionario = Joao Carlos de Souza;
this.funcionario = 10419656-3;
this.funcionario = 157672983-70;
this.funcionario = joacs@g_mail_com;
this.funcionario = 041-98746-2851;
this.funcionario = Ana-maria Braga;
this.funcionario = 231;
this.funcionario = vila américa;
this.funcionario = 0504-109;
this.funcionario = Curitiba;
this.funcionario = Paranã;
}

12.3. Classes Criadas em Java, com as informações obtidas no


desenvolvimento do banco de dados “funcionário”, para a “Locadora de Livros
Medievais”. Usando o MySQL Workbench, funcionário Nº3
public class funcionario3 {
public int id_funcionario;
public int dep_funcionario;
public int nome_funcionario;
public int rg_funcionario;
public int cpf_funcionario;
public int e_mail_funcionario;
public int tel_funcionario;
public int rua_funcionario;
public int num_res_funcionario;
public int cep_rua_funcionario;
public int bairro_funcionario;
public int cidade_funcionario;
public int estado_funcionario;

public class funcionario () {};


43

this.funcionario = 202;
this.funcionario = tecnologia da informação;
this.funcionario = claudia santos;
this.funcionario = 2048565-3;
this.funcionario = 153723220470;
this.funcionario = cls020@g_mail_com;
this.funcionario = 041-9873-20451;
this.funcionario = bento ribeiro;
this.funcionario = 671;
this.funcionario = Casqueiro;
this.funcionario = 4533-109;
this.funcionario = Curitiba;
this.funcionario = Paranã;
}
12.3. Classes Criadas em Java, com as informações obtidas no
desenvolvimento do banco de dados “funcionário”, para a “Locadora de Livros
Medievais”. Usando o MySQL Workbench, funcionário Nº4
public class funcionario 4 {
public int id_funcionario;
public int dep_funcionario;
public int nome_funcionario;
public int rg_funcionario;
public int cpf_funcionario;
public int e_mail_funcionario;
public int tel_funcionario;
public int rua_funcionario;
public int num_res_funcionario;
public int cep_rua_funcionario;
public int bairro_funcionario;
public int cidade_funcionario;
public int estado_funcionario;
public class funcionario () {};

this.funcionario = 203;
44

this.funcionario = financeiro;
this.funcionario = Pedro maia;
this.funcionario = 21428656-3;
this.funcionario = 154724190-70;
this.funcionario = pm1544@g_mail_com;
this.funcionario = 041-9847-3534;
this.funcionario = alecrim;
this.funcionario = 3761;
this.funcionario = Vilanova;
this.funcionario = 4391-109;
this.funcionario = Curitiba;
this.funcionario = Paranã;
}

12.4. Classes Criadas em Java, com as informações obtidas no


desenvolvimento do banco de dados “funcionário”, para a “Locadora de Livros
Medievais”. Usando o MySQL Workbench, funcionário Nº5
public class funcionário 5 {
public int id_funcionario;
public int dep_funcionario;
public int nome_funcionario;
public int rg_funcionario;
public int cpf_funcionario;
public int e_mail_funcionario;
public int tel_funcionario;
public int rua_funcionario;
public int num_res_funcionario;
public int cep_rua_funcionario;
public int bairro_funcionario;
public int cidade_funcionario;
public int estado_funcionario;
public class funcionário () {};

this.funcionario = 204;
45

this.funcionario = gerencia;
this.funcionario = Ana Paula Souza;
this.funcionario = 29419556-3;
this.funcionario = 15472419-70;
this.funcionario = apsilva23@g_mail_com;
this.funcionario = 041-9847-52853;
this.funcionario = Airton Sena;
this.funcionario = 5342;
this.funcionario = santa felicidade;
this.funcionario = 5342-109;
this.funcionario = Curitiba;
this.funcionario = Paranã;
}

13.0. Códigos fonte para a criação do banco de dados e tabelas necessárias:


Foram desenvolvidas várias Tabelas, em um banco de dados orientado a
objeto, para o controle do movimento de locação dos livros.

Controlando e criando uma identificação única (ID) para os seguintes itens:

 Cadastro de clientes;
 Cadastro de funcionários;
 Cadastro de livros locados;
 Cadastro de livros devolvidos;
 Movimentação de estoque;
 Atribuindo campos a uma tabela contendo todos os dados dos livros como
um (ID) número único atrelado ao ISBN. *;

Criou-se um cadastro com todos os dados dos livros em estoque, controlado a


movimentação do estoque com uma identificação única (ID) para cada livro, tendo a
facilidade de controle de estoque. Foi Criado um cadastro para clientes e
funcionários com um identificador (ID) único que será utilizado no momento da
locação e devolução ao estoque, “Locadora de Livros Medievais”
46

* Iinternational Standard Book Number; é um Sistema Internacional Padronizado Em 1972 Que Identifica

Numericamente Os Livros Segundo o Título, Autor, País e Editora. Individse Inclusive Por Edição. Fonte: Biblioteca Nacional.

13.1. Exemplo de um algoritmo simplificado do movimento, de


locação:
 Cliente id x;
 Alugou via site os livros id x, id x1, id x2;
 Foi atendido via chat pelo funcionário id x que efetuou os tramites para a
locação;
 O cliente recebe os livros via delivery em seu escritório;
 Ao final da do prazo de locação o cliente solicita via chat do portal da
“Locadora de Livros Medievais” a retiradas dos livros locados;
 Efetua o pagamento via cartão de credito no site da
“Locadora de Livros Medievais”;
 Na locadora de livros medievais funcionário id x2 analisa o estado geral dos
livros da baixa no status de livro locado;
 Os livros retornam ao status de disponíveis para loção
47

14.0. A linguagem de programação utilizada.

A linguagem de programação para banco de dados boo utilizada foi a MySql por
meio da ferramenta de programação MySQL Workbench.

As classes foram programadas em Java com o uso do da ide eclipse.


48

14.1. Considerações finais.

Com esse trabalho, espero ter atingido os objetivos propostos pelo desafio
profissional apresentado como requisito para o cumprimento de meta de
aprendizado paro o curso de Tecnologia Em Analise E Desenvolvimento de Sistemas

4ª SÉRIE

Tendo como disciplinas norteadoras:

 Linguagem De Programação Comercial;


 Programação Orientada a Objetos;
 Estrutura de Dados;
 Programação Em Banco de Dados;
 Sistemas De Informação.
49

15. Referências bibliográficas.

http://www.agendor.com.br/blog/as-vantagens-do-crm-em-uma-concessionaria
http://www.devmedia.com.br/criando-banco-de-dados-e-tabelas-no-sql-server/24299
http://www.devmedia.com.br/artigo-sql-magazine-55-introducao-a-sql-parte-ii/10349
http://www.devmedia.com.br/c-c-e-java-principais-caracteristicasrevista- easy-java-
magazine-25/26773
https://pt.wikipedia.org/wiki/Java_(linguagem_de_programa%C3%A7%C3%
A3o)#Hist%C3%B3ria
https://pt.wikipedia.org/wiki/PHP#Hist%C3%B3ria
https://sites.google.com/site/webcadernofrango/ferramentas-de-
analise-estruturada
ttps://pt.wikipedia.org/wiki/Diagrama_de_fluxo_de_dados
http://www.devmedia.com.br/modelo-entidade-relacionamento-mer-e-
diagrama-entidade-relacionamento-der/14332
http://www.clubedohardware.com.br
http://brasilescola.uol.com.br/quimica/energia-limpa.htm
50

Das könnte Ihnen auch gefallen