Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

1 
 
 
UNOPAR–ANHANGUERA–ES 
 
 
 
 
 
 
 
 
 
PORTIFÓLIO–RELATÓRIO DE AULA PRÁTICA 
NOME DA DISCIPLINA: PROJETO INTEGRADO 
INOVAÇÃO. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
CARIACICA/ES 2025 
2 
 
 
ALUNO: 
 IGOR BARBOSA DOS SANTOS 
 
 
 
 
 
 
 
 
 
 
PORTFÓLIO–RELATÓRIODEAULAPRÁTICA 
NOME DA DISCIPLINA: PROJETO INTEGRADO 
INOVAÇÃO 
 
 
 
 
 
 
 
 
Trabalho apresentado ao Curso (Desenvolvedor Mobile) 
da UNOPAR –Anhanguera,para a disciplina Projeto 
Integrado Inovação. 
 
Orientador(a): Joice Siqueira Lima Romanini 
 
 
 
 
 
 
 
 
 
 
CARIACICA/ES 2025 
3 
Sumário 
 
1. INTRODUÇÃO............................................ 
2. DESENVOLVIMENTO............................................... 
 3. RESULTADO...................................................... 
 4.CONCLUSÃO................................................................ 
 
4 
 
 
 
Introdução. 
 
A atividade proposta de Projeto Integrado Inovação, busca simular uma demanda que acontece em 
uma loja de calçados chamada “Passo Certo”, onde há alguns passos a serem seguidos para o 
aprimoramento dos serviços e da gestão dos produtos. Passo a passo será descrito em tarefas e a 
finalidades de cada uma delas na prática nesta atividade. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5 
 
Desenvolvimento. 
 
 -Passo 1: 
-Nesse passo a tarefa é criar o diagrama de classes que represente este sistema (O sistema deve 
permitir o cadastro, alteração, exclusão e consulta de sapatos, identificados por código, marca, 
tamanho e valor. Os clientes, que possuem informações como código, nome, endereço, telefone, 
CPF e CEP, poderão realizar pedidos. Já os fornecedores, identificados por código, nome, 
endereço, telefone e CNPJ, serão responsáveis por abastecer a loja com produtos). 
-simular um cenário em que um cliente realiza um pedido, o vendedor processa a remessa, e um 
pedido ao fornecedor é registrado para reposição de estoque. 
 
 
 
6 
Para demonstrar a aplicação prática das classes modeladas no sistema da loja Passo Certo, foi 
realizada uma simulação baseada em um cenário realista, que representa o fluxo completo de um 
pedido, desde a solicitação do cliente até a reposição de estoque com o fornecedor. 
Em um dia típico de funcionamento, a cliente Maria acessa a loja interessada em dois modelos de 
sapato: um da Nike, tamanho 42, e outro da Adidas, tamanho 40. Após fazer sua escolha, ela 
conclui o pedido com sucesso. O sistema automaticamente calcula o valor total da compra, 
aplicando descontos apropriados, e registra o pagamento. Logo em seguida, o pedido entra em fase 
de remessa, sendo processado por um dos vendedores da loja. 
O vendedor João, ao autenticar-se no sistema com sua senha, acompanha o status do pedido e 
identifica que os modelos solicitados por Maria estão em baixa no estoque. Para evitar 
desabastecimento, ele realiza um novo pedido ao fornecedor. O fornecedor escolhido, 
Distribuidora XYZ, recebe o pedido de reposição contendo os mesmos modelos adquiridos por 
Maria. O sistema calcula o valor total desse novo pedido e processa a remessa dos produtos ao 
centro de distribuição da loja. 
Com essa simulação, é possível observar o funcionamento coordenado entre cliente, vendedor e 
fornecedor dentro do sistema proposto. Cada interação é representada por classes específicas, com 
métodos que refletem ações reais de um ambiente de vendas. Assim, a loja Passo Certo consegue 
manter o atendimento eficiente, atualizar seu estoque e oferecer uma experiência satisfatória ao 
cliente. 
-Passo 2 
 Neste passo o objetivo é criar a tela inicial da ferramenta Android Studio, criando um novo projeto 
no Empty Activity, editando os comando no activity_main.xml, MainActivity.java e 
ResumoActivity.java. Nas imagens a seguir mostra como foi feito respectivamente: 
 
 
7 
 
 
 
 
 
 
 
 
8 
 
 
 
 
Códigos: 
- Layout da Tela Inicial (activity_main.xml) 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
-Lógica na MainActivity.java (SharedPreferences + Navegação) 
 
// MainActivity.java 
package com.example.passocertoapp; 
 
import android.content.Intent; 
import android.content.SharedPreferences; 
import android.os.Bundle; 
import android.widget.*; 
import androidx.appcompat.app.AppCompatActivity; 
 
public class MainActivity extends AppCompatActivity { 
 
 EditText etNome; 
10 
 Button btnSalvar, btnProximo; 
 TextView tvBoasVindas; 
 SharedPreferences sharedPreferences; 
 public static final String PREFS_NAME = "PrefsApp"; 
 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
 setContentView(R.layout.activity_main); 
 
 etNome = findViewById(R.id.etNome); 
 btnSalvar = findViewById(R.id.btnSalvar); 
 btnProximo = findViewById(R.id.btnProximo); 
 tvBoasVindas = findViewById(R.id.tvBoasVindas); 
 
 sharedPreferences = getSharedPreferences(PREFS_NAME, MODE_PRIVATE); 
 String nomeSalvo = sharedPreferences.getString("nome_vendedor", null); 
 
 if (nomeSalvo != null) { 
 tvBoasVindas.setText("Bem-vindo de volta, " + nomeSalvo + "!"); 
 } 
 
 btnSalvar.setOnClickListener(v -> { 
 String nome = etNome.getText().toString(); 
 if (!nome.isEmpty()) { 
 SharedPreferences.Editor editor = sharedPreferences.edit(); 
 editor.putString("nome_vendedor", nome); 
 editor.apply(); 
 tvBoasVindas.setText("Bem-vindo, " + nome + "!"); 
 Toast.makeText(this, "Nome salvo!", Toast.LENGTH_SHORT).show(); 
 } 
 }); 
 
 btnProximo.setOnClickListener(v -> { 
 Intent intent = new Intent(MainActivity.this, ResumoActivity.class); 
 startActivity(intent); 
 }); 
 } 
} 
 
 
 
11 
-Segunda Tela (ResumoActivity.java) 
 
// ResumoActivity.java 
package com.example.passocertoapp; 
 
import android.os.Bundle; 
import android.widget.TextView; 
import androidx.appcompat.app.AppCompatActivity;public class ResumoActivity extends AppCompatActivity { 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
 TextView textView = new TextView(this); 
 textView.setText("Bem-vindo à tela de resumo!"); 
 textView.setTextSize(20f); 
 setContentView(textView); 
 } 
} 
 
 
-Adicionar a ResumoActivity no AndroidManifest.xml 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12 
 
- Passo 3 
 
Nas imagens abaixo, foi ultilizado a ferramenta Android Studio para criar, repectivamente, uma 
estrutura de projeto Java com as Classes; Definir as Classes do Sistema (sapatos, cliente, fornecedor, 
vendedor, pedido, pedido cliente, pedido fornecedor) ; Implementar os Atributos e Métodos; Simular o 
Cenário. 
 
 
 
 
 
13 
 
 
 
 
 
 
 
 
 
 
 
 
14 
 
 
 
 
 
 
 
 
 
 
 
 
15 
 
 
 
 
 
 
 
 
 
 
 
 
16 
 
Códigos: 
 
Sapato 
 
 
package com.passocerto; 
 
public class Sapato { 
 private int codigo; 
 private String marca; 
 private int tamanho; 
 private double valor; 
 
 public Sapato(int codigo, String marca, int tamanho, double valor) { 
 this.codigo = codigo; 
 this.marca = marca; 
 this.tamanho = tamanho; 
 this.valor = valor; 
 } 
 
 public double getValor() { 
 return valor; 
 } 
 
 public String toString() { 
 return marca + " - Tam: " + tamanho + " - R$" + valor; 
 } 
} 
 
 
 
 
Cliente 
 
 
package com.passocerto; 
 
public class Cliente { 
 private int codigo; 
 private String nome; 
 private String endereco; 
 private String telefone; 
 private String cpf; 
 private String cep; 
 
 public Cliente(int codigo, String nome, String endereco, String telefone, String cpf, String cep) { 
 this.codigo = codigo; 
 this.nome = nome; 
 this.endereco = endereco; 
 this.telefone = telefone; 
 this.cpf = cpf; 
 this.cep = cep; 
 } 
17 
 
 public String getNome() { 
 return nome; 
 } 
} 
 
 
 
 
Fornecedor 
 
 
 
package com.passocerto; 
 
public class Fornecedor { 
 private int codigo; 
 private String nome; 
 private String endereco; 
 private String telefone; 
 private String cnpj; 
 
 public Fornecedor(int codigo, String nome, String endereco, String telefone, String cnpj) { 
 this.codigo = codigo; 
 this.nome = nome; 
 this.endereco = endereco; 
 this.telefone = telefone; 
 this.cnpj = cnpj; 
 } 
 
 public String getNome() { 
 return nome; 
 } 
} 
 
 
 
 
Vendedor 
 
 
 
package com.passocerto; 
 
public class Vendedor { 
 private int codigo; 
 private String nome; 
 private String senha; 
 
 public Vendedor(int codigo, String nome, String senha) { 
 this.codigo = codigo; 
 this.nome = nome; 
 this.senha = senha; 
 } 
18 
 
 public String getNome() { 
 return nome; 
 } 
 
 public void processarRemessa(PedidoCliente pedido) { 
 System.out.println("Remessa processada para o cliente: " + pedido.getCliente().getNome()); 
 } 
} 
 
 
 
 
 
 
 
 
 
 
 
 
Pedido 
 
 
package com.passocerto; 
 
import java.util.ArrayList; 
import java.util.Date; 
import java.util.List; 
 
public abstract class Pedido { 
 protected int codigo; 
 protected Date data; 
 protected List sapatos = new ArrayList(); 
 
 public Pedido(int codigo, Date data) { 
 this.codigo = codigo; 
 this.data = data; 
 } 
 
 public void adicionarSapato(Sapato sapato) { 
 sapatos.add(sapato); 
 } 
 
 public double calcularValorTotal() { 
 double total = 0; 
 for (Sapato s : sapatos) { 
 total += s.getValor(); 
 } 
 return total; 
 } 
} 
 
 
19 
 
PedidoCliente 
 
 
package com.passocerto; 
 
import java.util.Date; 
 
public class PedidoCliente extends Pedido { 
 private Cliente cliente; 
 private Date dataRemessa; 
 
 public PedidoCliente(int codigo, Date data, Cliente cliente, Date dataRemessa) { 
 super(codigo, data); 
 this.cliente = cliente; 
 this.dataRemessa = dataRemessa; 
 } 
 
 public Cliente getCliente() { 
 return cliente; 
 } 
 
 public void registrarPagamento() { 
 System.out.println("Pagamento registrado para " + cliente.getNome()); 
 } 
} 
 
 
 
 
PedidoFornecedor 
 
 
package com.passocerto; 
 
import java.util.Date; 
 
public class PedidoFornecedor extends Pedido { 
 private Fornecedor fornecedor; 
 private Date dataRecebimento; 
 
 public PedidoFornecedor(int codigo, Date data, Fornecedor fornecedor, Date dataRecebimento) { 
 super(codigo, data); 
 this.fornecedor = fornecedor; 
 this.dataRecebimento = dataRecebimento; 
 } 
 
 public void confirmarRecebimento() { 
 System.out.println("Pedido recebido do fornecedor: " + fornecedor.getNome()); 
 } 
} 
 
 
 
20 
 
 
 
Main Para Simulação 
 
 
 
package com.passocerto; 
 
import java.util.Date; 
 
public class Main { 
 public static void main(String[] args) { 
 // Cadastro de entidades 
 Cliente cliente = new Cliente(1, "João", "Rua A", "99999-9999", "123.456.789-00", "12345-678"); 
 Fornecedor fornecedor = new Fornecedor(1, "Fornecedor X", "Rua F", "88888-8888", 
"12.345.678/0001-99"); 
 Vendedor vendedor = new Vendedor(1, "Maria", "senha123"); 
 Sapato sapato = new Sapato(1, "Nike", 42, 299.90); 
 
 // Pedido Cliente 
 PedidoCliente pedidoCliente = new PedidoCliente(1, new Date(), cliente, new Date()); 
 pedidoCliente.adicionarSapato(sapato); 
 System.out.println("Valor total do pedido do cliente: R$" + pedidoCliente.calcularValorTotal()); 
 pedidoCliente.registrarPagamento(); 
 vendedor.processarRemessa(pedidoCliente); 
 
 // Pedido Fornecedor 
 PedidoFornecedor pedidoFornecedor = new PedidoFornecedor(2, new Date(), fornecedor, new 
Date()); 
 pedidoFornecedor.adicionarSapato(sapato); 
 System.out.println("Valor total do pedido ao fornecedor: R$" + 
pedidoFornecedor.calcularValorTotal()); 
 pedidoFornecedor.confirmarRecebimento(); 
 } 
} 
 
 
 
21 
 
Passo 4 
 
Criar um Diagrama Entidade-Relacionamento (ER) com base nas seguintes classes/sistemas: Sapato, 
Pedido, Vendedor, Cliente, PedidoCliente, PedidoFornecedor, Fornecedor. 
 
 
Entidade Relacionamento Tipo Cardinalidade 
Pedido - Cliente 
Um pedido é feito por um único 
cliente 
1:N 
Um cliente → muitos 
pedidos 
Pedido - Sapato 
Um pedido pode conter vários 
sapatos 
N:N (via 
PedidoSapato) 
Pedido ↔ Sapato 
Pedido - Vendedor 
Um vendedor pode gerenciar vários 
pedidos 
1:N 
Vendedor → muitos 
pedidos 
Fornecedor - Sapato 
Um fornecedor fornece vários 
sapatos 
1:N 
Fornecedor → muitos 
sapatos 
PedidoFornecedor - 
Fornecedor 
Cada pedidoFornecedor tem um 
fornecedor 
1:1 ou 1:N 
Fornecedor → muitos 
pedidos 
PedidoCliente - Cliente Cada pedidoCliente tem um cliente 1:1 ou 1:N 
Cliente → muitos 
pedidos 
 
 
 
Reresentação do Diagrama ER descrito: 
CLIENTE (IDCliente, Nome, Endereço, Telefone, CPF, CEP) 
 | 
 |------ SAPATO 
(IDSapato, Nome, Marca, Tamanho, Cor, Preço, IDFornecedor) 
 | 
 |--- VENDEDOR (IDVendedor, Nome, Contato) 
 | 
 |--- FORNECEDOR (IDFornecedor, Nome, Endereço, Telefone, CNPJ) 
 
 
 
 
 
 
 
 
 
22 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23 
 
 
Passo 5 
 
Criação do Banco de Dados (DDL - SQL) 
 
Neste passo, vamos gerar os comandos SQL (DDL) para criar as tabelas no banco de dados 
relacional com base no Diagrama Entidade-Relacionamento(ER) que você já viu no Passo 4. 
 
 
-- Tabela CLIENTE 
CREATE TABLE Cliente ( 
 IDCliente INT PRIMARY KEY AUTO_INCREMENT, 
 Nome VARCHAR(100), 
 Endereco VARCHAR(150), 
 Telefone VARCHAR(20), 
 CPF VARCHAR(14), 
 CEP VARCHAR(10) 
); 
 
-- Tabela FORNECEDOR 
CREATE TABLE Fornecedor ( 
 IDFornecedor INT PRIMARY KEY AUTO_INCREMENT, 
 Nome VARCHAR(100), 
 Endereco VARCHAR(150), 
 Telefone VARCHAR(20), 
 CNPJ VARCHAR(18) 
); 
 
-- Tabela VENDEDOR 
CREATE TABLE Vendedor ( 
 IDVendedor INT PRIMARY KEY AUTO_INCREMENT, 
 Nome VARCHAR(100), 
 Contato VARCHAR(50) 
); 
 
-- Tabela SAPATO 
CREATE TABLE Sapato ( 
 IDSapato INT PRIMARY KEY AUTO_INCREMENT, 
 Nome VARCHAR(100), 
 Marca VARCHAR(50), 
 Tamanho INT, 
 Cor VARCHAR(30), 
 Preco DECIMAL(10,2), 
 IDFornecedor INT, 
 FOREIGN KEY (IDFornecedor) REFERENCES Fornecedor(IDFornecedor) 
); 
 
-- Tabela PEDIDO 
CREATE TABLE Pedido ( 
 IDPedido INT PRIMARY KEY AUTO_INCREMENT, 
 Data DATE, 
 Status VARCHAR(30), 
 Quantidade INT, 
24 
 Tipo VARCHAR(20), 
 IDVendedor INT, 
 IDCliente INT, 
 IDFornecedor INT, 
 FOREIGN KEY (IDVendedor) REFERENCES Vendedor(IDVendedor), 
 FOREIGN KEY (IDCliente) REFERENCES Cliente(IDCliente), 
 FOREIGN KEY (IDFornecedor) REFERENCES Fornecedor(IDFornecedor) 
); 
 
-- Tabela PEDIDO_SAPATO (associativa entre Pedido e Sapato) 
CREATE TABLE Pedido_Sapato ( 
 IDPedido INT, 
 IDSapato INT, 
 Quantidade INT, 
 ValorUnitario DECIMAL(10,2), 
 PRIMARY KEY (IDPedido, IDSapato), 
 FOREIGN KEY (IDPedido) REFERENCES Pedido(IDPedido), 
 FOREIGN KEY (IDSapato) REFERENCES Sapato(IDSapato) 
); 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25 
Referências 
 
-ABNT NBR ISO/IEC 12207:2009 – ENGENHARIA DE SOFTWARE – PROCESSOS DO CICLO DE VIDA DE 
SOFTWARE. RIO DE JANEIRO: ABNT, 2009. 
 
- ABNT NBR ISO/IEC 9126 – 1:2005 – ENGENHARIA DE SOFTWARE – QUALIDADE DE PRODUTO – 
PARTE 1: Modelo de qualidade. Rio de Janeiro, ABNt,2005. 
 
- ABNT NBR ISO/IEC 25010:2011 – SISTEMAS E SOFTWARE DE ENGENHARIA – REQUISITOS DE QUALIDADE 
E AVALIAÇÃO DE SISTEMAS E SOFTWARE (AQUARE) – MODELO DE QUALIDADE E PRODUTO. Rio de 
Janeiro: ABNT, 2011. 
 
-ABNT NBR 6023:2018 – INFORMAÇÃO E DOCUMENTAÇÃO – REFERÊNCIA – ELABORAÇÃO. Rio de 
Janeiro: ABNT, 2018. 
26 
 
	ALUNO:
	IGOR BARBOSA DOS SANTOS
	Introdução.
	A atividade proposta de Projeto Integrado Inovação, busca simular uma demanda que acontece em uma loja de calçados chamada “Passo Certo”, onde há alguns passos a serem seguidos para o aprimoramento dos serviços e da gestão dos produtos. Passo a passo ...
	Desenvolvimento.
	-Passo 1:
	-Nesse passo a tarefa é criar o diagrama de classes que represente este sistema (O sistema deve permitir o cadastro, alteração, exclusão e consulta de sapatos, identificados por código, marca, tamanho e valor. Os clientes, que possuem informações como...
	-simular um cenário em que um cliente realiza um pedido, o vendedor processa a remessa, e um pedido ao fornecedor é registrado para reposição de estoque.
	-Passo 2
	Códigos:
	- Layout da Tela Inicial (activity_main.xml)
	
	
	
	 (1)
	 (2)
	 (3)
	
	-Lógica na MainActivity.java (SharedPreferences + Navegação)
	// MainActivity.java
	package com.example.passocertoapp;
	import android.content.Intent;
	import android.content.SharedPreferences;
	import android.os.Bundle;
	import android.widget.*;
	import androidx.appcompat.app.AppCompatActivity;
	public class MainActivity extends AppCompatActivity {
	EditText etNome;
	Button btnSalvar, btnProximo;
	TextView tvBoasVindas;
	SharedPreferences sharedPreferences;
	public static final String PREFS_NAME = "PrefsApp";
	@Override
	protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
	etNome = findViewById(R.id.etNome);
	btnSalvar = findViewById(R.id.btnSalvar);
	btnProximo = findViewById(R.id.btnProximo);
	tvBoasVindas = findViewById(R.id.tvBoasVindas);
	sharedPreferences = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
	String nomeSalvo = sharedPreferences.getString("nome_vendedor", null);
	if (nomeSalvo != null) {
	tvBoasVindas.setText("Bem-vindo de volta, " + nomeSalvo + "!");
	}
	btnSalvar.setOnClickListener(v -> {
	String nome = etNome.getText().toString();
	if (!nome.isEmpty()) {
	SharedPreferences.Editor editor = sharedPreferences.edit();
	editor.putString("nome_vendedor", nome);
	editor.apply();
	tvBoasVindas.setText("Bem-vindo, " + nome + "!");
	Toast.makeText(this, "Nome salvo!", Toast.LENGTH_SHORT).show();
	} (1)
	});
	btnProximo.setOnClickListener(v -> {
	Intent intent = new Intent(MainActivity.this, ResumoActivity.class);
	startActivity(intent);
	}); (1)
	} (2)
	} (3)
	-Segunda Tela (ResumoActivity.java)
	// ResumoActivity.java
	package com.example.passocertoapp; (1)
	import android.os.Bundle; (1)
	import android.widget.TextView;
	import androidx.appcompat.app.AppCompatActivity; (1)
	public class ResumoActivity extends AppCompatActivity {
	@Override (1)
	protected void onCreate(Bundle savedInstanceState) { (1)
	super.onCreate(savedInstanceState); (1)
	TextView textView = new TextView(this);
	textView.setText("Bem-vindo à tela de resumo!");
	textView.setTextSize(20f);
	setContentView(textView);
	} (4)
	} (5)
	-Adicionar a ResumoActivity no AndroidManifest.xml
	
	Referências

Mais conteúdos dessa disciplina