Baixe o app para aproveitar ainda mais
Prévia do material em texto
DataGramaZero - Revista de Ciência da Informação - v.10 n.3 jun/09 ARTIGO 03 Organização da Informação e do Conhecimento, Engenharia de Software e Arquitetura Orientada a Serviços: uma Abordagem Holística para o Desenvolvimento de Sistemas de Informação Computadorizados Information and Knowledge Organization, Software Engineering and Service Oriented Architecture: a Holistic Approach for the Computer Information Systems Development por Marcio Victorino e Marisa Bräscher Resumo: Este trabalho apresenta uma abordagem holística para o desenvolvimento de sistemas de informação computadorizados que integra princípios de organização da informação e do conhecimento, engenharia de software e arquitetura orientada a serviços. Os princípios de organização da informação e do conhecimento constituem o processo denominado neste trabalho de “modelagem da informação” que consiste de um conjunto de procedimentos, técnicas, ferramentas e documentos auxiliares que ajudam os profissionais de informação em seus esforços para representar o domínio observado e os objetos informacionais pertencentes a este domínio, tanto do ponto de vista físico, características físicas do meio e do formato em que está registrada, quanto do ponto de vista temático, descrição do conteúdo. O objetivo da abordagem apresentada é colaborar com o planejamento de novas estratégias para o desenvolvimento de sistemas de informação computadorizados eficazes, eliminando as ilhas informacionais existentes em grandes organizações. Palavras-chave: Organização da informação; Organização do conhecimento, Engenharia de software; Arquitetura orientada a serviços; Sistemas de informação. Abstract: This work presents a holistic approach for the computer information systems development which are related to the principles of information and knowledge organization and also to software engineering and service oriented architecture. The principles of information and knowledge organization consists in a set of procedures, techniques, tools and auxiliary documents that help information professionals on their efforts to represent the observed domain and also information objects that belong to this specific domain. This representation deals not only with physical aspects of the environment or the format it is registered but also with thematic point of view and content description. The aim of the presented approach is to cooperate with planning of new strategies for the development of effective computer information systems, eliminating existing information islands in major organizations. Keywords: Information organization; Knowledge organization; Software engineering; Service-Oriented Architecture; Information Systems. Introdução Ciência da Informação é definida por Robredo (2003, p. 105) de maneira sucinta como “o estudo, com critérios, princípios e métodos científicos, da informação”. O objeto de estudo da Ciência da Informação é a informação, porém o termo “informação” tem sido utilizado para as mais diversas situações, causando uma ambigüidade indesejada. Urdaneta (1992) distingue quatro classes diferentes de informação: dados, informação, conhecimento e inteligência. Dados são sinais que não foram processados, correlacionados, integrados, avaliados ou interpretados de qualquer forma, ou seja, é a matéria-prima a ser utilizada na produção da informação. A informação consiste dos dados processados para serem exibidos em uma forma inteligível às pessoas que vão utilizá-los. O conhecimento é definido como informações que foram analisadas e avaliadas sobre a sua confiabilidade, sua relevância e sua importância, o conhecimento não é estático, modificando-se mediante interação com o ambiente. Entende-se por inteligência o conhecimento contextualmente relevante que permite atuar com vantagens no ambiente considerado. Inteligência pode ser vista também como o conhecimento que foi sintetizado e aplicado a uma determinada situação, para ganhar maior profundidade de consciência da mesma. Robredo (2003, p. 110) ressalta que a informação é indissociável de algum tipo de sistema e define sistema de informação como “uma entidade complexa e organizada que capta, armazena, processa, fornece, usa e distribui a informação”. Incluem-se os recursos organizacionais relacionados, tais como recursos humanos, tecnológicos e financeiros. Os recursos tecnológicos compreendem software, hardware e toda a infra-estrutura de comunicação necessária. Segundo esta definição, infere-se que o desenvolvimento de um sistema de informação deve abranger atividades que possibilitem o entendimento de como a organização alvo trabalha, ou seja, dos seus processos organizacionais, das atividades relacionadas à organização da informação e das atividades relacionadas ao desenvolvimento de softwares capazes de automatizar tais processos. Estas atividades estão relacionadas a vários profissionais, dentre eles destacam-se: o administrador que concebe os processos organizacionais que transformam a informação, o bibliotecário que se preocupa com a organização da informação e o desenvolvedor de software que implementa programas para automatizar os processos organizacionais. No entanto, esses três profissionais normalmente trabalham de maneira independente, o que pode ocasionar problemas ao desenvolvimento de sistemas de informação. Este artigo propõe uma abordagem holística para o desenvolvimento de sistemas de informação computadorizados, na qual os profissionais responsáveis pela modelagem dos processos organizacionais, pela organização da informação e pelo desenvolvimento de software trabalham de maneira integrada. Inicialmente este artigo aborda os conceitos relacionados à organização da informação e do conhecimento; à engenharia de software; e à modelagem de processos e sua importância para a concepção de uma arquitetura orientada a serviços. Em seguida, é apresentada uma proposta de abordagem holística para o desenvolvimento de sistemas de informações computadorizados. Organização da Informação e do Conhecimento Em um ambiente organizacional, a informação pode estar registrada em vários suportes, como, por exemplo, livros, relatórios, mapas, fotografias, planilhas eletrônicas e tabelas relacionais. No intuito de usar uma expressão mais ampla que “documento” para referenciar estes suportes e respectivos conteúdos, emprega-se a denominação “objetos informacionais”, conforme sugerido por Robredo (2005). Segundo Dittrich e Domenig (1999), os objetos informacionais em mídia podem ser categorizados em três tipos: estruturados, semi-estruturados e não estruturados. Os objetos informacionais estruturados possuem uma estrutura rígida de armazenamento (planilhas eletrônicas, tabelas relacionais, etc.), os semi-estruturados possuem estrutura de armazenamento, porém esta não é rígida (e-mail, páginas HTML, etc.) e os não estruturados não possuem estrutura de armazenamento definida além de seqüências de bytes ou caracteres (imagens, textos, etc.). Resumidamente, pode-se afirmar que o objetivo da organização da informação é dar suporte ao fluxo de tratamento e recuperação dos objetos informacionais estruturados, semi-estruturados e não-estruturados nas organizações. Segundo Svenonius (2000, p. 6) o ato de organizar a informação pode ser visto como um tipo particular de uso da linguagem e afirma que: “A vantagem a ser obtida por considerar o ato de organizar a informação como a aplicação de uma linguagem específica é que os constructos da lingüística tais como vocabulário, semântica e sintaxe podem ser utilizados para generalizar o entendimento e avaliar diferentes métodos de organização da informação. Outra vantagem é que esses constructos possibilitam a conceitualização que pode unificar métodos, antes díspares, de organização da informação – catalogação, classificação e indexação.” Taylor (2004, p. 1) lembra que organizar é uma característicabásica dos seres humanos e afirma que “o aprendizado humano baseia-se na habilidade de analisar e organizar dado, informação e conhecimento”. A autora, com base em Hagler (1997), enumera seis funções da organização da informação registrada. No entanto, ela substitui o termo “informação registrada” por “pacote informacional”. A autora sugere o termo “pacote informacional” devido ao fato da informação registrada não se restringir apenas a textos. Filmes, fotografias, mapas, páginas web são exemplos de informação registrada. Assim, o termo “pacote informacional” torna-se mais abrangente para designar unidades de informação organizáveis. As seis funções são: 1. Identificar a existência de todo tipo de pacote informacional, na forma como estão disponibilizados. 2. Identificar obras intelectuais contidas nesses pacotes informacionais. 3. Reunir sistematicamente, os pacotes informacionais em coleções dispostas em bibliotecas, arquivos, museus, arquivos na Internet e outros repositórios. 4. Produzir listas desses pacotes informacionais, preparadas de acordo com padrões e regras para citação. 5. Prover nome, título, assunto, e outros critérios de acesso úteis para esses pacotes informacionais. 6. Prover meios de localizar cada pacote informacional ou uma cópia do mesmo. Taylor (2004, p. 1) também afirma que “nós organizamos porque precisamos recuperar”. Quando a quantidade de objetos informacionais a consultar é grande, torna-se necessário o uso de recursos que possibilitem a representação da informação, a fim de facilitar a identificação e acesso a esses objetos. Recursos de organização e recuperação da informação são utilizados com o objetivo de possibilitar o vínculo entre as necessidades de informação dos usuários e as informações potencialmente relevantes armazenadas em sistemas de informação. Bräscher e Café (2008) analisam o emprego dos termos “organização da informação” (OI) e “organização do conhecimento”(OC) em diferentes contextos e observam a falta de clareza quanto à delimitação desses conceitos. No contexto deste artigo adota-se a proposta conceitual das autoras na qual a organização da informação “é um processo que envolve a descrição física e de conteúdo dos objetos informacionais. O produto deste processo descritivo é a representação da informação, entendida como um conjunto de elementos descritivos que representam os atributos de um objeto informacional específico”, enquanto que a organização do conhecimento “visa à construção de modelos de mundo que se constituem em abstrações da realidade”. As autoras concluem: “Esses dois processos (OI e OC) produzem, conseqüentemente, dois tipos distintos de representação: a representação da informação, compreendida como o conjunto de atributos que representa determinado objeto informacional e que é obtido pelos processos de descrição física e de conteúdo, e a representação do conhecimento, que se constitui numa estrutura conceitual que representa modelos de mundo.” Na abordagem holística para o desenvolvimento de sistemas de informação computadorizados aqui proposta, a representação da informação (RI) materializa-se por maio de metadados relacionados aos objetos informacionais. A representação do conhecimento (RC) encontra-se presente em diferentes tipos de sistemas de organização do conhecimento (SOC), que são “sistemas conceituais que representam determinado domínio por meio da sistematização dos conceitos e das relações semânticas que se estabelecem entre eles” (Bräscher; Café, 2008). Os SOC são utilizados para a modelagem do domínio em que os objetos informacionais estão inseridos. Engenharia de Software Nas décadas de 1950 e 1960 os sistemas de software eram bastante simples. O desenvolvimento desses sistemas era feito de forma artesanal, pautado em habilidades individuais, sem uma abordagem sistemática específica. Segundo Sommerville (2003), a noção de “engenharia de software” surgiu pela primeira vez em 1968, em uma conferência organizada para discutir a chamada “crise do software”. Essa crise resultou diretamente da introdução do hardware de computador de terceira geração. O software para este hardware sofreu uma dramática expansão em tamanho, complexidade, distribuição e importância, programas isolados já não atendiam mais às necessidades dos usuários, eram necessários verdadeiros sistemas para atender a essas demandas. A Engenharia de Software é uma disciplina que se ocupa de todos os aspectos da produção de software, desde os estágios iniciais de especificação até a manutenção do sistema. “Software são os programas de computador e a documentação associada” (Sommerville, 2003, p. 6). No final da década de 1960, a demanda por sistemas mais complexos mostrou que uma abordagem informal do desenvolvimento de software não gerava os resultados esperados. Novas técnicas e novos métodos foram sistematizados dando origem às metodologias de desenvolvimento de software. Apesar de ser amplamente utilizado, o termo metodologia não possui uma definição consensual. De maneira geral, entende-se metodologia de desenvolvimento de software como uma série recomendada de passos e procedimentos que devem ser seguidos para obter-se o desenvolvimento de um sistema de software (Yourdon, 1990). Avison e Fitzgerald (1995) afirmam que uma metodologia propõe um modelo de ciclo de vida composto por fases constituídas de sub-fases, que orientam os participantes de um projeto na escolha das técnicas mais apropriadas a cada estágio do projeto e também os auxiliam a planejar, gerenciar, controlar e avaliar o projeto de desenvolvimento de software. O primeiro modelo de ciclo de vida de um projeto de desenvolvimento de software, o modelo em cascata, foi proposto por Royce (1970) no início da década de 1970. Também chamado de clássico ou linear, este modelo se caracteriza por possuir uma tendência na progressão seqüencial entre uma fase e a seguinte. Eventualmente, pode haver uma retroalimentação de uma fase para a fase anterior (Figura 1). Figura 1: Modelo de Ciclo de Vida em Cascata. O modelo em cascata é composto pelas seguintes fases: • Levantamento de Requisitos: tem por objetivo propiciar que usuários e desenvolvedores tenham a mesma compreensão do problema a ser resolvido. • Análise de Requisitos: tem por objetivo construir modelos que determinam qual é o problema para o qual se procura conceber uma solução de software. • Projeto: tem por objetivo adaptar o modelo de análise de tal modo que possa servir como base para implementar a solução no ambiente alvo. • Implementação: etapa em que a codificação do sistema é efetivamente executada. • Teste: consiste na verificação do software. • Implantação: fase em que o sistema entra em produção. A estratégia de desenvolvimento de software na década de 1970 baseava-se na programação estruturada e no projeto estruturado e adotava-se o modelo de ciclo de vida em cascata. Os princípios da programação estruturada e projeto estruturado permitiram grandes melhorias na organização, codificação, testes e manutenção de programas. No entanto, a especificação deficitária do problema, a especificação funcional, não permitia a construção de soluções consistentes. Na década de 1980, surgiu a análise estruturada com os trabalhos de vários autores, dentre eles: Tom DeMarco, Weinberg, Gane e Sarson (Yourdon, 1990). Na análise estruturada a especificação funcional passou a ter as seguintes características: utilizar a representação gráfica, composta por vários diagramas apoiados por material textual; ser constituída de forma particionada, de modo que partes individuais da especificação pudessem ser lidas independentemente de outras; e ter o mínimo de redundância, tornando menos onerosa a tarefa de atualizar os requisitos. Nesta época, o modelo de ciclo de vida em cascata ainda era o mais utilizado. A década de 1990 foi um período de transição. A programação estruturada começoua ser substituída pela programação orientada a objetos e as metodologias de desenvolvimento de software, até então fundamentadas na análise e projetos estruturados, também começaram a evoluir para análise e projeto orientados a objetos. Orientação a objetos (OO) é um termo geral que inclui qualquer estilo de desenvolvimento de sistemas que seja baseado no conceito de “objeto”, uma entidade que exibe características e comportamentos. A estratégia orientação a objetos pode ser aplicada à programação e à análise e projeto de sistemas :(Sintes, 2002). Campos (2001) afirma que: “A metodologia orientada a objetos se caracteriza, assim, por apresentar um conceito principal que é a noção de objeto; é a partir deste conceito que se iniciam os mecanismos de modelagem. Os objetos são identificados em um dado domínio, possuem atributos, ou propriedades, que descrevem o estado de um objeto do mundo real, e um identificador, ou nome, que designa univocamente o objeto na representação.” Neste período, os métodos de desenvolvimento de software de maior destaque foram o “Booch” de Grady Booch, “OOSE” (Engenharia de Software Orientada a Objetos) de Ivar Jacobson e “OMT” (Técnica de Modelagem de Objetos) de James Rumbauch (Bezerra, 2002). A junção das notações, diagramas e formas de representação dos vários métodos existentes, principalmente nos três citados anteriormente, resultou na definição da UML (Unified Modeling Language). Em 1997, a Unified Modeling Language foi aprovada como padrão de linguagem de modelagem pelo Object Management Group (OMG). A Unified Modeling Language é uma linguagem de modelagem visual independente tanto de linguagens de programação quanto de processos de desenvolvimento. No entanto, tem sido muito utilizada para modelar sistemas de informação orientados a objetos. Esta linguagem é constituída de elementos gráficos utilizados na modelagem, os quais permitem representar os conceitos do paradigma de orientação a objetos. Com esses elementos gráficos pode-se construir diagramas que representam diversas perspectivas de um sistema (Booch, 2000). Pressman (2006) afirma que: “a Unified Modeling Language fornece a tecnologia necessária para apoiar a prática da engenharia de software orientada a objetos, mas não fornece o arcabouço de processo para guiar as equipes de projeto na aplicação da tecnologia”. No final da década de 1990, Rumbaugh, Booch e Jacobson, a partir da junção de seus métodos de desenvolvimento de software, criaram o Processo Unificado, “um arcabouço para a engenharia de software orientada a objetos usando a Unified Modeling Language” (Pressman, 2006). O Processo Unificado, uma das metodologias de desenvolvimento de software mais utilizadas atualmente, possui aspectos estruturais marcantes, como desenvolvimento em fases e iterações associadas à gerência de riscos. Estes aspectos são originários do modelo em espiral proposto por Boehm (1988). As metodologias de desenvolvimento de software mais utilizados na década de 2000 adotam um princípio no qual os requisitos de software devem partir dos processos que compõem uma organização, ou seja, antes do levantamento de requisitos, os processos da organização devem ser modelados e documentados. Após a modelagem, os processos são decompostos em conjuntos de unidades bem definidas denominadas “serviços”, dando origem a um novo paradigma: a “orientação a serviços”. Segundo Allen (2006), um serviço consiste na funcionalidade que precisa ser especificada no contexto do negócio e em termos de contrato entre um sistema provedor e outro sistema consumidor da mesma. Depois de abstraídos, os serviços são implementados e encapsulados em componentes de software. O Tratamento da Informação na Perspectiva da Engenharia de Software De maneira geral, as atividades da engenharia de software que possuem tarefas relacionadas à modelagem de dados ou da informação são as atividades de levantamento e análise de requisitos. Normalmente, os produtos de trabalho dessas atividades são glossários, modelos de dados relativos às entidades pertencentes ao domínio modelado e uma base de dados para cada sistema de informação desenvolvido. Nas metodologias da engenharia de software não há a preocupação com o uso de linguagens documentárias, definições consensuais, metadados ou qualquer outro recurso capaz de abordar os aspectos semânticos da informação nas organizações. O foco da engenharia de software é a automação dos processos organizacionais por meio do desenvolvimento intensivo de software, sem que sejam contemplados aspectos relativos à modelagem da informação. Como conseqüência, os sistemas de informação podem se apresentar dispersos e desconectados, transformando uma organização em um conjunto de ilhas informacionais. Modelagem de Processos e Arquitetura Orientada a Serviços Nas últimas décadas, devido ao aumento da competitividade gerado pela globalização, as estruturas organizacionais se tornaram progressivamente mais flexíveis e horizontais, substituindo as tradicionais estruturas funcionais. As estruturas tradicionais são consideradas verticais devido ao fato das informações somente entrarem e saírem pelo topo das estruturas, sem permitir a execução transversal de um processo por várias unidades da organização,. A estrutura organizacional funcional impõe uma visão fragmentada e estanque das responsabilidades, embora indique as relações de subordinação com clareza. Em contrapartida, a estrutura por processos permite uma visão dinâmica de como a organização realmente funciona. A adoção de uma estrutura orientada para processos diminui a ênfase às relações hierárquicas funcionais da organização. Essa abordagem exige que as interfaces entre as áreas funcionais sejam continuamente melhoradas e que o fluxo de trabalho permeie as diversas unidades funcionais, por meio de movimentos rápidos e eficientes de informação. Como ressalta Maranhão (2004) “uma estrutura organizacional baseada em processos é uma estrutura constituída em torno do modo de fazer o trabalho, e não em torno de habilitações ou de poderes específicos”. Segundo Hammer (1998) a organização orientada a processos está surgindo como forma organizacional dominante para o século XXI, em substituição à estrutura por função, forma organizacional predominante no século XX. Os processos industriais, especialmente os de manufatura, sempre tiveram seu desempenho acompanhado de perto pelos engenheiros de produção e técnicos da área industrial. Os processos típicos da área não fabril e das organizações que não têm área fabril, no entanto, passaram despercebidos por décadas (Gonçalves, 2000). Essa idéia de processo como um fluxo de trabalho, com entradas e saídas claramente definidas e tarefas discretas que seguem uma seqüência e que dependem umas das outras numa sucessão clara, vem da tradição da engenharia. As entradas podem ser materiais, equipamentos e outros bens tangíveis, mas também podem ser informações (Harrington, 1991). Cabe ressaltar que nem sempre os processos de uma organização são formados de atividades claramente delineadas em termos de conteúdo, duração e consumo de recursos definidos, nem precisam ser consistentes ou realizados numa seqüência particular (Morris; Brandom, 1994). Segundo Maranhão (2004, p. 53), o mapeamento de processos da organização é “o conhecimento e a análise dos processos e seu relacionamento com os dados, estruturados em uma visão top down, até um nível que permita sua perfeita compreensão e obtenção satisfatória dos produtos e serviços, objetivos e resultados dos processos”. O mapeamento ou modelagem dos processos gera, normalmente, modelos baseados na notação Business Process Modeling Notation (BPMN), atualmente gerenciada pela Object Management Group, mesma organização que gerencia a notação Unified Modeling Language. A notação Business Process Modeling Notation (BPMN, 2006) possui um conjunto de elementos gráficos para representaruma série de situações que acontecem no fluxo dos processos, porém não contempla elementos gráficos capazes de representar os objetos informacionais utilizados nos processos. As abordagens mais recentes de modelagem de processos procuram atingir o máximo de reuso dos mesmos, independente de automação. Para isso os processos são decompostos em conjuntos de unidades bem definidas, cada qual com sua funcionalidade convenientemente descrita. Essas unidades são chamadas serviços. Para que uma organização tenha seu negócio modelado segundo esse paradigma é necessário o uso de uma arquitetura para dar suporte, chamada Arquitetura Orientada a Serviços (Service-Oriented Architecture, SOA). Como Erl (2004) destaca, o termo Service-Oriented Architecture pode significar várias coisas: uma arquitetura técnica, uma concepção de modelagem de negócio, uma fonte de integração, ou uma nova maneira de enxergar unidades de automação em um ambiente organizacional. Segundo o Modelo de Referência Organization Advancement of Structured Information Standards (OASIS, 2006), Service-Oriented Architecture é um paradigma para organização e utilização de competências distribuídas que estão sob controle de diferentes domínios proprietários. Service Oriented Architecture também é uma ferramenta para desenhar processos. Tendo em vista que um processo pode ser desenhado como um ou mais serviços, Service Oriented Architecture proporciona padrões para se projetar tais processos a partir de serviços reutilizáveis. Assim, Service Oriented Architecture pode ser vista como um conjunto de princípios de desenho que podem ser aplicados tanto no desenho dos processos quanto no projeto de soluções tecnológicas para a automação de tais processos. Segundo Noel (2007), Service Oriented Architecture provê uma linguagem comum entre o analista do negócio e os desenvolvedores de sistemas de informações, diminuindo a lacuna existente entre esses dois profissionais, principal motivo do fracasso da informatização das organizações. Service-Oriented Architectureé uma arquitetura fracamente acoplada, projetada para atender às necessidades de uma organização que fornece, essencialmente, uma estrutura na qual os processos podem ser decompostos em serviços. Os serviços são informatizados por tecnologias interoperáveis, capazes de se comunicarem entre si independentemente da plataforma e linguagem de programação. Dentre as tecnologias interoperáveis destacam-se os serviços web (web services). Esses serviços proporcionam um modo padronizado de integrar aplicativos baseados na web de maneira que as organizações possam se comunicar sem ter conhecimento extensivo dos respectivos sistemas de tecnologia da informação. Na metáfora feita pela International Business Machines (IBM, 2007) Service Oriented Architecture é a arquitetura e os serviços web são os blocos de construção. Os serviços web utilizam XML (linguagem de marcações extensíveis) para descrever as interfaces de aplicativos em uma linguagem chamada WDL (linguagem de definição de serviços web). Eles podem ser reutilizados e modificados e aplicados em diferentes áreas dentro e fora da organização, sem ajustar a tecnologia subjacente. O resultado é uma arquitetura de tecnologia da informação flexível que alavanca o compartilhamento e reutilização dos componentes de tecnologia da informação para aprimorar a capacidade de responder às condições mutantes do negócio. Essa independência da implementação é conhecida como acoplamento fraco que possui várias vantagens em relação ao acoplamento forte. No acoplamento forte, os componentes dos aplicativos são estreitamente interrelacionados em função e forma, o que os torna, portanto, inflexíveis no que tange à reutilização ou compartilhamento de um serviço. Em decorrência do trabalho com padrões abertos como o XML (linguagem de marcações extensíveis), o WSDL (linguagem de definição de serviços web) e vários outros, a organização pode construir sistemas de tecnologia da informação flexíveis com serviços fracamente acoplados que podem ser compartilhados, modificados e permutados sem enfrentar dificuldades com a customização de tecnologias subjacentes. Figura 2: Service Oriented Architecture conecta pessoas, processos e informação em uma organização (Fonte: Adaptado de JOHN, 2006). Como a Figura 2 apresenta, em organizações providas de Service Oriented Architecture, observa-se que as pessoas são usuárias das informações e dos processos. Os processos recebem e produzem informações. Finalmente, a tecnologia da informação e comunicação dá suporte ao relacionamento entre estes elementos através da automatização. Abordagem Holística para o Desenvolvimento de Sistemas de Informações Computadorizados Do exposto anteriormente, percebe-se que as metodologias de modelagem de processos e de engenharia de software utilizadas para o desenvolvimento de sistemas de informação constroem glossários e modelos de dados do tipo entidade-relacionamento para representar os objetos informacionais, sem, no entanto, contemplar a modelagem da informação de maneira consistente. O principal objetivo deste trabalho é apresentar uma abordagem que integre princípios de organização da informação e do conhecimento, engenharia de software e Service Oriented Architecture. Os princípios de organização da informação e organização do conhecimento constituirão o processo denominado neste trabalho de “modelagem da informação” que consiste de um conjunto de procedimentos, técnicas, ferramentas e documentos auxiliares que ajudam os profissionais de informação em seus esforços para representar o domínio observado e os objetos informacionais pertencentes a este domínio. A modelagem da informação contempla tanto a descrição física, características físicas do meio e do formato em que a informação está registrada, quanto a descrição do conteúdo informacional. Os principais artefatos gerados a partir desta modelagem são, entre outros, metadados relacionados aos objetos informacionais e os sistemas de organização do conhecimento tais como, tesauros, taxonomias e ontologias. O objetivo de gerar estes artefatos é representar física e semanticamente os objetos informacionais que os sistemas organizacionais manipulam e o domínio em que estão inseridos. O processo de modelagem da informação não deve ser entendido como algo isolado e estanque. Na verdade, o processo proposto objetiva gerar uma infra- estrutura composta por artefatos que sofrerão freqüentes atualizações para acompanhar a evolução do ambiente informacional das organizações. A escolha do momento mais apropriado para a execução das tarefas relativas à modelagem da informação dependerá do ambiente organizacional. No entanto, a sugestão da abordagem proposta é que a modelagem da informação seja realizada em paralelo à modelagem de processos e/ou à modelagem de software. Figura 3: Abordagem para o Desenvolvimento de Sistemas de Informações Computadorizados. Na figura 3, observa-se que, segundo a abordagem proposta, o desenvolvimento de sistemas de informações computadorizados inicia-se com a modelagem dos processos organizacionais que, normalmente, gera modelos baseados na notação Business Process Modeling Notation - BPMN para representar os processos, os serviços que os compõem e a arquitetura em que serão dispostos, denominada Service-Oriented Architecture, SOA. Esta modelagem de processos é acompanhada da modelagem da informação que gera metadados sobre os objetos informacionais manipulados pelos processos e serviços; e tesauros, taxonomias e ontologias que representam o domínio observado. Após a modelagem dos processos e sua decomposição em serviços, são modelados os softwares que automatizarão os serviços. A modelagem de software gera modelos pertencentes à Unified Modeling Language, como por exemplo, modelos de classe, modelos de objetos, modelos de componentes, etc. Os objetos informacionais modelados também são documentadoscom o uso de metadados e o domínio modelado é representado por tesauros, taxonomias e ontologias. Este processo é iterativo, ou seja, a modelagem dos processos, a modelagem de software e a modelagem da informação sofrerão vários refinamentos até se atingir o produto final. Os produtos de trabalho mais importantes resultantes do processo de modelagem da informação são o repositório informacional corporativo e os SOC, mais especificamente, tesauros, taxonomias e ontologias. Todos estes artefatos conectam-se harmoniosamente por meio de uma arquitetura da informação. O Repositório Informacional Corporativo A Figura 4 apresenta a visão lógica do “repositório informacional corporativo” proposto e sua conexão com os SOC resultantes do processo de modelagem da informação. Este repositório é composto por objetos informacionais internos, referência a objetos informacionais externos e metadados. Figura 4: Repositório Informacional Corporativo. Os objetos informacionais internos representam os objetos informacionais armazenados nos repositórios da organização, porém são gerados dentro ou fora da mesma. Quando gerados fora, esses objetos passam por um tratamento para tornarem-se aderentes ao modelo interno da organização e são copiados para seus repositórios. Já as referências aos objetos informacionais externos têm por objetivo facilitar a recuperação das informações armazenadas fora da organização, porém de seu interesse, a fim de não comprometer sua capacidade de armazenagem. Seria inviável para as organizações armazenarem em seus repositórios informacionais todo o conteúdo de seu interesse disponibilizado na web, por exemplo. No repositório proposto observa-se, ainda, um repositório interno exclusivo para metadados. Os tipos de metadados armazenados são administrativos, estruturais, descritivos, técnicos e de negócio. Os metadados administrativos proporcionam o gerenciamento e a manutenção do registro dos objetos informacionais. Os metadados estruturais descrevem o suporte físico do objeto informacional que está sendo descrito. Os metadados descritivos descrevem as características intelectuais do conteúdo de um objeto informacional e o relacionamento do objeto com os conceitos do domínio registrados nos sistemas de organização do conhecimento. Os metadados técnicos completam a descrição das estruturas dos objetos informacionais estruturados, como, por exemplo, tabelas, campos, tipos de dados. Os metadados de negócio descrevem o conteúdo dos objetos informacionais que contenham informações sobre o negócio de maneira que o usuário final possa entender. A carga dos metadados é realizada a partir da análise, síntese e representação do conteúdo dos objetos informacionais de interesse da organização. Na análise é feita a verificação da informação contida no objeto informacional. A síntese consiste da construção de um enunciado relativo ao conteúdo deste objeto. Finalmente, na representação, são efetuados a carga de metadados relativos ao conteúdo e estrutura do objeto informacional e o relacionamento deste objeto com o sistemas de organização do conhecimento utilizado pela organização. Arquitetura da Informação Brancheau e Wetherbe (1986) afirmam que Arquitetura da Informação consiste de um plano para modelagem dos requisitos informacionais de uma organização. Esse plano provê um modo de mapear as informações necessárias à organização, relativas aos processos do negócio e de documentar seus inter-relacionamentos. A tecnologia desempenha um papel importante em uma arquitetura de informação, mas o seu objetivo é a organização e armazenagem dos objetos informacionais estruturados, semi-estruturados e não estruturados em repositórios informacionais (bancos de dados, sistemas de arquivos, etc) providos de consistência, compartilhamento, documentação, privacidade e recuperação eficaz de seus conteúdos, sem se prender a técnicas específicas de modelagem de dados ou arquitetura de sistemas de informação. A figura 5 apresenta a visão genérica de uma Arquitetura da Informação, segundo a proposta de abordagem holística. O objetivo é possibilitar a navegação pelos objetos informacionais. Outros componentes podem ser conectados ou retirados desta arquitetura de acordo com as peculiaridades da organização. Figura 5: Visão Lógica da Arquitetura da Informação. Nessa arquitetura, os objetos informacionais são obtidos de fontes de informação internas e externas e passam por um processo (automático, manual ou misto) de análise, síntese e representação para a geração e armazenamento de metadados no repositório de metadados. Os metadados descrevem o suporte e o conteúdo e servem de índices para a recuperação desses objetos. O usuário interage com uma interface gráfica implementada de acordo com critérios de usabilidade que, segundo Ferreira e Drumond (2002) apud Camargo e Vidott (2008), abrangem as seguintes características: facilidade de aprendizagem; rapidez no desempenho da tarefa; baixa taxa de erro; adequação ao sistema e satisfação subjetiva do usuário. Conclui-se que quanto maior a usabilidade de um sistema, mais fácil será a sua utilização. Os tesauros são utilizados para permitir ao usuário encontrar o termo que represente um determinado significado para o que procura. Já as taxonomias navegacionais, à semelhança dos diretórios web, são utilizadas para permitir que os usuários leigos naveguem pelo conteúdo do repositório, por esse motivo, são criadas levando em conta o comportamento do usuário. Por outro lado, as taxonomias descritivas auxiliam os especialistas em suas buscas por informações. Finalmente, as ontologias permitem o aprimoramento das buscas realizadas pelos usuários com a delimitação do contexto. Um cenário típico de uso da ambiente apresentado na figura 5 é o seguinte: o usuário pretende encontrar determinada informação sobre um termo que faz parte do seu vocabulário. Então, ele interage com uma interface amigável que disponibiliza as opções de usar um tesauro ou uma taxonomia. Na primeira opção, um tesauro será disponibilizado para o usuário a fim de mapear o termo de seu vocabulário para um termo que faça parte do vocabulário controlado da organização. Na segunda opção o usuário encontrará taxonomias navegacionais, representadas por meio de diretórios web, ou taxonomias descritivas, mais indicadas aos especialistas. Após a escolha do usuário por tesauros ou taxonomias, o mesmo ainda poderá acrescentar termos para melhorar a semântica de sua busca. O termo ou termos que compõem a busca do usuário podem ser ampliados com o uso das ontologias que os contextualizam. Novos termos podem ser acrescentados à busca, em função de relacionamentos ou regras de inferência já mapeados. Finalmente, o repositório de metadados é consultado e os objetos que, de alguma forma, atendem às necessidades do usuário são apresentados. O grupo de usuários desta arquitetura da informação é formado pelos usuários finais em busca de um determinado objeto informacional e pelos desenvolvedores de sistemas em busca de estruturas de armazenagem de objetos informacionais para que as mesmas possam ser compartilhadas entre sistemas de informação diferentes. A figura 5 apresenta uma proposta de infra-estrutura necessária para a implementação do “mapa abrangente dos dados organizacionais” sugerida por McGee e Prusak (1994, p.129). Conclusão As metodologias de modelagem de processos e de engenharia de software utilizadas para a modelagem e desenvolvimento de sistemas de informação organizacionais carecem de estratégias para documentar a informação de forma compatível com as necessidades das organizações. Essas metodologias têm evoluído consideravelmente nos últimos tempos, porém, ainda apresentam deficiências no que diz respeito ao tratamento da informação, se comparadas com os métodos e as técnicas utilizados na Ciência da Informação, mais especificamente, nas áreas de Organização da Informação e do Conhecimento.Este trabalho apresentou uma abordagem integrada para o desenvolvimento de sistemas de informação computadorizados composta pela modelagem de processos, engenharia de software e modelagem da informação que é fundamentada nos conceitos, métodos e técnicas de Organização da Informação e do Conhecimento preconizados pela Ciência da Informação. A proposta apresentada visa aproximar esforços metodológicos das áreas de Ciência da Informação, Administração e Engenharia de Software para que o tratamento da informação seja o mais amplo possível. Nessa direção, a abordagem holística propõe o conceito inovador de Repositório Informacional Corporativo, produto do processo de modelagem da informação pautado no uso de metadados e de Sistemas de Organização do Conhecimento. A abordagem contempla, ainda, uma Arquitetura da Informação capaz de proporcionar a navegação pelos objetos informacionais dispostos na organização segundo a proposta apresentada. Acredita-se que a abordagem apresentada venha a colaborar com o planejamento de novas estratégias para o desenvolvimento de sistemas de informação computadorizados eficazes, eliminando as ilhas informacionais existentes em grandes organizações. Bibliografia ALLEN, Paul. Service Orientation. New York: Cambrige University Press, 2006. 336 p. AVISON, D. E.; FITZGERALD, G. Information Systems Development: Methodologies, Techniques and Tools. 2. ed. McGraw-Hill. 1995. BEZERRA, E. Princípios de Análise e Projeto de Sistemas Com UML. São Paulo: Campus. 2002. 286 p. BOEHM, B. A Spiral Model for Software Development and Enhancement, Computer. V. 21, n. 5 maio, 1988, p. 61 – 72. BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML – Guia do Usuário. 2. ed. Rio de Janeiro: Campus. 2005. 474 p. BPMN. Business Process Modeling Notation Specification. OMG Final Adopted Specification 2006. Disponível em: < http://www.bpmn.org/> Acesso em: 23 outubro 2007. BRANCHEAU, J. C.; WETHERBE, J. C. Information Architectures: Methods and Pratice. Information Processing & Management, v. 22, n. 6, p. 453-463, 1986. BRÄSCHER, M.; CAFÉ, L. Organização da Informação ou Organização do Conhecimento? In: ENCONTRO NACIONAL DE PESQUISA EM CIÊNCIA DA INFORMAÇÃO, 9, 2008, São Paulo, Anais. São Paulo: ANCIB, 2008. Disponível em: < http://www.enancib2008.com.br >. Acesso em: 31 out. 2008. CAMARGO, L. S. A; VIDOTT, S. A. B. G. Arquitetura da Informação para Ambientes Informacionais Digitais. In: ENCONTRO NACIONAL DE PESQUISA EM CIÊNCIA DA INFORMAÇÃO, 9, 2008, São Paulo, Anais. São Paulo: ANCIB, 2008. Disponível em: < http://www.enancib2008.com.br >. Acesso em: 26 out. 2008. CAMPOS, M. L. DE A. A Organização de Unidades do Conhecimenrto em Hiperdocumentos: o modelo conceitual como um espaço comunicacional para a realização da autoria. 2001. 198 p. Tese (Doutorado). Instituto Brasileiro de Informação em Ciência e Tecnologia, Departamento de Ensino e Pesquisa, Programa de Pós-Graduação em Ciência da Informação, Convênio CNPq/IBICT-UFRJ/ECO. Rio de Janeiro. DITTRICH, K. e, DOMENIG, R. Towards Exploitation of the Data Universe. In: 3RD INTERNATIONAL CONFERENCE ON BUSINESS INFORMATION SYSTEM, abril 1999. ERL, T. Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services. New Jersey: Prentice Hall, 2004. 536 p. GONÇALVES, J. E. L. As empresas são grandes coleções de processos. ERA: Revista de Administração de Empresas, São Paulo, v. 40 n. 1, p. 6-19, mar. 2000. HAGLER, R. The Bibliografic Record and Information Technology. 3. ed. Chicago: American Library Association, 1997. p.13. HAMMER, M. A empresa voltada para processos. HSM Management, n. 9, ano 2, jul./ago. 1998. HARRINGTON, H. James. Business process improvement. New York: McGraw Hill, 1991. INTERNATIONAL BUSINESS MACHINES (IBM). Por dentro da SOA. 2007. Disponível em: <http://www-306.ibm.com/software/br/info/features/futureenterprise/>. Acesso em: 2 novembro 2007. JOHN, Ganci,, et al. Patterns: SOA Foundation Service Creation Scenario. International Technical Support Organization RedBooks IBM. 2006. Disponível em: <http://www.redbooks.ibm.com/redbooks /pdfs/sg247240.pdf >. Acesso em: 2 novembro 2007. MARANHÃO, Mauriti; MACIEIRA, Maria Elisa Bastos. O processo nosso de cada dia: modelagem de processos de trabalho. Rio de Janeiro: Qualitymark. 2004. 250 p. MCGEE, J.; PRUSAK, L. Gerenciamento Estratégico da Informação. 11. ed. Rio de Janeiro: Campus, 1994. MORRIS, Daniel; BRANDON, Joel. Reengenharia: reestruturando sua empresa. São Paulo: Makron, 1994. NOEL, Jasmine. BPM and SOA: Better Together. Disponível em: <ftp://ftp.software.ibm.com/software /bigplays/AP-BPMSOA-BTW-00.pdf>. Acesso em: 2 novembro 2007. OASIS. Modelo de Referência para Arquitetura Orientada a Serviço 1.0. Comitê de Especificação 1, 19 de Julho de 2006. Disponível em: <http://www.pcs.usp.br/~pcs5002/oasis/soarm-csbr.pdf> Acesso em: 16 agosto 2007. PRESSMAN, R. S. Engenharia de Software. 6. ed. São Paulo: McGrawHill, 2006. 721p. ROBREDO, J. Da Ciência da Informação Revisitada aos Sistemas Humanos de Informação. Brasília: Thesaurus, 2003. 245 p. ROBREDO, J. Documentação de hoje e de amanhã: uma abordagem revisitada e contemporânea da Ciência da Informação e de suas aplicações biblioteconômicas, documentárias, arquivísticas e museológicas. 4 ed. Brasília: Reproart, 2005. 409 p. ROYCE, W. W. Managing the Development of Large Software Systems: Concepts and Techiniques. Proc. WESCON, ago. 1970. SINTES, A. Aprenda Programação Orientada a Objetos em 21 Dias. São Paulo: Makron Books, 2002. 693 p. SOMMERVILLE, I. Engenharia de Software. 6. ed. São Paulo Addson Wesley, 2003. 592 p. SVENONIUS, E. The Intellectual Foundation of Information Organization. Boston: MIT Press. 2000. 255 p. TAYLOR, A. G. The Organization of Information. London: Libraries Unlimited. 2004. 417 p. URDANETA, I. P. Gestión de la inteligencia, aprendizaje tecnológico y modernización del trabajo informacional: retos y oportunidades. Caracas: Universidad Simón Bolivar, 1992. YOURDON, E. Análise Estruturada Moderna. 3 ed. São Paulo: Campus, 1990. 836 p. . Sobre os autores / About the Author: Marcio Victorino mcvictorino@unb.br Doutorando em Ciência da Informação pela Unb; Mestre em Sistemas e Computação pelo IME; Professor do Curso de Sistemas de Informação do Centro Universitário Unieuro, DF. Marisa Bräscher marisab@unb.br Doutora em Ciência da Informação pela UnB; Professora Adjunta do Departamento de Ciência da Informação da Universidade de Brasília.
Compartilhar