Estratégias para Lidar com a Complexidade Utilizadas na
Transcrição
Estratégias para Lidar com a Complexidade Utilizadas na
Estratégias para Lidar com a Complexidade Utilizadas na Representação de Sistemas de Informação João Álvaro Carvalho Universidade do Minho Escola de Engenharia Departamento de Sistemas de Informação 4800-058 Guimarães, Portugal Tel: + 351 2 53 510258/9 Fax: + 351 2 53 510250 e-mail: [email protected] © 1998 Resumo A condução de actividades de intervenção organizacional com vista à adopção de tecnologias da informação (e.g., planeamento de sistemas de informação, desenvolvimento de sistemas de informação, redefinição de processos organizacionais) leva à construção de modelos da organização e do seu sistema de informação que traduzem a percepção que deles foi feita pelos agentes de intervenção. No processo de construção destes modelos, duas etapas podem ser identificadas: análise e representação. Em qualquer destas etapas, os agentes de intervenção têm ao seu dispor estratégias que lhes permitem reduzir à complexidade do objecto em estudo e dos respectivos modelos. essas estratégias actuam reduzindo a quantidade e/ou a diversidade de conhecimento com que é necessário lidar. As estratégias referidas neste capítulo incluem: abstracção (ontologias e taxinomias), partição, abordagem sistémicas, selecção de técnica de modelação, projecção, níveis de detalhe, utilização de sub-modelos. Estas diferentes estratégias são descritas e explicadas sendo ainda feitas referências à sua utilização no contexto da modelação de sistemas de informação. Palavras Chave modelação de sistemas de informação; estratégias para reduzir a complexidade 1 Introdução A adopção de tecnologias da informação (TIs) nas organizações é conduzida em actividades de intervenção organizacional tais como planeamento de sistemas de informação (PSI), desenvolvimento de sistemas de informação (DSI) ou redefinição de processos organizacionais1 (RPO). Qualquer uma destas actividades exige conhecimento do negócio das organizações e dos seus processos de trabalho antes que sejam tomadas decisões sobre 1 Redefinição de Processos - Business Process Reengineering (BPR). 2 como intervir na organização. As actividades de intervenção poderão ser genericamente descritas em 3 fases: (i) percepção; (ii) concepção (design), (iii) implementação. Durante a fase de percepção os agentes da intervenção procuram perceber (i.e., obter conhecimento) sobre a organização e o seu sistema de informação. Na segunda fase - concepção - os agentes da intervenção consideram cenários alternativos e planeiam as alterações a introduzir na organização. É então criado conhecimento sobre a organização, sobre o seu sistema de informação e sobre as aplicações informáticas que poderão suportar o funcionamento da organização. Finalmente na fase de implementação as mudanças planeadas são executadas. Esta descrição simplista esconde as dificuldades inerentes a qualquer daquelas actividades de intervenção. Com efeito, introduzir mudança nas organizações é uma tarefa complexa. Esta complexidade advém em parte da complexidade das próprias organizações, dos seus sistemas de informação e das aplicações informáticas. O sucesso de uma actividade de intervenção depende da capacidade de os agentes de intervenção serem capazes de lidar com os objectos da intervenção qualquer que seja a sua complexidade. Para isso, torna-se necessário reduzir essa complexidade. Neste capítulo são apresentadas várias estratégias para lidar com a complexidade utilizadas durante a fase de percepção de actividades de intervenção relacionadas com a adopção de TIs e que levam à criação de modelos das organizações e dos seus sistemas de informação. 2 Enquadramento: O processo de percepção Grande parte do trabalho desenvolvido durante a fase de percepção de actividades de intervenção tais como o planeamento de sistemas de informação, redefinição de processos organizacionais ou desenvolvimento de sistemas de informação tem a ver com a compreensão de objectos complexos (organizações e seus sistemas de informação) e com a transmissão deste conhecimento a outras pessoas (outros agentes de intervenção, gestores, utilizadores das aplicações informáticas). O processo poderá ser descrito em duas etapas: (i) análise e (ii) representação (ver figura 1). Na etapa de análise o objecto de estudo é submetido a diversas formas de inquérito que visam a obtenção de conhecimento sobre o objecto. Na segunda etapa - representação - esse conhecimento é representado em modelos. Estes modelos servem diversas finalidades, como por exemplo: documentar a compreensão que alguém tem do objecto de estudo; partilhar esta compreensão com outras pessoas; prever © João Álvaro Carvalho 1998 3 o comportamento do objecto; suportar a comunicação entre as pessoas envolvidas no estudo2. agente da intervenção objecto da intervenção modelos Análise Representação (conhecimento sobre o objecto da intervenção) Figura 1 - A percepção em actividades de intervenção decorre em duas fases: análise e representação A complexidade de um objecto é função da quantidade e diversidade de aspectos que é necessário conhecer para que se possa compreender esse objecto. Reduzir à complexidade inerente a um objecto poderá assim ser conseguida através da redução dessa quantidade ou diversidade. Na etapa de análise pretende-se considerar apenas aquilo que for realmente necessário conhecer sobre o objecto de estudo, atendendo aos propósitos da intervenção. Na etapa de representação, pretende-se representar o conhecimento obtido por forma a que ele seja transmissível a outras pessoas, tão facilmente quanto possível. Para reduzir a complexidade de um modelo este é normalmente “desdobrado” em vários modelos mais simples se bem que parciais na medida em que cada uma desses modelos conterá apenas uma reduzida quantidade/diversidade do conhecimento necessário para descrever completamente o objecto de estudo. A cobertura total do objecto é conseguida através da combinação dos várias modelos parciais. 3 Análise 3.1 Abstracção: Ontologias e Taxinomias A análise de um objecto complexo exige capacidade de abstracção. Abstracção é um mecanismo de simplificação conceptual que leva a que certos aspectos de um objecto, considerados irrelevantes para determinada finalidade, sejam ignorados por forma a que a atenção possa ser concentrada nos aspectos relevantes para essa mesma finalidade [Coad and Yourdon 1991] . Abstracção poderá também ser descrita como o mecanismo que permite 2 Estas utilizações fazem sentido em modelos descritivos. No entanto, os modelos podem também ser utilizados de uma forma prescritiva tal como para documentar o resultado de uma actividade criativa correspondendo então a planos que vão ser seguidos durante a implementação. © João Álvaro Carvalho 1998 4 suprimir os detalhes e focar a atenção nas propriedades essenciais. Este mecanismo leva à conceptualização de algo que corresponde a vários objectos reais se bem que dissociado de qualquer objecto em particular [Yeh, et al. 1984] . Estas duas definições de abstracção têm algo em comum. Ambas sugerem que sejam ignorados determinados aspectos do objecto em estudo. No entanto, a primeira leva a que a atenção de quem procede à análise se concentre em determinados aspectos deixando outros de fora. O analista pressupõe que o objecto do estudo é composto por um determinado conjunto de elementos pelo que utiliza um determinado conjunto de conceitos que o guiam no estudo - uma ontologia [Wand and Weber 1993] . Neste caso, a redução da complexidade é conseguida à custa de uma redução da diversidade de conhecimento com que é preciso lidar (ver figura 2). M O Figura 2 - O objecto de estudo O é visto à luz de uma ontologia; o resultado é um modelo M, onde há aspectos de O que são ignorados A segunda definição leva a que, num determinado universo, sejam consideradas classes de objectos evitando assim que seja necessário lidar individualmente com cada um dos objectos desse universo. Os objectos são assim classificados [Odell 1995] em tipos ou classes de objectos. A aplicação recursiva deste mecanismo às próprias classes possibilita a criação de hierarquias de classes. Exemplos da utilização deste mecanismo poderão ser encontradas nas sugestões metodológicas das abordagens orientadas aos objectos (e.g., [Coad and Yourdon 1991] ) e nas taxinomias utilizadas, por exemplo, em botânica e zoologia. A redução da quantidade de objectos com que é preciso lidar contribui assim para uma redução da complexidade do objecto de estudo (ver figura 3). M M' Figura 3 - A utilização de taxinomias permite reduzir à quantidade de objectos com que é necessário lidar. M’ traduz a aplicação de uma taxinomia a M Note-se que a aplicação de taxinomias só é feita após a aplicação de uma ontologia sobre o objecto do estudo. A aplicação de uma ontologia leva à identificação dos aspectos que, para determinada finalidade, são considerados relevantes. Sobre alguns desses aspectos poderão © João Álvaro Carvalho 1998 5 então ser aplicadas taxinomias que permitam diminuir à quantidade de elementos a considerar (ou pelo menos a organizar esses elementos em classes). Estas duas manifestações da abstracção apresentam ainda outras diferenças. Uma mesma ontologia poderá ser aplicada a qualquer a organização/sistema de informação. Ela é inerente à metodologia adoptada para a actividade de intervenção. Por seu lado, uma taxinomia é mais específica. O estabelecimento de uma taxinomia é feito durante o própria actividade de intervenção. Organizações com negócios de natureza diferente serão assim descritas recorrendo a diferentes taxinomias. Reutilizar uma taxinomia definida para uma determinada organização será possível caso a organização onde ela vai ser reutilizada se dedicar ao mesmo negócio. No entanto, mesmo neste caso, tal reutilização deverá ser feita com cuidado. Diversas metodologias para as actividades de intervenção ligadas à adopção de TIs referem frequentemente a abstracção como o mecanismo de redução de complexidade por excelência. Tal como referido acima, a abstracção é descrita como o mecanismo que leva a que seja ignorado aquilo que não é relevante para determinado propósito. No entanto, essas metodologias não distinguem entre as duas formas de abstracção aqui enunciadas. No que se refere às ontologias, estas raramente são explicitadas se bem que estejam implícitas nas técnicas de representação (ou técnicas de modelação ou linguagens) sugeridas pelas metodologias. A utilização, ou melhor, o desenvolvimento de taxinomias tem vindo a ser encorajado pelas metodologias “orientadas aos objectos”. 3.2 Partição e abordagens sistémicas Para além da abstracção, duas outras estratégias para lidar com a complexidade podem ser utilizadas na fase de análise: partição e abordagem sistémica. A partição - dividir para reinar é uma estratégia para reduzir à complexidade que se baseia em dividir um objecto em vários objectos de menores dimensões. Actua portanto reduzindo a quantidade. Esta estratégia tem no entanto um grave inconveniente. Ao “partir” um objecto corre-se o risco de esquecer propriedades emergentes, i.e., propriedades do “todo” que não se manifestam em nenhuma das partes (ver figura 4). © João Álvaro Carvalho 1998 6 O O2 O1 O3 M M2 (b) M3 (a) M1 Figura 4 - Resultado da partição de um objecto; o objecto O (representado também no correspondente modelo M) é substituído por 3 objectos O1, O2 e O3 (representados também os correspondentes modelos M1, M2 e M3); perde-se no entanto a possibilidade de relacionar a saída (b) de com a entrada (a). Ultrapassar este problema passará pela adopção de uma abordagem sistémica. Deste modo, é sempre considerado o todo e as suas propriedades. A redução de quantidade passa nestas abordagens pelo considerar de sub-sistemas e de sub-sub-sistemas até que um nível de detalhe considerado adequado para a finalidade em causa seja atingido (ver figura 5). O 1 3 2 M1 M2 Figura 5 - o objecto do estudo O é visto como um sistema (M1); nesse sistema são considerados 3 subsistemas (M2). A utilização de abordagens sistémicas nas actividades de intervenção relacionadas com a adopção de TIs é prática comum. O próprio conceito de sistema de informação revela a utilização de tal tipo de abordagens. © João Álvaro Carvalho 1998 7 3.3 Resumo A figura 6 procura ilustrar as 4 estratégias para lidar com a complexidade no contexto de actividades de intervenção referidas nesta secção. Qualquer uma destas estratégias tem por objectivo facilitar a obtenção de conhecimento sobre o objecto da intervenção. Para uma validação do conhecimento obtido e para dar continuidade à actividade de intervenção tornase normalmente necessário partilhar esse conhecimento com outras pessoas. As representações (modelos) são os meios utilizados para efectuar essa partilha. Na secção seguinte serão referidas as estratégias para lidar com a complexidade na fase de representação. agente da intervenção objecto da intervenção Q a Q D Q b abstracção c d Q - quantidade D - diversidade Figura 6 - Estratégias para lidar com a complexidade na etapa de análise: a) partição; b) abordagem sistémica; c) abstracção 1 - utilização de ontologias; d) abstracção 2 - estabelecimento de taxinomias. a, b e d actuam reduzindo a quantidade; c actua reduzindo a diversidade 4 Representação O problema que se põe na etapa de representação é o de representar o conhecimento obtido na etapa de análise por forma a que ele possa ser facilmente acedido. Mais uma vez a solução passa pela redução da quantidade ou diversidade de conhecimento. Esta redução é conseguida não apresentando todo o conhecimento obtido num único modelo mas antes num conjunto de modelos parciais que, quando combinados, correspondem a uma descrição completa do objecto de estudo. © João Álvaro Carvalho 1998 8 Antes de referir as estratégias que podem ser usadas para distribuir o conhecimento em vários modelos é oportuno tecer algumas considerações sobre as linguagens ou técnicas de modelação a utilizar na construção dos modelos na medida em que estas vão também influenciar a legibilidade de um modelo. 4.1 Técnicas de modelação A escolha das técnicas de modelação a utilizar na etapa de representação é de capital importância. O primeiro dos aspectos a ter em consideração são de natureza sintáctica. Com efeito, há linguagens de mais fácil leitura que outras. Na modelação de sistemas de informação desde há muito que a utilização de linguagens gráficas e diagramáticas tem vindo a ser advogado. O principal argumento a favor da utilização de linguagens gráficas é a sua maior legibilidade em relação a linguagens textuais. O aforismo de que “uma imagem vale por mil palavras” é frequentemente citado para apoiar este argumento. No entanto, há que ter alguns cuidados com a utilização de uma linguagem gráfica. O aumento de legibilidade é normalmente conseguido à custa de uma perca de formalidade (no sentido matemático). Assim, e no sentido de manter a linguagem rigorosa é necessário definir cuidadosamente a sintaxe a utilizar nos vários tipos de diagramas que vão constituir os modelos. Um exemplo de recomendações no sentido de normalizar diversos técnicas de modelação poderá ser encontrado em [Martin 1987] . Para além dos aspectos sintácticos há ainda a considerar os aspectos semânticos. Uma linguagem está indissociavelmente ligada com a ontologia (ver secção 3.1) utilizada. Assim, os símbolos utilizados numa técnica de modelação (assumindo como exemplo a utilização de linguagens diagramáticas) têm correspondência com conceitos de modelação que integram a ontologia em utilização. A obtenção de modelos mais simples pode ser conseguida mudando de técnica de modelação e, simultaneamente, passando a usar ontologias diferentes. A figura 7 procura ilustrar o modo como a mudança de ontologia (passando a utilizar conceitos mais “ricos” e obviamente mais “complexos”) leva à criação de modelos mais simples. Esta redução da complexidade baseia-se no facto de que a utilização de conceitos mais complexos leva à criação de modelos com menos elementos, e portanto mais simples. M1 © João Álvaro Carvalho 1998 M2 9 Figura 7 - O modelo M2 utiliza conceitos de modelação mais complexos do que o modelo M1. Tem portanto menos elementos. Os dois exemplos que se seguem mostram como na modelação de sistemas de informação a escolha da técnica de modelação pode afectar a complexidade dos modelos. Exemplo 1 - Modelos de dados Nos modelos de dados construídos usando a metodologia NIAM [Nijssen and Halpin 1989] , cada dado elementar (designado por entidade) corresponde a um elemento do modelo. Cada associação entre estas entidades (designado por facto) corresponde a outro elemento no modelo. Apesar do poder expressivo dos diagramas NIAM, os modelos de dados construídos usando esta metodologia tornam-se complexos dada a quantidade de elementos que os compõem. Um mesmo modelo de dados construído segundo uma abordagem “entidades-relacionamentos” (ER) será bastante mais simples. A razão é que uma entidade ER corresponde a uma agregação de entidades NIAM. Por outro lado, só são estabelecidos relacionamentos entre as entidades ER. A utilização de um conceito mais rico ou complexo (entidade ER) leva a que o modelo resultante tenha menos elementos e seja portanto menos complexo. Exemplo 2 - Abordagens orientadas aos objectos A simplicidade dos modelos conseguida com a utilização de abordagens orientadas aos objectos advém da utilização do conceito de objecto. Objecto é algo que engloba: (i) dados elementares que têm algo em comum - os atributos; (ii) classes a que os objectos pertencem (utilização implícita de taxinomias); (iii) operações que manipulam e afectam os atributos. Sendo o conceito de objecto extremamente rico, os modelos resultantes são normalmente relativamente simples quando comparados com modelos equivalentes utilizando diferentes técnicas de modelação. 4.2 Projecção Projecção é uma estratégia para lidar com a complexidade que actua sobre a diversidade. A utilização da projecção leva à utilização de uma combinação de modelos em que cada um deles contém apenas uma perspectiva ou ponto de vista do objecto. Em cada modelo, apenas alguns aspectos do objecto são consideradas. Os restantes aspectos são considerados nos outros modelos. A descrição “completa” do objecto de estudo é conseguida à custa da combinação dos várias modelos parciais. Note-se que em cada um dos modelos parciais é normalmente utilizada uma linguagem diferente. A figura 8 procura ilustrar esta estratégia para lidar com a complexidade. © João Álvaro Carvalho 1998 10 M M1 M2 M3 Figura 8 - projecção; o conhecimento sobre o objecto de estudo M é apresentado em 3 perspectivas M1, M2 e M3 (projecções) que, quando combinadas, dão uma visão completa do objecto A projecção é uma estratégia particularmente interessante. Cada um dos modelos parciais abarca todo o objecto mas cobre apenas um aspecto que é diferente dos aspectos cobertos pelos restantes modelos. É assim possível lidar com todo um objecto independentemente da sua complexidade. Reconhecendo que a linguagem utilizada para representar um “problema” tem influência nas estratégias para a sua resolução [Simon 1981, Sloman 1985] , a utilização de diferentes linguagens contribui para facilitar diferentes tarefas no âmbito das actividades de intervenção. Será ainda de referir a semelhança entre a projecção e a estratégia baseada em múltiplas representações de conhecimento sugerida por Spiro [Spiro, et al. 1991] para lidar com domínios complexos e pouco estruturados em ambientes de aprendizagem. A projecção é largamente utilizada em actividades de intervenção organizacional relacionadas com a adopção de TIs. Um sistema de informação é normalmente representado sob 3 perspectivas complementares: funcionalidade, estrutura dos dados e comportamento dos dados (e.g., [Nijssen and Halpin 1989]x). Estas 3 perspectivas foram já vistas como correspondentes a abordagens alternativas à modelação de sistemas de informação. Durante algum tempo, manteve-se a discussão sobre qual das perspectivas seria mais adequada. Hoje em dia as 3 perspectivas são vistas como complementares e são consideradas em diversas metodologias para o desenvolvimento de sistemas de informação (e.g., SSADM [Downs, et al. 1992] , a metodologia de Yourdon [Yourdon 1989]). 4.3 Níveis de detalhe Quando se pretende transmitir conhecimento com uma certa complexidade, a utilização de uma combinação de modelos com sucessivos níveis de maior detalhe poderá contribuir significativamente para facilitar essa transmissão (ver figura 9). O primeiro dos modelos © João Álvaro Carvalho 1998 11 poderá ser usado para dar uma visão global do objecto que queremos descrever. Os elementos deste primeiro modelo serão depois apresentados com mais detalhe noutros modelos. Cada modelo contém apenas uma parte do conhecimento sobre o objecto, facilitando ao “leitor” dos modelos a tarefa de compreender o objecto descrito. A descrição completa e detalhada de um objecto é assim apresentada gradualmente. Uma vez compreendida uma descrição a um determinado nível de o “leitor” passa a um nível de maior detalhe. Existirão tantos níveis quantos os considerados necessários para facilitar a compreensão do objecto3. M M1 M2 1 3 2 M3 M4 M5 Figura 9 - Utilização de sucessivos níveis de detalhe para apresentar o conhecimento obtido sobre um objecto. Em vez do modelo M são utilizados diversos modelos M1 a M5. M2 corresponde à “explosão” do único elemento de M1; M3, M4 e M5 correspondem às “explosões” dos elementos 1, 2 e 3 de M2 respectivamente O termo “explosão” tem vindo a ser usado para referir esta utilização de um novo modelo para descrever, com mais detalhe, os elementos de um modelo de nível mais alto. A utilização desta estratégia para lidar com a complexidade foi popularizada nos anos 70 Os diagramas propostos pela metodologia SADT [Ross 1977] e posteriormente os diagramas de fluxo de dados (DFDs) [DeMarco 1979] tiram partido desta estratégia, hoje em dia 3 A utilização de demasiados níveis é contrapruducente pois a necessidade de interligar vários níveis introduz também alguma complexidade no processo de “leitura”. © João Álvaro Carvalho 1998 12 amplamente sugerida por metodologias de desenvolvimento de sistemas de informação [Downs, et al. 1992, Martin 1986, Yourdon 1989]. Note-se que a “explosão” de um elemento de um modelo num novo modelo pode ser de dois tipos: homogénea ou heterogénea. Será homogénea se o novo modelo for do mesmo tipo da anterior (i.e., usa a mesma técnica de modelação ou linguagem). O exemplo típico são os DFDs. Um processo de um DFD é “explodido” num novo DFD. A explosão é heterogénea quando o novo modelo é de tipo diferente (i.e., é usada uma técnica de modelação diferente) daquele onde se encontrava o elemento explodido. Exemplos de explosão heterogénea são por exemplo a utilização de linguagem estruturada para descrever um processo primitivo de um DFD ou a utilização de um diagrama de ciclo de vida para descrever um objecto num diagrama de objectos. A “explosão” heterogénea é tão ou mais frequente que a explosão homogénea, se bem que não seja normalmente vista como uma utilização da estratégia de níveis de detalhe. É importante não confundir esta estratégia para lidar com a complexidade, aplicável na etapa de representação, com outras estratégias aplicáveis na etapa de análise, e outras aplicáveis na fase de concepção (design) de soluções ou de artefactos. O processo de estudo (análise) de um objecto dificilmente pode ser feito de uma maneira organizada, em que se começa por uma visão global e se vão gradualmente obtendo visões mais detalhadas. A utilização de uma abordagem sistémica (ver secção 3.2) poderá contribuir para guiar o processo de análise. No entanto este processo é desorganizado por natureza. O analista vai obtendo pormenores que aos poucos se vão ligando até obter uma visão que possa então ser organizada em vários níveis de detalhe. A concepção de soluções ou de artefactos poderá ser conduzida segundo uma estratégia com algumas semelhanças com os níveis de detalhe. Essa estratégia passa pela definição de “blocos” muito gerais que vão sendo decompostos (ou refinados) até que a solução final esteja completa. No entanto, trata-se de uma estratégia de concepção e não uma estratégia para estruturar modelos. Obviamente, na descrição do resultado da concepção (i.e., num modelo da solução a implementar) poderá também ser utilizada a estratégia dos níveis de detalhe. 4.4 Sub-modelos As estratégias referidas nas secções anteriores - projecção e níveis de detalhe - são usadas para guiar a distribuição do conhecimento sobre o objecto de estudo em vários modelos. Nesta secção vão ser referidas diversas “técnicas” que podem ser aplicadas a um modelo com o objectivo de melhorar a sua legibilidade e facilitar a compreensão de determinados pormenores. A aplicação destas técnicas leva a que, em determinada altura, seja apenas considerada uma parte de um modelo, que poderá assim ser designado por sub-modelo. Este © João Álvaro Carvalho 1998 13 técnicas actuam reduzindo quer a quantidade quer a diversidade de conhecimento a incluir nos modelos. Vistas Um modelo que abarque todo o objecto de estudo poderá ser pouco útil quando o “leitor” do modelo apenas está interessado numa parte (eventualmente um sub-sistema) do objecto. Assim, o modelo poderá ser reduzido a uma “vista”4 - sub-modelo - útil para o leitor (ver figura 10). Um exemplo bem conhecido da utilização de vistas são as vistas externas ou esquemas externos da arquitectura ANSI/SPARC. M M' Figura 10 - Vistas: M’ corresponde a uma possível vista de M Esconder/realçar Uma estratégia relativamente simples para reduzir a complexidade de um modelo é omitir desse modelo determinados detalhes. Apesar de esses pormenores serem necessários para completar a descrição do objecto, a sua apresentação poderá ser retardada para uma altura em que o “leitor” do modelo tenha já obtido uma visão geral do objecto (ver figura 11). Coad e Yourdon [Coad and Yourdon 1991] sugerem a aplicação desta estratégia aos seus diagramas de objectos por forma a que o leitor possa ver apenas alguma(s) das componentes do diagrama, nomeadamente: temas; classes e objectos; estrutura; atributos; e serviços. M M' Figura 11 - O esconder de detalhes leva a um sub-modelo mais simples que o modelo inicial. Efeito semelhante ao esconder informação poderá ser conseguido realçando partes do modelo através da utilização de linhas mais grossas (ou linhas a tracejado para as partes a relegar para segundo plano), cores ou outros efeitos gráficos (ver figura 12). Esta técnica tem a vantagem de serem deixadas pistas para a existência do resto do modelo. 4 Do inglês “view”. © João Álvaro Carvalho 1998 14 M M' Figura 12 - Com a utilização de realces (ou contra-realces) poderão obter-se efeitos semelhantes ao esconder detalhes com a vantagem de ser deixada indicação da existência desses detalhes. 4.3 Resumo A figura 13 procura ilustrar as estratégias para reduzir a complexidade utilizáveis na etapa de representação. agente da intervenção objecto da intervenção modelos Q D Q Q/D Q - quantidade D - diversidade e f g h Figura 13 - Estratégias para lidar com a complexidade na etapa de representação: e) escolha de técnica de modelação; f) projecção; g) níveis de detalhe e h) sub-modelos 5 Conclusão O sucesso de actividades de intervenção organizacional relacionadas com a adopção de TIs depende em parte da capacidade dos agentes de intervenção em reduzir à complexidade do objecto da intervenção e dos seus modelos. Neste capítulo foram apresentadas diversas estratégias para reduzir essa complexidade. A apresentação das estratégias foi feita no contexto da fase de percepção de uma qualquer actividade de intervenção. Para o efeito, a fase de percepção foi dividida em duas etapas: análise e representação. Note-se no entanto que a aplicação de algumas destas estratégias não se limita aquela fase. Nomeadamente as © João Álvaro Carvalho 1998 15 estratégias da etapa de representação aplicam-se também à modelação do resultado da concepção (design). Cada uma das estratégias aqui descritas não é de aplicação exclusiva. Elas podem ser combinadas por forma a obter os melhores resultados possíveis. Aliás a combinação destas estratégias é prática comum. De tal modo que por vezes não é fácil identificar quais as estratégias que estão a ser utilizadas ou que são sugeridas por determinadas metodologias. A construção de modelos e a aplicação das estratégias da etapa de representação podem hoje em dia ser bastante facilitadas pela utilização dos editores para técnicas de modelação popularizados pelas ferramentas CASE. Para além de facilitarem a criação/edição de modelos diagramáticos, as ferramentas CASE podem dar um precioso auxílio na ligação dos vários modelos criados como resultado da aplicação das estratégias aqui referidas. Outro aspecto em que estas ferramentas facilitam é a criação de sub-modelos. Vistas, esconder ou realçar detalhes podem ser facilmente implementados com as potencialidades apresentadas pelas modernas ferramentas CASE. A acção das ferramentas CASE não se limita no entanto à edição de modelos. Desde que a ontologia utilizada esteja devidamente formalizada, as ferramentas CASE podem efectuar validações automáticas da coerência e plenitude dos modelos construidos. Referências Coad, P. and E. Yourdon, Object-Oriented Analysis, Yourdon Press/Prentice-Hall, 1991. DeMarco, T., Structured Analysis and Systems Specification, Yourdon Press, 1979. Downs, E. P. Clare and I. Coe, Structured Systems Analysis and Design Method, Prentice Hall, 1992. Martin, J., Information Engineering - Volume 1, SAVANT, Carnforth, UK, 1986. Martin, J., Recommended Diagramming Standards for Analysts and Programmers: A Basis for Automation, Prentice-Hall, 1987. Nijssen, G.M. and T.A. Halpin, Conceptual Schema and Relational Database Design, Prentice-Hall, 1989. Odell, J.J., “Advanced Object-Oriented Analysis”, Tutorial, 1995. Ross, D.T., “Structured Analysis (SA): A Language for Communicating Ideas”, IEEE Transactions on Software Engineering, Vol. 3, Nº 1, 1977. Simon, H.A., The Sciences of the Artificial, The MIT Press, 1981. Sloman, A., “Why We Need Many Knowledge Representation Formalisms” in Bramer, M.A. (Eds.), Research and Development in Expert Systems, Cambridge University Press (on behalf of the British Computer Society), Cambridge, 1985. © João Álvaro Carvalho 1998 16 Spiro, R.J. P.J. Feltovich M.J. Jacobson and R.L. Coulson, “Cognitive Flexibility, Construtivism, and Hypertext: Random Access Instruction for Advanced Knowledge Acquisition in Ill-Structured Domains”, Educational Technology, 31, 5 (1991), 24-33. Wand, Y. and R. Weber, “On the Ontological Expressiveness of Information Systems Analysis and Design Grammars”, Journal of Information Systems, 3, (1993), 217-237. Yeh, R.T. P. Zave A.P. Conn and G.E. Cole, “Software Requirements: New Directions and Perspectives” in Vick, C.R. and C.V. Ramamoorthy, Handbook of software Engineering, Van Nostrand Reinhold Company, 1984. Yourdon, E., Modern Structured Analysis, Prentice-Hall, 1989. © João Álvaro Carvalho 1998