5
SEMINÁRIO DE PESQUISA EM ONTOLOGIA NO BRASIL 11 E 12 de Julho Universidade Federal Fluminense Departamento de Ciência da Informação Niterói Rio de Janeiro Brasil Definição de Ontologia para Identificação de Riscos de Projetos de Software Definition of Ontology for Software Projects Risk Identification Thúlio Costa (DSC - POLI / Universidade de Pernambuco, [email protected]) Cristine Gusmão (DSC - POLI / Universidade de Pernambuco, [email protected]) Resumo: Atualmente as organizações enfrentam grande competitividade demandando rápidas decisões, alocação otimizada de recursos e objetivos claros. Em um ambiente típico de desenvolvimento de software não é diferente: muitos projetos são propostos, com diferentes objetivos e é necessário gerenciá- los estrategicamente e de acordo com as metas organizacionais. Para aprender com as próprias experiências (lições aprendidas) as organizações precisam registrar e compartilhar o conhecimento institucional e reutilizá-lo, prevenindo riscos. Este artigo apresenta uma ontologia de riscos para definir uma estrutura padrão de informações sobre riscos – mPRIME Ontology. Palavras-chave: Gerência de riscos. Ontologias de domínio. Identificação de riscos. Abstract: Nowadays the organizations live a great marketing competitiveness currently demanding fast decisions, better allocation of resources and clear objectives. In a typical software development environment it is not different: many kinds of projects are launched, with different proposals, and it is necessary to manage them strategically and in accordance with organizational goals. In order to learn with their own experiences (lessons learned) the organizations must register and share all relevant knowledge institutionalized and reused, preventing risks. This paper presents risk ontology to give standard information structure of risks – mPRIME Ontology. Keywords: Risk management. Domain ontologies. Risk identification.

SEMINÁRIO DE PESQUISA EM ONTOLOGIA NO … · SEMINÁRIO DE PESQUISA EM ONTOLOGIA NO BRASIL 11 E 12 de Julho Universidade Federal Fluminense •••• Departamento de Ciência

  • Upload
    ngongoc

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

SEMINÁRIO DE PESQUISA EM ONTOLOGIA NO BRASIL 11 E 12 de Julho

Universidade Federal Fluminense •••• Departamento de Ciência da Informação Niterói •••• Rio de Janeiro •••• Brasil

Definição de Ontologia para Identificação de Riscos de Projetos de Software

Definition of Ontology for Software Projects Risk Identification

Thúlio Costa (DSC - POLI / Universidade de Pernambuco, [email protected])

Cristine Gusmão (DSC - POLI / Universidade de Pernambuco, [email protected])

Resumo: Atualmente as organizações enfrentam grande competitividade demandando rápidas decisões, alocação otimizada de recursos e objetivos claros. Em um ambiente típico de desenvolvimento de software não é diferente: muitos projetos são propostos, com diferentes objetivos e é necessário gerenciá-los estrategicamente e de acordo com as metas organizacionais. Para aprender com as próprias experiências (lições aprendidas) as organizações precisam registrar e compartilhar o conhecimento institucional e reutilizá-lo, prevenindo riscos. Este artigo apresenta uma ontologia de riscos para definir uma estrutura padrão de informações sobre riscos – mPRIME Ontology. Palavras-chave: Gerência de riscos. Ontologias de domínio. Identificação de riscos. Abstract: Nowadays the organizations live a great marketing competitiveness currently demanding fast decisions, better allocation of resources and clear objectives. In a typical software development environment it is not different: many kinds of projects are launched, with different proposals, and it is necessary to manage them strategically and in accordance with organizational goals. In order to learn with their own experiences (lessons learned) the organizations must register and share all relevant knowledge institutionalized and reused, preventing risks. This paper presents risk ontology to give standard information structure of risks – mPRIME Ontology. Keywords: Risk management. Domain ontologies. Risk identification.

1. Introdução A estruturação dos termos relacionados às possíveis fontes de riscos apresentados em um ambiente de desenvolvimento de software podem ser classificados através da utilização de ontologias. Alguns trabalhos podem ser encontrados na área de Engenharia de Software ratificando a importância da utilização de ontologias como instrumento para a modelagem de domínios [Duarte e Falbo 2000, Gusmão 2007, Medeiros 2004, Falbo e Bertollo 2005, Gusmão 2007]. A utilização de ontologias, no entanto, requer a criação de uma cultura de uso e a existência de ferramentas e metodologias adequadas para suporte efetivo das informações manipuladas e do conhecimento gerado. Com base nas informações apresentadas, este trabalho descreve melhorias realizadas em uma das três sub-ontologias que compõe a mPRIME Ontology, responsável por relacionar às origens de riscos associados às restrições e inovação tecnológica, classificados como Restrições de Programa. Após a contextualização da problemática tratada, as seções 2 e 3 apresentam conceitos sobre ontologias e gerência de riscos, respectivamente. A Seção 4 apresenta a mPRIME Ontology através de suas características, funcionalidades e aplicação. Por fim, a Seção 5 apresenta as considerações finais e trabalhos futuros. 2. Ontologias de Domínio De acordo com Tom Gruber, uma ontologia é uma especificação formal e explícita de uma abstração, uma visão simplificada de um domínio de conhecimento. Uma ontologia modela uma parte do “mundo”, ou seja, um domínio de conhecimento, definindo um vocabulário comum [Gruber 1995]. Tal modelo pode ser utilizado tanto por humanos quanto por agentes de software, a fim de estabelecer um entendimento comum sobre os conceitos e relacionamento desse domínio de conhecimento [Noy e McGuinness 2001]. Diversos são os benefícios apresentados na literatura para a utilização de ontologias [Noy e McGuinness 2001], alguns deles são relacionados ao: Compartilhamento, Reuso, Estruturação da informação, Interoperabilidade e Confiabilidade. A utilização de ontologias para descrição semântica de um determinado vocabulário permite um entendimento amplo das características e propriedades das classes pertencentes a um domínio, assim como seus relacionamentos. O uso de componentes de inteligência artificial está cada vez mais presente em aplicações da área de Engenharia de Software, em particular, nas atividades que envolvem uma grande manipulação de informações para tomada de decisão. 3. Visão da Gerência de Riscos na Engenharia de Software As atividades da gerência de projeto, em especial da Gerência de Riscos de projetos, favorecem que os objetivos definidos para o projeto sejam alcançados de acordo com as restrições de tempo e custo normalmente impostas. A Gerência de Riscos pode ser definida como o emprego de habilidades e competências, aliado ao conhecimento adquirido, através do uso de processos com a utilização de técnicas e métodos para a identificação, análise e controle dos riscos.

O gerenciamento de riscos é um processo onde os gerentes de projeto satisfazem as necessidades de identificação de fatores de riscos chave para os projetos em

andamento, obtendo consistência e entendimento, escolhendo ou priorizando que riscos devem ser mitigados e eliminados, como também potencializando os resultados das oportunidades encontradas. 3.1 Identificação de Riscos A identificação de riscos tem como objetivo descobrir e documentar os possíveis problemas que podem interferir no projeto, formalizando as informações coletadas. Alguma técnicas como: brainstorming, listas de verificação (checklist), comparação por analogia, análise de premissas, decomposição, técnicas de diagramação, técnica Delphi, revisão de documentação (plano e modelo de projeto) e entrevistas [PMI 2004], auxiliam na identificação dos riscos.

4. mPRIME Ontology

A mPRIME Ontology foi desenvolvida com o objetivo de representar através de uma ontologia de riscos um vocabulário que auxiliasse o processo de gerenciamento de riscos em ambiente de múltiplos projetos, redefinindo a versão inicial proposta OntoPRIME [Gusmão 2007], utilizando lógica descritiva. A estrutura da mPRIME Ontology é ilustrada através da Figura 1.

A mPRIME Ontology tem sua relevância e conseqüente contribuição pautada na construção de uma ontologia no domínio dos riscos de projetos de software para dar suporte ao processo de Gerência de Riscos em Ambientes de Desenvolvimento de Software e pelo desenvolvimento de um estudo científico sobre os relacionamentos dos fatores de riscos de software que influenciam o sucesso dos projetos, em ambientes organizacionais. O objetivo principal é a definição de um vocabulário comum que pode ser utilizado para representar conhecimento útil para os desenvolvedores de software sobre os riscos que podem afetar um projeto de software, vários projetos e mesmo, entre projetos, dentro de uma organização desenvolvedora de software.

Figura 1 Sub-Ontologias da Ontologia de Riscos [Gusmão 2007]

4.1 Aplicação e Funcionalidades Uma das formas de avaliação da mPRIME Ontology foi a aplicação da mesma no protótipo de software mPRIME Risk Inferrer1 . O mPRIME Risk Inferrer é uma ferramenta para inferência de riscos através de características de projetos de software. O protótipo da mPRIME Ontology faz uso da

1 O protótipo está disponível em http://www.dsc.upe.br/~tspc/mPRIME/

máquina de inferência da ferramenta Protégé2, de forma a descobrir os possíveis riscos de um projeto de software simplesmente através das características de tal projeto.

As características dos projetos são inseridas através de vários formulários os quais representam partes do projeto, por exemplo, cronogramas, times de desenvolvimento, contratos entre outras características. A Figura 2 ilustra os conceitos de riscos associados a essas características na mPRIME Ontology.

Figura 2 Visão parcial da sub-ontologia da mPRIME Ontology

A partir das características, indivíduos representado-as são instanciados na mPRIME Ontology e a máquina de inferência analisa a relação entre esses indivíduos. Analisadas as relações, os possíveis riscos são identificados e informados ao usuário do mPRIME Risk Inferrer. A Figura 3 demonstra fluxo de informações.

Figura 3 Fluxograma do mPRIME Risk Inferrer

Este conjunto de formulários está representado através da entidade GUI. A partir da escolha dos dados que se quer inferir informações sobre riscos, são solicitadas características específicas. Estas são submetidas ao conjunto de axiomas e relacionamentos definidos através da mPRIME Ontology e analisados através do mPRIME Risk Inferrer (máquina de inferência da ferramenta Protégé). Por fim, uma lista de possíveis riscos é apresentada

2 Protégé na web: http://protege.stanford.edu/

4.2 Limitações O mPRIME Risk Inferrer foi desenvolvido com base na sub-ontologia Restrições de Programa3, por isso apresenta as seguintes limitações: (i) a identificação dos riscos está restrita à sub-ontologia descrita neste trabalho; (ii) não há relacionamento entre os riscos da sub-ontologia de Restrições de Programa com as duas outras sub-ontologias da mPRIME Ontology: e (iii) não é permitida a inserção de novos conceitos na ontologia.

5. Considerações Finais e Trabalhos Futuros A Gerência de Riscos tem se tornado cada vez mais importante dentro da gerência de projetos, tendo um papel fundamental na determinação do sucesso de um projeto. Este artigo apresentou uma Ontologia para o domínio de Gerência de Riscos em Ambientes de Desenvolvimento de Software e sua aplicação na correta identificação de riscos em projeto de software – mPRIME Ontology.

Podem ser destacados dois importantes resultados da aplicação da mPRIME Ontology na identificação de riscos em projetos de software: (i) Agilidade na identificação dos riscos e (ii) Possibilidade de integração com outras ferramentas de gerenciamento de riscos.

Como trabalho futuro, já estão sendo realizadas atividades para a integração das três sub-ontologias que compõem a mPRIME Ontology seguido de um estudo comparativo entre os resultados obtidos através do mPRIME Risk Inferrer em relação a outras técnicas e ferramentas de identificação de riscos.

Referências Bibliográficas

Duarte, K.C. e Falbo, R.A.(2000) Uma Ontologia de Qualidade de Software. Anais do VII Workshop de Qualidade de Software, XIV Simpósio Brasileiro de Engenharia de Software, pp. 275-285. João Pessoa – PB – Brasil.

Falbo, R. A. e Bertollo, G. (2005) Establishing a Common Vocabulary for Software Organizations Understand Software Processes. EDOC International Workshop on Vocabularies, Ontologies and Rules for The Enterprise. Enschede, Holanda.

Gruber, T. R. (1995) Toward principles for the design of ontologies used for knowledge sharing. In: Formal Ontology in Conceptual Analysis and Knowledge Representation. Kluwer Academic Publishers.

Gusmão, C. M. G. (2007) Um Modelo de Processo de Gestão de Riscos para Ambientes de Múltiplos Projetos de Desenvolvimento de Software – Tese de Doutorado. Centro de Informática – Universidade Federal de Pernambuco. Recife, PE.

Noy, N. F.; McGuinness, D. L. (2001) “Ontology Development 101: A Guide to Create Your First Ontology”. Knowledge Systems Laboratory Technical Report KSL-01-05, Stanford University. 25p.

PMI - Project Management Institute. (2004) A Guide to the Project Management Body of Knowledge. – ANSI/PMI 99-01-2004. Project Management Institute. Four Campus Boulevard. Newtown Square. USA.

3 Relatório técnico sobre a sub-ontologia Restrições de Programa está disponível em: http://www.dsc.upe.br/~tspc/mPRIME