Baixar
Transcrição
Baixar
ESPECIFICAÇÃO E CONCEITUAÇÃO DE UMA ONTOLOGIA APLICADA ÀS ETAPAS DE ENGENHARIA DE REQUISITOS Baby Ane Silva Oliveira1 Marla Teresinha Barbosa Geller2 O trabalho descreve as fases de Especificação e Conceituação da construção de uma ontologia para o domínio da Engenharia de Requisitos de Software, utilizando o método Methontology. A motivação para a proposta justifica-se pela dificuldade de comunicação entre os envolvidos no processo de definição de requisitos de software. Para tal propõe-se o uso de mapa conceitual para a fase de conceituação, definindo e apresentando de forma gráfica, com recursos do Cmap Tools. Para a definição das classes e suas hierarquias utiliza-se a Linguagem de Modelagem Unificada – UML. Palavras chave: Engenharia de requisitos. Ontologia. Especificação. Conceituação. ABSTRACT The paper describes the stages of conceptualization and specification of building an ontology for the domain of Software Requirements Engineering, using the Methontology method. The motivation for this proposal is the difficulty of understanding of certain terms in this field. To this end it is proposed the use of concept map in the stage of conceptualization, defining and presenting in a graphical manner, with CMap Tools resources, the concepts that are part of the ontology. For the definition of classes with their hierarchies the UML - Unified Modeling Language is used. Keywords: Requirements Engineering. Ontology. Specificication. Conceptualization. 1 Acadêmica do curso de Sistemas de Informação do Centro Universitário Luterano de Santarém – CEULS/ULBRA. E-mail: [email protected]. 2 Professora e Coordenadora do Curso de Sistemas de Informação do Centro Universitário Luterano de Santarém – CEULS/ULBRA. Graduada em Informática e Mestre em Engenharia Elétrica com ênfase em Computação Aplicada pela Universidade Federal do Pará. Pesquisadora na área de Engenharia de Software mais especificamente em Melhoria de Processo de Desenvolvimento de Software. E-mail: [email protected] 107 Perspectiva Amazônica - Santarém - PA. Ano I. Vol. 2 p. 107-113 ago. 2011 RESUMO 1 INTRODUÇÃO Perspectiva Amazônica - Santarém - PA. Ano I. Vol. 2 p. 107-113 ago. 2011 A Engenharia de Requisitos é uma disciplina da engenharia de software e necessita ser adotada para que a especificação de requisitos seja mais precisa e eficaz [Pressmann, 2006]. Na Engenharia de Requisitos, “um requisito é uma característica do sistema ou a descrição de algo que o sistema é capaz de realizar, para atingir os seus objetivos” [Pfleeger 2004]. Dessa maneira, aAnálise de Requisitos aparece como um processo que envolve todas as atividades necessárias para criar e manter o documento de requisitos de sistema [Sommerville 2003]. Para facilitar a compreensão do domínio desta área do conhecimento, propõe-se apresentar neste trabalho uma ontologia incluindo as etapas da Engenharia de Requisitos. Como metodologia para a pesquisa, utiliza-se o método Methontology, que provê a obediência a princípios como clareza, legibilidade, coerência, extensibilidade e reuso. A atividade descrita neste artigo inclui as fases de Especificação e Conceituação da ontologia. O artigo está organizado da seguinte forma: a seção 2 relata algumas definições acerca de ontologias, a terceira seção aborda conceitos básicos da Engenharia de Requisitos. A seção 4 apresenta a metodologia utilizada seguida das conclusões e trabalhos futuros. 2 ONTOLOGIAS De acordo com Sowa (2001), ontologia é uma classificação ordenada de tipos de coisas, existentes em um domínio de interesse, na perspectiva de alguém que utiliza uma linguagem. A partir deste conceito tem-se uma ontologia organizada em categorias, as quais incluem vários tipos de coisas voltadas a algum domínio. Na Inteligência Artificial o que existe é o que pode ser representado. Assim, ontologia pode ainda ser definida como “uma especificação explícita de uma conceituação” [Gruber 1993], em que o conhecimento de um domínio é representado de maneira formal e declarativa. Borst (1997) define ontologia como “uma especificação explícita e formal de uma conceituação compartilhada”. Detalhando o que Borst quis dizer, especificação explícita está relacionada a conceitos, propriedades, relações, funções, restrições e axiomas, enquanto formal significa ser compreensível para computadores; compartilhada está ligada ao conhecimento consensual; e conceituação significa modelo abstrato de algum fenômeno da realidade. Dentre os tipos de ontologias classifica-se a ontologia apresentada neste trabalho como uma ontologia de domínio [Gomez-Perez 1999], por atender um domínio particular, a Engenharia de Requisitos, a qual está incluída em uma área genérica que é a Engenharia de Software. 3 ENGENHARIADE REQUISITOS A Engenharia de Requisitos aplica-se diretamente à construção de sistemas, sendo considerada uma atividade difícil [Pressman, 2006] e fazendo-se necessária a compreensão do que são requisitos e o domínio das técnicas para especificação dos mesmos. Segundo Brooks [2006 apud Pressmann, p.117] “A parte individual mais difícil da construção de um sistema de software é decidir o que construir. Nenhuma parte do trabalho danifica tanto o sistema resultante se for feita errada. Nenhuma parte é mais difícil de consertar depois”. Segundo Pfleeger (2004), “requisito é uma característica do sistema ou a descrição de algo que o sistema é capaz de realizar, para atingir os seus objetivos”. Para Sommerville (2003), requisitos do sistema são descrições de 108 funções e restrições. A Engenharia de Requisitos é o processo usado para descobrir, analisar, documentar e verificar essas funções e restrições. 4 UMAONTOLOGIAPARAENGENHARIADE REQUISITOS O principal objetivo desta ontologia é prover um vocabulário que defina as etapas da Engenharia de Requisitos e permita relacioná-los para propiciar inferências na base de conhecimento formada. 4.1 REUSO DE ONTOLOGIA 4.2 METODOLOGIA Para a construção da ontologia utiliza-se o método Methontology, composto de três grandes grupos de atividades: atividades de gerenciamento; atividades de desenvolvimento e atividades de Suporte. Este artigo objetiva apresentar a ontologia nas atividades de desenvolvimento em suas fases de Especificação e Conceituação. O uso do método Methontology justifica-se pela sua base no ciclo de vida do desenvolvimento de software. De acordo com [Hepp e Palazzo, 2006] esse método permite o reuso dos conceitos de outras ontologias. 4.2.1 Especificação Neste momento deve-se identificar o escopo da ontologia, responder a questionamentos como “quem são os usuários” e “quais são as intenções de uso” [Rautenberg, 2008]. A seguir a definição das atividades desta etapa: Propósito da ontologia: O Objetivo desta ontologia é criar uma rede semântica de conceitos para definir as etapas da engenharia de requisitos, que possa ser utilizada por desenvolvedores e usuários diferenciados, facilitando o entendimento e compartilhamento destes termos. Utilizam-se as seguintes questões de competência: O que é engenharia de requisitos? Quais as etapas abordadas pela engenharia de requisitos? O que estabelece cada etapa? Fontes de conhecimento: como fonte de conhecimento tem-se Sommerville (2003), Pressmann (2006), Pflegger (2004), Pádua (2003). Considerar o reuso da ontologia: Na definição do escopo desta ontologia serão reutilizadas algumas questões de competência propostas por Medeiros (2006), que define requisitos de forma detalhada. Iniciar o processo de aquisição do conhecimento: O conjunto de termos utilizado na ontologia é o resultado de um glossário construído por acadêmicos da disciplina de Engenharia de Software que inclui: Engenharia de 109 Perspectiva Amazônica - Santarém - PA. Ano I. Vol. 2 p. 107-113 ago. 2011 As questões de competência referenciadas na ontologia criada por Medeiros (2006) e representadas na figura 2 são utilizadas neste trabalho, pois facilitam o entendimento do que é um requisito e conceitos relacionados como os tipos de requisitos, sua qualidade e suas métricas. A proposta aqui apresentada é de estendê-la com a conceituação das etapas da Engenharia de Requisitos. requisitos, Concepção, Levantamento de Requisitos, Elaboração, Especificação, Negociação, Validação e Gestão. Perspectiva Amazônica - Santarém - PA. Ano I. Vol. 2 p. 107-113 ago. 2011 4.2.2 Conceituação Nesta etapa, segue-se com a complementação da aquisição do conhecimento, onde os termos devem ser definidos e classificados. Inicialmente os termos foram definidos em linguagem natural e representados através de hierarquia, utilizando-se os recursos do mapa conceitual. Segundo Novak (1998), os mapas conceituais auxiliam como ferramenta de organização e representação do conhecimento adquirido pelos alunos durante o processo de ensino-aprendizagem. Neste trabalho é adotada a teoria da aprendizagem significativa, a qual segundo Ausubel(1980) o armazenamento de informações no cérebro é organizado de forma hierárquica, na qual elementos específicos são ligados a conceitos gerais. Segue no quadro 1 a apresentação dos conceitos [Pressmann, 2006], constituindo o glossário de termos e na figura 1 o mapa conceitual construído: Quadro1. Glossário de termos das etapas de Engenharia de Requisitos Termo Descrição Requisito O que o programa deve fazer e como deve se comportar. Engenharia de requisitos Envolve todas as atividades exigidas para criar e manter o documento de requisitos de sistema. Concepção Estabelece uma compreensão básica do problema, define os interessados no sistema, o objetivo da solução e uma efetiva comunicação e colaboração preliminares entre o cliente e o engenheiro de software. Levantamento de requisitos Ocorre a coleta colaborativa dos requisitos, implantação da função de qualidade, cenários de usuários e os produtos de trabalho do levantamento. Elaboração Refina e expande as informações do cliente obtidas durante a concepção e o levantamento, elaborando um modelo técnico refinado das funções, características e restrições do software. Negociação É um acordo que permite a iteração, em que os requisitos podem ser combinados e/ou alterados e eliminados de forma que todos alcancem satisfação. Especificação É a descrição do produto de trabalho final, incluindo o desempenho, função e as restrições do desenvolvimento de um sistema. Para especificar os requisitos pode-se utilizar um documento escrito, um modelo representado graficamente, um modelo matemático formal, um conjunto de cenários de uso, um protótipo ou qualquer combinação desses elementos. Validação É verificada a qualidade É verificada a qualidade do produto finalizado, utiliza-se principalmente a revisão técnica. para validar os requisito A equipe responsável por essa revisão técnica inclui os desenvolvedores, clientes, usuários e e todos os interessados. Gestão Apoia a equipe do projeto a identificar, controlar e rastrear os requisitos através de um grupo de atividades. Tabelas de rastreamento são construídas, que envolvem características, fontes, dependência, subsistema e interface, em que cada tabela é caracterizada pela relação com os requisitos. 110 Apresenta-se na figura 2 a hierarquia de classes proposta para a ontologia com o reuso da ontologia proposta por Medeiros (2006). Observa-se que a relação de agregação, todo-parte, existe entre o conceito de Engenharia de Requisitos e suas fases e a relação de herança visualiza-se entre Requisitos e seus tipos. Podendose interpretar que a Engenharia de Requisitos é formada por suas etapas e os Requisitos de Sistema, de Usuário, Funcionais e não Funcionais são tipos de requisitos. Figura 2. Mapeamento das classes propostas para a ontologia 5 CONCLUSÕES E TRABALHOS FUTUROS Facilitar a identificação de requisitos de software tem sido objeto de estudos e pesquisas, com a preocupação de minimizar as subjetividades existentes nesta atividade. A Engenharia de Requisito surge para disciplinar dentro da Engenharia de Software este processo que, além de demandar tempo, exige entendimento 111 Perspectiva Amazônica - Santarém - PA. Ano I. Vol. 2 p. 107-113 ago. 2011 Figura 1. Mapa conceitual para engenharia de requisitos Perspectiva Amazônica - Santarém - PA. Ano I. Vol. 2 p. 107-113 ago. 2011 dos termos tanto por parte dos desenvolvedores como dos usuários dos sistemas em geral. Considerando o estudo realizado sobre ontologias, fica clara a sua importância para diminuir as ambiguidades existentes nesta área do conhecimento. A criação de uma ontologia que aborde os termos relacionados às etapas da engenharia de requisitos, formalizando estes conceitos possibilitará o reuso e compartilhamento deste conhecimento. Algumas ontologias já criadas para esta área do conhecimento foram consideradas e, desta forma, se aplica à própria proposta o reuso do que já existe, fazendo uma extensão para agregar valor cognitivo a Engenharia de Requisitos. A Especificação desta ontologia prossegue com a definição dos atributos e instâncias das classes. Como trabalhos futuros pretende-se a formalização com a linguagem OWL e auxílio do editor Protegé, que irá disponibilizar a ontologia para Web Semântica. A utilização de agentes do conhecimento para tratar a informação com maior precisão é a base da Web Semântica. A organização de dados na internet depende do estudo de ontologias que venham contribuir cada vez mais para o entendimento de áreas específicas do conhecimento. REFERÊNCIAS A U S U B E L , D . P. ( 1 9 8 0 ) “ Te o r i a d e A u s u b e l ” . D i s p o n í v e l <http://rdefendi.sites.uol.com.br/ausubel/ausubel3.htm>. Acesso em: 18 Mar. 2010. em BORST, W.N. (1997) “Construction of Engineering Ontologies for Knowledge Sharing and Reuse”. Disponível em: <http://www.ub.utwente.nl/webdocs/inf/1/t0000004.pdf>.Acesso em: 28 Fev. 2010. GÓMEZ-PEREZ, A. Tutorial On Ontological Engineering. International Joint Conference on Artificial Intelligence – IJCAI'1999. Estocolmo, Suécia. Disponível em: <http://www.ontology.org/main/papers/madrid-tutorials.html>. Acesso em: 29 Dez. 2009. GRUBER, Thomas R. (1993) Towards Principles for the Design of Ontologies Used for Knowledge Sharing. International Journal of Human and Computer Studies, 43(5/6): 907-928. MEDEIROS, Jr., Raul de Abreu. (2006) Uma Ontologia para Engenharia de Requisitos de Software. 105f. Dissertação (Mestrado em InformáticaAplicada). Universidade de Fortaleza (UNIFOR). Fortaleza. NOVAK, J. D. (1998) “Learning, creating, and using knowledge: Concept maps as facilitative tools in schools and corporations”. Mahwah, NJ: Lawrence Erlbaum Associates. NOVAK, J.D. and Canãs, A.J. (2006) “The Theory Underlying Concept Maps and How to Construct and Use Them”, Relatório Técnico IHMC CmapTools 2006-01 Rev 01-2008, Florida Institute for Human and Machine Cognition. Disponível em: <http://cmap.ihmc.us/Publications/>.Acesso em: 15 Marc. 2010. PÁDUA FILHO, W. Engenharia de Software: Fundamentos Métodos e Padrões. 2ª. Ed. São Paulo: LTC, 2003. PALAZZO, Luiz A. M.; HEPP, Cristiane de Souza (2006). Projeto e Construção de Ontologias. In: Vânia Ribas Ulbricht; Claudia Regina Batista. (Org.). Ambientes Hipermidiáticos - Volume 1. Rio de Janeiro - RJ: Editora Ciência Moderna, 2006, v. 1, p. 63-105. PFLEEGER, Shari Lawrence (2004). Engenharia de Software: teoria e prática. Tradução Dino Franklin; revisão técnica Ana Regina Cavalcanti da Rocha. 2 ed. São Paulo: Prentice Hall. PRESSMAN, R. S. (2006), Engenharia de Software. 6 ed. São Paulo: McGraw-Hill, 2006. 112 RAUTENBERG, S. et al. Revista Ciências Exatas e Naturais. Vol. 10. No 2. Jul/Dez 2008. Sommerville, Ian. Engenharia de software. 6.ed. Tradução: Maurício de Andrade. São Paulo: Addison Wesley, 2003. Perspectiva Amazônica - Santarém - PA. Ano I. Vol. 2 p. 107-113 ago. 2011 SOWA, J. F. (2001) “Building, Sharing, and Merging Ontologies”. Disponível em: <http://users.bestweb.net/~sowa/ontology/ontoshar.htm>.Acesso em: 25 Fev. 2010. 113
Documentos relacionados
Ontologia de domínio
tipo”. E, finalmente, o QtYHOVHPkQWLFR, que é “aquele que possibilita a compreensão
de cada elemento descritor do recurso com as associações nele embutidas”, através
do uso de vocabulários específ...