Baixe PROINTER IV 2019 e outras Trabalhos em PDF para Tecnologia de Informação, somente na Docsity!
Faculdade Anhanguera do Rio Grande
PROJETO INTERDISCIPLINAR APLICADO
AOS CURSOS SUPERIORES DE
TECNOLOGIA (PROINTER IV)
RELATÓRIO PARCIAL
CURSO DE TECNOLOGIA EM ANÁLISE E
DESENVOLVIMENTO DE SISTEMAS
FLÁVIO RICARDO RIBEIRO DOS SANTOS – RA: 7827375546
Tutor (a) EAD: Ivo Ducatti
Rio Grande/RS
PROJETO INTERDISCIPLINAR APLICADO
AOS CURSOS SUPERIORES DE
TECNOLOGIA (PROINTER IV)
RELATÓRIO PARCIAL
Trabalho desenvolvido para o
curso de tecnologia em análise
e desenvolvimento de sistemas,
disciplina projeto interdisciplinar
aplicado a tecnologia em análise
e desenvolvimento de sistemas
III, apresentado à Anhanguera
Educacional como requisito
paa a avaliação na Atividade
PROINTER , sob orientação do
tutor (a) EAD Ivo Ducatti.
Rio Grande/RS
INTRODUÇÃO
A empresa “Tchê Fit” é uma empresa privada com fins lucrativos e está
situada na cidade de Rio Grande, fundada em outubro de 2018, com o objetivo
de atender a demanda de vendas de comida saudáveis. Seu fundador João R.
é o diretor e conta com um quadro de funcionários que atuam nas seguintes
áreas: Departamento de compras, estoque, produção, entrega e financeiro.
Para a gestão de negócios a empresa possui um software local para o
controle de vendas/distribuição, estoque e controle financeiro. Essa gestão
compreende um estoque classificados com: Legumes, Cereais e Frutas.
Mas devido ao crescimento considerável no ramo da distribuidora de
comidas saudáveis, os gestores da empresa decidiram investir em um projeto
de um website para a comercialização de seus produtos. Dessa forma, foi
contratada uma empresa de desenvolvimento de software. Para a execução do
projeto, a empresa contratou sua equipe para algumas tarefas importantes no
decorrer do processo, conforme os itens descritos nas atividades.
DESENVOLVIMENTO
As funcionalidades do sistema são mostradas nas figuras, onde são
apresentadas por usuário. Essas funcionalidades são detalhadas ao decorrer
do trabalho.
Conforme apresentado, o sistema será totalmente online, onde os
clientes que tiverem interesse em seus produtos deverão entrar em contato
pelo telefone que será disponibilizado no site. O administrador do sistema será
responsável por buscar informações através do cadastro que o próprio cliente
realizará.
Disponibilizado o acesso o administrador do estabelecimento em
questão poderá realizar a manutenção de sua marca, gerenciar usuários,
controlar o funcionamento do estabelecimento e gerenciar os produtos. A
manutenção de usuário vai permitir o administrador incluir cargos aos usuários,
funcionários e entregadores.
No gerenciamento de produtos, o administrador vai poder realizar a
manutenção de produtos informando as marcas cadastradas que compõem ou
poderão compor o produto e referenciar o produto a um catalogo
disponibilizado pelo administrador do sistema. Usuários que desejam realizar
um pedido no site poderão navegar pelo catalogo selecionando e escolhendo
seus produtos. Só é possível realizar o pedido se o usuário possuir um
cadastro. O cadastro do usuário no sistema poderá ser feito pelo formulário de
acesso ou pelo carrinho de compras (itens do pedido), informando os dados
necessários.
A visualização de pedidos por estabelecimento mostrará todos os
pedidos realizados para o usuário funcionário, enquanto para o entregador
aparecerá apenas os pedidos que devem ou foram entregues. Já a
visualização por usuário mostrará os pedidos que o usuário realizou.
Tem se aumentado considerável os pedidos de forma de delivery fit food
em todo o Brasil, em Rio Grande não será diferente uma ideia inovadora está
sendo criada, pela equipe de análise e desenvolvimento de sistemas da
Faculdade de Rio Grande. Levando-se em consideração que hoje em dia a
maioria das pessoas do mundo possuem acesso à internet, tendo em mente a
maravilha que é a rede mundial. O sistema não contemplará emissão de notas
ou cupons fiscais, funcionalidades do sistema serão projetadas para
dispositivos web. O estabelecimento deve possuir um link de internet e também
deve possuir um cadastro no sistema.
O diferencial do sistema é a listagem de produtos por catálogo, onde os
usuários buscam diretamente suas necessidades, por exemplo, uma pessoa
que está querendo um almoço saudável, ela acessa o catálogo “Almoço”, o
sistema busca todos os tipos de almoço disponibilizados no site, após escolher
o que irá querer, o cliente é direcionado para uma tela a qual irá finalizar sua
compra, podendo pagar com cartões de créditos e débito de diversas
bandeiras. A ideia é atender diretamente na necessidade e não apresentar
nenhuma dificuldade ao cliente, os produtos estarão separados por categoria,
evitando descontentamento do público alvo facilitando e agilizando a busca do
cliente.
CNPJ;
Fone (Obrigatório);
E-mail (Obrigatório);
Taxa de entrega;
Atendimento;
CEP (Obrigatório);
UF (Obrigatório);
Endereço (Obrigatório);
Bairro (Obrigatório);
Cidade (Obrigatório);
Os dados da listagem de pesquisa devem contemplar as seguintes
informações:
Nome;
Fone;
ID Tarefa Datas Status Nº Responsável Agosto Setembro Outubro Data Início Data Fim S1 S2 S3 S4 S1 S2 S3 S4 S1 S2 S3 S 4 1 Análise do Projeto 02/10/2018 05/10/2018 100% 1 Flávio Santos 2 Construir o Projeto Básico 06/10/2018 12/10/2018 100% 1 Flávio Santos 3 Reunião do desenvolvimento do projeto 13/10/2018 20/10/2018 90% 1 Flávio Santos
Cronograma de Desenvolvimento
Planejado
Realizado
Definição do Banco de Dados
Um projeto de banco de dados é subdivido em etapas onde o objetivo é
a criação de um banco de dados otimizado que atenda as expectativas do
cliente. E nesse contexto, os modelos de dados são muitos importantes para a
transmissão de ideias entre o cliente e o projetista, bem como facilitar a
manutenção do banco de dados no futuro. O projeto de banco de dados é
basicamente, dividido em Projeto Conceitual, Projeto Lógico e Projeto Físico.
Projeto Conceitual
O Projeto Conceitual se baseia na especificação de requisitos criada na
etapa anterior. A partir deste insumo de informações é gerado um esquema
conceitual do banco de dados. Esquema conceitual é uma visão macro do
banco de dados, uma descrição de alto nível da estrutura. Os modelos de
Entidade-Relacionamento são muito utilizados para descrever os esquemas
conceituais. É importante frisar que nesta fase descreve-se o conteúdo de
informação e não a estrutura onde elas serão armazenadas (tabelas colunas,
visões, etc.).
Projeto Lógico
O Projeto Lógico é a etapa onde mapeamos o conceito dos modelos de
entidade-relacionamento em objetivos de bancos de dados. Nesta fase criamos
os modelos internos de bancos de dados, com detalhes sobre tabelas,
relacionamentos, regras, metadados das colunas (tipo, tamanho,
obrigatoriedade, ...), visões, etc. Ao final, o resultado de um projeto lógico é um
esquema do banco de dados parecido com o modelo conceitual, porém com
mais detalhes de banco de dados e não apenas conceitos.
Projeto Físico
O Projeto Físico é a parte final do projeto de banco de dado, nesta etapa
define-se detalhes técnicos da implementação do banco de dados, por exemplo
a forma como os dados serão armazenados, os scripts para a criação dos
objetos no banco de dados (tabelas visões, colunas, funções, ...), permissão de
acesso de usuário, etc. Esta etapa é fortemente ligada ao SGBD que será
utilizado. A otimização de desempenho do banco de dados é trabalhada nessa
fase do projeto.
Protótipo
Figura 2 – Tela do catálogo onde o cliente poderá selecionar as refeições e encontrará no
carrinho depois.
Figura 3 – Perfil do cliente onde ele poderá ver os pedidos e seus detalhes, e no canto sempre
aparecerá uma promoção.
Códigos
//Fazer O Cadastro public partial class Cadastro : System.Web.UI.Page { string strconn = ConfigurationManager.ConnectionStrings["SqlServerCadastro"].ConnectionString; protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { //Gerar Cadastro if (CheckBox1.Checked == true) { if (Nome.Text == null || CPF.Text == null || DN.Text == null || EMAIL.Text == null || Senha.Text == null) {
error.Text = "Verifique se todos os dados importantes estão preenchidos!"; } else { SqlConnection cnx = new SqlConnection(new ClsFuncoes().conexao); cnx.Open(); string sqltxt = string.Format("INSERT INTO FUNCIONARIO(CPF,Nome,DN,Endereco,Numero,CEP,EMAIL,Senha,F) VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8)'", CPF.Text, Nome.Text, DN.Text, Endereco.Text, Numero.Text, CEP.Text, EMAIL.Text, Senha.Text, CheckBox1.Checked); SqlCommand cmd = new SqlCommand(sqltxt, cnx); cmd.ExecuteNonQuery(); CPF.Text = ""; Nome.Text = ""; DN.Text = ""; Endereco.Text = ""; Numero.Text = ""; CEP.Text = ""; EMAIL.Text = ""; Senha.Text = ""; CheckBox1.Text = ""; } } if (CheckBox1.Checked == false) { if (Nome.Text == null || CPF.Text == null || DN.Text == null || EMAIL.Text == null || Senha.Text == null) { error.Text = "Verifique se todos os dados importantes estão preenchidos!"; } else { SqlConnection cnx = new SqlConnection(new ClsFuncoes().conexao); cnx.Open(); string sqltxt = string.Format("INSERT INTO CADASTRO(CPF,Nome,DN,Endereco,Numero,CEP,EMAIL,Senha) VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}'", CPF.Text, Nome.Text, DN.Text, Endereco.Text, Numero.Text, CEP.Text, EMAIL.Text, Senha.Text); SqlCommand cmd = new SqlCommand(sqltxt, cnx); cmd.ExecuteNonQuery(); CPF.Text = ""; Nome.Text = ""; DN.Text = ""; Endereco.Text = ""; Numero.Text = ""; CEP.Text = ""; EMAIL.Text = ""; Senha.Text = ""; } } } protected void Button2_Click(object sender, EventArgs e) { //Ir para página de Login } protected void Button3_Click(object sender, EventArgs e) { SqlConnection cnx = new SqlConnection(new ClsFuncoes().conexao); cnx.Open(); string sqltxt = string.Format("INSERT INTO COMIDA(ID, Nome, Qtd, Cal, Valor, ID) VALUES('{0}','{1}','{2}','{3}','{4}'", ID.Text, Nome.Text, Qtd.Text, Cal.Text, Valor.Text); SqlCommand cmd = new SqlCommand(sqltxt, cnx); cmd.ExecuteNonQuery(); ID.Text = ""; Nome.Text = ""; Qtd.Text = ""; Cal.Text = "";
protected void Button2_Click(object sender, EventArgs e) { } public int Money { get { return din; } } } //Calculos dos Pedidos public partial class Pedidos : System.Web.UI.Page { public static Double carteira = 500; public Double valor1 = 14.99; public Double valor2 = 7.99; public Double valor3 = 5.99; public Double valor4 = 9.99; public Double valor5 = 11.99; protected void Page_Load(object sender, EventArgs e) { } public void Comida1_Click(object sender, EventArgs e) { if(carteira >= valor1) { carteira += - valor1; Cart.Text = Convert.ToString(carteira); } else { lbl_error.Text = "Saldo Insuficiente."; } } public void Comida2_Click(object sender, EventArgs e) { if (carteira >= valor2) { carteira += - valor2; Cart.Text = Convert.ToString(carteira); } else { lbl_error.Text = "Saldo Insuficiente."; } } public void Comida3_Click(object sender, EventArgs e) { if (carteira >= valor3) { carteira += - valor3; Cart.Text = Convert.ToString(carteira); } else { lbl_error.Text = "Saldo Insuficiente."; } } public void Comida4_Click(object sender, EventArgs e) { if (carteira >= valor4) { carteira += - valor4; Cart.Text = Convert.ToString(carteira); } else {
lbl_error.Text = "Saldo Insuficiente."; } } public void Comida5_Click(object sender, EventArgs e) { if (carteira >= valor5) { carteira += - valor5; Cart.Text = Convert.ToString(carteira); } else { lbl_error.Text = "Saldo Insuficiente."; } } }
Códigos Banco de Dados
CREATE TABLE CADASTRO (
[Nome] VARCHAR ( 50 ) NOT NULL,
[CPF] VARCHAR ( 11 ) NOT NULL,
[DN] VARCHAR ( 10 ) NOT NULL,
[Endereco] VARCHAR ( 50 ) NULL,
[Numero] VARCHAR ( 10 ) NULL,
[CEP] VARCHAR ( 20 ) NULL,
[EMAIL] VARCHAR ( 50 ) NOT NULL,
[Senha] VARCHAR ( 20 ) NOT NULL,
[Carteira] REAL NULL,
PRIMARY KEY CLUSTERED ([CPF] ASC)
CREATE TABLE FUNCIONARIOS
[Nome] VARCHAR ( 50 ) NOT NULL,
[CPF] VARCHAR ( 11 ) NOT NULL,
[DN] VARCHAR ( 10 ) NOT NULL,
[Endereco] VARCHAR ( 50 ) NULL,
[Numero] VARCHAR ( 10 ) NULL,
[CEP] VARCHAR ( 20 ) NULL,
[EMAIL] VARCHAR ( 50 ) NOT NULL,
[Senha] VARCHAR ( 20 ) NOT NULL,
[Func] INT NULL,
PRIMARY KEY CLUSTERED ([CPF] ASC)
CREATE TABLE COMIDAS
[Nome] VARCHAR ( 30 ) NOT NULL,
[Qtd] VARCHAR ( 10 ) NOT NULL,
[Cal] VARCHAR ( 10 ) NOT NULL,
[Valor] VARCHAR ( 10 ) NULL,
[ID] VARCHAR ( 10 ) NULL,
PRIMARY KEY CLUSTERED ([ID] ASC)
CONCLUSÃO