Você está na página 1de 20

Modelagem e Desenvolvimento Orientado a Objetos - Prof.

Evandro Teruel

Data: 07/02/2022
Conteúdo:
- Apresentação da disciplina
- Mercado de trabalho
- Contextualização da disciplina na área de TI
- Instalação dos recursos necessários

Java Development Kit (16)


32 bits - x86
https://drive.google.com/file/d/1Nii2XPMAuvtA6LOhJ3JEure0CU1FlylE/view?usp=sharing
https://www.oracle.com/java/technologies/downloads/#java8-windows

Java Development Kit (16)


64 bits - x64
https://www.oracle.com/java/technologies/downloads/#jdk17-windows

NetBeans (12.4) - x64


https://netbeans.apache.org/download/index.html

NetBeans 8.2 - x86


https://drive.google.com/file/d/1WxL90SxHNfsRvMy_t0yQDVlpikRgeFvA/view

Aulas de Java no Youtube


https://www.youtube.com/playlist?list=PLmhTO6CBiifN2lUEIin5dLUGoJoWP3SVn
https://www.youtube.com/c/DinheiroDigitalCriptomoedasparainiciantes/videos

Livro de Java
https://www.uninove.br/biblioteca-ebooks

Data: 10/02/2022
Conteúdos:
- Informações sobre linguagens de programação
- Instalação dos recursos (revisão)
- Criação de projeto
- Criação de programa Java
- Compilação e execução
Modelagem e Desenvolvimento Orientado a Objetos - Prof. Evandro Teruel

Desenvolver software para celular (mobile)


- React native (javascript + html + css)
- Flutter
- Cordova
- Ionic
- Xamarin

Desenvolver site
- HTML, CSS, JavaScript (JQuery, Angular, React) - Front-end
- PHP, ASP.Net ou Java (Servlet/JSP) - Back-end

Desenvolver para desktop


- Java SE
- C#, C, C++
- Python (com Inteligência artificial, ciência de dados ou
software hacker)

Data: 14/02/2022
Conteúdos:
- Tipos de dados
- Variáveis
- Estruturas de seleção
- Entrada, processamento e saída de dados
- Exemplos práticos

import javax.swing.JOptionPane;
public class Teste {

public static void main(String[] args) {


String nome, endereco, enderecoTrabalho;
nome = JOptionPane.showInputDialog("Qual seu nome?");
endereco = JOptionPane.showInputDialog("Qual seu endereço residencial?");
enderecoTrabalho = JOptionPane.showInputDialog("Qual seu endereço
comercial");
JOptionPane.showMessageDialog(null, "Bem-vindo " + nome);
JOptionPane.showMessageDialog(null, "Você mora na " + endereco);
Modelagem e Desenvolvimento Orientado a Objetos - Prof. Evandro Teruel

}
}

Data: 17/02/2022
Conteúdos:
- Tipos de dados
- Variáveis
- Estruturas de seleção
- Entrada, processamento e saída de dados
- Exemplos práticos

import javax.swing.JOptionPane;

public class Teste {

public static void main(String[] args) {


//Declaração de variáveis
String nome, endereco, telefone;

// Armazena valores nas variáveis


nome = JOptionPane.showInputDialog("Qual o seu Nome?");
endereco = JOptionPane.showInputDialog("Qual o seu
endereço?");
telefone = JOptionPane.showInputDialog("Qual o seu Telefone?");

//Exibe na tela o conteúdo das variáveis de memória


JOptionPane.showMessageDialog(null,"Seu nome é " + nome);
JOptionPane.showMessageDialog(null, "Seu endereço é " +
endereco);
JOptionPane.showMessageDialog(null, "Seu telefone é " +
telefone);
}
}
Modelagem e Desenvolvimento Orientado a Objetos - Prof. Evandro Teruel

Data: 21/02/2022
Conteúdos:
- Tipos de dados
- Variáveis
- Entrada, processamento e saída de dados
- Tratamento de exceção
- Exemplos práticos

import javax.swing.JOptionPane;

public class Teste {

public static void main(String[] args) {


//Declaração de variáveis
String nome, endereco, telefone; //cadeia de caracteres
int idade; //Armazena números inteiros (45)
double altura, salario; // armazena números reais (1.87) (16578.50)

// Armazena valores nas variáveis (perguntas)


nome = JOptionPane.showInputDialog("Qual o seu Nome?");
endereco = JOptionPane.showInputDialog("Qual o seu endereço?");
telefone = JOptionPane.showInputDialog("Qual o seu Telefone?");
idade = Integer.parseInt(JOptionPane.showInputDialog("Qual sua idade?"));
altura = Double.parseDouble(JOptionPane.showInputDialog("Qual sua
altura?"));
salario = Double.parseDouble(JOptionPane.showInputDialog("Qual seu
salário?"));

//Exibe na tela o conteúdo das variáveis de memória


JOptionPane.showMessageDialog(null,"Seu nome é " + nome);
JOptionPane.showMessageDialog(null, "Seu endereço é " + endereco);
JOptionPane.showMessageDialog(null, "Seu telefone é " + telefone);
JOptionPane.showMessageDialog(null, "Sua idade é " + idade);
JOptionPane.showMessageDialog(null, "Você tem " + altura + " metros");
JOptionPane.showMessageDialog(null, "Seu salário é " + salario);
}
}
Modelagem e Desenvolvimento Orientado a Objetos - Prof. Evandro Teruel

Aumentar o salário (subtrair)


100% => 100/100 => 1.00
40% => 40/100 => 0.40
—---
1.40
salario = salario * 1.40;

Diminuir o salário (subtrair)


100% => 100/100 => 1.00
40% => 40/100 => 0.40
----
0.60
salario = salario * 0.60;

Tipos de dados

String → Cadeia de caracteres (nome, endereço, bairro, cidade, telefone)

String nome;
nome = “João da Silva”;

String nome;
nome = JOptionPane.showInputDialog(“Qual seu nome”);

Tipos Inteiros
Modelagem e Desenvolvimento Orientado a Objetos - Prof. Evandro Teruel

byte → pequenos (1 posição de memória) - 2^8 / 2 = de -128 até 127


short → médio (2 posições de memória) - 2^16 / 2 = de -32768 até 32767
int → médio (4 posições de memória) - 2^32 / 2 = de -2147483648 até 2147483647
long → grande (8 posições de memória) - 2^64 / 2 = de ? até ?

int é a recomendação padrão do java para inteiros

Tipos Reais

float → 4 posições de memória


double → 8 posições de memória

float pi;
pi = 3.141585;

double pi;
pi = 3.141585;

double é a recomendação do Java para números reais

Exemplo da aula

import javax.swing.JOptionPane;
Modelagem e Desenvolvimento Orientado a Objetos - Prof. Evandro Teruel

public class Teste {

public static void main(String[] args) {


//Declaração de variáveis
String nome, endereco, telefone; //cadeia de caracteres
byte idade; //Armazena números inteiros (45)
float altura, salario; // armazena números reais (1.87)
(16578.50)

// Armazena valores nas variáveis (perguntas)


nome = JOptionPane.showInputDialog("Qual o seu Nome?");
endereco = JOptionPane.showInputDialog("Qual o seu
endereço?");
telefone = JOptionPane.showInputDialog("Qual o seu
Telefone?");
try {
idade = Byte.parseByte(JOptionPane.showInputDialog("Qual
sua idade?"));
} catch(NumberFormatException e){
JOptionPane.showMessageDialog(null,"Idade fora da faixa
suportada. Mensagem de erro: " + e.getMessage());
return;// Interrompe a execução do programa
}
try{
altura = Float.parseFloat(JOptionPane.showInputDialog("Qual
sua altura?"));
} catch (NumberFormatException e){
JOptionPane.showMessageDialog(null,"Digite um valor real
suportado. Mensagem de erro: " + e.getMessage());
return;// Interrompe a execução do programa
}
try{
salario =
Float.parseFloat(JOptionPane.showInputDialog("Qual seu
salário?"));
Modelagem e Desenvolvimento Orientado a Objetos - Prof. Evandro Teruel

} catch (NumberFormatException e){


JOptionPane.showMessageDialog(null,"Digite um valor real
suportado para o salário. Mensagem de erro: " + e.getMessage());
return;// Interrompe a execução do programa
}
salario = salario * 1.40F; //Aumentar em 40%

//Exibe na tela o conteúdo das variáveis de memória


JOptionPane.showMessageDialog(null,"Seu nome é " +
nome);
JOptionPane.showMessageDialog(null, "Seu endereço é " +
endereco);
JOptionPane.showMessageDialog(null, "Seu telefone é " +
telefone);
JOptionPane.showMessageDialog(null, "Sua idade é " +
idade);
JOptionPane.showMessageDialog(null, "Você tem " + altura +
" metros");

System.out.println("Seu salário é " + salario);


JOptionPane.showMessageDialog(null, "Seu salário é " +
salario);

}
}

Data: 24/02/2022
Conteúdos:
- Criação de formulários
Modelagem e Desenvolvimento Orientado a Objetos - Prof. Evandro Teruel

Exemplo.java

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Exemplo extends JFrame {

//Construtor - gerar os elementos de tela.


//Deve ter o mesmo nome da classe
public Exemplo() {
//Criar a janela
setLayout(null); //você criará seu próprio layout
setTitle("Controle de clientes");
setSize(800,300); //tamanho da janela - 500px largura e 300px
altura
setDefaultCloseOperation(EXIT_ON_CLOSE); //Ao clicar no X
da janela ele fecha da tela e da memória
setLocation(200,300); // 200px margem esquerda e 300px
acima
Modelagem e Desenvolvimento Orientado a Objetos - Prof. Evandro Teruel

//Comando para colocar elementos na janela


JLabel lblNome; //Declarando a variável do rótulo
lblNome = new JLabel("Nome"); // Determina o que aparecerá
escrito no rótulo
lblNome.setSize(80,30); //Determina a largura e altura do rótulo
lblNome.setLocation(10,20); //Determina margem esquerda e
superior
add(lblNome); // Adiciona o rótulo na janela JFrame

JTextField txtNome;
txtNome = new JTextField();
txtNome.setSize(400,30);
txtNome.setLocation(50, 20);
add(txtNome);

public static void main(String[] args) {


Exemplo ex;
ex = new Exemplo();
ex.setVisible(true);
}
}

Data: 03/03/2022
Conteúdos:
- Criação de formulários
Modelagem e Desenvolvimento Orientado a Objetos - Prof. Evandro Teruel

Classe Exemplo.java

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class Exemplo extends JFrame {


//Atributos
private JLabel lblNome, lblEndereco;
private JTextField txtNome, txtEndereco;
private JButton btnSalvar;

//Construtor - gerar os elementos de tela.


//Deve ter o mesmo nome da classe
public Exemplo() {
//Criar a janela
setLayout(null); //você criará seu próprio layout
setTitle("Controle de clientes");
setSize(800,300); //tamanho da janela - 500px largura e 300px
altura
setDefaultCloseOperation(EXIT_ON_CLOSE); //Ao clicar no X
da janela ele fecha da tela e da memória
Modelagem e Desenvolvimento Orientado a Objetos - Prof. Evandro Teruel

setLocation(200,300); // 200px margem esquerda e 300px


acima

//Comando para colocar elementos na janela


lblNome = new JLabel("Nome"); // Determina o que aparecerá
escrito no rótulo
lblNome.setSize(80,30); //Determina a largura e altura do rótulo
lblNome.setLocation(10,20); //Determina margem esquerda e
superior
add(lblNome); // Adiciona o rótulo na janela JFrame

txtNome = new JTextField();


txtNome.setSize(400,30);
txtNome.setLocation(90, 20);
add(txtNome);

lblEndereco = new JLabel("Endereço:");


lblEndereco.setSize(100,30);
lblEndereco.setLocation(10,60);
add(lblEndereco);

txtEndereco = new JTextField();


txtEndereco.setSize(500,30);
txtEndereco.setLocation(90,60);
add(txtEndereco);

btnSalvar = new JButton("Salvar");


btnSalvar.setSize(80,30);
btnSalvar.setLocation(10,100);
add(btnSalvar);

//Métodos
public static void main(String[] args) {
Exemplo tela;
Modelagem e Desenvolvimento Orientado a Objetos - Prof. Evandro Teruel

tela = new Exemplo();


tela.setVisible(true);
}

Data: 07/03/2022
Conteúdos:
- Criação de formulários
- Programação das ações em botões do formulário

Para os botões funcionarem:

1) Referenciar a interface (classe) ActionListener.


2) Criar um método chamado actionPerformed.
3) Adicionar um listener (ouvinte) em cada botão.
4) Programar o método actionPerformed com o que vai
acontecer ao clicar nos botões

Exemplo.java

import java.awt.event.ActionEvent;
Modelagem e Desenvolvimento Orientado a Objetos - Prof. Evandro Teruel

import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

public class Exemplo extends JFrame implements ActionListener {


//Atributos
private JLabel lblNome, lblEndereco;
private JTextField txtNome, txtEndereco;
private JButton btnSalvar, btnSair, btnPesquisar;

//Construtor - gerar os elementos de tela.


//Deve ter o mesmo nome da classe
public Exemplo() {
//Criar a janela
setLayout(null); //você criará seu próprio layout
setTitle("Controle de clientes");
setSize(800,300); //tamanho da janela - 500px largura e 300px
altura
setDefaultCloseOperation(EXIT_ON_CLOSE); //Ao clicar no X
da janela ele fecha da tela e da memória
setLocation(200,300); // 200px margem esquerda e 300px
acima

//Comando para colocar elementos na janela


lblNome = new JLabel("Nome"); // Determina o que aparecerá
escrito no rótulo
lblNome.setSize(80,30); //Determina a largura e altura do rótulo
lblNome.setLocation(10,20); //Determina margem esquerda e
superior
add(lblNome); // Adiciona o rótulo na janela JFrame

txtNome = new JTextField();


Modelagem e Desenvolvimento Orientado a Objetos - Prof. Evandro Teruel

txtNome.setSize(400,30);
txtNome.setLocation(90, 20);
add(txtNome);

lblEndereco = new JLabel("Endereço:");


lblEndereco.setSize(100,30);
lblEndereco.setLocation(10,60);
add(lblEndereco);

txtEndereco = new JTextField();


txtEndereco.setSize(500,30);
txtEndereco.setLocation(90,60);
add(txtEndereco);

btnSalvar = new JButton("Salvar");


btnSalvar.setSize(130,40);
btnSalvar.setLocation(10,100);
btnSalvar.addActionListener(this);
add(btnSalvar);

btnSair = new JButton("Sair");


btnSair.setSize(130,40);
btnSair.setLocation(200,100);
btnSair.addActionListener(this);
add(btnSair);

btnPesquisar = new JButton("Pesquisar");


btnPesquisar.setSize(130,40);
btnPesquisar.setLocation(400,100);
btnPesquisar.addActionListener(this);
add(btnPesquisar);

//Métodos
Modelagem e Desenvolvimento Orientado a Objetos - Prof. Evandro Teruel

public static void main(String[] args) {


Exemplo tela;
tela = new Exemplo();
tela.setVisible(true);
}

@Override
public void actionPerformed(ActionEvent e) {

if (e.getSource()==btnSalvar){
JOptionPane.showMessageDialog(null, "Clicou em Salvar");
} else if (e.getSource()==btnSair){
dispose();
} else if (e.getSource()==btnPesquisar){
TelaPesquisa t;
t = new TelaPesquisa();
t.setVisible(true);
}

TelaPesquisa.java

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class TelaPesquisa extends JFrame {

private JLabel lblNome;


Modelagem e Desenvolvimento Orientado a Objetos - Prof. Evandro Teruel

private JTextField txtNome;


private JButton btnBuscar;

public TelaPesquisa() {
// Criação da nova Janela
setLayout(null);
setTitle("Formulário de pesquisa");
setSize(600, 250);
setLocation(100, 100);
setDefaultCloseOperation(HIDE_ON_CLOSE);

//Comando para colocar elementos na janela


lblNome = new JLabel("Nome"); // Determina o que aparecerá
escrito no rótulo
lblNome.setSize(80,30); //Determina a largura e altura do rótulo
lblNome.setLocation(10,20); //Determina margem esquerda e
superior
add(lblNome); // Adiciona o rótulo na janela JFrame

txtNome = new JTextField();


txtNome.setSize(400,30);
txtNome.setLocation(90, 20);
add(txtNome);

btnBuscar = new JButton("Buscar");


btnBuscar.setSize(100,40);
btnBuscar.setLocation(10, 100);
add(btnBuscar);

Data: 10/03/2022
Conteúdos:
- Processo de desenvolvimento de software
Modelagem e Desenvolvimento Orientado a Objetos - Prof. Evandro Teruel

- Requisitos no desenvolvimento de software


- O que é a UML
- Construir o diagrama de caso de uso

Processo de desenvolvimento de software

1) Coleta, análise e gerenciamento de requisitos


2) Modelagem dos requisitos e do software
3) Implementação do software (programação)
4) Testes do software

Coleta de requisitos (entrevistando o Sr Manoel, dono da padaria)

Ao abrir o sistema, deve aparecer uma tela pedindo usuário e senha. Ao


digitar estes dados, se o usuário estiver cadastrado, deve abrir a tela
principal onde aparecerá os menus com as opções que a padaria
precisa. Se o usuário não estiver cadastrado deve aparecer um botão
para ele se cadastrar. Se o usuário digitar os dados incorretos mostrar
uma mensagem alertando-o sobre isso.
Na tela principal deverá ter uma opção para manipular os os produtos
vendidos na padaria. Deve ter ainda uma opção para controlar os
funcionários.
Na parte de produtos, deve ser possível cadastrar novos produtos, gerar
diversos tipos de relatórios em tela, alterar os dados de produtos
cadastrados e excluir produtos que não serão mais vendidos. Somente
os gerentes conseguirão cadastrar, excluir e alterar dados dos produtos.
Já a exibição de relatórios de produtos todos os funcionários poderão
acessar.
Na parte de funcionários deverá ser possível cadastrar funcionários,
alterar os dados de funcionários, excluir funcionários demitidos e gerar
relatórios com os dados dos funcionários. Somente os gerentes poderão
acessar as opções referentes ao controle de funcionários.
Modelagem e Desenvolvimento Orientado a Objetos - Prof. Evandro Teruel

O software deve ter telas bonitas, deve ser rápido e estar adequado a
uma tal de Lei Geral de Proteção de Dados (LGPD). Deve ser utilizado o
banco de dados MySQL e o sistema deve ser feito usando uma tal de
linguagem Java.

Classificação dos requisitos

Requisitos Funcionais
- Fazer login no sistema mediantes a digitação do nome do usuário
e da senha (todos os usuários);
- Permitir que o usuário se cadastre caso ele não esteja cadastrado
(todos os usuários);
- Exibir mensagem de erro caso o usuário e senha estejam
incorretos (todos os usuários).
- Abrir uma tela de menu para usuários cadastrados, após o login
(todos os usuários).
- Os gerentes poderão cadastrar novos produtos;
- Todos os funcionários poderão gerar relatório de produtos em tela;
- Os gerentes poderão alterar os dados de produtos;
- Os gerentes poderão excluir dados de produtos;
- Os gerentes poderão cadastrar funcionários;
- Os gerentes poderão alterar dados dos funcionários;
- Os gerentes poderão excluir dados dos funcionários;
- Os gerentes poderão gerar relatórios em tela com os dados de
funcionários.

Requisitos Não Funcionais


- O software deve ter telas bonitas;
- A execução do software deve ser rápida;
- O software deve estar adequado à LGPD;
- Deve ser utilizado o SGBD MySQL;
- Desenvolver utilizando a plataforma Java.

Desenhar os requisitos funcionais usando o diagrama de Caso de uso


da UML
Modelagem e Desenvolvimento Orientado a Objetos - Prof. Evandro Teruel

Você também pode gostar