Você está na página 1de 10

https://pt.scribd.

com/doc/186994741/Atividade-Interdisciplinar-6%C2%A-
!emestre-Individ"al
1 I$%&'()*+'
Neste trabalho ser abordada toda a matria do 6 Semestre, dentrodeste
contexto sero apresentados vrios recursos utilizados em dispositivosmveis,
como a persistncia dos dados, threads e sincronia de processos. inda
contexto dos sistemas mveis ser mostrado ! usabilidade deinter"aces para
dispositivos mveis, e podendo como isso trazer bene"#cios para ousurio,
como a "acilidade de uso, melhorando assim a "orma como as
pessoasintera$em com estes dispositivos.%utro tema de suma import&ncia
neste trabalho, "ala sobre a $estoe se$uran'a no sistema de in"orma'o, onde
sero descritos al$uns critrios comoen$enharia social, vulnerabilidades,
amea'as e ata(ues, bem como medidas dese$uran'a e auditoria.
2 ',-%I.'
)em*se como ob+etivo desta produ'o textual o apro"undamento dosconte,dos
estudados durante o semestre, bem como o aper"ei'oamento nastcnicas e
conceitos vistos no decorrer das matrias, obtendo insumos paracon"ec'o do
)rabalho de -oncluso de -urso


/ &-C)&!'! )%I0I1A('! -2 (I!3'!I%I.-! 24.-I!
../
012S3S)4N-3 15 063-)37%S 02 83S0%S3)37%S 59713S
-%5 :;51

capacidade de persistir dados ou armazenar in"orma'<es semd,vida um
dos recursos mais importantes em (ual(uer lin$ua$em de
pro$rama'o. rmazenar dados para uma posterior recupera'o
uma constante na maioria dosambientes computacionais, se+a para
persistncia simples de par&metros decon"i$ura'<es de al$um sistema ou
persistncia de in"orma'<es di$itadas pelousurio para alimentar al$um banco
de dados.No (ue diz respeito ! persistncia em ambientes computacionais,
ocomplicador (uando esse mesmo ambiente tem recursos de
armazenamentorestrito e, ainda, uma ar(uitetura de hard=are e so"t=are bem
di"erente daencontrada em des>tops ou $randes servidores, como o caso dos
dispositivosmveis. 1ssas di"eren'as podem ser observadas tanto do ponto de
vista do usurio?er$onomia de hard=are e so"t=are@, (uanto do ponto de vista
do desenvolvedor?"erramentas de so"t=are, 03s e recursos@. %s tele"ones
celulares conse$uiramalcan'ar uma popularidade (uase to $rande (uanto a
observada na utiliza'o decomputadores pessoais a partir da dcada de AB.
5as, assim como todos osdispositivos mveis, eles tambm trazem consi$o
al$umas di"iculdades, como,problemas relacionados ! er$onomia do teclado,
uma inter"ace visual simples pormlimitada e a dependncia de baterias
(ue re(uerem recar$a constante..././ :;51 e per"il 5380% :ava ; 5icro
1dition ?:;51@ "oi desenvolvido para contemplartoda a diversidade
computacional existente nos dispositivos mveis. tecnolo$ia:;51 conse$uiu
abstrair conceitos e tcnicas para homo$eneizar o desenvolvimentoem
dispositivos mveis de "orma completamente transparente. % per"il
dein"orma'o de dispositivos mveis, conhecido como 5380 ?5obile
3n"ormation8evice 0ro"ile@ sur$iu como solu'o para di"erenciar al$uns
dispositivos (ue apesarde possuirem caracter#sticas semelhantes, ainda assim
so tecnolo$icamentedi"erentes. % per"il 5380 contempla os aparelhos
celulares e o responsvel pelade"ini'o das 03s necessrias para a
persistncia de dados.../.; 25S% con+unto de classes responsveis por
armazenar e recuperardados conhecido como 2ecord 5ana$ement SCstem
?25S@ ou sistema de$erenciamento de re$istros. % 25S permite manter os
dados persistentes entrevrias chamadas de um 538let ?aplica'o baseada no
5380@. Se$undo aespeci"ica'o 5380, deve haver, dispon#vel no dispositivo,
pelo menos A >bCtes dememria no*voltil ?2%5@ para (ue os aplicativos
persistam dados. 1xemplos dememria no*voltil seriam 2%5, "lash e etc.
1m teoria, todo o espa'o livre namemria 2%5, ou "lash de um dispositivo
mvel, estaria dispon#vel aos aplicativospara persistirem seus
dados. unidade bsica de dados mantida pelo 25S conhecida como2ecor
dStore ou repositrio de re$istro ?22@. Dm 22 pode ser comparado a
umatabela ou entidade no modelo relacional e identi"icado por um nome de
at .;caracteres. -ada re$istro composto por um identi"icador ,nico e um
arraC de bCtes,onde os dados do re$istro sero armazenados. Dm 22 mantm
em sua estruturaum con+unto de re$istros (ue podem ter tamanhos
variveis.Dm 538let um aplicativo executado em um dispositivo mvel.
0araisso, ele precisa ser empacotado em um ar(uivo :ava ?:2@. Dm
538let pode, ainda,ser empacotado +unto com outros 538lets em um mesmo
ar(uivo :2, "ormando umcon+unto. )anto um 538let (uanto um con+unto de
538lets, "ormam uma aplica'o:;51 ,nica e completa. -ada con+unto de
538lets ou um 538let, pode criar emanter diversos 22s, podendo, inclusive,
compartilh*los entre si, com o detalhe de(ue os nomes atribu#dos aos 22s
precisam ser ,nicos. verso /.B do 5380 nopermitia o compartilhamento de
22s entre 538lets empacotados em di"erentesar(uivos :2. verso ;.B do
5380 corri$iu essa limita'o, permitindo assim ocompartilhamento de um 22
por todas os 538lets instalados no
dispositivo. s 03s do 25S no "ornecem recurso para travamento dere$istro
s. implementa'o de um 22 $arante (ue a opera'o de persistncia
serrealizada de "orma indivis#vel e s#ncrona evitando eventuais
inconsistncias no casode acessos m,ltiplos. Se "or necessrio (ue um 538let
utilize m,ltiplas threads paraacessar um 22, necessrio toda uma aten'o
para manter a consistncia dos dados. )ambm, responsabilidade da
implementa'o no dispositivo "azer todo oposs#vel para $arantir a inte$ridade e
a consistncia dos 22s durante opera'<esnormais ao seu uso como
reinicializa'o, troca de baterias e etc.8urante a desinstala'o de um 538let do
dispositivo, os armaznsde dados pertencentes a ele so removidos
automaticamente.../.. -lasse 2ecordStoreEual(uer opera'o de inser'o,
atualiza'o e excluso de re$istrosem um 22 provocam a atualiza'o
automtica do seu n,mero de verso e da dataem (ue ocorreu a mudan'a. %
n,mero da verso de um 22 pode servir comore"erencial, por exemplo, para
al$oritmos de replica'o. F uma maneira interessantede detectar (uantas
vezes um 22 "oi modi"icado. 1sses dois valores, o n,mero daverso e a
data da atualiza'o, podem ser recuperados atravs do uso dos
mtodos$et7ersion?@ e $et6ast5odi"ied?@ respectivamente...; )G2180ara
pro$ramas HnormaisH ?sin$le thread@, tem um ,nico ponto deexecu'o dentro
do pro$rama num momento particular, um thread semelhanteItem um in#cio,
uma se(uncia e um "im, como um pro$rama HnormalH. )em um ,nicoponto de
execu'o no certo momento dentro de um thread.% thread no um pro$rama,
mas executa dentro de um pro$rama?ver "i$ura@
8e"ini'oI thread um "luxo ,nico de controle se(uencial dentro deum
pro$rama. coisa "ica mais interessante (uando temos mais de um thread no
mesmo pro$rama ?ver "i$ura@.
% bro=ser um exemplo de uma aplica'o multithreaded, ondevrias coisas
podem ocorrer ao mesmo tempoI
JJ ScrollK
>> 8o=nload de um appletK
>> 8o=nload de uma ima$emK
>> )ocar uma anima'oK
>> )ocar um somK
>> 3mprimir uma p$ina em bac>$roundK
>> 8o=nload de uma nova p$inaK
>> %lhar . applets de ordena'o trabalhando.Dm thread parece ser um
processo mas compartilha o mesmoHespa'o de endere'amentoH, sendo muito
rpido chavear a execu'o entre threadsmas no entre processos.% thread
recebe al$uns recursos prprios durante a execu'oI
>> Dma pilha de execu'o para poder chamar mtodos, passarpar&metros,
alocar variveis locaisK
>> Dm H0ro$ram -ounterHK
>> -hamamos isso o Hcontexto de execu'o do threadHK
>> l$uns autores chamam thread de Hcontexto de execu'oH.
... S3N-2%N3 81 02%-1SS%S sincronia de processos permite $erenciar
o acesso concorrente arecursos do sistema operacional de "orma controlada
por parte dos processos, demaneira (ue um recurso no se+a modi"icado em
simult&neo, ou (ue os processos no "i(uem em espera (ue o recurso se+a
libertado.%s processos ?aplicativos ou pro$ramas@ de um computador
compartilham determinados recursos da chamada re$io cr#tica, (ue so
asvariveis $lobais, as instru'<es de 1LS, al$um banco de dados, etc.
Nestecompartilhamento podem ocorrer erros.1xemploIDma escola est
"azendo sua matr#cula apenas pela internet, on,mero de va$as M, dois
usurios esto "azendo a matr#cula no exato momento,"inalizam a matr#cula .
opera'o (ue o pro$rama usa da re$io cr#ticaI matr#cula "inalizada */.Se os
dois usurios "azem a opera'o ao mesmo tempo, (uando amatricula "or
"inalizada subtrai*se / va$aI5atr#cula "inalizada */ ?M*/@NO5atr#cula "inalizada
*/ ?M*/@NO
Euando um terceiro usurio "or "azer esta mesma matr#cula,on,mero de va$as
ser expresso como O, sendo (ue na verdade deveria ser .. 3sto causar
instabilidade e poder comprometer todo o sistema. solu'o para estetipo de
caso a certeza de excluso m,tua, isto , apenas um processo podeacessar
a re$io cr#tica por vezK %s mecanismos (ue implementam a excluso m,tua
utilizam um protocolo de acesso ! re$io cr#tica. )oda vez (ue um processo "or
executar sua re$io cr#tica, ele obri$ado a passar por um controle de entrada
eoutro de sa#da.
..../ 1xcluso 5,tua -om 1spera tiva penas um processo acessa a re$io
cr#tica de cada vez. 1spera ativa "az testes continuos em uma varivel, at (ue
ela se+a alterada, causandoassim um $rande disperdicio de -0D. baixo temos
solu'<es para problemas como o mostrado acima.
....; 8esativando as 3nterrup'<es "orma mais simples de $arantir a excluso
m,tua "azer com (ueo processo desabilite as interrup'<es ao entrar na
re$io cr#tica, e antes de sair as habilite novamente. -om isso a -0D no "ar
um chaveamento no momento em (ueo processo estiver na re$io cr#tica, pois
o chaveamento vem de uma interrup'oatravs de um rel$io.
..... 7ariveis de Plo(ueioEuando uma vriavel Hloc>H estiver como B, si$ni"ica
(ue a re$iocr#tica esta livre, e / esta ocupada. ssim, antes de entrar cada
processo testa ovalor da varivel Hloc>H, se "or B, coloca como / e entra na
re$io cr#tica, aps saircoloca o valor B, se o valor + "or /, a$uarda at ser B.
....O ltern&ncia 1stritaNeste metodo, criada uma varivel HturnH, com valor
inicial B, aima$em abaixo mostra dois processos QaQ e QbQ utilizando este metodo.
-omo HturnH esta como B, o processo QaQ no "ica HpresoH no =hile, eassim
executa a re$io cr#tica, aps terminar, ele seta HturnH para / e parte para
oresto do cdi$o, caso ocorra um chaveamento e o processo QbQ tente executar
are$io cr#tica antes (ue o processo QaQ sete HturnH como /, ele "icara em um
loop,apenas testando a variavel HturnH?espera ativa@
....M Solu'o de 0eterson ntes do processo entrar na re$io cr#tica ele execu
ta oprocedimento enterRre$ion?@, com o seu n,mero. 1 aps sair da re$io
cr#tica,executa leaveRre$ion?@.
....68eadloc>
8ois ou mais processos "icam irreversivelmente blo(ueados.
....S Starvation
Dm processo "ica sempre no "inal na "ila e no conse$ue seratendido, pois
processos com maior prioridade HroubamH sua vez.
..O DSP363881 81 3N)12T-1S 02 83S0%S3)37%S 59713S
Dm (uestionamento comum sobre as melhores prticas de "ront*endL
usabilidade para dispositivos mveis o (uanto elas so espec#"icas ao
contextomobile, pois muitas delas no se distin$uem das diretrizes (ue vm
sendo di"undidash ;B anos.F "ato (ue $rande parte das diretrizes so
semelhantes, mas o (uemuda a criticidade (uando tratamos de mobile.
l$umas recomenda'<es tornam*se mais $raves e imperdoveis (uando no
so se$uidas no pro+eto de inter"acespara dispositivos mveis.-omo exemplo,
podemos usar a (uesto da densidadein"ormacional. 1m aplica'<es (ue sero
visualizadas em dispositivos mveis, ostextos devem ser concisos, eliminando
in"orma'<es secundrias (ue podem ser
irrelevantes.
Ora, mas isso tambm vale para aplicaes visualizadas em desktop!
voc pensa. 0orm, para mobile, a conciso deve ser ainda maior e
in"orma'<es(ue seriam aceitveis nas aplica'<es =ebLdes>top convencionais
devem serremovidas de aplica'<es mobile. diretriz base a mesmaI reduzir
in"orma'osecundria. % (ue di"erencia o $rau de severidade (ue isto
representa neste outrocenrio.
..O./ 2ecomenda'<es -r#ticas 0ara o 0ro+eto de 3nter"aces 5obile8esenvolver
sites e aplica'<es para mobile re(uer aten'o paraal$uns critrios (ue tem um
$rande impacto na "orma com (ue as pessoasintera$em com estes dispositivos
..O././ 2eduzir clic>s
1sta parece ser uma recomenda'o bvia para ambiente mobile.0orm, (uem
+ desenvolveu para mobile ou utiliza aplica'<es nestes dispositivos,penseI
voc + deve ter visto al$um site (ue apresenta uma in"orma'o bem limitada
na primeira tela com um link de leia mais, onde voc tem o esforo
de clicar e esperar o carre$amento do restante do conte,do (ue voc
necessita, (ue !s vezespoderia ser resumido em apenas uma tela.Se em um
pro+eto usual de inter"ace as melhores prticas indicam(ue seria mais
ade(uado disponibilizar toda a in"orma'o necessria em uma ,nicatela e
poupar cli(ues do usurio, por(ue esta di"eren'a em mobileU 0or isso, deixaro
conte,do mais conciso crucial para (ue a in"orma'o possa ser apresentada
demodo ob+etivo e o menos "ra$mentada poss#vel.
..O./.; 2eduzir "uncionalidades2estrin$ir a (uantidade de "uncionalidades,
mantendo as (ue sonecessrias ao ambiente mobile, diminui a chance dos
usurios se con"undiremdiante de todas as possibilidades e op'<es o"erecidas
..O./.. 2eduzir conte,do
8evido ao tamanho das telas, o conte,do para mobile exi$e umacar$a
co$nitiva maior e, portanto, pode ser at duas vezes mais di"#cil
decompreender. -omo a memria de curto prazo "raca, (uanto mais os
usuriostiverem (ue rolar para se lembrar de um conte,do, menos eles o "aro.
..O./.O 8ar escolhas ao usurio
)extos mais concisos e "uncionalidades mais restritas sonecessrios. 5as
importante manter um lin> para a verso convencional do site,caso o usurio
precise acessar al$um recurso (ue no este+a na verso mobile. %usurio deve
ter o direito de escolha sobre como ele dese+a visualizar o site.
..O.; %utras 0rticas 3mportantes Eue Gerdamos da Dsabilidade -onvencional
..O.;./ 3nte$ridade esttica
% (uanto o desi$n da sua aplica'o se inte$ra com a "un'o damesma. F o
casamento entre "orma e "un'o, inter"ace com boa (ualidade esttica
e"uncional
..O.;.;
-onsistncia consistncia de inter"ace permite (ue o usurio trans"ira seusco
nhecimentos e habilidades de uso de uma aplica'o para outra. F preciso
"risar(ue uma aplica'o consistente no a(uela (ue copia outras aplica'<es.
0elocontrrio, uma aplica'o (ue tira proveito dos padr<es e paradi$mas de
inter"acecom os (uais as pessoas se sentem mais con"ortveis durante a
intera'o
..O.;.. 5et"oras
Tcil reconhecimento e memoriza'o de palavras, s#mbolos e ima$ens
..O.;.O -ontexto do usurio
1speci"ica'o do ambiente do usurio, incluindo tambm amodela$em de
anlise de tare"a e ob+etivos de ne$cio.
..O.;.M 5odelo mental
%r$aniza'o apropriada de dados, "un'<es, tare"as, papis epessoas de
acordo com o modo com (ue o usurio compreende e reconhece
esteselementos.
..O.;.6 Nave$a'o
Nave$a'o ade(uada considerando o modelo mental atravs de +anelas,
menus, caixas de dilo$os e painis de controle em "ormato compreens#vel.
..O.;.S 3ntera'o e "eedbac>
3nput e"etivo e "eedbac> do output de in"orma'<es para asse$urar aousurio
(ue uma a'o est em processamento.
..O.;.A parncia e desi$n
Eualidade visual e aten'o ao desi$n com rela'o ! escala,propor'o, ritmo,
simetria e balanceamento de componentes.
..O.;.V 7isualiza'o de in"orma'<es
presenta'o de in"orma'<es por tabelas, $r"icos, mapas edia$ramas. Dma
vez (ue a tela destes dispositivos ainda pe(uena em compara'oaos
computadores comuns ?mesmo se tratando de tablets@, preciso se valer
decomponentes corin$as (ue so capazes de apresentar uma boa (uantidade
dein"orma'o de modo compacto, conciso, de "cil visualiza'o e acess#vel
..M :7 8P 1 83S0%S3)37%S 59713S%
n,mero atual de SWP8Xs (ue os desenvolvedores podem usar extenso,
porm, se "iltrarmos por SWP8Xs (ue tambm possam ser usados noambiente
mvel, este n,mero cai drasticamente. Neste pe(ueno texto, iremos
"alarbrevemente do :ava 8P, um banco de dados /BBY :ava (ue pode ser
usado naplata"orma :ava S1, :ava 11 e, inclusive na :ava 51. % :ava 8P
come'ou em/VV6, com o pro+eto -loudscape, em ;BBO "oi incorporado ao
pro+eto pache. Suaideia tem muitos pontos em comum com o 8P;, tendo
limites e caracter#sticas semelhantes.
0ara (uem + utiliza a lin$ua$em :ava, esta pode ser uma timaop'o, por(ue
o :ava 8P constru#do /BBY :ava, alm de ser recomendado pelaSun. %utras
caracter#sticas importantes do banco de dadosI
JJ Suporte ao :8P- OK
JJ Simples de embarcar em uma aplica'o ?basta colocar o derbC.+ar no
classpath de sua aplica'o@K
JJ dministra'o zero para dispositivos mveis e muito simplespara uso
des>topK
JJ )amanho mdio de ;5P
1 sobre a possibilidade de sua utiliza'o com o :ava 51U 0or(ue o25S ainda
existeU -alma, in"elizmente o :ava 8P ainda no est dispon#vel para
acon"i$ura'o -68-, somente para a -8-, verso /./. G al$uns
pontos importantes(ue precisam ser conhecidos. Se a verso do seu :ava 8P
menor (ue a /B././,no existe suporte para a :ava 51. Se a verso maior
(ue a /B././ e menor (ue a/B.../.O, -8-LT0 /.B tambm suportado. % :ava
8P tem suporte ao per"ilToundation 0ro"ile ?T0@ da -8-, sendo assim, ela
tambm o"erece suporte aosper"is (ue so subcon+untos da T0, como
o 0ersonal Pasis 0ro"ile.
codi"ica'o mais prxima do uso :8P- no :ava S1, do (ue apersistncia
de dados com o 2ecord 5ana$ement SCstem. 7e+a este pe(uenotrecho de
cdi$o
/I 1mbeddedSimple8ataSource ds N ne= 1mbeddedSimple8ataSource?@K
;I Strin$ dbName N Hsimple5obile8PHK
.I ds.set8atabaseName?dbName@K
OI ds.set-reate8atabase?HcreateH@K
MI
6I -onnection conn N nullK
SI Statement s N nullK
AI 0reparedStatement ps N nullK
VI 2esultSet rs N nullK
/BI
//I trC Z/;I conn N ds.$et-onnection?@K
/.I s N conn.createStatement?@K
/OI
/MI s.execute?Hcreate table streetaddr?num int, addr varchar?OB@@H@K
/6I
/SI s.execute?Hinsert into streetaddr values ?/VM6, Q8adoQ@H@K
/AI
/VI ps N conn.prepareStatement?Hupdate streetaddr set numNU, addrNU=here
numNUH@K
;BI
;/I ps.set3nt?/, /AB@K
;;I ps.setStrin$?;, HWrand ve.H@K
;.I ps.set3nt?., /VM6@K
;OI ps.executeDpdate?@
;MI
;6I [ catch ?SE61xception e@ Z[