XXII Encontro Nacional de Engenharia de Produção Curitiba – PR, 23 a 25 de outubro de 2002 UTILIZANDO A LÓGICA NÃO-CLÁSSICA PARA VALIDAR PROCESSOS DE NEGÓCIOS ATRAVÉS DA ELICITAÇÃO DE REQUISITOS Kleber Rocha de Oliveira Universidade Paulista – Mestrando Engenharia de Produção – UNIP Rua Dr. Bacelar, 1212 – Vila Clementino, São Paulo – SP – CEP 04026-002 Jair Minoro Abe Universidade Paulista – Pós-Graduação em Engenharia de Produção Rua Dr. Bacelar, 1212 – Vila Clementino, São Paulo – SP – CEP 04026-002 ABSTRACT Describing requirements is an activity extensive and intensively essential, and the larger the requesting number becomes, the more complex it is to find a common term to represent the different points of view and the intentions, observed the variations of the scenario where the real world phenomena happen. To reduce the ambiguity rate and contradictions, it is necessary to increase the legitimacy of the obtained information of the stakeholders. The orientation of efforts in the area of Requirements Engineering is for the adoption of a language that documents the varied aspects of the extraction of requirements precisely for the process developers. That documentation should be accurate and united, without duplicities and inconsistencies. Based on that conception, this research has for purpose to show that the paraconsistent logic can be applied to model the human behavior through search of evidences and like this to be applied to the elicitation of process requirements, because it outlines real situations, with possibilities of, besides treating inconsistencies, also contemplate the uncertainty. Keywords: Elicitation, Business Process, Paraconsistent Logic 1. INTRODUÇÃO A validação é a etapa final da elicitação dentro da Engenharia de Requisitos, como mostra a Figura 1, onde o objetivo é verificar e validar os requisitos especificados. A etapa de validação procura certificar que os requisitos acordados e especificados representam uma descrição aceitável do sistema a ser construído [3]. A validação dos requisitos envolve tanto stakeholders como especialistas, que analisam os requisitos buscando identificar possíveis problemas, omissões e ambigüidades. Os principais problemas descobertos durante a validação dos requisitos são: Não atendimento a padrões de qualidade; Requisitos descritos de forma pobre, os quais levam a ambigüidade; ENEGEP 2002 ABEPRO 1 XXII Encontro Nacional de Engenharia de Produção Curitiba – PR, 23 a 25 de outubro de 2002 Erros na modelagem do problema ou sistema; Requisitos conflitantes não identificados durante a etapa de análise. Figura 1 - O processo de Validação dos Requisitos [3]. Estes problemas devem ser sanados antes que o documento de especificação seja aprovado e utilizado reengenharia dos processos. O documento de especificação deve ser um documento que esteja em conformidade com os padrões organizacionais, representando os requisitos negociados e acordados entre stakeholders e desenvolvedores. O conhecimento organizacional, embora não seja uma "entrada tangível" no processo de validação, é muito importante, pois está muito ligado à cultura e estruturas organizacionais onde o sistema será construído. Como saída o processo de validação deve gerar uma lista de problemas e ações acordadas. A lista de problemas deve relatar todos os problemas identificados no documento de especificação, classificando-os de alguma forma, como por exemplo: ambigüidade, inconsistência etc. As ações acordadas são ações a serem executadas a partir dos problemas relacionados na lista de problemas. Os estudos das lógicas não-clássicas paraconsistente têm muitas aplicações em diferentes e diversificadas áreas, justamente por adotar vários caminhos para chegar em um resultado. Como exemplo de aplicação, podemos citar seu uso médico, que pode permitir que um computador mediante a sintomas relatados pelos pacientes chegue a um diagnóstico preciso. Outro campo de grande atuação deste tipo de lógica é a robótica, que tenta descobrir uma forma onde os robôs tomem decisões, através de seqüências lógicas, que chegue o mais perto possível da decisão humana, o que é muito mais abrangente do que somente verdadeiro ou falso. Além destas, a lógica não-clássica tem mais inúmeras utilizações, seja para criar novos produtos ou para aperfeiçoar produtos já existentes fazendo com que os mesmos consigam tomar decisões por si só, analisando seqüências lógica em si implementadas. 2. ELICITAÇÃO DE REQUISITOS A elicitação de requisitos é a primeira atividade a ser desenvolvida na engenharia de requisitos. Na fase de elicitação se busca descobrir os requisitos do sistema, normalmente obscuros e confusos no início do desenvolvimento de um sistema de informação, conforme mostra a Figura 2. Nesta etapa, stakeholders e desenvolvedores trabalham em conjunto para encontrar o problema a ser solucionado, enfocando principalmente os serviços que o sistema deve oferecer. Esta atividade não envolve apenas perguntar ao usuário o que ele deseja. Ela requer uma análise cuidadosa da organização onde o sistema será implantado, uma análise do domínio da aplicação e dos processos de negócios onde o sistema será utilizado [3]. A elicitação de requisitos é uma atividade complexa, principalmente devido ao alto grau de incerteza inerente a ENEGEP 2002 ABEPRO 2 XXII Encontro Nacional de Engenharia de Produção Curitiba – PR, 23 a 25 de outubro de 2002 esta atividade. Segundo Kotonya e Sommerville [3] a elicitação de requisitos, realizada de forma efetiva, deve abordar quatro dimensões: Entendimento do domínio da aplicação: significa conhecer a área onde o sistema é aplicado de uma forma geral. Este entendimento exige conhecimentos gerais sobre a aplicação em questão. Por exemplo, se o sistema será aplicado numa área de seguros de automóveis, então devemos obter conhecimentos gerais sobre sinistros, apólices de seguro, mercado de automóveis etc. Entendimento do problema: significa conhecer os detalhes específicos do problema de um cliente em particular. Por exemplo, para um sistema de seguros de automóveis que será desenvolvido especificamente para um cliente, o entendimento do problema envolve conhecer como é o processo de atendimento ao cliente quando ocorre um sinistro, como ocorrerá o pagamento do conserto do automóvel do cliente, com quais oficinas a seguradora trabalha etc. Entendimento do negócio: normalmente sistemas contribuem de alguma forma com os objetivos e missão da organização onde ele está inserido. O entendimento do negócio significa conhecer como o sistema a ser desenvolvido interage e afeta os negócios da organização, e que tipo de contribuição ele irá proporcionar. Entendimento das necessidades e restrições das pessoas envolvidas no sistema: para obtermos este tipo de entendimento, é necessário conhecermos os processos que o sistema deverá suportar. Estes processos são realizados pelas pessoas envolvidas no sistema. Figura 2 - Etapas referentes ao descobrimento de requisitos. 3. LÓGICA PARACONSISTENTE O aparecimento da lógica paraconsistente somente ocorreu em 1963, com um trabalho do lógico brasileiro Newton Carneiro Affonso da Costa. Da Costa já havia exposto suas idéias sobre o conceito da contradição anteriormente, mas só em Da Costa (1963) é que ele formulou, não um sistema, mas uma hierarquia enumerável de lógicas paraconsistentes de primeira ordem, dos respectivos cálculos de descrições e um esboço de teorias paraconsistentes de conjuntos construídos sobre sua lógica [1]. O lógico brasileiro Newton, iniciou estudos no sentido de desenvolver sistemas lógicos que pudessem envolver contradições, motivado por questões de natureza tanto filosófica quanto matemáticas. A lógica paraconsistente ou "não clássica" diverge da lógica clássica no sentido de que possam alicerçar sistemas teóricos que admitam contradições, expressões do tipo "A e não A" sem que, no entanto se tornem triviais, ou ENEGEP 2002 ABEPRO 3 XXII Encontro Nacional de Engenharia de Produção Curitiba – PR, 23 a 25 de outubro de 2002 seja, sem que todas as expressões bem formadas de sua linguagem possam ser provadas como teoremas do sistema [2]. Os estudos de lógicas paraconsistentes têm sido alvo de grandes estudos da Inteligência Artificial, como por exemplo, no tratamento de bases de dados que contenham inconsistências, fundamentando procedimentos alternativos aos tradicionais no trato deste tipo de problema. 4. LÓGICA PARACONSISTENTE ANOTADA APLICADA A VALIDAÇÃO DE REQUISISTOS Nem sempre o cliente está certo e as falhas dos sistemas estão relacionadas às falhas do processo de captura, análise e especificação. A resolução de conflitos sob o paradigma da análise de sistemas de múltiplas perspectivas é uma forma de validar os requisitos de um processo de negócio. O processo inclui: aquisição de objetivos dos stakeholder, troca de informações acerca de stakeholder, detecção de conflitos, geração de resoluções, escolha de resoluções e transformação de objetivos em sistemas operacionais [5]. As LPA constituem uma classe de lógica paraconsistente cujos estudos consideram resultados da lógica evidencial. Na lógica evidencial, as argumentações limitam-se a asseverar que as premissas constituem evidencias apenas parciais para sua conclusão. Nesse caso, é considerado o grau de credibilidade ou crença que as premissas conferem à conclusão. A determinação das premissas é tarefa de pesquisas científicas e a validade ou não-validade da argumentação é determinada por estudo lógico [1]. A veracidade ou a falsidade das premissas é o principal problema que envolve a estrutura da lógica clássica, isso porque na aplicação da lógica no mundo real deve-se investigar fenômenos para fazer predição sobre comportamentos. Essas investigações dos fenômenos são cada dias mais aprofundadas e com maior precisão, gerando contradições. Com o avanço tecnológico, é impossível a resolução de problemas de inconsistências simplesmente ignorando-as, ou refutando-as, como falsas ou confirmadas como verdadeiras. Vão existir caso em que as proposições podem ser verdadeiras e as inferências são ilegítimas, portanto argumentos válidos podem ser conclusões verdadeiras ou falsas. A validez de um argumentos não garante a verdade da conclusão. Vamos aplicar o método no campo das ciências físicas e para isso devemos vincular certo valor estrutural de : “Verdadeiro”, ”Falso”, “Inconsistente”,”Indefinido”, através de graus de certeza e de contradição. Dados de Entrada Estados Descrição Graus de crença Graus de descrença Resultantes (símbolos) µ1 µ2 1 1 T Inconsistente 1 0 V Verdadeiro 0 1 F Falso 0 0 Indeterminado ⊥ Tabela 1: Tabela de valores-verdade para sinais de entrada binários, onde µ1 e µ2 são independentes. ENEGEP 2002 ABEPRO 4 XXII Encontro Nacional de Engenharia de Produção Curitiba – PR, 23 a 25 de outubro de 2002 PROPOSIÇÕES CONECTIVOS OR AND A B A∨ B A∧B T T T T T V T V Tabela 2: Tabela de valores-verdade da aplicação dos Conectivos OR e AND para duas Proposições A e B. De um modo geral, conhecimento incerto é aquele que é discutível e ao qual normalmente, associamos uma medida de incerteza que descreva de algum modo crenças para as quais existem certas evidências de apoio. Os valores e a descrição feita por meio do quadrado unitário do plano cartesiano podem ser estendidos para o reticulado representativo da LPA, utilizando-se os valores dos graus de certeza e de contradição descritos anteriormente: Figura 3: Sinais de entrada binários, onde µ1 e µ2 valem 0 e 1, independentemente [1]. Em nosso estudo aplicaremos o conceito da lógica paraconsistente para mudar a funcionalidade de um processo já existente devido à evolução das regras negócio da empresa e do mercado de atuação. Para decidir quais funções deveriam ser alteradas e/ou eliminadas, podemos fazer uma pesquisa de campo. Neste estudo foram ouvidas as pessoas envolvidas (stakeholders) no processo. Foram reunidos grupos de pessoas, entre elas especialistas e usuários, que se utilizam de informações geradas por esta etapa processo e que são necessárias para dar andamento na atividade seguinte. Os stakeholders declararam seus sentimentos sobre a utilidade (crença) e sobre os problemas ou incômodos (descrenças) de cada função. Conforme demonstrado na tabela 3, descrevemos quatro episódios devidamente documentados pelos cenários e fizemos um trabalho de elicitação através de entrevistas visando analisar as necessidades de mudanças no processo atual. ENEGEP 2002 ABEPRO 5 XXII Encontro Nacional de Engenharia de Produção Curitiba – PR, 23 a 25 de outubro de 2002 ITEM EPISÓDIO CENÁRIO A DIGITAÇÃO DOS ITENS DO PEDIDO 1.1.2 B EMISSÃO DO PEDIDO 1.1.4 C SOLICITAÇÃO AO ALMOXARIFADO 1.2.3 D EMISSÃO DA NOTA FISCAL 2.1.5 Tabela 3: Tabela de episódios registrados através dos cenários documentados na elicitação dos requisitos. As proposições foram enumeradas de acordo com o grau de crença e descrença ( 1 para proposições consideradas úteis ou praticáveis, e 0 para proposições consideradas problemáticas ou incomodas). Baseados nesses critérios criamos a tabela 4: Conectivo Estado User Especialista OR Resultante Graus de Graus de ITEM Graus de Graus de Finais crença descrenças crença descrenças User/Espec. 1 0 A 0 1 1 1 T 1 0 B 1 0 1 0 V 0 0 C 0 0 0 0 ⊥ 0 1 D 0 1 0 1 F Tabela 4: Mapeamento dos resultados das entrevistas seguida da análise dos resultados. A seguir apresentaremos as conclusões para cada situação resultante do item analisado: Situação A (DIGITAÇÃO DOS ITENS DO PEDIDO) Um grupo de usuários apresenta proposições verdadeiras, porém o grupo de especialistas apresenta proposições falsas, tendendo dessa forma à Inconsistência. Portanto, deve-se retornar ao levantamento de requisitos, solicitando informações para o grupo de usuários e de técnicos que apresentam contradições. Situação B (EMISSÃO DO PEDIDO) O grupo de usuários apresenta proposições verdadeiras, assim como o especialista, obtendo assim uma resultante Verdadeira. Diante dessa situação resultante, não é necessário executar outro levantamento de requisitos. Situação C (SOLICITAÇÃO AO ALMOXARIFADO) O usuário apresenta uma proposição indefinida, assim como grupo de especialistas, obtendo assim uma resultante Indefinida, pois todas estão vindo em quantidades insuficientes para análise. Diante dessa situação resultante, é necessário executar outro levantamento de requisitos. Situação D (EMISSÃO DA NOTA FISCAL) O grupo de usuários apresenta proposições falsas, assim como o especialista, obtendo assim uma resultante Falsa. Diante dessa situação resultante, é necessário analisar a viabilidade da implantação deste processo no projeto elaborado. ENEGEP 2002 ABEPRO 6 XXII Encontro Nacional de Engenharia de Produção Curitiba – PR, 23 a 25 de outubro de 2002 5. CONCLUSÃO Os atuais processos de validação de requisitos, em sua maioria, não prevêem o aparecimento de inconsistência. No mundo real, as contradições ou inconsistências aparecem originadas pelas condições de ambiente em que se desenvolvem as tarefas. Como e quando estas situações contraditórias aparecem é, em muitos casos, independente da vontade do agente que executa o controle. Portanto, conflitos são fatores inerentes ao processo de descobrimento de requisitos, e apresentam-se de forma mais acentuada quanto maior for o nível de participação dos stakeholder na definição de interesses, necessidades e desejos. O modelo de validação para resolução de conflitos que foi proposto e desenvolvido neste artigo tem a qualidade de discutir amplamente os fatores comportamentais dos elementos envolvidos na descrição dos requisitos e propor solução para administrar tecnicamente estes conflitos. A análise de múltiplas perspectivas é orientada especialmente para satisfação dos stakeholder, com o modelo baseado em aquisição das preferências individuais e derivação de um projeto que maximiza todas as preferências possíveis, além de realizar um balanço aceitável acerca daqueles que não podem ser satisfeitos. Desta forma a pesquisa demonstra que as teorias baseadas na Lógica Paraconsistente Anotada podem ser utilizadas como uma forma de validação, apresentando possibilidades de lidar com situações de indefinições e inconsistentes, fatores importantes para tomadas de decisão, e que muitas vezes garantem a segurança e qualidade de um sistema. 6. BIBLIOGRAFIA [1] COSTA, Newton C.A….[et al.]. Lógica Paraconsistente Aplicada. Brasil - São Paulo, Atlas, 1999. [2] FILHO, Frederico A. F. Controle de Recepção de Veículos de Transporte de Valores para Manutenção, Aplicando o Algoritmo Para-Analisador da Lógica Paraconsistente Anotada de 2 Valores. Dissertação de Mestrado. Brasil - São Paulo. 1999. [3] KOTONYA, Gerald; SOMMERVILLE, Ian. Requirements Engeneering (Processes and Techniques). 1ed. England : John Wiley & Sons Ltd, 1998, 282 p. [4] MACAULAY, Linda A. Requirements Engeneering. 1ed. Great Britain : Springer-Verlag London Limited, 1996, 202 p. [5] SOMMERVILLE, Ian; SAWYER, Pete. Requirements Engineering (A Good Practice Guide). 1ed. England : John Wiley & Sons Ltd, 1997, 391p. ENEGEP 2002 ABEPRO 7