sexta-feira, 27 de agosto de 2010

Pasta de TSPD

>por Débora

Boa noite pessoal,

Em nossa pequena apresentação do dia 14/08/2010 (ultimo sábado), o prof Dalastti solicitou que a cada grupo, dois alunos ficassem responsáveis apenas pela pasta de TSPD durante as aulas de sua disciplina. No grupo Apparatus foi decidido que eu e o Renato ficássemos responsáveis por isso.
Na aula de hoje nós ajeitamos o DFD de acordo com as ultimas alterações solicitadas pelo professor antes do recesso de julho.

Segue abaixo a imagem do Diagrama de Contexto:


Por hoje é só pessoal, até semana que vem


Desenvolvimento em JAVA - Conversor

>Por Mariana

Hey
Após a apresentação para a banca começamos desenvolver um jeito de controle remoto do simulador, por UDCP. Para isso ocorrer precisamos converter bytes em reais, a seguir a rotina que faz isso:

public void atribuiBytesEstado(Estado estado[], byte[] b) {
int ind = 0, x;
for (int i = 0; i <>
x = ((int) b[ind] & 0x000000ff)
+ (((int) b[ind + 1] <<>
+ (((int) b[ind + 2] <<>
+ (((int) b[ind + 3] <<>
System.out.format("%x %x %x %x %x\n", (int) b[0],
((int) b[1] <<>
(((int) b[3] <<>
ind += 4;
estado[i].angulo = Float.intBitsToFloat(x);
x = ((int) b[ind] & 0x000000ff)
+ (((int) b[ind + 1] <<>
+ (((int) b[ind + 2] <<>
+ (((int) b[ind + 3] <<>
ind += 4;
estado[i].x = Float.intBitsToFloat(x);
x = ((int) b[ind] & 0x000000ff)
+ (((int) b[ind + 1] <<>
+ (((int) b[ind + 2] <<>
+ (((int) b[ind + 3] <<>
ind += 4;
estado[i].y = Float.intBitsToFloat(x);
x = ((int) b[ind] & 0x000000ff)
+ (((int) b[ind + 1] <<>
+ (((int) b[ind + 2] <<>
+ (((int) b[ind + 3] <<>
ind += 4;
estado[i].dAngulo = Float.intBitsToFloat(x);
x = ((int) b[ind] & 0x000000ff)
+ (((int) b[ind + 1] <<>
+ (((int) b[ind + 2] <<>
+ (((int) b[ind + 3] <<>
ind += 4;
estado[i].dx = Float.intBitsToFloat(x);
x = ((int) b[ind] & 0x000000ff)
+ (((int) b[ind + 1] <<>
+ (((int) b[ind + 2] <<>
+ (((int) b[ind + 3] <<>
ind += 4;
estado[i].dy = Float.intBitsToFloat(x);
}
}

Até mais

Menu Principal - JAVA

>Por Paula

Oi!

Eu e o Matheus estamos trabalhando agora com a interface da aplicação em JAVA, algumas alterações já foram realizadas, uma dessas foi a do menu principal, no qual adicionamos os componentes JMenuBar, JToolBar e o desenvolvemos o StatusBar, que contém a data atual e o desenvolvedor. Segue abaixo a imagem de como está o menu atualmente:



Lembrando que ainda não está finalizado, mais alterações serão realizadas.
Até mais!

Paula

Layout das Tabelas

>por Renato

Oi.
Vou postar a "representação gráfica" das tabelas que eu e a Debora desenvolvemos para colocar na pasta de TSPD.

A estrutura básica do diagrama é:

Nome_Campo Tipo_Variavel Tipo_De_Chave Complemento

Você pode conferir os diagramas logo abaixo:


Alteração foto

>Por Maisa

Oi,
O usuário quando se cadastra escolhe uma foto para seu perfil, se não escolher nenhuma aparecerá a imagem padrão do sistema.
Segue abaixo uma imagem do perfil do usuário:


Ao entrar no login e clicar na sua foto, haverá a possibilidade de alteração da foto, a página a seguir será aberta:


O usuário escolhe a imagem que quer colocar no lugar, clica no botão "Alterar" e então sua foto é modificada.

Maisa

Desenvolvimento técnico: Cliente

>Por Juliana

Bom dia,
Como já foi dito pela Mariana, estivemos trabalhando com o controle remoto do Simulador. Por isso, hoje trouxe a vocês o método enviaComando. Nele, recebemos um comando da classe Simulador e o reenviamos ao Simulador que está em execução no computador cujo IP foi configurado. No caso estamos usando o localhost (127.0.0.1).
static void enviaComando(int cmd) {
try {
byte b[] = new byte[1];
b[0] = (byte) cmd;
DatagramPacket packet;
packet = new DatagramPacket(b, b.length, InetAddress
.getByName("127.0.0.1"), 7878);
socket.send(packet);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

Até a semana que vem.
Juliana

Layout Managers

>Por Matheus

Hey, tudo bom pessoal?

Como a aplicação Web está praticamente finalizada, eu e a Paula passaremos a trabalhar com a interface da aplicação Desktop, desenvolvida em Java. Para isso, estamos aprendendo um pouquinho mais sobre Layout Managers, como BorderLayout, GridLayout, etc.

Optamos por tal utilização pois o posicionamento em pontos fixos na tela (utilizando SetLocation ou SetBounds, por exemplo) pode não funcionar adequadamente em todas as plataformas.

Ainda não temos um vasto conhecimento sobre o assunto, mas estamos estudando e esperamos que ajude.

Para quem quiser dar uma olhadinha no assunto, vale a pena olhar esse tutorial da Oracle (aqui).

Até a próxima!

sexta-feira, 20 de agosto de 2010

Site da Empresa - Contato

>Por Maisa

O site da empresa está praticamente concluído restando apenas alguns detalhes. Segue abaixo uma imagem da página para contato.

Para chegar nela basta clicar na imagem no canto esquerdo que apresenta um desenho de carta (email), ao lado do botão do Twitter da empresa e do Blog.

A página Contato apresenta um formulário básico com nome, email para contato, o assunto e o corpo da mensagem.

Ao clicar no botão enviar chama-se uma função que envia a mensagem para o email do projeto.Apenas está sujeito a modificaçoes na interface.

Para entrar no site acesse:http://200.145.153.91/apparatus/site

Maisa

Login em JAVA

>Por Paula

Olá ;D

Essa semana após eu terminar o módulo de usuário administrador de grupo na aplicação de PHP, parti para o término do Login em JAVA, arrumei a parte da interface e eis o resultado:



Lembrando que estamos nos últimos preparativos para a apresentação de sábado (21/08).
Até breve!

Paula

Desenvolvimento técnico: Salvar

>Por Juliana

Olá
Um detalhe que nós deixamos passar no desenvolvimento em Java foi relacionado a salvar os arquivos GGB. Os arquivos eram salvos, no entando, sem possibilidade de escolha do nome e caminho. Para isso, desenvolvemos o seguinte método:

public static File escolherCaminhoSalvar() {
String sNomeArq = null;
String pastaPadrao = MenuPrincipal.global.getProperty("PastaPadrao");
JFileChooser arquivo = new JFileChooser(pastaPadrao);
FileNameExtensionFilter filter = new FileNameExtensionFilter("Arquivo GoGoBots (.ggb)", "ggb");
arquivo.setFileFilter(filter);
arquivo.setFileSelectionMode(arquivo.FILES_ONLY);
int resultadoArq;
File arquivoNome;
while (true) {
resultadoArq = arquivo.showSaveDialog(null);
if (resultadoArq == arquivo.CANCEL_OPTION)
return null;
arquivoNome = arquivo.getSelectedFile();
if ((arquivoNome == null || arquivoNome.getName().equals("")))
javax.swing.JOptionPane.showMessageDialog(null, "Nome de Arquivo Inválido", "Nome de Arquivo Inválido", javax.swing.JOptionPane.ERROR_MESSAGE);
else if (arquivo.getSelectedFile().exists()) {
int certeza = JOptionPane.showConfirmDialog(null, "Tem certeza de que deseja substituir arquivo existente?", "Arquivo já existe", 0, 0);
if (certeza == 0)
break;
} else
break;
}
MenuPrincipal.global.setProperty("PastaPadrao", arquivo.getCurrentDirectory()
.toString());
MenuPrincipal.salvaConfiguracao();
try {
RandomAccessFile file = new RandomAccessFile(arquivoNome, "rw");
MenuPrincipal.salvaConfiguracao();
return arquivoNome;
} catch (Exception e) {
e.printStackTrace();
MenuPrincipal.salvaConfiguracao();
}
return null;
}

Até mais
Juliana