Portifolio 6 Semestre
Portifolio 6 Semestre
Portifolio 6 Semestre
Ruy Barbosa
2015
JOSELANE RODRIGUES DOS SANTOS
Ruy Barbosa
2015
SUMÁRIO
1 INTRODUÇÃO.......................................................................................................3
2 OBJETIVO..............................................................................................................4
3 DESENVOLVIMENTO...........................................................................................5
3.1 RECURSOS UTILIZADOS PARA DISPOSITIVOS MÓVEIS, PERSISTÊNCIA,
THREADS, SINCRONISMO DE PROCESSO, INTERFACE COM O USUÁRIO E
FERRAMENTAS DE DESENVOLVIMENTO................................................................5
3.2 GESTÃO DO CONHECIMENTO.....................................................................12
3.3 AÇÕES PARA EVITAR POSSÍVEIS INVASÕES............................................18
4 CONCLUSÃO......................................................................................................21
REFERÊNCIAS...........................................................................................................22
3
1 INTRODUÇÃO
2 OBJETIVO
3 DESENVOLVIMENTO
PERSISTÊNCIA
Identificam-se algumas vantagens propiciadas pela persistência local
temporária em aplicações desenvolvidas para dispositivos móveis e que acessam
dados externos a estes dispositivos. Para isso, desenvolveu-se uma aplicação
moldada sob os princípios da arquitetura cliente-servidor, sendo uma única versão
para a aplicação servidora e duas versões para a aplicação cliente. Diante disso,
realizou-se um comparativo quanto ao desempenho das duas versões cliente, uma
com persistência local temporária e outra sem esta característica.
A persistência local temporária junto às aplicações clientes instalada
em dispositivos móveis oferece maior agilidade e flexibilidade. Isto porque os
modelos em que as aplicações clientes acessam diretamente uma aplicação
servidora resultam em um maior número de acessos e necessitam do
estabelecimento de conexões permanentes. Já com a persistência local temporária
se evita o estabelecimento deste tipo de conexões quando os dados já estão
armazenados no dispositivo.
Além do contexto apresentado a abordagens que utilizam
6
THREADS
Um pequeno programa que trabalha como um subsistema
independente de um programa maior, executando alguma tarefa específica. Um
programa dividido em vários threads pode rodar mais rápido que um programa
monolítico, pois várias tarefas podem ser executadas simultaneamente. Os vários
threads de um programa podem trocar dados entre sí e compartilhar o mesmo
espaço de memória e os mesmos recursos do sistema.
Para o programador, existem vantagens e desvantagens em dividir
um programa em vários threads. Por um lado isso facilita o desenvolvimento, pois é
possível desenvolver o programa em módulos, testando-os isoladamente, ao invés
7
de escrever um único bloco de código. Mas, por outro lado, com vários threads o
trabalho torna-se mais complexo, devido à interação entre eles.
O Android possui um sistema bastante sofisticado de gerenciamento
de threads. Possui um thread único nas aplicações padrão e interface com o
usuário, ou seja, que todas as tarefas de longa duração dentro de um aplicativo
devem rodar em um thread em segundo plano.
SINCRONISMO DE PROCESSO
Um protocolo de sincronização define o fluxo de trabalho para a
comunicação durante uma seção de sincronização de dados quando o dispositivo
móvel é conectado à rede fixa. Para BREITBART, KOMONDOOR, RASTOGI (1999),
deve dar suporte à identificação de registros, comandos de protocolo comuns para
sincronização de dados local e de rede, e poder apoiar a identificação e resolução
de conflitos de sincronização. Atualmente diversos fabricantes oferecem uma
variedade de produtos de sincronização de dados. Cada protocolo funciona apenas
para transportes específicos implementados para alguns dispositivos. A proliferação
de tecnologias de sincronização complica as tarefas de usuários, fabricantes de
dispositivos, provedores de serviços e desenvolvedores de aplicações. A falta de um
protocolo de sincronização de dados comum impede o crescimento do uso de
dispositivos móveis, restringindo a habilidade de usuários para ter acesso dados e
limitando a entrega de operações realizadas sobre dados móveis.
A sincronização entre dispositivos móveis é determinada por uma
variedade de fatores, incluindo a latência da sincronização, a quantidade de bateria
utilizada, o custo monetário envolvido (conexão a rede, tempo, etc.), a robustez e a
confiabilidade da rotina de sincronização. Um bom protocolo de sincronização é
aquele que tende a estas direções.
Os dispositivos móveis são limitados na comunicação devido às
ligações de rede que os conectam, possuem poderes computacionais limitados,
memória e bateria limitadas.
A computação e a comunicação têm ligação direta com a latência e
utilização da bateria. A memória dos dispositivos móveis é limitada e nenhum
protocolo que consumir muita memória será apropriado. Ao mesmo tempo, nós
desejamos desenvolver protocolos que permitam que um grande número dispositivo
na rede sincronizem entre si, que sejam robustos e preferivelmente peer-topeer em
8
FERRAMENTAS DE DESENVOLVIMENTO
Nos últimos anos a demanda por aplicativos móveis cresceu em um
ritmo acelerado. Somente no último trimestre de 2011, foram vendidos 157, 8
milhões de smartphones, um aumento de 54,7% em relação ao mesmo período do
ano anterior, segundo a consultoria IDC. À medida que as vendas crescem a
necessidade de aplicações também cresce tanto no âmbito corporativo quanto no
entretenimento. A partir deste crescimento, cada vez mais surgem técnicas e
ferramentas para tornar este desenvolvimento produtivo, principalmente nas três
plataformas mais populares do momento: iOS, Android e Windows Phone.
Diante do que foi abordado, será apresentado três modos de
desenvolvimento para dispositivos móveis: desenvolvimento nativo, cross-platform e
site móvel (web mobile). Focando nas suas principais vantagens e desvantagens,
apresentando casos de sucesso no intuito de permitir que o leitor conheça melhor as
três abordagens e ajudando a definir qual a melhor alternativa para cada situação.
Aplicativo Nativo
É a abordagem mais simples e direta: para cada plataforma é
desenvolvida uma versão do aplicativo.
O grande benefício desta abordagem é a melhor experiência de
interface e comportamento obtida. Os aplicativos móveis requerem excelentes
experiências de uso na interface e comportamento para se destacarem e obtiver a
atenção do usuário. E a experiência de uso não é portável de uma plataforma para
outra. Ela deve ser repensada e construída do zero a cada plataforma em que o
aplicativo é criado. Um simples exemplo pode ser visto na posição das abas: no iOS,
as abas se posicionam abaixo do conteúdo; enquanto no Android, acima.
Apresentando maior diferença, o Windows Phone as “abas” estão todas em um
10
Aplicativo Cross-Platform
O desenvolvimento Cross-Platform, consiste em um
desenvolvimento único para várias plataformas. Atualmente, existem várias
ferramentas que permitem essa abordagem, onde a parte visual é normalmente
desenvolvida em HTML 5 e CSS e que são “renderizados” em um browser embutido
no SDK padrão da linguagem nativa (Objective-C do iOS, Java do Android, etc.)
tornando assim possível o desenvolvimento para várias plataformas. Abaixo são
listadas duas das principais ferramentas do mercado e que foram utilizadas
internamente:
Adobe Air
Utilizando o Adobe Air é possível programar em Actionscript 3.0 em
background e desenvolver a parte visual utilizando MXL (linguagem de marcação da
Adobe) ou ainda utilizando HTML 5/CSS. Atualmente é possível criar versões para
11
Motorola Rhomobile
A plataforma Rhodes foi adquirida pela Motorola no início de 2012 se
tornando Rhomobile. No Rhomobile é possível desenvolver em Ruby, com o
framework parecido com o já famigerado Rails, já a parte visual pode ser
desenvolvida em HTML5 e CSS. Ao criar um projeto novo, já está incluso um “skin”
em CSS de cada plataforma. A própria criação do projeto já contém uma rotina que
determina em qual plataforma o aplicativo está rodando. Também possui uma vasta
camada de abstração de banco de dados, tornando esta parte do desenvolvimento
simples. Em contrapartida, a parte da sua API que trata requisições HTTP e Threads
ainda é muito instável, além disso, a documentação e o suporte no Brasil deixam a
desejar, principalmente nas questões de licenciamento do produto.
nativos.
Site Móvel (Web Mobile)
Com a popularização do HTML 5 e a sua adoção pelos navegadores
dos dispositivos móveis, abriu-se uma nova frente para o desenvolvimento: os sites
móveis.
O acesso aos recursos do dispositivo como câmera, GPS,
acelerômetro etc., é possível, embora complicado em alguns momentos.
Um site móvel não depende de uma loja de aplicativos e a sua
respectiva política de avaliação. Isso permite entregas rápidas, onde existe uma ágil
implementação de novos recursos e correções de erros. O fato de não necessitar de
instalação por parte do usuário também pode ser contado como um fator positivo.
Em um site móvel não se deve simular o visual e comportamento de
um aplicativo nativo. Usuários sabem distinguir entre uma ótima experiência em um
aplicativo nativo e uma ótima experiência um site móvel. Para obter essa ótima
experiência, a atenção deve ser focada em construir um site que tenha uma ótima
usabilidade em telas de toque e/ou pequenas.
O custo de construir um site móvel é mais baixo do que construir
aplicativos nativos para cada plataforma. É mais comum a existência de
profissionais que conheçam a tecnologia envolvida. Entretanto, os sites móveis,
obviamente tem um requisito principal, acesso à internet. Embora isto seja um
requisito básico, nos Estados Unidos e na Europa, no Brasil a rede móvel ainda não
é tão comum nos smartphones e tablets. Por isso, um site móvel torna-se mais
interessante quando o aplicativo necessite essencialmente de acesso a web.
DIMENSÕES
Para que possamos entender a gestão do conhecimento, há
necessidade de que esta seja relacionada a sete dimensões que avaliam a
existência de ações, valores, normas e mecanismos compatíveis com a implantação
do processo sistêmico de gestão que envolve três diferentes níveis da prática
gerencial: o estratégico, o organizacional e o estrutural.
Fatores estratégicos e o papel da alta administração: Seu papel é
indispensável na clarificação da estratégia empresarial e na definição de metas.
Cultura e valores organizacionais: A organização deve desenvolver
uma cultura voltada à inovação, experimentação, aprendizado contínuo,
comprometida com resultados de longo prazo e com a otimização de todas as áreas
da empresa.
Estrutura organizacional: Baseadas no trabalho de equipes
multidisciplinares com alto grau de autonomia.
Administração de recursos humanos: Melhorando a capacidade das
organizações de atrair e reter profissionais com habilidades, comportamentos e
competências, estimulando comportamentos alinhados com os requisitos dos
processos individual e coletivo de aprendizado e adotando políticas de remuneração,
associadas à aquisição de competências individuais, ao desempenho da equipe e da
organização.
Sistemas de informação: Processos de geração, difusão e
armazenamento de conhecimento, dentro de um ambiente de confiança,
transparência e colaboração.
14
TIPOS DE CONHECIMENTO
Levando em consideração o fator competitivo numa organização, o
conhecimento provém de um processo seletivo adquirido não só através da
educação formal, como também da experiência prática. Variados níveis de
profissionais constituem uma organização, são profissionais que representam fontes
de informação, conhecimento, qualidade e produtividade, além de serem
responsáveis pelo bom ou mau desempenho das diversas atividades da
organização. Toda a força produtiva de uma organização agrega informação e
conhecimento, nesse contexto, a gestão do conhecimento é uma ferramenta
estratégica importante, uma vez que o conhecimento é o aprendizado compartilhado
e a força de trabalho da organização.
A soma do conhecimento de todos em uma empresa lhe proporciona
vantagem competitiva. O conhecimento tácito e o explícito estão presentes no
âmbito organizacional por meio de seu capital intelectual. O conhecimento tácito é
aquele disponível em pessoas e não se encontra formalizado em meios concretos.
Já o conhecimento explícito é aquele que pode ser armazenado, por exemplo, em
documentos, manuais, bancos de dados ou em outras mídias.
Para transformar o conhecimento tácito em explícito e, a partir daí,
poder criar inovações, as pessoas devem ser estimuladas a participar ativamente
dos processos decisórios e, principalmente, a compartilharem o conhecimento tácito
que detém na forma de experiências. As estratégias de gestão do conhecimento
podem ser utilizadas para facilitar desde o compartilhamento do conhecimento tácito
entre as pessoas, até a disseminação deste conhecimento por toda a organização.
TIPOS DE CAPITAIS
O capital humano se refere ao conhecimento explícito ou implícito,
útil para a empresa, na qual possuem as pessoas que trabalham na organização, e
sua capacidade de aprender. O Capital humano é a base para a geração de dois
outros tipos de capital intelectual.
15
Antivírus
O antivírus pode não ser o único responsável pela segurança do
computador, mas com certeza, é um dos principais e primeiro passo para quem
deseja proteger sua máquina.
É possível encontrar bons softwares de proteção – os pagos que
existem no mercado são superiores aos gratuitos, já que oferecem amplo suporte.
Firewall
O firewall trabalha, de certa forma, juntamente com o antivírus. Uma
vez que ele é o responsável em expulsar o que é de caráter duvidoso antes que ele
entre na máquina. Uma vez dentro (quando o firewall falha) ainda se tem o antivírus
que fará o que for possível para eliminá-lo
Antispyware
Os antispywares são responsáveis em executar varreduras no
computador com o objetivo de tentar eliminar do sistema spywares - programas
deixados pelos hackers em seu computador com o intuito de recolher suas
informações.
Cuidado em downloads
Downloads são um dos grandes motivos de inserção de pragas nas
máquinas. Vez ou outra, quando se procura um programa específico, o site pode dar
a entender que o download será feito por um link que, na verdade, acarretará em
vírus.
Mesmo que todos os passos tenham sido feitos corretamente, ainda
assim preste atenção a todos os softwares adicionais que o programa indica durante
a instalação. Evite aceitar tudo durante o processo. Mesmo que não tenha
malwares, ainda assim os adicionais podem diminuir a eficácia da sua máquina e
deixá-la mais vulnerável.
esquerdo a barra de status do navegador – qual o local que você será encaminhado
se clicar nele.
Caso se trate de um “.exe” quer dizer que é um executável, ou seja,
um programa, provavelmente, e não site. Então, a possibilidade de ser um malware
é muito grande.
O ”.scr” geralmente se refere a protetores de tela, o que costuma
confundir o usuário. Evite, sempre que possível clicar nos links que aparecem com
tais extensões.
Sites de confiança
É comum, principalmente quando se recorre a buscadores, ser
encaminhado para sites desconhecidos de compras, para assistir a vídeos, ou
outras ações. Alguns usuários possuem malícia o suficiente para conseguir operar
em tais sites sem adquirir vírus, mas para leigos evitar tais páginas, pelo menos no
início, é essencial.
21
4 CONCLUSÃO
REFERÊNCIAS
Marcus, A. “Mobile User Interface Design: For Work, Home, and On the Way”. In
ACM SIGCHI 2004. ACM, Viena, Austria, 2004.
BUTLER, M. H.; DELI: A Delivery Context Library for CC/PP and UAProf, 2002.
Disponível em: . Acesso em: 19 mar. 2006. CONINX, K.; LUYTEN, K.;
VANDERVELPEN, C.; VAN DEN BERGH, J.; and CREEMERS, B.; Dygimes:
Dynamically Generating Interfaces for Mobile Computing Devices and Embedded
Systems. In Chittaro, L., editor, Mobile HCI, volume 2795 of Lecture Notes in
Computer Science, pages 256--270. Springer, 2003.