segunda-feira, 28 de maio de 2007

[13] The End

Bom, pessoal, hora das despedidas.
Obrigado à professora Renata e aos colegas pela paciência de ler (e muitas vezes até se dar ao trabalho de comentar!) estas mal tecladas linhas.
O balanço final dos blogs me parece mais positivo do que eu, particularmente, esperava. E todos lucraram com a disciplina, descobrindo que tratamento de informação é matéria complexa e sujeita a meandros e rigores que vão além do que supõe nossa vã filosofia (e o Excel).
Podemos não ser ainda capazes de utilizar plenamente as ferramentas disponíveis para tratamento de informação, mas já sabemos que várias, diferentes, existem.

[12] Gerenciamento de Projetos

Ok. Último resumo. Sobre Gerenciamento de Projetos, baseado na apresentação feita em aula por Nádia, Rafaela e eu. E dessa vez não justifiquei minha fama de falar demais em apresentações. Nádia e Rafinha conseguiram me superar!
Projeto é um esforço temporário empreendido para criar um produto ou serviço único, com início e fim definidos. Gerenciar o projeto é planejar, acompanhar e controlar todos os seus aspectos, e a motivação de todos os envolvidos, de forma a alcançar dentro do prazo, custo, qualidade e performance especificados os objetivos inicialmente estabelecidos.
Historicamente, pode-se traçar a trajetória do gerenciamento de projetos desde antigas idéias Confucianas, na China, passando bem mais recentemente, no início do século XX, por Henry Gantt seus gráficos, WBS (Work Breakdown Structure), APS (Analytical Project Structure). Nos anos 50 surge o PERT (Program Evaluation and Review Technique), como ferramenta auxiliar para o desenvolvimento dos mísseis Polaris para a Marinha americana, seguido pelo CPM (Critical Path Method), desenvolvido pela DuPont e Remington Rand, e voltado para a instalação e manutenção de plantas industriais. PERT e CPM foram utilizados pela NASA nos anos 60 para o desenvolvimento do Projeto Apolo. Nos anos 80 o PMI (Project Management Institute) delineou, através do PMBOK (Project Management Body of Knowledge), linhas mestras que recomendava como aplicáveis a projetos em geral.
Em termos gerais, projetos são abordados sistematicamente como uma sequência de fases (Início, Planejamento, Execução, Monitoramento, Encerramento) onde Tempo, Custo e Escopo são as variáveis que devem ser controladas.
A abordagem PMBOK expande e detalha as variáveis a gerenciar. Além do PMBOK, outros métodos padronizados de gerenciamento são muito utilizados (por exemplo, ISO 10006, CCPM, PRINCE2).
Métodos de contabilização (Project Accounting) podem e devem ser utilizados, bem como ferramentas informatizadas, como MS Project e MS DynamicsGP (Microsoft) e PROF (DBConsult), por exemplo, de modo a facilitar o gerenciamento de projetos.

sexta-feira, 4 de maio de 2007

[11] ERP, Data Warehouse et al

Na última aula fomos presenteados com uma palestra extremamente interessante sobre ERP (Enterprise Resource Planning), ministrada pelo senhor Fábio Medeiros da MD Sistemas.
O Sr. Fábio é sócio da MD Sistemas, que se dedica à implantação de sistemas ERP (Sapiens da Senior Systems) em empresas de diferentes segmentos de negócios, e traçou um esboço abrangente com os propósitos, funcionalidades e limitações de um sistema ERP, além de discorrer sobre as peculiaridades e dificuldades para implantação do mesmo.
Sintetizando, um sistema ERP busca abrigar sob regras comuns todos os dados de interesse da empresa (administrativos, contábeis, de vendas, de produção, de compras, etc), interligando-os e buscando evitar desperdícios e esforços desnecessários, como a entrada repetida de um mesmo dado, a representação de um mesmo dado sob formas diferentes, e assim por diante. O objetivo é prover informações que auxiliem as decisões negociais de uma empresa de forma mais rápida, precisa, transparente e inteligível.
Em seguida a professora Renata introduziu o conceito de Data Warehousing (DW). Numa comparação cinematográfica, bancos de dados de sistemas ERP guardam os fotogramas dos eventos empresariais, enquanto o DW procura estruturar e guardar o filme inteiro. Isto se presta a estudos, projeções, acompanhamento de tendências, identificação de padrões, sendo poderoso auxiliar na definição de estratégias para os negócios. Guardando as devidas proporções, poderíamos dizer que um sistema ERP é ferramenta eminentemente tática e subsidiariamente estratégica, enquanto o DW é eminentemente estratégico (e subsidiariamente tático). Uma vez estruturados e armazenados, os dados ficam disponíveis para a aplicação de técnicas, métodos e ferramentas analíticos, como OLAP (OnLine Analytical Processing) e Data Mining.
E para finalizar a aula, fomos apresentados ao conceito de sistemas especialistas, que buscam mimetizar o "comportamento" de um especialista trilhando uma "árvore de decisão" de modo a obter respostas finais precisas e consistentes. Exemplos: Sistemas eletrônicos para regulagem de motores automotivos, que captam através de sensores os parâmetros de funcionamento de um motor e indicam os ajustes que precisam ser feitos. Ou o caso da malária (este sem o adjutório de recursos eletrônicos): a malária é doença comum na região norte/centro-oeste do país, mas a partir da década de 50 foi praticamente erradicada no sul/sudeste. Com as migrações internas, a malária reapareceu recentemente nestas últimas, mas frequentemente não é diagnosticada devido à falta de experiência dos médicos da região com a doença. Preocupado, o Ministério da Saúde reuniu um painel de especialistas em malária, na Fundação Oswaldo Cruz, para que estes desenvolvam um protocolo para diagnóstico da doença. O protocolo (ainda a ser publicado) consiste basicamente numa "árvore de decisão", com perguntas e testes norteando o diagnóstico. A folha de protocolo (com procedimentos do tipo se febre>39º então prossiga ; se febre ocorre de 3 em 3 dias então prossiga ; etc) pode ser considerada um "sistema especialista": permite a não-especialistas alcançar um diagnóstico correto, emulando os procedimentos de um especialista.

sábado, 21 de abril de 2007

[10] XML

Hoje nossa turma foi apresentada às linguagens de marcação (Markup Languages), que usam tags (rótulos, marcadores) para instruir sobre o quê se deseja fazer com um determinado dado.
Começamos direto com a XML (eXtensible Markup Language), uma linguagem de marcação parecida em alguns aspectos com a HTML (Hyper Text Markup Language) porém mais poderosa e flexível, no que se propõe a fazer, com tags de livre definição. A XML foi desenvolvida para descrever e transportar dados entre nós da rede (internet ou outra), enquanto a HTML está mais voltada para a exibição de dados. A aplicação de estilos e firulas aos dados pode ser especificada com o uso da XSL (eXtensible Stylesheet Language)
Numa descrição abreviada, você: diz como quer estruturar, envelopar e transportar seus dados, com a XML ; diz como quer que eles sejam "embelezados" para apresentação, com a XSL ; mostra afinal na sua página da internet, com a HTML.
Fizemos alguns exercícios (nosso grupo, como de praxe, loosely envolving Juan, Renan, Tissiana e eu) estruturando dados com XML, que envolveram uma fase conceitual de observá-los inicialmente no velho modelo de "árvore invertida".
A "beleza" das linguagens de marcação, me parece, está em usar um arcabouço primitivo de extrema simplicidade (caracteres e arquivos texto) para obter resultados e soluções complexos. Isto cria uma razoável independência de protocolos, sistemas operacionais, hardware, etc. Afinal, "todo mundo" é capaz de gerar, ler e carregar ASCII!
Por fim, a professora nos deu o "caminho das pedras" para solucionar os problemas com a base de dados da clínica médica, apresentando uma consulta SQL que permite recuperar dados em diferença entre duas tabelas.
Ah! Em tempo: bem vindos ao Miss Blog 2007, que vai escolher uma (um?) digna representante das blogueiras (blogueiros?) fucapianas.

[9] Banco de Dados - III

Voltamos ao problema da montagem do banco de dados para a marcação de consultas de uma clínica médica, abordando-o agora à luz dos novos conhecimentos adquiridos ao longo das duas últimas aulas.
A definição dos dados a serem guardados e tabelas a serem montadas foi relativamente sopa-no-mel. A estruturação dos relacionamentos e montagem de consultas para mera visualização dos dados inseridos também pode ser classificada na categoria mamão-com-açúcar.
A coisa emperrou seriamente quando chegamos à fase de construir consultas SQL para recuperar e manipular os dados armazenados de forma que se mostrasse útil para os usuários finais do sistema (em especial a secretária e o paciente). Eu, Juan, Renan e Tissiana quebramos a cabeça, sem chegar a uma solução satisfatória.
O banco de dados obtido como produto final é responsabilidade minha. Será entregue para a professora e pode ser muito útil como exemplo de violações e transgressões às normas do modelo relacional. O pior é que não está funcionando!
De qualquer forma, valeu para o aprendizado de como é importante, mesmo para bancos de dados aparentemente simples, o esmiuçamento do problema na fase conceitual e uma detalhada e documentada estipulação do modelo relacional.
O mais valioso destas aulas foi visualizar as diferenças entre ferramentas. Por que usar um SGBD no lugar de uma planilha eletrônica? Deu pra notar que o SGBD é ferramenta mais adequada quando uma coleção de dados tem perspectiva de vir a ser muito grande, e seja atualizada constantemente.
Além disso, e mais importante: é uma ferramenta que permite diferentes formas de recuperação, visualização e manipulação dos dados sem que seja necessário alterar a estrutura onde os mesmos estão guardados (desde que estas estruturas tenham sido adequadamente especificadas e montadas).

domingo, 15 de abril de 2007

[8] Banco de Dados - II

Querido diário
Hoje demos continuidade ao nosso aprendizado sobre o Access.
Aprendemos sobre o uso da SQL como linguagem para consulta e manipulação de um banco de dados. Usamos um "banco de testes" preparado pela professora com um sistema de reservas para companhias aéreas.
Vimos sobre o uso das cláusulas SELECT, FROM, INNER JOIN e WHERE da SQL, e de alguns operadores como AND e IN, nas consultas de seleção.
Nota 1: Levar uma caixa de bombons pra Márcia.
Vimos também o uso das cláusulas UPDATE e SET para consultas de atualização e INSERT INTO para consultas acréscimo.
Nota 2: Levar uma caixa de bombons E um buquê de flores pra Márcia.

[7] Banco de Dados - I

Querido diário
Hoje nossa turma foi conduzida ao laboratório de informática pela Profª Renata, e apresentada pela primeira vez (ou a primeira vez para a maioria da turma, pelo menos) ao Access - o sistema gerenciador de bancos de dados de uso geral da Microsoft.
Nosso objetivo, conforme colocado pela professora, será desenvolver um banco de dados para a marcação de consultas de uma pequena clínica com quatro médicas de diferentes especialidades. Não deve ser difícil. Afinal, a Márcia, secretária do meu dentista, faz isso todo dia só com a ajuda de uma pequena agenda, um lápis e uma borracha.
A professora ficou tentando nos fazer perder tempo discutindo e montando um modelo conceitual para os dados. Mas nós não estávamos dispostos a perder tempo com tais detalhes: o negócio é meter logo a "mão na massa"!
Recebemos então as primeiras noções sobre o uso do Access, com apresentação das telas do mesmo.
Depois aprendemos sobre a definição de Tabelas (onde os dados serão guardados), os campos que formam seus registros, características de cada tipo de campo, definição de chaves primárias, secundárias e estrangeiras.
Definidas as tabelas, aprendemos sobre como estabelecer os relacionamentos entre as mesmas, através das chaves.
Nota 1: A professora tinha razão. Devíamos ter perdido mais tempo com o maldito modelo conceitual.
Nota 2: Convidar a Márcia pra jantar - ela é muito mais inteligente do que eu imaginava!

[6] E-Commerce

Cada vez mais os atos imemoriais de comprar e vender vem encontrando um poderoso aliado na grande rede. Nem sempre é prático, algumas vezes é mais caro do que na loja da esquina, receber a mercadoria pode ser demorado, mas a verdade é que pode-se comprar e vender de quase tudo através da Internet.
Pensar em comércio eletrônico traz logo à lembrança a Amazon.com, possivelmente a primeira organização a galvanizar a atenção de consumidores e realizar vendas de varejo em volume quantitativo significativo na Internet. Começando como uma livraria virtual, aplicou seu bem sucedido modelo, de "entreposto" entre leitores sequiosos e editoras, a outros segmentos e hoje disponibiliza a venda, além dos livros, de CD's, eletro-eletrônicos, roupas, enfeites, móveis e mais uma série enorme de produtos.
O modelo implementado pela Amazon procura reduzir os custos e esforços de busca por parte dos consumidores, disponibiliza uma pletora de informações sobre os produtos, tentando suprir a necessidade de experimentação dos compradores (oferecendo, por exemplo, um mecanismo de "folhear virtual" dos livros), cuida de construir e manter escrupulosamente a reputação de entregar o que promete, preserva obssessivamente os aspectos de segurança na transação e preocupa-se com os aspectos logísticos da operação comercial (em parceria com FedEx e DHL, gigantes do ramo).
O modelo Amazon fez escola, e é base para outras lojas virtuais como, no Brasil, Americanas.com e Submarino (ambas controladas hoje em dia pelo grupo Americanas). Superadas as dificuldades iniciais que, no Brasil, incluíam serem poucos os consumidores com acesso à Internet e menos ainda os que dispunham de cartão de crédito (o meio de pagamento ubíquo na Internet), as lojas virtuais vem apresentando a cada ano expressivos aumentos de vendas.
A existência de lojas virtuais levou ao surgimento de sites como o Buscapé e o Bondfaro, buscadores que comparam preços e ofertas em várias lojas concomitantemente. Estes sites ainda padecem de certa desconfiança dos consumidores, pois estão longe de ser "independentes", apresentando comparações somente entre lojas a eles afiliadas (e que lhes pagam uma taxa de manutenção... ).
Numa comunidade pulverizada como é a Internet, não demoraram a surgir sites que colocavam consumidores, vendedores particulares e pequenos comerciantes em contacto. Ebay e MercadoLivre se estabeleceram como verdadeiros balcões de leilões virtuais. Apesar do inegável sucesso na parte relativa a colocar compradores e vendedores em contacto direto, estes sites ainda tem seu calcanhar de Aquiles nos aspectos de segurança e confiabilidade, mas vem procurando suprir esta deficiência disponibilizando, por exemplo, um histórico com a reputação dos vendedores e introduzindo meios de pagamento mais seguros para os compradores (como PayPal e Sedex-a-cobrar).
Como suporte aos que desejavam instalar suas lojas virtuais, apareceram então os desenvolvedores de ferramentas especializadas para a criação de sites de comércio online, como o Fast Commerce, por exemplo. Estas ferramentas podem até não ser as ideais para determinados propósitos, mas são certamente um bom e prático ponto inicial.

domingo, 1 de abril de 2007

Pergunta do Renan

Como o e-comerce minimiza os custos de transação para o consumidor ?
Renan
Inicialmente vamos dar uma breve explicação à profª Renata, que a essa altura deve estar seriamente preocupada e curiosa com esta nossa aparente fixação em custos de transação.
Professora, estes custos são a representação dos esforços incorridos por participantes de uma transação à luz da Teoria da Firma (ou Teoria das Agências). Esta teoria propõe que todas as organizações podem ser visualizadas como uma rede de indivíduos trocando entre si bens, serviços e informações pertinentes a estas trocas. Do contacto entre "nós" (knots em inglês) desta rede nascem contratos, explícitos e/ou implícitos, que respaldam as trocas pretendidas. Eu, particularmente, procuro chamar estes nós de elos, para evitar confusão com o pronome. Estes elos são ocupados por indivíduo(s) denominados agentes. Dois agentes, uma vez em contacto, visando realizar uma transação, geralmente não possuem toda a informação sobre os atributos de itens envolvidos na transação, de forma uniforme e total: o vendedor, por exemplo, vai procurar disponibilizar e ressaltar as informações sobre as boas qualidades do produto e esconder informações sobre falhas e defeitos. O comprador, por sua vez, não tem facilmente todas as informações sobre o produto e, mesmo que as tivesse, acabaria por não usá-las devido à sua racionalidade limitada. À diferença de conhecimento sobre os atributos de um produto envolvido em uma transação chamamos de assimetria informacional. No caso exemplificado é do interesse do vendedor manter esta assimetria, e ao comprador interessa quebrá-la. Os custos de transação, portanto, representam os esforços e sacrifícios (monetários ou não) envolvidos na quebra ou manutenção da assimetria informacional, além daqueles incorridos na obtenção inicial, manutenção e preservação da informação. Um corolário presente na teoria, é de que existe um custo de oportunidade envolvido: o custo para obtenção, manutenção ou mesmo supressão de uma informação só se justifica quando se torna menor do que o custo de oportunidade (representado pelo custo de manter-se o status quo, não fazer nada). Não custa (sem trocadilho!) lembrar que tais custos não envolvem apenas valores monetários. Envolvem também valores éticos, morais, filosóficos e dependem também da percepção de cada agente sobre os mesmos.
Podemos então começar nossas reflexões sobre o tema proposto lembrando do artigo do Mario Rese que estudamos em Marketing com o prof. André Aquino. A escolha dos consumidores por produtos e/ou serviços implica (relembrando em pouquíssimas palavras) em custos de transação que envolvem atributos de busca (achar o produto), uso e experimentação (adquirir conhecimento do produto, de suas qualidades e deficiências) e reputação do vendedor (formar uma opinião sobre a probabilidade de uma experiência repetir-se).
Para o e-commerce minimizar os custos referentes a atributos de busca é fácil: ele disponibiliza ao consumidor, do conforto de sua casa, acesso imediato a variadas ofertas de fornecedores. Podem não ser todas as ofertas (o Buscapé, por exemplo, só disponibiliza consultas a lojas afiliadas), mas dependendo da percepção do consumidor e devido à racionalidade limitada, podem ser satisfatórias e suficientes.
Já os custos de experimentação constituem um "calo" nas pretensões do e-commerce: a experiência virtual, por mais informação que você agregue, nem sempre consegue suprir o contacto com o bem ou serviço real. Porém, se o produto já é conhecido do consumidor, este atributo pode perder relevância para a decisão de compra pelo mesmo.
E a reputação do vendedor precisa ser construída através da repetição de experiências bem sucedidas de compra, ou ser avalizadas por prepostos independentes em quem o consumidor confie.
A decisão em favor do comércio virtual, em detrimento da velha e conhecida loja da esquina, vai depender da percepção do consumidor sobre quanto o custo global da transação virtual economiza para o mesmo, em termos de busca, qualidade e adequação do produto obtido, preço do produto e capacidade do fornecedor em fornecer aquilo que promete, em relação à transação já conhecida com o comércio físico.
Ou seja, e-commerce não é mera questão de preços adequados. Reduzir o custo de transação para o consumidor, levando-o a optar pelo e-commerce, envolve ser fácil descobrir o preço oferecido, ter como avaliar o produto à distância, ter segurança na transação e confiança de que os resultados da transação serão os esperados e prometidos.

sábado, 31 de março de 2007

Pergunta do Rodrigo

Qual é a relevância de se fazer uma análise dos modelos conceitual, relacional e do modelo de implementação na criação de um novo SGBD para uma empresa? Qual relação existe entre todo esse processo e os custos de transação incorridos nas empresas?
Rodrigo
Vamos começar fazendo, em poucas palavras, algumas considerações "primitivas". O que é modelagem? Podemos dizer que é o processo de construção de um modelo. E o que é modelo? Digamos que é uma tentativa de retratar, de maneira organizada e inteligível, uma determinada realidade observada.
Vamos lá: digamos que você é o feliz possuidor de vários parafusos que vão ser usados na construção de uma ponte. Você acha que no futuro vai precisar de outros parafusos iguais para usar na construção de outra(s) ponte(s). E você (inteligente e sagaz como poucos) desconfia que desmontar a primeira ponte para verificar os atributos de cada parafuso, a cada vez que precise encomendar um outro, é procedimento bem pouco prático. Belo problema, hein?
Como preservar a informação sobre os parafusos adequados, mantendo-a disponível e facilmente acessível, sem incorrer nos exorbitantes custos de desmontagem de uma ponte?
Muito bem! Ao fazer a pergunta na frase anterior, seu cérebro entrou no que poderíamos chamar de modo conceitual: você está procurando identificar quais atributos informacionais são relevantes para particularizar um parafuso.
Você saca da algibeira seu bloquinho e caneta, e começa a anotar: Diâmetro da cabeça? A cabeça é circular ou sextavada? Qual o tamanho da haste? Quantas estrias ("roscas") existem por milímetro de haste? Qual o ângulo de inclinação da estria? Etc, etc.
E começam a aparecer as primeiras idéias sobre como preservar estas informações: Você pode manter "arquivado" um exemplar de cada parafuso. Opa! Mas isso implica em carregar um custo de "estoque" que você não tem dinheiro para bancar. Então, é uma solução, mas não uma boa solução! Mas se eu fizer uma réplica em gesso de cada parafuso o custo vai ser bem menor! É, e na primeira chuva minha informação "derrete"... não bom. Ora, eu posso criar uma lista com os atributos que já anotei, para cada parafuso, e guardá-la numa pasta. Humm! Parece uma boa solução! Você pensa mais um pouco, e lembra: "Ah! Mas nesse caso, o peso do parafuso é importante! E o material de que ele é feito também!". E anota isso no bloquinho. "Epa! A quantidade de cada parafuso, também". E ... lá vai bloquinho.
E aí, num daqueles momentos sublimes de iluminação, você faz a grande "sacada": "Putz! Se ao invés de uma lista de papel, eu fizer uma lista no computador eu vou ter um banco de dados informatizado". (Agora, todos juntos: "Oooohhhhhhhhh!!!!!").
Note que até agora só o que você gastou foi um pouquinho de seu privilegiado cérebro, tinta de caneta e umas folhas de papel.
Os procedimentos acima podem ser generalizados para uma miríade de situações e informações que pululam naquilo que chamamos de mundo real. E o que você estava fazendo era procurar descrever conceitualmente coisas que você observou na realidade. Você estava desenhando um modelo conceitual. Vantagens e relevância de começar por aí? Ora, se você tivesse ficado com a primeira idéia, teria possivelmente falido. Com a segunda idéia, mesmo sem chuva, você poderia ter especificado uma réplica sem estrias (e portanto sem valor para uso futuro), além de "perder" a informação sobre peso e material. Não apenas isso: você tem uma representação mais "próxima" da realidade retratada, ainda não mascarada pelas regras e ditames impostas por processos e ferramentas que sejam utilizados para traduzir esta representação em estruturas manuseáveis por um computador. Em outras palavras, se alguma coisa der errado, fica mais fácil descobrir se o erro está na maneira de capturar a informação ou se na maneira de traduzi-la.
É sempre útil identificar a informação disponível, quanto dela se quer preservar, quais atributos a singularizam, e assim por diante, antes de definir e se comprometer com um próximo passo: qual tipo de processo vou utilizar para tratar as informações identificadas, tipificadas e estratificadas na fase conceitual?
Qual modelo arquetípico é mais útil para armazenar, recuperar, manipular e reportar os dados (informações e seus atributos) que identifiquei e categorizei em meu modelo conceitual? Um post-it de lembrete grudado na minha xícara de café? Hierárquico? Relacional? Matrizes relacionais?
Nesta segunda fase, optando pela adoção do modelo relacional, você vai obedecer os fundamentos traçados em seu modelo conceitual (as informações que você julgou relevantes e suficientes para representar um parafuso), e transcrevê-lo em termos de tabelas, índices e chaves, conexões entre as tabelas (os relacionamentos), sua cardinalidade (1:1, 1:N, N:N), etc. Esta fase tem sido tratada com bastante clareza em nossas aulas de TI, e por isso não vou me estender em outras considerações.
Daí partimos para a terceira fase, que acaba sendo melhor identificada se a chamarmos de implementação do modelo (no caso, relacional) ao invés de modelo de implementação. É onde você vai "traduzir" as especificações traçadas na sua modelagem relacional adaptando-as às idiossincrasias de uma determinada ferramenta (um SGBD "comercial").
Por exemplo, se nas especificações de seu modelo relacional surgiram muitas instâncias de relacionamento N:N, e sua ferramenta de escolha for o Access, tenha certeza de que vais ter uma trabalheira insana para implementar estes relacionamentos. Também no caso do Access, se suas especificações contemplam acesso multi-usuário e transaction roll-back (peça explicação para a professora, caso queira) a implementação pode facilmente se transformar num pesadelo gótico! Felizmente existem outras ferramentas (Oracle, MS-SQL Server, Adabas ...) que permitem, nesses casos, uma implementação menos dolorosa.
Quanto aos custos de transação, vamos lá. Lembrando da Teoria da Firma, todos nós somos elos interconectados numa grande teia de contratos explícitos e implícitos. A efetivação dos contratos que respaldam estas interligações está fundada no intercâmbio de informações entre dois elos quaisquer. Cada transação entre dois elos embute troca de informações, e isto não é geralmente gratuito, ou melhor, nunca é gratuito para ambos os elos envolvidos. Um paga tudo e o outro não paga nada, um paga mais que o outro, ambos pagam igualmente, mas alguém sempre tem de arcar com o custo de obtenção, tratamento ou transmissão da informação embutida na transação. Este custo pode ser um valor monetário ou simplesmente de tempo e esforço dispendido nos trâmites da informação. Daí, mecanismos que agilizem a recuperação de informações (como os SGBD) tem um impacto redutor sobre os custos de transação, ao diminuir, por exemplo, o tempo de busca pelas mesmas. Por outro lado, este mesmo mecanismo pode "complicar" a obtenção da informação (intencionalmente ou não) tornando tais custos maiores. Reportando-nos a um parágrafo anterior, lembra que na fase conceitual você só havia "gastado" tempo, cérebro, tinta e papel? Esta é uma pista de como custos de transação podem ser impactados (palavrinha da moda essa, hein?): uma correção durante a fase conceitual usará um pouco mais dos insumos mencionados. Mas durante a implementação, por exemplo, pode envolver uma troca de ferramenta ao custo de alguns milhares de reais. Ou seja, os infalíveis podem se dar ao luxo de dispensar a modelagem conceitual sem se preocupar com possíveis impactos nos custos de transação. Aqueles que, como eu, são obrigados a carregar o fardo da fabilidade de nossa humana existência, precisam abordar a grande teia de transações com perspectiva calcada em obrigatória humildade, decorrente de uma limitada racionalidade.
Agora, algumas considerações práticas: a modelagem de um banco de dados não é coisa simples, podendo atingir facilmente graus de complexidade muito além do que supõe nossa vã filosofia. Um contador que se aventurar sozinho na área da modelagem de grandes e extensos bancos de dados corre o risco de se "afogar em números". É um trabalho que requer idealmente um bom e afinado time de profissionais qualificados (analistas, engenheiros de software, contadores, advogados, médicos, etc), cada qual contribuindo com o melhor de sua expertise para que se atinja um bom resultado final. Nosso maior percalço acaba sendo a aceitação pelos demais componentes do time: engenheiros de software abominam a participação de contadores na fase conceitual ("esses caras não sabem o que querem"); contadores acham os engenheiros muito complicados ("que mané relacionamento coisa nenhuma, eu quero é a receita lançada A-U-T-O-M-A-T-I-C-A-M-E-N-T-E na DRE"); advogados entram em pânico com ambos ("pelamordeDeus, assim nós vamos acabar todos na cadeia"); médicos vão adorar dizer para o contador "mas, meu caro, afinal quanto vale uma vida", e assim por diante. Por isso nunca é demais ressaltar que a modelagem de um grande banco de dados é um processo eminentemente cooperativo (e não puramente competitivo) e interativo. Não cabe exigir de cada membro do time conhecimento completo sobre todas as áreas, mas sim um mínimo de conhecimento capaz de levar a uma comunicação através de eficiente linguagem comum a todos. Cabe-nos como contadores deixar queimar na fogueira das vaidades nossos conceitos do ativo, passivo e patrimônio líquido, em prol de um balanço final lucrativo e uma demonstração de resultados positiva. Cândido Mariano da Silva Rondon, marechal, desbravador, indianista e, na minha opinião, uma das mais espetaculares figuras que a história de nosso país conheceu, costumava repetir uma frase sobre o contacto com indígenas: "Morrer se preciso for, matar nunca". Uma adaptação a ser usada como rule-of-thumb para bancos de dados poderia ser: "Informação imperfeita ou incompleta se preciso for, informação falsa nunca".
E para finalizar, recomendo aos que quiserem se aprofundar no tema, o recurso ao livro "Introdução a Sistemas de Bancos de Dados" de C.J. Date (um alerta: o Date tem uma alma profundamente relacional), ou a qualquer outro que misture no título as palavras "introdução" e "bancos de dados", onde vocês poderão encontrar esclarecimentos sobre como utilizar modelagem entidade-relacionamento, abstração e independência de dados, normalização de dados, e muitos outros tópicos interessantes.
Inté...

quinta-feira, 22 de março de 2007

[2] Redes de Computadores

Inicialmente foi traçado um breve histórico do desenvolvimento do uso de computadores, desde os tempos do processamento em lote, passando pelo tempo compartilhado e chegando à época em que interligar computadores (e seus usuários) começou a parecer uma boa idéia, capaz de economizar recursos computacionais e azeitar o fluxo de informações. Nascia a "ligação em rede", que ainda por cima se coadunava melhor com os novos modelos de organização que também começavam a ser experimentados por empresas e outras entidades. A partir daí a idéia evoluiu em abrangência (LAN's, WAN's, etc), tipos (hierárquica, cliente-servidor, peer-to-peer) e escopo (intranet's, internet). O compartilhamento dos recursos e informações propiciado pela idéia de interligação, exigiu a criação de regras que organizassem, tanto no aspecto do hardware quanto no do software, o intercâmbio das informações. Estabeleceram-se padrões físicos (ethernet, token-ring, UTP, etc) e os protocolos de comunicação (como o TCP/IP por exemplo) delimitando as maneiras que um computador "conversaria" com outro. Estes padrões foram fundamentais para a disseminação do uso prático das redes.

sexta-feira, 16 de março de 2007

[5] Negócios em Rede

O caso que nos coube analisar (eu, Juan e Tissiana), discorre sobre a atuação da Dell Computadores no mercado de vendas de computadores pessoais, enfocando principalmente a atuação da mesma no mercado americano.
Nossa resposta para as perguntas colocadas ao fim do texto são:
1) Quais as principais diferenças do modelo de negócios da Dell em relação a negócios de venda de computadores?
A Dell procurou oferecer produtos e oportunidades de customização diferenciadas para cada segmento de clientes, além de oferecer no website uma estrutura básica de suporte técnico e ajuda. As lojas varejistas tem diminuído este diferencial com o passar do tempo, mas agora o nome Dell já é uma marca de referência.
2) Que outros tipos de negócios, poderiam se beneficiar de um modelo semelhante a esse?
Vários tipos de negócio que possuam um mercado numericamente amplo e segmentado, especialmente aqueles onde as necessidades de particularização dos produtos seja importante.
3a) O modo como o site da Dell é organizado condiz com as políticas apregoadas pela Dell?
Sim. Na entrada se apresentam links para os 3 segmentos focados pela Dell: Segmento Corporativo e Público, Pequenas e Médias Empresas e Usuários Domésticos. Depois apresenta seus produtos em categorias (notebooks, desktops, ...) e dá oportunidade de customização para cada modelo básico oferecido.
3b) O que é o programa de afiliados da Dell?
É um programa onde um desenvolvedor em particular disponibiliza em seu site um link para o site de vendas da Dell, que esta última controla, pagando uma "comissão" ao site caso realize alguma venda a partir daí. Certamente representa o aproveitamento de um canal de marketing e disseminação de informações que não é comumente usado por seus concorrentes.

quarta-feira, 14 de março de 2007

[4] Antes é depois ...

Bom, preciso dar um jeito de me organizar melhor e tentar postar os textos na ordem em que são feitos. Mas, alas, por enquanto vai desse jeito mesmo, que o tempo é bem escasso!
Outra coisa: êta editorzinho furreca esse do blogger! Assim que arrumar tempo vou testar copiar/colar código html para ver se a formatação original se mantém.
Seguem as respostas referentes à "leitura crítica" do Contrato de Termos de Uso entregue pela Profª Renata. São opiniões pessoais minhas e do Juan e não necessariamente são "as corretas".
Porque é necessário haver "Termos de Uso" para ferramentas web?
Não é "necessário". Páginas de ajuda, instruções, botões de "fale conosco" e outros artifícios poderiam resolver as necessidades de usuários e propiciar feed back a desenvolvedores / mantenedores / webmasters de sites, estando ambos imbuídos de boa-fé. Os "Termos ..." servem mais como proteção para-jurídica aos webmasters (já que sua efetividade carece ainda de embasamento legal) contra litigância de boa ou má-fé por parte de usuários, e muitas vezes parecem tentar acobertar preventivamente certos impulsos ao estelionato por parte destes webmasters.
Quem se beneficia com essa espécie de contrato?
Basicamente os autores do mesmo, já que são unilaterais até a medula. No ambiente legal normal (fora da internet) o conteúdo leonino de suas cláusulas seria provavelmente rechaçado em juízo.
Em geral você (como usuário) lê cuidadosamente os termos de uso?
Tanto eu quanto Juan nos demos ao trabalho de ler o primeiro desses contratos com que nos deparamos. Depois do primeiro, nunca mais ... Isso provavelmente acontece com os demais usuários (se é que chegam a completar a leitura do primeiro!). São contratos extensos e "enrolados" e, depois da "primeira vez", você já sabe que se discordar não vai poder prosseguir e utilizar o site, suas funcionalidades ou ferramentas. Ou seja: sabe que a leitura é inútil, pois se trata de uma situação de "pegar ou largar", sem abertura sequer para testar. Por outro lado, essa é uma situação comum no dia-a-dia, similar, por exemplo, à dos contratos de adesão de cartões de crédito. A diferença é que estes últimos, apesar do viés pró-administradora, já possuem limitações aos abusos por parte da mesma forçados até pela legislação.
O que deveria mudar quanto à criação e ao uso desses "Termos ..."?
Nossa opinião é de que deveria ser criado um organismo independente, nos moldes, por exemplo, do Conselho Nacional de Auto-Regulamentação Publicitária (CONAR), reunindo representantes (civis) de usuários, desenvolvedores, mantenedores, etc, para definir um "código de posturas regulatórias" mínimo, que procurasse proteger os usuários de abusos, e os demais contra litigância de má-fé. A inclusão de políticos e governos seria de pouca valia, pois a imposição de regras por executivo, legislativo ou judiciário alcança no máximo as próprias fronteiras, bastando hospedar o site em outro país para escapar a sanções. Um conselho independente poderia ter representatividade multi-nacional e ampliar as possibilidades de aplicação de "sanções regulatórias" além das fronteiras nacionais.

sexta-feira, 9 de março de 2007

[3] Segurança em redes

Procuramos responder as perguntas do exercício proposto em aula (laboratório), buscando na Internet duas definições para cada termo:

1.a) Criptografia
Wikipedia: “do grego kryptós, "escondido", e gráphein, "escrever". Estudo dos princípios e técnicas pelas quais a informação pode ser transformada da sua forma original para outra ilegível, a menos que seja conhecida uma "chave secreta".(...) Na prática, é um ramo especializado da teoria da informação com muitas contribuições de outros campos da matemática. (...) A criptografia moderna é basicamente formada pelo estudo dos algoritmos criptográficos que podem ser implementados em computadores”.
Clube do Hardware: “Criptografia é o ato de codificar dados em informações aparentemente sem sentido, para que pessoas não consigam ter acesso às informações que foram cifradas. Há vários usos para a criptografia em nosso dia-a-dia: proteger documentos secretos, transmitir informações confidenciais pela Internet ou por uma rede local, etc”.

1.b) Assinatura Digital
Wikipedia: “... a assinatura digital é um método de autenticação de informação digital tipicamente tratada, por vezes com demasiada confiança, como análoga à assinatura física em papel ...”.
www.safeweb.com.br: “A assinatura digital é um mecanismo criado para atribuir confiabilidade a um documemto eletrônico, da mesma forma que uma assinatura de punho (ou firma) atribui confiabilidade a um documemto papel. (...) Para assinar digitalmente qualquer tipo de informação eletrônica, a fim de comprovar inequivocamente a autoria, o autor deverá possuir um certificado digital, único e pessoal, que comprove indubitavelmente a sua identidade no mundo eletrônico e que tenha sido emitido por uma autoridade certificadora de confiança”.

1.c) Firewall
Wikipedia: “... é o nome dado ao dispositivo de uma rede de computadores que tem por função regular o tráfego de rede entre redes distintas e impedir a transmissão de dados nocivos ou não autorizados de uma rede a outra. Dentro deste conceito incluem-se, geralmente, os filtros de pacotes e os proxy de protocolos”.
www.infowester.com: “... pode ser definido como uma barreira de proteção, que controla o tráfego de dados entre seu computador e a Internet (ou entre a rede onde seu computador está instalado e a Internet). Seu objetivo é permitir somente a transmissão e a recepção de dados autorizados. Existem firewalls baseados na combinação de hardware e software e firewalls baseados somente em software”.

1.d) SSL
Wikipedia: “Secure Sockets Layer (SSL) e seu sucessor Transport Layer Security (TLS) são protocolos criptográficos que provêem comunicação segura na Internet para serviços como email (SMTP), navegação por páginas (HTTP) e outros tipos de transferência de dados. Há algumas pequenas diferenças entre o SSL 3.0 e o TLS 1.0, mas o protocolo permanece substancialmente o mesmo”.
www.bradesco.com.br: “O Secure Socket Layer (SSL) é um protocolo de segurança que criptografa todos os dados trafegados entre o seu computador e o do Bradesco, ou seja, transforma informação sigilosa em código secreto. Dessa forma, ao acessar os serviços disponíveis pelo Bradesco Internet Banking, você tem a garantia de segurança e sigilo das informações”.
1.e) WEP
Wikipedia: “WEP significa Wired Equivalent Privacy, e foi introduzido na tentativa de dar segurança na autenticação, proteção e confiabilidade na comunicação entre os dispositivos Wireless. Porém é inseguro devido a sua arquitetura. Wired Equivalent Privacy (WEP) é parte do padrão IEEE 802.11 (ratificado em Setembro de 1999), e é um protocolo que costumava proteger redes sem fio (WiFi).
www.wiki.freespire.org: “WEP ("Wired Equivalent Privacy") é um protocolo para proteger redes sem fio (wireless). Ele encripta cada pacote TCP/IP antes de enviá-lo e faz a desencriptação quando ele alcança o outro lado do link. No entanto, sua credibilidade ficou abalada quando várias vulnerabilidades foram encontradas. Essas falhas propiciam a crackers caminhos para se apossar da rede”.

2) As páginas retornadas pela busca via Yahoo e via Google são em grande parte as mesmas (mas nem de longe correspondem exatamente), porém em ordem completamente diferente. A mudança de preferências amplia ou reduz o escopo da busca, ampliando ou reduzindo a quantidade de páginas retornadas pela mesma. Navegação via diretório é mais fácil se você já tem idéia de qual categoria pesquisar. Mesmo assim, traz muito menos páginas como opção para consulta. É também menos flexível que a busca pelo mecanismo “normal”.

3.a) Encriptação SSL, teclado virtual para introdução de informações (rodando em plataforma Java), cadastramento de computadores.

3.b) Está sendo usada encriptação SSL (no caso do BB, 128 bits).

3.c) Ferramentas usadas: Bloqueio Automático de Senha, Certificado Digital, Teclado Virtual, Browser Defense (tipo de firewall) e Cadastramento de Computadores. São adequadas mas é bom lembrar que os hackers estão sempre criando novas ameaças e é preciso estar sempre atento para produzir contra-medidas e melhorar a segurança.

[1] Introdução à TI e Organização da Informação

Informação: Estruturada (Banco de Dados) / Não Estruturada (Sistema de Arquivos).

Banco de Dados – Modelo Relacional

Dados >> Base de Dados (coleção de dados) >> Sistema Gerenciador (SGBD).

SGBD
• Simplifica desenvolvimento. Permite realizar entrada, examinar e manipular dados. Dados e Meta-Dados (descrição dos dados) são armazenados na própria Base de Dados. Permite: independência entre dados e programas ; abstração dos dados ; múltiplas visões.
• SGBD é como Bombril: tem 1001 utilidades, mas não serve para TUDO.
• Principais serviços: Controle de Redundância (repetição desnecessária) ; Reconstrução (backups) ; Segurança (acesso / criptografia) ; Restrições de Integridade (depuração na entrada / armazenamento).
• Dados são armazenados em Tabelas (colunas e linhas).
• Colunas da Tabela >> Atributos (Campos).
• Linhas da Tabela >> Tuplas (Registros) – conjunto com mesmos atributos.
• Atributos (Campos) podem ser designados como Chaves (fins de identificação / ordenação).
• Chave primária: identifica o Registro. Deve ser única (sem repetição).
• Chave estrangeira (secundária): usada para identificar atributos em outra tabela.
• Tabelas podem ser relacionadas associando atributos (campos) iguais entre elas.
• Operações sobre Banco de Dados: Seleção, Projeção. Junção ...
• Linguagem de Consulta / Manipulação: SQL (Structured Query Language).