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

Documentos relacionados