iMasters
Vazamento de dados: falta conscientização
O Tribunal de Contas da União (TCU) publicou recentemente um relatório
constatando que a maioria dos órgãos públicos (65%) não possui políticas
de segurança da informação adequadas. Há pouco tempo, também assistimos
ao vazamento de milhões de dados de estudantes que estavam inscritos
para o ENEM. A lista poderia ser maior: se incluirmos dados globais, que
não são 100% catalogados, chegaríamos a números preocupantes.
Mais alarmante que os números revelados no relatório do TCU está o fato de que esse trabalho não aponta indícios claros de melhorias nos indicadores. Por estatísticas de mercado, vê-se que não apenas no setor público como também no mercado corporativo há espaço para o avanço de tecnologias para proteção de dados sob a salvaguarda das empresas. De acordo com a entidade Open Security Foundation, que reúne estatísticas de vazamentos de informação ocorridas no mundo inteiro, 19% desses incidentes referem-se ao roubo ou à perda de notebooks. O Gartner estima que um laptop seja roubado a cada 53 segundos, e desses, apenas 30% são recuperados. Mesmo sendo historicamente o item mais relevante e que tira o sono de muitos gestores de risco e compliance das empresas, o risco da perda de informações associadas a computadores portáteis pode ser facilmente atenuado. Apesar de terem sido gastos 200 milhões de dólares em diferentes tipos de software para segurança no ano de 2009 no Brasil, de acordo com a consultoria IDC, as medidas de segurança estão em constante desenvolvimento. Concomitante à evolução das tecnologias de proteção de dados estão os avanços nas formas de fraude. Logo, os investimentos não devem ser pontuais, e sim recorrentes. As medidas de segurança devem estar em constante aprimoramento. Notadamente é preciso rever não apenas o emprego, mas também a adequação dessas medidas em cada caso particular. Os gestores da área de segurança da informação nas empresas devem estar conscientes de seu papel e de como um incidente dessa natureza pode trazer inúmeros prejuízos financeiros e em termos de imagem, afetando inclusive outras empresas envolvidas. Desconheço estudos que envolvam apenas o Brasil ou que avaliem a preocupação ou o conhecimento do tema por parte de empresários ou pela população em geral, mas muito me surpreenderia se uma pesquisa sobre o tema não relatasse um hiato generalizado de conhecimento em relação ao assunto. Episódios recentes envolvendo membros da classe política, que vêm sendo amplamente difundidos e levados ao conhecimento da opinião pública, talvez ajudem a alertar as pessoas sobre a importância do tema. Ter seus dados particulares devassados ou usados de maneira indevida não é nada agradável. Mais que isso, pode ser muito perigoso. Com a maior atenção dada pela mídia aos eventos recentes, a cultura da (falta de) segurança digital tende a mudar. Será cada vez menos aceitável ter seus dados vasculhados ou até mesmo poderemos sonhar com o dia em que teremos leis federais que disciplinem o assunto. Até lá, proteja-se da melhor maneira e exija que seus parceiros de negócio façam o mesmo. artigo publicado originalmente no iMasters, por Rodrigo Moura Fernandes |
UML: composição x agregação
Quem está iniciando com os diagramas de classe da UML geralmente
sente uma grande dificuldade em entender a diferença das formas de
associação entre objetos de uma classe "Agregação" e de uma classe
"Composição". Esse é sempre um assunto polêmico, pois, dependendo das
regras de negócio, o mesmo relacionamento que acontece através de uma
agregação, em determinado sistema, pode, em outro, se dar por uma
composição.
Nosso objetivo aqui é tentar ajudar a esclarecer a diferença dessas formas utilizando um exemplo prático. As associações representam o equivalente mais próximo dos relacionamentos utilizados no modelo Entidade-Relacionamento, ou seja, seu objetivo é definir a maneira como as classes estão unidas e se relacionam entre si, compartilhando informações - (Guedes, 2006, p. 72) Vejamos dois relacionamentos para entender melhor as nomenclaturas: ![]() Figura 01 - Todo-Parte Os relacionamentos Todo-Parte acima são representado por:
Na Agregação, a existência do Objeto-Parte faz sentido, mesmo não existindo o Objeto-Todo. Vejamos o exemplo Time-Atleta: ![]() Figura 02 - Agregação Um time é formado por atletas, ou seja, os atletas são parte integrante de um time, mas os atletas existem independentemente de um time existir. Nesse caso, chamamos esse relacionamento de AGREGAÇÃO. Já a Composição é uma agregação mais forte; nela, a existência do Objeto-Parte NÃO faz sentido se o Objeto-Todo não existir. Vejamos o exemplo Pedido-ItemPedido: Figura 03 - Composição Nesse caso, um pedido é composto por um ou vários itens, mas um produto NÃO é item de um pedido se não existe pedido. Assim, chamamos esse relacionamento de COMPOSIÇÃO. Conclusão Essas são as formas de se representar o relacionamento entre os objetos das classes do tipo part-of, em que a agregação é representada por um diamante branco, sempre do lado do "Objeto-Todo", e a composição é representada por um diamante negro, também desenhado do lado do "Objeto-Todo".
artigo publicado originalmente no iMasters, por Ricardo Mendes |
Mobile marketing, um mercado que não para de crescer
O mundo alcançou um marco na história da tecnologia: ao final de
setembro, o número de assinantes de telefones celulares chegou a 5
bilhões de pessoas. Esse número equivale a 73,4% da população mundial. E
no final do ano, o número chegará a 5,1 bilhões de assinaturas, aponta
estudo realizado pela empresa iSuppi.
No entanto, isso não significa que 3 em cada 4 pessoas vão realmente possuir um celular - a estatística fornecida refere-se a pagamentos de serviços wireless e não apenas ao número de aparelhos. A base real de dispositivos sem fio chegará a "apenas" 4,9 bilhões no final do ano, ainda um número impressionante. Mas, além dos números espantosos, para que servem essas informações? A forma como as pessoas comunicam-se atualmente no mundo mudou completamente por causa dos celulares, que são capazes de conectar qualquer pessoa, em qualquer lugar, a qualquer momento. A penetração de dispositivos móveis como ferramenta de comunicação tornou significativo o espaço para as atividades de marketing que são feitos sob medida para os interesses do usuário. Com os avanços da tecnologia, várias empresas vêm adotando o mobile marketing como parte de sua estratégia de publicidade. Há um enorme potencial no aumento das taxas de respostas positivas quando se usa o marketing móvel, principalmente quando comparado às outras formas mais tradicionais de publicidade. Por esse motivo, mais e mais executivos estão recorrendo a esses meios para envolver seus públicos-alvo. Estudos indicam que mensagens curtas, como SMS, MMS e WAP são bem mais eficientes do que o e-mail marketing - a publicidade via mobile é 70% mais lida do que os e-mails - e esse recurso pode construir a identidade de uma marca, além de aumentar as decisões de compra dos consumidores. A atitude desses consumidores em relação ao marketing através de mensagens diretas influi (e muito) na decisão de compra, especialmente quando se trata de uma promoção. Como os consumidores só podem receber mobile marketing se permitirem, a tendência é que deem mais atenção à publicidade das companhias que adotam esse tipo de plataforma do que àquelas que utilizam o e-mail. Os aplicativos para smartphones são uma outra forma de mobile marketing. Esses apps estão muito em voga, principalmente em BlackBerrys, iPhones e Androids, e são apresentados em diferentes formas, além de cobrirem uma grande variedade de interesses. Porém, uma coisa é comum nos aplicativos móveis: todos eles estão abertos à publicidade. Quer um exemplo? A cadeia de fast food Burger King lançou um aplicativo para iPhone que permite aos clientes encontrarem o seu restaurante mais próximo, além de admitir que seus usuários compartilhem sua localização através do Facebook. Como é possível perceber, todas as formas de mobile marketing estão crescendo e mudando a cada dia. É importante manter-se em dia com as tendências para maximizar seus lucros. Quem sabe qual novo tipo de marketing será possível fazer quando conectado com novas descobertas tecnológicas? artigo publicado originalmente no iMasters, por Claudia Valls |
Guerra tecnológica: melhor solução ou é nossa opinião?
No mundo da tecnologia, problemas exigem soluções, e as soluções em geral abrem o
leque para mais problemas, o que eventualmente pede outras soluções. Nesse
âmbito, percebemos que tecnologia surge a todo instante. Ora, a cada
problema resolvido, teremos uma solução encontrada, e nesse ciclo
encontramos várias linguagens e plataformas de programação.
Nesse momento, surgem perguntas errôneas, como por exemplo: "qual é a melhor linguagem de programação?". Vamos discutir mais adiante qual seria a melhor pergunta, antes de encontrar a melhor resposta. O dilema que vivemos hoje em cada projeto foi vivido também nos primórdios da energia elétrica. Veja: Por volta de 1890, foi anunciado um prêmio para aquele que conseguisse implementar um sistema de distribuição elétrica eficiente. Dentre os inventores que perseguiram a implementação perfeita estavam Thomas Edson e George Westinghouse, juntamente com Nikola Tesla. Edson propunha o método de transmissão por corrente contínua, no qual em cada quarteirão haveria uma subestação elétrica para manter a tensão elétrica até os pontos necessários. Por outro lado, Tesla e Westinghouse propunham a transmissão por corrente alternada, onde a corrente era elevada a altas tensões para poder ser transmitida a distâncias muito maiores, e a cada subestação a tensão era convertida novamente. Edson era muito famoso por suas inúmeras invenções, em especial a lâmpada. Ele não era um cientista, antes, era altamente experimental; anotava tudo o que fazia e tinha como meta criar um pequeno invento a cada 10 dias e um grande invento a cada seis meses. Já Tesla, que era apoiado por Westinghouse, estudou nas melhores universidades e era conhecido pelos seus métodos inovadores e ousados; ele anotava somente o necessário; chegou a trabalhar com Edson quando fora para os EUA, porém isso não perdurou. Edson, pressionado pelos seus clientes quanto à mudança para corrente alternada, empreendeu diversas campanhas publicitárias para tentar convencer a população de que a corrente alternada era um risco, e não uma solução. Em meio a essa guerra travada, Westinghouse propôs a Edson uma parceria, para que juntos pudessem construir o melhor meio de transmissão; Edson sequer o respondeu. A dupla Westinghouse e Tesla ganhou a licitação para apresentação na feira de Chicago e, devido a isso, Edson proibiu a utilização das suas lâmpadas, levando Tesla à implementação de uma nova lâmpada para utilizar na apresentação - que foi um sucesso: toda a cidade iluminada e a premiação das Cataratas do Niágara garantida a eles. A corrente alternada se popularizou, sendo um método de transmissão utilizado no sistema elétrico conhecido nos nossos dias. Podemos ver semelhanças entre o que houve na guerra elétrica com o que vivemos nos dias de hoje, estamos em meio a uma corrida para o melhor desenvolvimento, as melhores tecnologias e os melhores métodos que propiciem o desenvolvimento em custo, tempo e qualidade satisfatórios. Afinal, qual é a melhor linguagem? Qual o melhor método de desenvolvimento de software? Acho que não existe uma resposta única para cada pergunta. Creio que as linguagens que temos à disposição e as metodologias que podemos usar para implementar softwares devem ser utilizadas no momento oportuno. É uma questão de estratégia, muito mais do que um assunto de preferências pessoais. Ou seja, não há melhores e piores, mas sim o mais adequado. Encontramos no mercado de TI profissionais com estilos como Edson e Tesla: percebe-se que Edson tinha uma metodologia parecida com o Scrum, no que condiz às metas de implementação; por outro lado, ele era altamente documental. Já Tesla era simplista, documentava o necessário e tinha seu foco voltado para resultados. Ambos foram gênios que fizeram grandes descobertas na História, mas o que fica muito explícito na "guerra elétrica" foi o ego: Edson sabia que a corrente contínua não era ideal para a necessidade, mas, por ele ser "o grande Edson", não quis "dar o braço a torcer"; não foi o seu jeito de trabalhar que o levou à derrota, nem mesmo o seu conhecimento, e sim o ego. Por outro lado, as decisões ousadas por parte de Westinghouse e Tesla foram decisivas para o sucesso do projeto. Para vermos a mesma guerra que foi travada entre Edson e Tesla/Westinghouse, basta acessarmos grupos de discussão sobre Gerência de Projetos, Engenharia de Software e Linguagem de Programação; encontraremos inúmeros "Edsons" e "Teslas" discutindo se devem aplicar Agilidade em tudo, ou usar .Net para todos os projetos, e outras discussões como essas, que não levam a nenhum lugar concreto e raramente servem para outra coisa se não expor uma opinião pessoal. E então surgem as perguntas... "E se o ambiente for Linux? Vou forçar Mono para manter .Net ou implementaria com Java? Será que não preciso conhecer o todo para implementar as partes? Se for implementar uma baleia, eu não preciso saber de toda a baleia? E se eu implementar só a nadadeira, no final não correria o risco de ter uma nadadeira de golfinho para colocar em uma baleia? Será que a mesma regra realmente pode ser sempre aplicada? Até onde nosso objetivo é fazer um bom projeto, ou será que queremos apenas fazer um bom nome? Acredito que se o projeto for bem feito, consequentemente o nome do profissional será "bem feito" também. Até onde nosso objetivo é a solução ideal, e até onde ele é apenas a nossa opinião? É preciso refletir sobre isso. artigo publicado originalmente no iMasters, por Bruno Carlos Alves |
Apache Software Foundation ameaça deixar o Java
A Apache Software Foundation (ASF) anunciou que pretende votar contra a
aprovação do Java 7, a próxima versão da linguagem de programação. O
objetivo é forçar a Oracle a cumprir as formalidades para estar de
acordo com o projeto Apache Harmony.
A ASF não conseguiu certificar o Java, pois a Oracle, que tornou-se proprietária da linguagem quando adquiriu a Sun Microsystems, não vai fornecer os kits de teste disponíveis para as licenças adequadas. Em seu anúncio, a ASF afirmou que "a Oracle está violando suas obrigações contratuais, conforme estabelecido pelas regras da JCP ao somente oferecer a licença TCK que impõe termos e condições adicionais que não são compatíveis com o código aberto ou com licenças e software livre." A Fundação disse que vai encerrar sua relação com a Java Comunity Process (JCP) caso seus direitos como executores das especificações Java não sejam respeitados pelo Comitê Executivo da JCP para os limites da capacidade da EC. Segundo a ASF, a falta de fiscalização ativa, forte e clara desses direitos implica na inutilidade dos acordos da Java Specification Participation (JSPA), confirmando que as especificações da JCP não são nada mais do que documentação de propriedade. Além disso, se Apache Software Foundation correr com o Java, será uma declaração clara de que o Java não é uma linguagem aberta. Com suas recentes condutas, a Oracle está perdendo de forma muito rápida o apoio da comunidade open source: a empresa entrou com uma ação de violação de patente contra o Google sobre o Java, os colaboradores do OpenOffice.org resolveram deixar o projeto e, agora, veio o voto de desconfiança da Apache Software Foundation. Como consequência, outros projetos de software livre sob responsabilidade da empresa podem ser prejudicados. Com informações de ReadWriteWeb notícia publicada originalmente no iMasters, em 16 de novembro de 2010. |
Especificações orientadas a clientes e equipe traz resultados eficientes
Quando a web foi criada não trouxe em anexo os profissionais que iriam
gerir, promover e contextualizar seu conteúdo no mundo real.
Por conta disso e contando com a
falta de profissionais web presentes no big bang da rede mundial, ainda
hoje vemos as mais variadas disciplinas brigando, se apaixonando, se
casando e até mesmo construindo um lar real para o incontável número de
informações que passam rapidamente pelas telas dos
computadores. Estas acabam contribuindo para os novos desafios promovidos pela web,
dentro da arquitetura de informação, e ajustando todo o compasso, até então mal utilizado, da forma a comunicação. Ainda no contexto de evolução contínua, podemos ver as áreas que
cuidam da experiência e do resultado durante a navegação, encontrando e
somando expertise para trazer uma melhor e mais fiel
experiência para o internauta. Para que serve uma especificação de AI?Sitemaps, fluxo de transações, wireframes, métricas de performance, plano de implementação, matriz de escopo e o que mais sua imaginação puder lembrar servem para uma única e exclusiva função: orientar. Mas orientar quem?
Check list em que vale a pena dar uma conferidaPara que sua especificação seja interpretada de forma correta por todas as pontas do projeto (cliente/equipe), é importante verificar se ele está cobrindo a maioria das sugestões abaixo:
artigo publicado originalmente no iMasters, por Isis Ferrera |