1. O documento descreve o desenvolvimento de um software para auxiliar na geração de orçamentos editoriais para a empresa jornalística Folha de Londrina.
2. O software tem como objetivo facilitar os processos de orçamentação, permitindo o cálculo automatizado dos orçamentos, emissão de relatórios e controle de materiais e vendas.
3. O documento apresenta os fundamentos teóricos, análise dos requisitos, diagramas, implementação do sistema e considerações finais sobre o projeto.
Este relatório descreve (1) o desenvolvimento de uma aplicação Android usando a tecnologia NFC para realizar operações de leitura e escrita em tags NFC, (2) explica conceitos fundamentais sobre NFC como definição, tecnologia, especificação e modo de operação reader/writer, e (3) detalha a implementação dos módulos de leitura e escrita da aplicação incluindo a configuração do manifest, captura do intent, extração de dados da tag e gravação do NdefMessage.
1. O documento apresenta um trabalho sobre a bonificação natalina da empresa ABC desenvolvido para a disciplina de Algoritmos II.
2. O trabalho propõe um sistema com funcionalidades como cadastro de funcionários, pesquisa por nome e código, relatório e salvar dados.
3. O objetivo é aplicar conceitos de programação estruturada em C como comandos de seleção, repetição, registros e structs, manipulação de arquivos.
Este documento apresenta um trabalho de conclusão de curso sobre a empresa Next Logística Ltda. O trabalho descreve a empresa, sua estrutura organizacional, seu core business, mix de produtos e público-alvo. Também analisa o ambiente macro e micro da empresa, seus concorrentes, fornecedores e clientes. Apresenta ainda planos de gestão da informação, marketing, recursos humanos e finanças, incluindo análises de viabilidade para a abertura de um novo centro de distribuição.
Relatório de Estágio do Curso de Sistemas de Informação UnilesteMG - Willian ...Willian Barcellos
1. O documento descreve as atividades desenvolvidas pelo autor como técnico de informática na empresa Provest Uniformes nos últimos 2 anos e 7 meses. 2. As atividades incluem suporte a usuários, manutenção de computadores, gerenciamento de servidores, infraestrutura de rede, sistema de gestão da empresa e backups. 3. O relatório tem como objetivo relatar as atividades desenvolvidas pelo setor de TI da empresa e sua importância para atender as necessidades internas e melhorar processos continuamente.
1. O relatório descreve as atividades realizadas durante um estágio na empresa de tecnologia Papagaio, onde o estagiário trabalhou no desenvolvimento do projeto FarmáciaJá, um sistema web para facilitar a compra e venda de produtos farmacêuticos.
2. As principais tarefas incluíram o cadastro, edição e listagem de produtos no sistema, integrando a lógica do backend com a interface do frontend.
3. O estágio proporcionou ao aluno experiência prática na área de desenvolvimento web usando Django e familiarização com process
Construindo Aplicativos Sociais Utilizando as APIs do OpenSocialCleber Rech
1. O documento apresenta um estudo sobre a construção de aplicativos sociais utilizando as APIs do OpenSocial.
2. Aborda brevemente a história do OpenSocial e lista os recipientes que suportam as APIs, além de mostrar a anatomia de um aplicativo social e as técnicas de desenvolvimento.
3. Apresenta um estudo teórico sobre as APIs JavaScript e RESTful do OpenSocial e aborda o desenvolvimento utilizando OpenSocial Templates, fazendo uma comparação com as APIs do Facebook.
Este documento descreve o desenvolvimento de um software de gestão para a biblioteca da Faculdade de Tecnologia de Tatuí. O software foi desenvolvido por três estudantes como trabalho de conclusão de curso sob a orientação de dois professores e tem como objetivo fornecer uma ferramenta para gestão mais eficiente dos recursos da biblioteca, como cadastro de materiais, alunos, empréstimos e devoluções.
1. O documento descreve o desenvolvimento de um software para auxiliar na geração de orçamentos editoriais para a empresa jornalística Folha de Londrina.
2. O software tem como objetivo facilitar os processos de orçamentação, permitindo o cálculo automatizado dos orçamentos, emissão de relatórios e controle de materiais e vendas.
3. O documento apresenta os fundamentos teóricos, análise dos requisitos, diagramas, implementação do sistema e considerações finais sobre o projeto.
Este relatório descreve (1) o desenvolvimento de uma aplicação Android usando a tecnologia NFC para realizar operações de leitura e escrita em tags NFC, (2) explica conceitos fundamentais sobre NFC como definição, tecnologia, especificação e modo de operação reader/writer, e (3) detalha a implementação dos módulos de leitura e escrita da aplicação incluindo a configuração do manifest, captura do intent, extração de dados da tag e gravação do NdefMessage.
1. O documento apresenta um trabalho sobre a bonificação natalina da empresa ABC desenvolvido para a disciplina de Algoritmos II.
2. O trabalho propõe um sistema com funcionalidades como cadastro de funcionários, pesquisa por nome e código, relatório e salvar dados.
3. O objetivo é aplicar conceitos de programação estruturada em C como comandos de seleção, repetição, registros e structs, manipulação de arquivos.
Este documento apresenta um trabalho de conclusão de curso sobre a empresa Next Logística Ltda. O trabalho descreve a empresa, sua estrutura organizacional, seu core business, mix de produtos e público-alvo. Também analisa o ambiente macro e micro da empresa, seus concorrentes, fornecedores e clientes. Apresenta ainda planos de gestão da informação, marketing, recursos humanos e finanças, incluindo análises de viabilidade para a abertura de um novo centro de distribuição.
Relatório de Estágio do Curso de Sistemas de Informação UnilesteMG - Willian ...Willian Barcellos
1. O documento descreve as atividades desenvolvidas pelo autor como técnico de informática na empresa Provest Uniformes nos últimos 2 anos e 7 meses. 2. As atividades incluem suporte a usuários, manutenção de computadores, gerenciamento de servidores, infraestrutura de rede, sistema de gestão da empresa e backups. 3. O relatório tem como objetivo relatar as atividades desenvolvidas pelo setor de TI da empresa e sua importância para atender as necessidades internas e melhorar processos continuamente.
1. O relatório descreve as atividades realizadas durante um estágio na empresa de tecnologia Papagaio, onde o estagiário trabalhou no desenvolvimento do projeto FarmáciaJá, um sistema web para facilitar a compra e venda de produtos farmacêuticos.
2. As principais tarefas incluíram o cadastro, edição e listagem de produtos no sistema, integrando a lógica do backend com a interface do frontend.
3. O estágio proporcionou ao aluno experiência prática na área de desenvolvimento web usando Django e familiarização com process
Construindo Aplicativos Sociais Utilizando as APIs do OpenSocialCleber Rech
1. O documento apresenta um estudo sobre a construção de aplicativos sociais utilizando as APIs do OpenSocial.
2. Aborda brevemente a história do OpenSocial e lista os recipientes que suportam as APIs, além de mostrar a anatomia de um aplicativo social e as técnicas de desenvolvimento.
3. Apresenta um estudo teórico sobre as APIs JavaScript e RESTful do OpenSocial e aborda o desenvolvimento utilizando OpenSocial Templates, fazendo uma comparação com as APIs do Facebook.
Este documento descreve o desenvolvimento de um software de gestão para a biblioteca da Faculdade de Tecnologia de Tatuí. O software foi desenvolvido por três estudantes como trabalho de conclusão de curso sob a orientação de dois professores e tem como objetivo fornecer uma ferramenta para gestão mais eficiente dos recursos da biblioteca, como cadastro de materiais, alunos, empréstimos e devoluções.
Desenvolvimento de um modelo de simulação social da cidade de MandiritubaLeonardo Alcantara
Este documento apresenta o desenvolvimento de um modelo de simulação social baseado na cidade de Mandirituba, Paraná, Brasil. O modelo simula o crescimento populacional da cidade ao longo do tempo utilizando agentes de software representando os habitantes. Duas implementações do modelo são desenvolvidas utilizando ferramentas baseadas em Java: uma no NetLogo e outra no Repast J. As implementações são comparadas para demonstrar as funcionalidades e diferenças entre as ferramentas.
AMAO - DESENVOLVIMENTO DE UM AMBIENTE ONLINE DE AUXÍLIO À CORREÇÃO E RESOLUÇÃ...Felipe Pontes
1. O documento descreve um projeto de graduação para desenvolver um ambiente online chamado AMAO para auxiliar na correção e resolução de avaliações de programação.
2. O sistema AMAO será uma plataforma online de autocorreção que utilizará exclusivamente softwares livres para ajudar no aprendizado de programação de forma escalável e modularizada.
3. No desenvolvimento do AMAO, serão pesquisadas as principais características de ferramentas existentes de autocorreção para aproveitar tais conceitos e guiar o desen
MÓDULO DE GERENCIAMENTO DE BOLSAS DO SISTEMA CONTROLE DE PROCESSOSLeno Matos Lisboa
Este documento apresenta o desenvolvimento de um módulo de gerenciamento de bolsas para o Sistema Controle de Processos da Universidade Estadual de Santa Cruz. O módulo foi construído usando metodologias ágeis como Scrum e Extreme Programming para automatizar e otimizar os processos manuais de gerenciamento de bolsas, que vinham se tornando lentos e problemáticos devido ao grande número de bolsistas da instituição. O módulo implementa funcionalidades como cadastro, transferência, renovação e encerramento de bolsas
Desenvolvimento do protótipo de uma ferramenta para Engenharia de Requisitos ...Diego Lusa
Este documento descreve o desenvolvimento de um protótipo de ferramenta para gerenciamento de requisitos voltada ao modelo de processo Extreme Programming (XP). O autor analisa ferramentas existentes e identifica características desejáveis para uma ferramenta de apoio à XP. Em seguida, ele apresenta o projeto de um protótipo de ferramenta, incluindo casos de uso, diagramas de classes e a interface gráfica. O objetivo é fornecer um sistema que auxilie na especificação e gerenciamento de requisitos durante o desenvolvimento XP.
Este relatório descreve as atividades realizadas no âmbito de uma bolsa de investigação para o projeto SchoolSenses@Internet. O objetivo principal foi desenvolver novas funcionalidades para o portal do projeto, incluindo a adaptação da base de dados, adição de um plugin do Google Earth, criação de uma galeria dinâmica para as oficinas e divulgação do portal nos motores de busca.
1. O documento descreve os principais conceitos relacionados a computadores, incluindo: o que são computadores, tipos de computadores (desktops, laptops, smartphones, PDAs, tablets), e o que as pessoas podem fazer com computadores como acessar a web, e-mail, mensagens instantâneas, mídia.
2. Também apresenta informações sobre sistemas operacionais como Windows e conceitos como área de trabalho, barra de tarefas e janelas.
3. Por fim, fornece detalhes sobre como navegar no Explorador de Ar
Este documento apresenta o trabalho de conclusão de curso de Daiana Paula de Ávila para o curso de Sistemas de Informação da Universidade do Contestado. O trabalho consiste no desenvolvimento de um sistema gerenciador para um salão de beleza, com o objetivo de cadastrar clientes e serviços prestados e permitir o agendamento de atendimentos. O sistema foi desenvolvido utilizando PHP e MySQL e inclui funcionalidades como cadastro de clientes e serviços, agendamento, exibição de informações cadastradas e geração de relatórios.
Este documento apresenta um resumo de uma monografia sobre a virtualização de servidores em empresas de pequeno e médio porte. O trabalho analisa as vantagens e desvantagens da virtualização em software, apresenta estudos de caso em faculdades no Recife e conclui demonstrando os resultados obtidos com a tecnologia.
Este documento apresenta um trabalho de conclusão de curso sobre o desenvolvimento de um sistema de help desk para a empresa Hepta Informática. O sistema tem como objetivo gerenciar os atendimentos de suporte em hardware oferecidos pela empresa, facilitando o relacionamento com clientes e controlando de forma eficaz os serviços prestados. O documento inclui a análise do problema, modelagem dos casos de uso e classes, projeto de banco de dados e interfaces, e considerações sobre a implementação e entrega do sistema.
Este documento apresenta um curso de programação em C/C++. Ele contém 10 seções que cobrem os principais conceitos da linguagem C como variáveis, tipos de dados, operadores, estruturas de controle de fluxo, funções, pré-processador, matrizes e tipos especiais de dados. O documento serve como um guia para ensinar os fundamentos da programação em C/C++.
[1] O documento é um relatório de estágio de um aluno do curso técnico em informática realizado na empresa Dr. Micro, onde ele desenvolveu atividades de montagem e manutenção de computadores como substituição de peças, formatação, instalação de programas e remoção de vírus.
[2] Durante o estágio, o aluno realizou tarefas como substituição de fontes, memórias RAM e discos rígidos em computadores, além de utilizar ferramentas como Hiren's Boot para teste de hardware e backup, e programas
Este currículo resume a formação e experiência profissional de Renato Rangel Guimarães. Ele possui formação em Direito, Ciência da Computação e Administração, com ênfase em desenvolvimento de sistemas, banco de dados e business intelligence. Renato atuou por muitos anos na área de TI, principalmente na Universidade Católica de Pelotas, e também exerce a advocacia de forma autônoma.
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...Paulo Steinhauser
Este documento descreve o desenvolvimento de um protótipo de sistema para secretarias municipais de obras utilizando a linguagem Java. O documento discute a criação de versões desktop e móvel do protótipo para melhor gerenciamento de solicitações de serviços e agenda. As tecnologias usadas incluem Java, MySQL, UML, JSF e ferramentas para dispositivos móveis.
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...Paulo Steinhauser
TCC intitulado E-Obras, no qual é abordado o projeto de criação de um sistema de gerenciamento de Secretarias de Obras utilizando a linguagem de programação JAVA, tanto para Web quanto para dispositivos móveis. Também aborda tópicos como a LP em si, Banco de Dados, Orientação a Objetos dentre outros assuntos.
Este documento fornece uma introdução à programação para a plataforma Android usando o Eclipse. Ele explica a estrutura do Android, como instalar o Eclipse e o SDK do Android, e ensina como criar aplicativos simples usando widgets comuns.
Este documento fornece uma introdução básica sobre informática. Resume os principais tópicos sobre software, sistemas operacionais, hardware, internet, e-mail, Microsoft Word e segurança na internet.
Plano de Projeto de Software para produtos da Lacertae SWrafahreis
1. O documento apresenta o plano de projeto de software para produtos da empresa Lacertae SW para o Hospital Universitário da UFS.
2. O software tem como objetivo gerenciar informações sobre ocorrências no hospital de forma a notificar os setores envolvidos.
3. Foram estimados 315 dias-pessoa de trabalho utilizando a técnica de Lorenz & Kidd com base no diagrama de classes do sistema.
1. O documento fornece instruções sobre como instalar e configurar o ambiente de desenvolvimento Android usando a JDK, Eclipse e SDK Android.
2. É apresentado um exemplo simples "Hello World" para demonstrar como criar um projeto Android básico no Eclipse.
3. As etapas de depuração e implantação de aplicativos Android em dispositivos são explicadas.
SISTEMA DE ESTACIONAMENTO AUTOMOTIVO UTILIZANDO AS PLATAFORMAS MOBILE ANDROID...Jucemar Dimon
Este documento descreve o desenvolvimento de um protótipo de sistema de sensor de estacionamento automotivo utilizando as plataformas Arduino e Android. O sistema usa sensores ultrassônicos, LEDs e um buzzer para alertar o motorista sobre possíveis colisões durante manobras, e permite monitorar a distância dos obstáculos pelo aplicativo Android conectado via bluetooth.
O documento descreve uma pré-proposta para o desenvolvimento de um sistema de gerenciamento de equipamentos de impressão. O sistema monitorará em tempo real o estado das impressoras de uma rede local e armazenará os dados em um banco de dados SQL Compact para geração de relatórios de uso. O sistema será desenvolvido usando C# no Visual Studio e aplicará técnicas como TDD, Design Patterns e Spring Framework.
UM CURSO DE INFORMATICA BASICA PARA IDOSOSdjgsantos1981
Este documento é uma apostila sobre informática básica desenvolvida para alunos de um curso. A apostila aborda tópicos como hardware e software, sistemas operacionais, armazenamento de dados, uso do mouse, teclado e janelas no Windows, criação e organização de pastas, uso da internet e ferramentas como Word e e-mail. O objetivo é aperfeiçoar os conhecimentos dos alunos sobre informática.
Desenvolvimento de um modelo de simulação social da cidade de MandiritubaLeonardo Alcantara
Este documento apresenta o desenvolvimento de um modelo de simulação social baseado na cidade de Mandirituba, Paraná, Brasil. O modelo simula o crescimento populacional da cidade ao longo do tempo utilizando agentes de software representando os habitantes. Duas implementações do modelo são desenvolvidas utilizando ferramentas baseadas em Java: uma no NetLogo e outra no Repast J. As implementações são comparadas para demonstrar as funcionalidades e diferenças entre as ferramentas.
AMAO - DESENVOLVIMENTO DE UM AMBIENTE ONLINE DE AUXÍLIO À CORREÇÃO E RESOLUÇÃ...Felipe Pontes
1. O documento descreve um projeto de graduação para desenvolver um ambiente online chamado AMAO para auxiliar na correção e resolução de avaliações de programação.
2. O sistema AMAO será uma plataforma online de autocorreção que utilizará exclusivamente softwares livres para ajudar no aprendizado de programação de forma escalável e modularizada.
3. No desenvolvimento do AMAO, serão pesquisadas as principais características de ferramentas existentes de autocorreção para aproveitar tais conceitos e guiar o desen
MÓDULO DE GERENCIAMENTO DE BOLSAS DO SISTEMA CONTROLE DE PROCESSOSLeno Matos Lisboa
Este documento apresenta o desenvolvimento de um módulo de gerenciamento de bolsas para o Sistema Controle de Processos da Universidade Estadual de Santa Cruz. O módulo foi construído usando metodologias ágeis como Scrum e Extreme Programming para automatizar e otimizar os processos manuais de gerenciamento de bolsas, que vinham se tornando lentos e problemáticos devido ao grande número de bolsistas da instituição. O módulo implementa funcionalidades como cadastro, transferência, renovação e encerramento de bolsas
Desenvolvimento do protótipo de uma ferramenta para Engenharia de Requisitos ...Diego Lusa
Este documento descreve o desenvolvimento de um protótipo de ferramenta para gerenciamento de requisitos voltada ao modelo de processo Extreme Programming (XP). O autor analisa ferramentas existentes e identifica características desejáveis para uma ferramenta de apoio à XP. Em seguida, ele apresenta o projeto de um protótipo de ferramenta, incluindo casos de uso, diagramas de classes e a interface gráfica. O objetivo é fornecer um sistema que auxilie na especificação e gerenciamento de requisitos durante o desenvolvimento XP.
Este relatório descreve as atividades realizadas no âmbito de uma bolsa de investigação para o projeto SchoolSenses@Internet. O objetivo principal foi desenvolver novas funcionalidades para o portal do projeto, incluindo a adaptação da base de dados, adição de um plugin do Google Earth, criação de uma galeria dinâmica para as oficinas e divulgação do portal nos motores de busca.
1. O documento descreve os principais conceitos relacionados a computadores, incluindo: o que são computadores, tipos de computadores (desktops, laptops, smartphones, PDAs, tablets), e o que as pessoas podem fazer com computadores como acessar a web, e-mail, mensagens instantâneas, mídia.
2. Também apresenta informações sobre sistemas operacionais como Windows e conceitos como área de trabalho, barra de tarefas e janelas.
3. Por fim, fornece detalhes sobre como navegar no Explorador de Ar
Este documento apresenta o trabalho de conclusão de curso de Daiana Paula de Ávila para o curso de Sistemas de Informação da Universidade do Contestado. O trabalho consiste no desenvolvimento de um sistema gerenciador para um salão de beleza, com o objetivo de cadastrar clientes e serviços prestados e permitir o agendamento de atendimentos. O sistema foi desenvolvido utilizando PHP e MySQL e inclui funcionalidades como cadastro de clientes e serviços, agendamento, exibição de informações cadastradas e geração de relatórios.
Este documento apresenta um resumo de uma monografia sobre a virtualização de servidores em empresas de pequeno e médio porte. O trabalho analisa as vantagens e desvantagens da virtualização em software, apresenta estudos de caso em faculdades no Recife e conclui demonstrando os resultados obtidos com a tecnologia.
Este documento apresenta um trabalho de conclusão de curso sobre o desenvolvimento de um sistema de help desk para a empresa Hepta Informática. O sistema tem como objetivo gerenciar os atendimentos de suporte em hardware oferecidos pela empresa, facilitando o relacionamento com clientes e controlando de forma eficaz os serviços prestados. O documento inclui a análise do problema, modelagem dos casos de uso e classes, projeto de banco de dados e interfaces, e considerações sobre a implementação e entrega do sistema.
Este documento apresenta um curso de programação em C/C++. Ele contém 10 seções que cobrem os principais conceitos da linguagem C como variáveis, tipos de dados, operadores, estruturas de controle de fluxo, funções, pré-processador, matrizes e tipos especiais de dados. O documento serve como um guia para ensinar os fundamentos da programação em C/C++.
[1] O documento é um relatório de estágio de um aluno do curso técnico em informática realizado na empresa Dr. Micro, onde ele desenvolveu atividades de montagem e manutenção de computadores como substituição de peças, formatação, instalação de programas e remoção de vírus.
[2] Durante o estágio, o aluno realizou tarefas como substituição de fontes, memórias RAM e discos rígidos em computadores, além de utilizar ferramentas como Hiren's Boot para teste de hardware e backup, e programas
Este currículo resume a formação e experiência profissional de Renato Rangel Guimarães. Ele possui formação em Direito, Ciência da Computação e Administração, com ênfase em desenvolvimento de sistemas, banco de dados e business intelligence. Renato atuou por muitos anos na área de TI, principalmente na Universidade Católica de Pelotas, e também exerce a advocacia de forma autônoma.
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...Paulo Steinhauser
Este documento descreve o desenvolvimento de um protótipo de sistema para secretarias municipais de obras utilizando a linguagem Java. O documento discute a criação de versões desktop e móvel do protótipo para melhor gerenciamento de solicitações de serviços e agenda. As tecnologias usadas incluem Java, MySQL, UML, JSF e ferramentas para dispositivos móveis.
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...Paulo Steinhauser
TCC intitulado E-Obras, no qual é abordado o projeto de criação de um sistema de gerenciamento de Secretarias de Obras utilizando a linguagem de programação JAVA, tanto para Web quanto para dispositivos móveis. Também aborda tópicos como a LP em si, Banco de Dados, Orientação a Objetos dentre outros assuntos.
Este documento fornece uma introdução à programação para a plataforma Android usando o Eclipse. Ele explica a estrutura do Android, como instalar o Eclipse e o SDK do Android, e ensina como criar aplicativos simples usando widgets comuns.
Este documento fornece uma introdução básica sobre informática. Resume os principais tópicos sobre software, sistemas operacionais, hardware, internet, e-mail, Microsoft Word e segurança na internet.
Plano de Projeto de Software para produtos da Lacertae SWrafahreis
1. O documento apresenta o plano de projeto de software para produtos da empresa Lacertae SW para o Hospital Universitário da UFS.
2. O software tem como objetivo gerenciar informações sobre ocorrências no hospital de forma a notificar os setores envolvidos.
3. Foram estimados 315 dias-pessoa de trabalho utilizando a técnica de Lorenz & Kidd com base no diagrama de classes do sistema.
1. O documento fornece instruções sobre como instalar e configurar o ambiente de desenvolvimento Android usando a JDK, Eclipse e SDK Android.
2. É apresentado um exemplo simples "Hello World" para demonstrar como criar um projeto Android básico no Eclipse.
3. As etapas de depuração e implantação de aplicativos Android em dispositivos são explicadas.
SISTEMA DE ESTACIONAMENTO AUTOMOTIVO UTILIZANDO AS PLATAFORMAS MOBILE ANDROID...Jucemar Dimon
Este documento descreve o desenvolvimento de um protótipo de sistema de sensor de estacionamento automotivo utilizando as plataformas Arduino e Android. O sistema usa sensores ultrassônicos, LEDs e um buzzer para alertar o motorista sobre possíveis colisões durante manobras, e permite monitorar a distância dos obstáculos pelo aplicativo Android conectado via bluetooth.
O documento descreve uma pré-proposta para o desenvolvimento de um sistema de gerenciamento de equipamentos de impressão. O sistema monitorará em tempo real o estado das impressoras de uma rede local e armazenará os dados em um banco de dados SQL Compact para geração de relatórios de uso. O sistema será desenvolvido usando C# no Visual Studio e aplicará técnicas como TDD, Design Patterns e Spring Framework.
UM CURSO DE INFORMATICA BASICA PARA IDOSOSdjgsantos1981
Este documento é uma apostila sobre informática básica desenvolvida para alunos de um curso. A apostila aborda tópicos como hardware e software, sistemas operacionais, armazenamento de dados, uso do mouse, teclado e janelas no Windows, criação e organização de pastas, uso da internet e ferramentas como Word e e-mail. O objetivo é aperfeiçoar os conhecimentos dos alunos sobre informática.
Plano de projeto: Bichos do Campus na WebJorge Roberto
1. O documento apresenta o plano de projeto de software para o sistema "Bichos do Campus na Web".
2. O sistema tem o objetivo de melhorar a visibilidade e o processo de adoção de animais disponíveis no campus da Universidade Federal de Sergipe.
3. O plano detalha os requisitos, estimativas de tempo e custo, análise de riscos, planejamento, equipe e controles de qualidade para o desenvolvimento do sistema.
O documento apresenta o Planejamento Estratégico de Tecnologia da Informação e Comunicação (PETIC) da Universidade Federal de Sergipe para o período de 2010 a 2012. O PETIC descreve o contexto atual de TI na universidade, identificando desafios como sistemas desintegrados e falta de políticas formais. Ele também define o cenário desejado, com a adoção de novas ferramentas e melhorias na infraestrutura e gestão de pessoal. O PETIC foi elaborado após análise das cinco áreas de TI da
O documento descreve um projeto para desenvolver um software para gerenciar gastos públicos em obras do governo federal. O software visa evitar atrasos, desvios de recursos e será adaptado para dispositivos móveis. A empresa Clean foi contratada para criar o software e realizará pesquisas sobre qualidade de software, gerenciamento de projetos e empreendedorismo para garantir o sucesso do projeto.
1. O documento discute ferramentas gratuitas e pagas para criação de cronogramas de projetos, como SmartSheet, OpenProj, Gantt Project e Microsoft Project.
2. São apresentadas as principais características e funcionalidades de cada ferramenta.
3. O documento conclui que softwares de gerenciamento de projetos são necessários para conduzir projetos complexos na velocidade exigida pelo mercado.
Exercise Planning - Uma ferramenta de apoio ao meio educacionalMarcos Pessoa
Universidade Federal do Amazonas - Trabalho de conclusão de curso.
Exercise planning é uma ferramenta focada na geração de exercícios didáticos com gabarito, para auxílio dos professores em sala de aula.
Este documento fornece uma introdução sobre como desenvolver aplicativos para Android. Explica as principais partes da plataforma Android como a máquina virtual Dalvik, componentes como activities e services, e ferramentas de desenvolvimento como o Google App Inventor que permite criar aplicativos sem programação. Também discute como configurar o ambiente de desenvolvimento Android.
Pim ii virtualização de servidores e computadores na univen petróleo rev. finalCesar Jardim
1. O documento descreve um projeto de virtualização de servidores e computadores na Univen Petróleo.
2. O projeto tem como objetivo otimizar o espaço físico ocupado pelos servidores e reduzir os custos com energia elétrica.
3. A virtualização permite a execução simultânea de dois ou mais ambientes distintos em uma mesma máquina, proporcionando economia de hardware, software e gerenciamento.
1) O documento descreve o desenvolvimento de um aplicativo para Pocket PC para controle de pedidos em restaurantes, permitindo que os pedidos sejam feitos no PDA do garçom e enviados para a cozinha e caixa de forma sincronizada.
2) O aplicativo foi desenvolvido usando a plataforma Windows Mobile e a linguagem C#, e consiste em três partes - uma para o garçom no PDA, outra para a cozinha e outra para o caixa, comunicando-se por uma rede sem fio.
3) O documento discute os requisitos de
O documento descreve duas plataformas de desenvolvimento para dispositivos móveis: Android e Qtopia. Ele explica a arquitetura e componentes principais do Android, incluindo o kernel Linux, bibliotecas, Dalvik VM, framework de aplicações e blocos de construção como Activity. Também fornece um breve histórico e descrição da arquitetura do Qtopia.
O uso de programação reflexiva para o desenvolvimento de aplicações comerciai...Jefferson Simão Gonçalves
1. O documento discute o uso da programação reflexiva para o desenvolvimento de aplicações comerciais adaptativas.
2. Ele apresenta os conceitos de reflexão computacional e sua implementação na linguagem Java para permitir que sistemas mudem seu comportamento em tempo de execução.
3. O trabalho propõe o desenvolvimento de um framework para geração automática de código que utilize reflexão computacional a fim de tornar as aplicações comerciais geradas capazes de adaptação.
O uso de programação reflexiva para o desenvolvimento de aplicações comerciai...
Relatório de estágio
1. UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL
CENTRO UNIVERSITÁRIO DE DOURADOS
DEPARTAMENTO DE CIÊNCIAS EXATAS
BACHARELADO EM ANÁLISE DE SISTEMAS
Desenvolvimento de um aplicativo para coleta de dados sócio-econômicos
compatível com dispositivos portáteis com sistema operacional PalmOS,
WindowsCE ou PocketPC, utilizando a linguagem Java.
por
Marcos Bispo de Oliveira
Orientação:
Leopoldo Francesco Vettor
Supervisão:
Prof. André Luis Gonsales
Relatório de Estágio Supervisionado apresentado à
Universidade Federal do Mato Grosso do Sul –
UFMS, Centro Universitário de Dourados, como
parte dos requisitos para obtenção do grau de
Bacharel em Análise de Sistemas.
3. Resumo
O objetivo deste relatório é apresentar a descrição e a documentação de uma ferramenta para
viabilizar a coleta de dados sócio-econômicos utilizando dispositivos digitais portáteis (handhelds,
PDA´s ou computadores de mão), que utilizam os sistemas operacionais PalmOS (desenvolvido pela
Palm Computing), WindowsCE ou PocketPC (ambos desenvolvidos pela Microsoft).
Serão apresentados neste relatório: uma breve descrição da tecnologia (linguagem de programação e
ferramentas) utilizadas no desenvolvimento do aplicativo, os objetivos e os requisitos, os diagramas
UML, os diagramas de entidade-relacionamento e algumas telas capturadas da aplicação em
execução.
3
4. Índice de texto
Lista de Figuras...................................................................................................................................5
Lista de abreviações............................................................................................................................6
Introdução...........................................................................................................................................7
Tecnologia utilizada............................................................................................................................8
O Java..............................................................................................................................................8
O SuperWaba..................................................................................................................................8
Principais características do SuperWaba.....................................................................................8
O SDK do SuperWaba inclui:.....................................................................................................10
Como desenvolver aplicações em SuperWaba?.........................................................................10
Solução Proposta...............................................................................................................................12
Modelagem da aplicação...................................................................................................................13
Especificação de Casos de Uso.....................................................................................................13
Diagrama de Classes.....................................................................................................................15
Diagrama de Componentes e Implantação.................................................................................16
Modelagem dos Dados..................................................................................................................18
Modelo Lógico...........................................................................................................................18
Modelo Físico.............................................................................................................................18
Interface da aplicação.......................................................................................................................20
Módulo de coleta de dados para o PDA......................................................................................20
Módulo servidor de recepção de dados.......................................................................................24
Considerações finais..........................................................................................................................27
Referências........................................................................................................................................28
Anexos................................................................................................................................................29
4
5. Lista de Figuras
Figura 1: Ambiente da IDE Eclipse.................................................................................................11
Figura 2: Diagrama de casos de uso................................................................................................14
Figura 3: Diagrama de classes inicial (ver ANEXO IV).................................................................15
Figura 4: Diagrama de classes final (ver ANEXO IV)...................................................................16
Figura 5: Diagrama de componentes...............................................................................................17
Figura 6: Diagrama de implantação................................................................................................17
Figura 7: Diagrama de entidade-relacionamento...........................................................................18
Figura 8: Modelo de entidade-relacionamento...............................................................................19
Figura 9: Tela inicial do aplicativo..................................................................................................20
Figura 10: Tela de detalhes do questionário...................................................................................21
Figura 11: Tela de detalhes do domicílio.........................................................................................21
Figura 12: Tela de detalhes do domicílio particular permanente..................................................22
Figura 13: Tela de listagem de moradores do domicílio.................................................................22
Figura 14: Tela de detalhes do morador do domicílio....................................................................23
Figura 15: Tela de listagem e manipulação de questionários armazenados.................................23
Figura 16: Mensagem de início da transmissão de dados..............................................................24
Figura 17: Aplicação servidora aguardando dados.........................................................................25
Figura 18: Dados recebidos pela aplicação servidora.....................................................................25
Figura 19: Dados armazenados em XML........................................................................................26
5
6. Lista de abreviações
DER = Diagrama de entidade-relacionamento
GPS = Global positionning system (Sistema de posicionamento global)
HTML = Hipertext markup language (Linguage de marcação de hipertexto)
IDE = Integrated development environment (Ambiente integrado de desenvolvimento)
JDK = Java development kit (Kit de desenvolvimento da linguagem Java)
MER = Modelo de entidade=-relacionamento
PDA = Personal digital assistant (Assistente pessoal digital)
PDB = Palm database (Formato de dados usado no PalmOS)
RAD = Rapid application development (Desenvolvimento rápido de aplicações)
ROM = Read only memory (Memória de acesso somente para leitura)
SDK = Software development kit (Kit de desenvolvimento de software)
SGBD = Sistema de gerenciamento de banco de dados
TCP/IP = Transfer control protocol / Internet prototol (Protocolo de controle e transmissão de
dados na internet)
UML = Unified modeling language (Linguagem unificada de modelagem)
USB = Universal serial bus (Barramento serial universal)
XML = Extensible markup language (Linguagem de marcação extensível)
6
7. Introdução
A aplicação desenvolvida durante o estágio recebeu o nome “Coleta”, sendo esta composta por dois
módulos: O aplicativo de coleta de dados para ser executado no PDA, utilizando a máquina virtual
SuperWaba1
, e a aplicação servidora, responsável pelo recebimento dos dados dos questionários
armazenados no PDA através de uma conexão TCP/IP.
O aplicativo de coleta para o PDA foi desenvolvido utilizando a linguagem Java, o SuperWaba SDK
e a IDE Eclipse. Já a aplicação servidora foi desenvolvida utilizando a ferramenta RAD Borland C++
Builder.
1
Disponível em http://www.superwaba.com.br
7
8. Tecnologia utilizada
Abaixo, temos uma breve descrição das tecnologias utilizadas na implementação do aplicativo de
coleta de dados sócio-econômicos.
O Java
Java é uma linguagem de programação com sintaxe equivalente a sintaxe do C++, porém, totalmente
orientada a objetos, criada pela Sun Microsystems, cujo objetivo inicial era ser utilizada em qualquer
dispositivo dotado de um processador e uma máquina virtual, como por exemplo: receptores de
televisão a cabo [HORSTMANN & CORNELL, 2000].
Com o passar do tempo, o Java tornou-se popular e hoje é uma das linguagens mais utilizadas para o
desenvolvimento de aplicações. Sua utilização abrange desde a criação de jogos para celular até o
desenvolvimento de aplicações corporativas de alto desempenho.
Um dos grandes diferenciais da linguagem Java em relação às outras linguagens do mercado reside
em sua portabilidade. A portabilidade decorre do fato de as aplicações desenvolvidas em Java
necessitarem de uma máquina virtual para serem executadas. Portanto, uma mesma aplicação pode
ser utilizada em plataformas Microsoft Windows, Linux, Unix ou Apple Macintosh sem que seja
necessário fazer uma única alteração, desde que haja uma máquina virtual Java disponível.
O SuperWaba
O SuperWaba é uma plataforma de código-fonte aberto para desenvolvimento de aplicações para
dispositivos portáteis (PDA’s), criada em 2000, derivada da máquina virtual Waba. SuperWaba é
distribuído na forma de um kit de desenvolvimento de software (SDK) contendo uma máquina
virtual, uma biblioteca de classes e programas utilitários para compilação e geração das aplicações.
Devido à maneira como o SuperWaba foi desenvolvido, pode-se usar ferramentas de
desenvolvimento Java para desenvolver programas em SuperWaba. No entanto, SuperWaba não é
derivado do Java e não tem conexão com a Sun Microsystems, a proprietária da marca Java e marcas
relacionadas.
Principais características do SuperWaba
Máquina virtual:
• É suportada por uma ampla gama de plataformas: PalmOS (2.0 e acima), WindowsCE (2.11
e acima), Windows 98/ME/NT/2000/XP, Linux (utilizando Wine), Mac OS-X, JDK 1.1 ou
superior;
• Permite a criação de bibliotecas nativas em C para todas as plataformas;
8
9. • Tem suporte total a Unicode;
• Tem suporte para telas em escala de cinza (PalmOS 2.0 e acima), coloridas e com alta
resolução em todos os PDA’s suportados;
• Suporte para exceções, tipos double e long (64 bits de precisão);
• Utilização total da memória dos PDA’s: a máquina virtual do SuperWaba utiliza a memória
disponível para aplicações (PalmOS 2.0 e acima).
Bibliotecas de extensão:
• Container para exibição de HTML;
• Manipulador de XML;
• Classes para exibição de informações de dispositivos GPS, baseadas no protocolo GPS da
Garmin (fabricante de equipamentos GPS);
• Suporte para Symbol® Scanners no Windows CE e PalmOS;
• Suporte para leitura de arquivos no formato PalmDoc e PalmZip;
• Suporte para algoritmos de criptografia: Blowfish, MD5, SHA1, TEA;
• Personal Information Management Abstract Layer (PIMal): acesso a informações PIM em
plataformas Windows CE e PalmOS de forma independente de plataforma;
• API para desenvolvimento de jogos;
Entrada/saída:
• Suporte para TCP/IP, porta serial, USB, infravermelho, bluetooth;
• Suporte para Secure Digital e Memory Stick card;
• O formato PDB, utilizado no PalmOS, foi portado para Windows CE, fazendo com que os
arquivos de dados possam ser utilizados em ambas as plataformas sem qualquer modificação;
• Camada de acesso a dados, com uma implementação para o banco de dados IBM DB2e e
uma para manipulação de arquivos PDB (PDBDriver);
• Recursos de impressão.
Interface do usuário:
• Dois estilos diferentes: PalmOS e Windows CE;
• Em ambos os estilos, todos os controle tem um estado visível quando desabilitados;
• Janelas popup podem ser movidas;
• Controle de posicionamento dos componentes permite o ajuste da aplicação em qualquer
resolução.
9
10. O SDK do SuperWaba inclui:
A máquina virtual, compilada para 15 plataformas;
A biblioteca de classes, que contem os seguintes pacotes:
• waba.fx: som (wave e tons), fontes customizadas, bitmaps, e uma poderosa classe para o
desenho de círculos, linhas, polígonos, imagens, etc;
• waba.io: classes para as operações de entrada/saída;
• waba.sys: acesso a várias configurações dos PDA’s, como versão da ROM, nome do usuário,
formatos, plataforma em execução, etc;
• waba.ui: interface básica com usuário;
• waba.util: classes de estruturas de dados;
• Pacotes de extensão.
Utilitários para o desenvolvedor:
• warp: usado para empacotar as classes em arquivos PDB, que podem ser sincronizados nos
PDA’s (Windows CE e PalmOS);
• exegen: cria atalhos para as aplicações com ícones customizados e arquivos para instalação
em WindowsCE;
• TTF2PDBs: converte fontes truetype em arquivos PDB para serem usadas nos PDA’s;
• scripts para automatizar a geração das aplicações.
Documentação, exemplos e o código-fonte da máquina virtual.
Como desenvolver aplicações em SuperWaba?
Para desenvolver aplicações em SuperWaba é necessário ter apenas o SDK e um editor de textos.
Porém, o trabalho será mais agradável se for utilizado um ambiente integrado de desenvolvimento
(IDE), como o Eclipse ou Borland JBuilder.
Neste trabalho, a IDE utilizada foi o Eclipse2
(versão 2.1), devido à facilidade encontrada para
configurá-la para compilar e gerar aplicações utilizando o SDK do SuperWaba.
A seguir, na figura 1, é mostrado o ambiente principal do Eclipse:
2
Disponível em http://www.eclipse.org
10
11. Figura 1: Ambiente da IDE Eclipse
O Eclipse é uma IDE desenvolvida inicialmente pela IBM, disponibilizada na forma de software
livre, e atualmente é o produto do desenvolvimento colaborativo de uma grande comunidade de
programadores ao redor do mundo. O Eclipse foi a ferramenta usada para o desenvolvimento do
aplicativo Coleta.
Os passos para se desenvolver uma aplicação em SuperWaba utilizando a IDE Eclipse consistem
basicamente em:
• Configuração do Eclipse para compilar e gerar aplicações em SuperWaba;
• Criação do ambiente de desenvolvimento da aplicação, incluindo a definição do diretório
onde é armazenado o projeto, o código-fonte, os arquivos de configuração e o script
build.xml utilizado para a geração da aplicação;
• Desenvolvimento e testes;
• Geração dos executáveis para a plataforma de destino;
• Transferência da aplicação e dos arquivos de dados para o PDA;
11
12. Solução Proposta
O aplicativo de coleta de dados sócio-econômicos é baseado em um questionário sócio-econômico
utilizado pelo IBGE (Instituto Brasileiro de Geografia e Estatística), em anexo.
O questionário contém informações sobre o domicílio do entrevistado e sobre cada morador deste
domicílio. Portanto, a aplicação de coleta de dados deve permitir:
• Coletar e armazenar informações sobre o domicílio do entrevistado;
• Coletar e armazenar informações sobre os moradores de cada domicílio pesquisado;
• Gerenciar os dados armazenados, permitindo a inclusão, a alteração, a exclusão e a consulta;
• Transmitir os dados armazenados para um servidor central.
A aplicação é composta dos seguintes módulos:
• Módulo de Coleta de dados a ser executado no PDA;
• Módulo servidor de recepção de dados;
O módulo de coleta de dados será utilizado pelo usuário que fará as entrevistas utilizando um PDA
para armazenar os dados do questionário. O módulo servidor será executado em um
microcomputador responsável por receber os dados armazenados nos PDA utilizados pelos
entrevistadores, através de uma conexão TCP/IP.
12
13. Modelagem da aplicação
A modelagem da aplicação foi feita com base na notação UML (Unified Modeling Language)
[FURLAN, 1998]. A UML é uma linguagem gráfica para visualização, especificação, construção e
documentação de sistemas de software, utilizando as técnicas de orientação a objeto. Essa linguagem
proporciona uma forma padrão para a preparação de planos para a arquitetura de projetos de
sistemas, incluindo aspectos conceituais, tais como processos de negócios e funções do sistema,
além de itens concretos, como as classes escritas em uma determinada linguagem de programação, e
esquemas de bancos de dados e componentes de software reutilizáveis [FURLAN, 1998].
A modelagem do sistema será apresentada basicamente através de quatro dos diagramas disponíveis
na UML:
• O diagrama de casos de uso, que descreve a funcionalidade do sistema percebida por atores
externos. Um ator interage com o sistema podendo ser um usuário, dispositivo ou outro sistema.
• O diagrama de classes, que denota a estrutura estática do sistema onde cada classe representa
coisas ou entidades que serão manipulados pelo sistema, mostrando também o relacionamento
existente entre elas;
• O diagrama de componentes fornecerá uma visão geral dos módulos do sistema;
• O diagrama de implantação fornecerá uma idéia de como o sistema estará organizado após sua
implantação
Na modelagem da solução também foram utilizados alguns conceitos da análise estruturada moderna
de Yourdon [YOURDON, 1990] para a representação dos modelos de dados, e as ferramentas de
diagramação que utilizaremos são o diagrama de entidade-relacionamento e o modelo de entidade-
relacionamento.
Utilizaremos o diagrama de entidade-relacionamento para detalhar a estrutura e a organização dos
dados que o sistema irá tratar. Usaremos também o Modelo de Entidade-Relacionamento (MER),
onde temos a representação das entidades e a descrição de nome e tipo dos campos que as compõem
e ainda temos o nome lógico dos relacionamentos entre as entidades, representando assim a estrutura
física dos dados.
Todos os diagramas foram desenhados utilizando uma versão de demonstração da ferramenta de
modelagem PowerDesigner, versão 9.5.2, desenvolvida pela Sybase, Inc.
Nas próximas seções serão apresentados os diagramas e respectivas descrições.
Especificação de Casos de Uso
13
14. Na especificação de casos de uso apresentamos uma visão geral da aplicação e das entidades
externas (atores) que estarão interagindo com ela.
Na figura 2, mostramos as interações que deverão ocorrer entre os usuários e os módulos da
aplicação:
Administrador
Validar dados
Usuário
Entrevista pessoa
Fornece entrada de dados
Transmite dados armazenados
Fornece dados
Pessoa
Aplicativo Servidor Coleta
Gerenciar permissões de acesso
Aplicativo Palm Coleta
Tratar & armazenar dados recebidos
Banco de dados (SGBD)
Remover permissão de acesso ao usuário
Dar permissão de acesso ao usuário
Figura 2: Diagrama de casos de uso
14
15. Diagrama de Classes
No diagrama de classes, conforme representado pela figura 3 e figura 4, definimos as entidades
envolvidas com a aplicação de acordo com o paradigma da orientação a objeto, onde se representa a
classe com seus atributos e operações.
O modelo de classes é obtido a partir da análise das especificações de requisitos do sistema e da
análise dos casos de uso. Serão apresentados dois diagramas de classes, o primeiro foi desenhado
antes do início da implementação do aplicativo de coleta, e o segundo obtido após a versão final da
aplicação, através de engenharia reversa do código-fonte do aplicativo de coleta.
1..1
0..*
1..1
0..1
1..1
0..*
1..1
0..*
1..1
0..*
0..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
Especie
+
+
Especie
Descricao
: java.lang.Long
: java.lang.String
Tipo
+
+
Tipo
Descricao
: java.lang.Long
: java.lang.String
Situacao
+
+
Situacao
Descricao
: java.lang.Long
: java.lang.String
Situacao_terreno
+
+
Situacao_terreno
Descricao
: java.lang.Long
: java.lang.String
Forma_abastecimento_agua
+
+
Forma_abastecimento_agua
Descricao
: java.lang.Long
: java.lang.String
Forma_canalizacao_agua
+
+
Forma_canalizacao_agua
Descricao
: java.lang.Long
: java.lang.String
Destino_dejetos
+
+
Destino_dejetos
Descricao
: java.lang.Long
: java.lang.String
Destino_lixo
+
+
Destino_lixo
Descricao
: java.lang.Long
: java.lang.String
Tipo_relacao
+
+
Tipo_relacao
Descricao
: java.lang.Long
: java.lang.String
Grau_instrucao
+
+
Grau_instrucao
Descricao
: java.lang.Long
: java.lang.String
Estado_civil
+
+
Estado_civil
Descricao
: java.lang.Long
: java.lang.String
Etinia
+
+
Etinia
Descricao
: java.lang.Long
: java.lang.String
Municipio
+
+
Municipio
Nome
: java.lang.Long
: java.lang.String
Estado
+
+
Estado
Nome
: java.lang.String
: java.lang.String
Distrito
+
+
Distrito
Nome
: java.lang.Long
: java.lang.String
Ocupacao
+
+
Ocupacao
Descricao
: java.lang.Long
: java.lang.String
Coleta
+
#
+
<<Constructor>>
<<Destructor>>
Coleta ()
finalize ()
Transmitir_dados (java.lang.String Servidor, java.lang.Integer Porta, java.lang.Integer Metodo)
: void
: java.lang.Boolean
Questionario
+
+
+
+
Questionario
Homens
Mulheres
Logradouro
: java.lang.Long
: java.lang.Integer
: java.lang.Integer
: java.lang.String
+
#
+
<<Constructor>>
<<Destructor>>
Questionario ()
finalize ()
Validar ()
: void
: java.lang.Boolean
Domicilio : 1
+
+
Domicilio
Tem_sanitario
: java.lang.Long
: java.lang.Boolean
+
#
<<Constructor>>
<<Destructor>>
Domicilio ()
finalize () : void
Morador
+
+
+
+
+
+
+
+
Morador
Nome
Sexo
Resp_domicilio
Data_nasc
Idade_presumida
Alfabetizado
Renda_mensal
: java.lang.Long
: java.lang.String
: java.lang.String
: java.lang.Boolean
: java.util.Date
: java.lang.Integer
: java.lang.Boolean
: java.lang.Double
+
#
<<Constructor>>
<<Destructor>>
Morador ()
finalize () : void
Domicilio_particular_permanente
+ Num_banheiros : java.lang.Integer
+
#
<<Constructor>>
<<Destructor>>
Domicilio_particular_permanente ()
finalize ()
ItemBD : 1
+
+
id
tabela
: java.lang.Long
: java.lang.String
+
#
+
+
+
+
+
+
+
+
<<Constructor>>
<<Destructor>>
<<Getter>>
<<Setter>>
<<Getter>>
<<Setter>>
ItemBD ()
finalize ()
Obter_dados ()
Gravar_dados ()
Excluir_dados ()
Novo_id ()
getId ()
setId (java.lang.Long newId)
getTabela ()
setTabela (java.lang.String newTabela)
: void
: java.lang.Boolean
: java.lang.Boolean
: java.lang.Boolean
: java.lang.Long
: java.lang.Long
: void
: java.lang.String
: void
Domicilio : 2
+
+
Domicilio
Tem_sanitario
: java.lang.Long
: java.lang.Boolean
+
#
<<Constructor>>
<<Destructor>>
Domicilio ()
finalize () : void
ItemBD : 2
+
+
id
tabela
: java.lang.Long
: java.lang.String
+
#
+
+
+
+
+
+
+
+
<<Constructor>>
<<Destructor>>
<<Getter>>
<<Setter>>
<<Getter>>
<<Setter>>
ItemBD ()
finalize ()
Obter_dados ()
Gravar_dados ()
Excluir_dados ()
Novo_id ()
getId ()
setId (java.lang.Long newId)
getTabela ()
setTabela (java.lang.String newTabela)
: void
: java.lang.Boolean
: java.lang.Boolean
: java.lang.Boolean
: java.lang.Long
: java.lang.Long
: void
: java.lang.String
: void
Figura 3: Diagrama de classes inicial (ver ANEXO IV)
15
16. questionario
domicilio
domicilio_part
morador
lista
dados
tabela
Coleta
-
-
-
-
-
+
+
-
-
-
*
*
*
*
*
*
-
-
-
tbPrincipal
btIniciar
btTransmitir
btLista
btFinalizar
server_trans
porta_trans
ult_erro_socket
ult_resultado
Trans
questionario
domicilio
domicilio_part
morador
lista
nm_cat_questionario
cat_questionario
rs_questionario
ds_questionario
: TabPanel
: Button
: Button
: Button
: Button
: String
: int
: int
: String
: String
: UIQuestionario
: UIDomicilio
: UIDomicilio_particular_permanente
: UIMorador
: UILista
: String
: Catalog
: ResizeStream
: DataStream
= "127.0.0.1"
= 6000
= ""
= "QUES.COLE.QUES"
+
+
+
+
+
+
+
+
+
+
+
+
+
<<Constructor>> Coleta ()
onStart ()
Transmitir_dados (String Servidor, int Porta)
limpaControles ()
novoIdQuestionario ()
abreCatalogo (boolean limpar)
fechaCatalogo ()
gravarDados ()
apagaQuestionario (long id_quest)
apagaMoradores (long id_quest)
atualizaNumHM (long id_quest)
carregaQuestionario (long id_quest)
onEvent (Event event)
: void
: boolean
: void
: long
: boolean
: void
: boolean
: boolean
: boolean
: void
: boolean
: void
<<SuperWaba>>
MainWindow
DataGrid
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
NEXT
PREV
SAME
FIRST
LAST
linesPerPage
cols
captions
tdColors
lineSelected
widths
xb
yb
wb
hb
x0
gscr
ce
lineH
firstDraw
startLine
endLine
minLines
: int
: int
: int
: int
: int
: int
: int
: String[]
: Color[]
: int
: int[]
: int
: int
: int
: int
: int
: Graphics
: ControlEvent
: int
: boolean
: int
: int
: int
= 0
= 1
= 2
= 3
= 4
= null
= {Color.BLACK,Color.BLACK,Color.BLACK,Color.BLACK}
= -1
= null
= 12
= 4
= 12
= new ControlEvent(ControlEvent.PRESSED,this)
= true
= 1
= 1
= 3
+
+
+
+
#
+
+
+
+
+
-
-
-
-
-
<<Constructor>> DataGrid (GridModel ds)
getPreferredHeight ()
getPreferredWidth ()
setGridModel (GridModel ds)
onBoundsChanged ()
onPaint (Graphics screen)
selectedLine ()
resetSelection ()
scroll (int direction)
onEvent (Event event)
getRow (int rowIdx)
getMaxWidth (int colIdx)
drawCols (Graphics screen, int ky)
drawRow (Graphics screen, String data[], int ky, boolean isTitle)
drawWaitCursor (boolean draw)
: int
: int
: void
: void
: void
: int
: void
: boolean
: void
: String[]
: int
: void
: void
: void
<<SuperWaba>>
Control
DataSet
- dataSet : String[]
+
+
+
+
+
+
+
+
+
+
+
+
<<Constructor>> DataSet (int ySize, int xSize)
getColumnCount ()
getItemCount ()
getPreferredColumnWidth (int columnIndex)
getPreferredRowHeight (int columnIndex)
getRowCount ()
getSelected (int rowIdx, int colIdx)
getValidChars (int rowIdx, int colIdx)
getValueAt (int rowIdx, int colIdx)
isCellEditable (int rowIdx, int colIdx)
isHeader (int rowIdx)
setValueAt (Object val, int rowIdx, int colIdx)
: int
: int
: int
: int
: int
: Object
: String
: Object
: boolean
: boolean
: void
UIDomicilio
+
+
+
+
+
+
+
+
+
+
+
btGravar
btCancelar
btAvancar
cbSanitario
lbEspecie
lbDestLixo
lbDestDejetos
cmbEspecie
cmbDestLixo
cmbDestDejetos
containerAtual
: Button
: Button
: Button
: Check
: Label
: Label
: Label
: ComboBox
: ComboBox
: ComboBox
: Container
= new Button("Gravar")
= new Button("Cancelar")
= new Button("Avançar >")
= new Check("Possui sanitário?")
= new Label("Espécie:")
= new Label("Destino do lixo:")
= new Label("Destino dos dejetos:")
= new ComboBox()
= new ComboBox()
= new ComboBox()
+
+
+
+
+
+
+
+
<<Constructor>> UIDomicilio ()
alinharControles ()
adicionarEm (Container container)
setarEdits ()
setarCombos ()
removerDe (Container container)
gravarDados ()
manipulaEvento (Event evento)
: void
: void
: void
: void
: void
: boolean
: void
UIDomicilio_particular_permanente
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
btGravar
btCancelar
btVoltar
edtNumBanheiros
lbNumBanheiros
lbFAbastAgua
lbFCanAgua
lbTipo
lbSituacao
lbSitTerreno
cmbFAbastAgua
cmbFCanAgua
cmbTipo
cmbSituacao
cmbSitTerreno
containerAtual
: Button
: Button
: Button
: Edit
: Label
: Label
: Label
: Label
: Label
: Label
: ComboBox
: ComboBox
: ComboBox
: ComboBox
: ComboBox
: Container
= new Button("Gravar")
= new Button("Cancelar")
= new Button("< Voltar")
= new Edit()
= new Label("Nº banheiros:")
= new Label("Abast. água:")
= new Label("Canal. água:")
= new Label("Tipo:")
= new Label("Situação:")
= new Label("Sit. terreno:")
= new ComboBox()
= new ComboBox()
= new ComboBox()
= new ComboBox()
= new ComboBox()
+
+
+
+
+
+
+
+
<<Constructor>> UIDomicilio_particular_permanente ()
alinharControles ()
adicionarEm (Container container)
setarEdits ()
setarCombos ()
removerDe (Container container)
gravarDados ()
manipulaEvento (Event evento)
: void
: void
: void
: void
: void
: boolean
: void
UILista
+
+
+
+
+
+
+
*
-
-
-
btAtualizar
btCarregar
btApagar
lbNumReg
dados
tabela
containerAtual
nm_cat_questionario
cat_questionario
rs_questionario
ds_questionario
: Button
: Button
: Button
: Label
: DataSet
: DataGrid
: Container
: String
: Catalog
: ResizeStream
: DataStream
= new Button("Atualizar")
= new Button("Abrir")
= new Button("Apagar")
= new Label("Número de registros:")
= "QUES.COLE.QUES"
+
+
+
+
+
+
+
+
<<Constructor>> UILista ()
alinharControles ()
adicionarEm (Container container)
abreCatalogo (boolean limpar)
fechaCatalogo ()
atualizarTabela ()
removerDe (Container container)
manipulaEvento (Event evento)
: void
: void
: boolean
: void
: void
: void
: void
UIMorador
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
*
+
+
+
+
btGravar
btCancelar
btAdicionar
btRemover
btExibir
btVoltar
edtNome
edtDataNascimento
edtIdadePresum
edtRendaMensal
lbMoradores
lbNome
lbSexo
lbDataNascimento
lbIdadePresum
lbRendaMensal
lbGrauInstr
lbEstCivil
lbOcupacao
lbEtinia
lbTipoRelacaoRespDom
lbLocalNasc
cmbMoradores
cmbSexo
cmbGrauInstr
cmbEstCivil
cmbOcupacao
cmbEtinia
cmbTipoRelacaoRespDom
cmbEstadoNasc
cmbMunicipioNasc
cbAlfabetizado
cbRespDomicilio
containerAtual
nm_cat_morador
cat_morador
rs_morador
ds_morador
questionario
: Button
: Button
: Button
: Button
: Button
: Button
: Edit
: Edit
: Edit
: Edit
: Label
: Label
: Label
: Label
: Label
: Label
: Label
: Label
: Label
: Label
: Label
: Label
: ComboBox
: ComboBox
: ComboBox
: ComboBox
: ComboBox
: ComboBox
: ComboBox
: ComboBox
: ComboBox
: Check
: Check
: Container
: String
: Catalog
: ResizeStream
: DataStream
: long
= new Button("Gravar")
= new Button("Cancelar")
= new Button("Adicionar Morador")
= new Button("Excluir Morador")
= new Button("Exibir Morador")
= new Button("Ok")
= new Edit()
= new Edit()
= new Edit()
= new Edit()
= new Label("Moradores do domicílio:")
= new Label("Nome:")
= new Label("Sexo:")
= new Label("Data nasc.:")
= new Label("Idade:")
= new Label("Renda:")
= new Label("Grau instr.:")
= new Label("Estado civil:")
= new Label("Ocup.:")
= new Label("Etn.:")
= new Label("Rel. c/ resp. domic.:")
= new Label("Local nasc.:")
= new ComboBox()
= new ComboBox()
= new ComboBox()
= new ComboBox()
= new ComboBox()
= new ComboBox()
= new ComboBox()
= new ComboBox()
= new ComboBox()
= new Check("Alfabetizado")
= new Check("Resp. domicílio")
= "MORA.COLE.MORA"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
<<Constructor>> UIMorador ()
alinharControles ()
limpaControles ()
alinharControlesMorador ()
adicionarEm (Container container)
setarEdits ()
setarCombos ()
removerDe (Container container)
preparaMorador (Container container)
despreparaMorador (Container container)
exibirMorador ()
adicionarMorador ()
removerMorador ()
gravarDados ()
abreCatalogo (boolean limpar)
fechaCatalogo ()
manipulaEvento (Event evento)
: void
: void
: void
: void
: void
: void
: void
: void
: void
: boolean
: void
: boolean
: boolean
: boolean
: void
: void
UIQuestionario
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
btGravar
btCancelar
btDomicilio
btMorador
btDetectaGPS
edtQuestionario
edtHomens
edtMulheres
edtLogradouro
edtCoordGPS
lbQuestionario
lbHomens
lbMulheres
lbLogradouro
lbEstado
lbCidade
lbDistrito
lbCoordGPS
cmbEstado
cmbCidade
cmbDistrito
questionario
containerAtual
: Button
: Button
: Button
: Button
: Button
: Edit
: Edit
: Edit
: Edit
: Edit
: Label
: Label
: Label
: Label
: Label
: Label
: Label
: Label
: ComboBox
: ComboBox
: ComboBox
: long
: Container
= new Button("Gravar")
= new Button("Cancelar")
= new Button("Domicilio")
= new Button("Moradores")
= new Button("GPS")
= new Edit()
= new Edit()
= new Edit()
= new Edit()
= new Edit()
= new Label("Nº do Questionario:")
= new Label("Homens:")
= new Label("Mulheres:")
= new Label("Logr.:")
= new Label("UF:")
= new Label("Cidade:")
= new Label("Distrito/localidade:")
= new Label("Coord. GPS:")
= new ComboBox()
= new ComboBox()
= new ComboBox()
+
+
+
+
+
+
+
+
<<Constructor>> UIQuestionario ()
alinharControles ()
adicionarEm (Container container)
setarEdits ()
setarCombos ()
removerDe (Container container)
gravarDados ()
manipulaEvento (Event evento)
: void
: void
: void
: void
: void
: boolean
: void
Figura 4: Diagrama de classes final (ver ANEXO IV)
Diagrama de Componentes e Implantação
O diagrama de componentes, conforme mostrado na figura 5, nos dá uma visão das partes que
formam a aplicação. O diagrama de implementação nos dá uma idéia de como a aplicação estará
disposta em seu ambiente após sua implantação, como mostra a figura 6.
16
17. Classes de Interface
Tabelas de dados pdb (Palm Database)
Classes auxiliares
Figura 5: Diagrama de componentes
Coleta
Banco de dados
Servidor Coleta
Conexão TCP/IP
via socket
(rede local,
intranet ou
internet)
Dados
coletados
Funções
exportadas
Comandos SQL
Dados e
Aplicativo
desktop
(PC & MS-Windows
compatível)
Aplicação
java em
dispositivo Palm,
WindowsCE ou
PocketPC
Interbase ou Firebird
(Linux & MS-Windows)
Figura 6: Diagrama de implantação
17
18. Modelagem dos Dados
Devemos ressaltar que a modelagem dos dados apresenta a estrutura de armazenamento de dados
que deverá ser manipulada pela aplicação servidora, que receberá os dados armazenados nos PDA´s
e fará o seu armazenamento em um SGBD relacional. Já o aplicativo de coleta de dados, executado
no PDA, utiliza um esquema simples de tabelas de dados, sem qualquer inter-relacionamento ou
integridade referencial.
Modelo Lógico
No DER (Diagrama de entidade-relacionamento), representado pela figura 7, apresentamos a
estrutura lógica de armazenamento dos dados que a aplicação deverá tratar. Nota-se que no DER
mostramos apenas a estrutura de entidades (que futuramente se tornarão tabelas de banco de dados)
e os seus relacionamentos, e não nos preocupamos em mostrar os atributos ou campos de cada
entidade.
Questionario
Morador
Domicilio
Especie
Tipo
Situacao
Situacao_terreno
Forma_abastecimento_agua
Forma_canalizacao_agua
Destino_dejetos
Destino_lixo
Tipo_relacao
Grau_instrucao
Estado_civil
Etinia
Municipio
Estado
Distrito
Ocupacao
Figura 7: Diagrama de entidade-relacionamento
Modelo Físico
No MER (Modelo de entidade-relacionamento), enfatizamos a estrutura física das entidades e seus
inter-relacionamentos, mostrando para cada entidade, todos os seus campos e tipos de dados e para
cada relacionamento, o nome físico do mesmo, e ainda todas as chaves primárias e estrangeiras de
cada entidade, conforme apresentado na figura 8.
18
19. A estrutura física dos dados foi formatada e especificada para ser compatível com o gerenciador de
banco de dados Firebird (compatível com o Interbase, da Borland).
FK_DISTRITO_MUNICIPIO
FK_MUNICIPIO_ESTADO
FK_QUESTIONARIO_DISTRITO
FK_QUESTIONARIO_MUNICIPIO
FK_QUESTIONARIO_ESTADO
FK_DOMICILIO_SIT
FK_DOMICILIO_DESTLIXO
FK_DOMICILIO_FAGUA
FK_DOMICILIO_ESPECIE FK_DOMICILIO_FORCANAGUA
FK_DOMICILIO_DESTDEJ
FK_DOMICILIO_TIPO
FK_DOMICILIO_SITUACAO
FK_DOMICILIO_QUEST
FK_MORADOR_OCUPACAO
FK_MORADOR_ETINIA
FK_MORADOR_GINST
FK_MORADOR_TRELFK_MORADOR_ESTCIVIL
FK_MORA_MUN_NASCIMENTO
FK_MORA_EST_NASCIMENTO
FK_MORADOR_DOMICILIO
Questionario
Questionario
Distrito
Municipio
Estado
Homens
Mulheres
Logradouro
long integer
long integer
long integer
character(2)
integer
integer
variable character(200)
<pk>
<fk1>
<fk2>
<fk3>
Morador
Morador
Tipo_relacao
Etinia
Estado_civil
Ocupacao
Municipio
Grau_instrucao
Estado
Domicilio
Nome
Sexo
Resp_domicilio
Data_nasc
Idade_presumida
Alfabetizado
Renda_mensal
long integer
long integer
long integer
long integer
long integer
long integer
long integer
character(2)
long integer
variable character(100)
character(1)
boolean
date
integer
boolean
decimal(9,2)
<pk>
<fk4>
<fk2>
<fk5>
<fk1>
<fk6>
<fk3>
<fk7>
<fk8>
Domicilio
Domicilio
Especie
Destino_dejetos
Forma_abastecimento_agua
Tipo
Forma_canalizacao_agua
Situacao
Destino_lixo
Situacao_terreno
Questionario
Tem_sanitario
Num_banheiros
long integer
long integer
long integer
long integer
long integer
long integer
long integer
long integer
long integer
long integer
boolean
integer
<pk>
<fk4>
<fk6>
<fk3>
<fk7>
<fk5>
<fk8>
<fk2>
<fk1>
<fk9>
Especie
Especie
Descricao
long integer
variable character(60)
<pk>
Tipo
Tipo
Descricao
long integer
variable character(60)
<pk>
Situacao
Situacao
Descricao
long integer
variable character(60)
<pk>
Situacao_terreno
Situacao_terreno
Descricao
long integer
variable character(60)
<pk>
Forma_abastecimento_agua
Forma_abastecimento_agua
Descricao
long integer
variable character(60)
<pk>
Forma_canalizacao_agua
Forma_canalizacao_agua
Descricao
long integer
variable character(60)
<pk>
Destino_dejetos
Destino_dejetos
Descricao
long integer
variable character(60)
<pk>
Destino_lixo
Destino_lixo
Descricao
long integer
variable character(60)
<pk>
Tipo_relacao
Tipo_relacao
Descricao
long integer
variable character(60)
<pk>
Grau_instrucao
Grau_instrucao
Descricao
long integer
variable character(60)
<pk>
Estado_civil
Estado_civil
Descricao
long integer
variable character(60)
<pk>
Etinia
Etinia
Descricao
long integer
variable character(60)
<pk>
Municipio
Municipio
Estado
Nome
long integer
character(2)
variable character(100)
<pk>
<fk>
Estado
Estado
Nome
character(2)
variable character(100)
<pk>
Distrito
Distrito
Municipio
Nome
long integer
long integer
variable character(100)
<pk>
<fk>
Ocupacao
Ocupacao
Descricao
long integer
variable character(60)
<pk>
Figura 8: Modelo de entidade-relacionamento
19
20. Interface da aplicação
Módulo de coleta de dados para o PDA
As telas do aplicativo de coleta foram capturadas a partir de um emulador do sistema operacional
PalmOS, desenvolvido e distribuído pela Palm Computing.
Figura 9: Tela inicial do aplicativo
20
21. Figura 10: Tela de detalhes do questionário
Figura 11: Tela de detalhes do domicílio
21
22. Figura 12: Tela de detalhes do domicílio particular permanente
Figura 13: Tela de listagem de moradores do domicílio
22
23. Figura 14: Tela de detalhes do morador do domicílio
Figura 15: Tela de listagem e manipulação de questionários armazenados
23
24. Figura 16: Mensagem de início da transmissão de dados
Módulo servidor de recepção de dados
As telas da aplicação servidora foram capturadas a partir da aplicação em execução, as quais
demonstram a aplicação aguardando uma conexão (figura 17), a aplicação exibindo os dados
recebidos (figura 18) de um PDA emulado e o resultado dos dados transmitidos armazenados em
um arquivo XML para processamento posterior (figura 19).
24
25. Figura 17: Aplicação servidora aguardando dados
Figura 18: Dados recebidos pela aplicação servidora
25
27. Considerações finais
Espera-se que este relatório tenha dado uma visão geral do aplicativo de coleta de dados sócio-
econômicos desenvolvido durante o estágio supervisionado. Além do aplicativo de coleta, foi
desenvolvido um protótipo de servidor para recepção de dados através de conexão TCP/IP. Para
trabalhos futuros temos a implementação de novas funcionalidades e recursos para armazenamento e
gerenciamento dos dados armazenados em SGBD pela aplicação servidora.
27
28. Referências
[FURLAN, 1998] Furlan, José Davi. Modelagem de Objetos através da UML – the Unified
Modeling Language. São Paulo: Makron Books, 1998.
[HORSTMANN & CORNELL, 2000] Horstmann, Cay S. & Cornell, Gary. Core Java™ 2 Volume
I - Fundamentals - 5th
Edition. USA: Prentice Hall PTR, 2000.
[YOURDON, 1990] Yourdon, Edward. Análise estruturada moderna. Tradução de Dalton Conde
de Alencar – Rio de Janeiro: Campus, 1990.
28