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

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...

Leia mais