ESPECIFICAÇÃO E CONCEITUAÇÃO DE UMA ONTOLOGIA APLICADA ÀS ETAPAS DE ENGENHARIA DE REQUISITOS



Documentos relacionados
Curso Superior de Tecnologia em Banco de Dados e Sistemas para Internet Disciplina: Projeto Integrador III Prof.: Fernando Hadad Zaidan

2 Engenharia de Software

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Ontologias na Computação

Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

Requisitos de Software

REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX

Unidade II MODELAGEM DE PROCESSOS

Modelos de Sistemas Casos de Uso

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

A construção de um manual sobre a utilização dos modelos também poderá alavancar o uso das representações. Este conteria a explicação detalhada da

DESENVOLVENDO O SISTEMA

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

EMENTAS DAS DISCIPLINAS

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada

Professor: Curso: Disciplina: Aula 4-5-6

ESTUDO DE CASO: LeCS: Ensino a Distância

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

UMA PROPOSTA DE MODELO DE PROCESSO PARA DESENVOLVIMENTO DE TECNOLOGIAS EDUCACIONAIS

:: aula 8. :: Desenvolveremos as seguintes habilidades nesta aula:

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

4.1. UML Diagramas de casos de uso

Faculdade Pitágoras. Engenharia de Software. Prof.: Julio Cesar da Silva.

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Transformação de um Modelo de Empresa em Requisitos de Software

3.1 Definições Uma classe é a descrição de um tipo de objeto.

PROCESSOS DE CRIAÇÃO DE APLICATIVOS

Modelagem de Processos. Prof.: Fernando Ascani

UM SISTEMA WEB PARA TORCEDORES EM CAMPEONATOS ESPORTIVOS ESTUDANTIS

Requisitos do usuário, do sistema e do software [Sommerville, 2004]

A INFORMÁTICA E O ENSINO DA MATEMÁTICA

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Figura 5 - Workflow para a Fase de Projeto

Processo de Software - Revisão

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

Análise e Projeto de Software

3. Fase de Planejamento dos Ciclos de Construção do Software

A APRENDIZAGEM DO ALUNO NO PROCESSO DE INCLUSÃO DIGITAL: UM ESTUDO DE CASO

Engenharia de Software

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Mauricio Barbosa e Castro

1. Modelagem de Sistemas 1.1. Os Desenvolvedores de Sistemas podem Escolher entre Quatro Caminhos

Diagrama de Casos de Uso

Preparação do Trabalho de Pesquisa

Diagrama de Caso de Uso e Diagrama de Sequência

Engenharia de aplicações web

Utilização da modelagem UML em um sistema de gerenciamento de uma franquia do setor de alimentação

Engenharia de Software II

REQUISITOS DE SISTEMAS

Desenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre

UML - Unified Modeling Language

MODELOS DE PROCESSO. Isac Aguiar isacaguiar.com.br

Projeto de inovação do processo de monitoramento de safra da Conab

Requisitos para Gestão de Requisitos no Desenvolvimento de Software que Utilizam Prática Ágeis

Apresentar os conceitos básicos da metodologia de desenvolvimento Processo Unificado, utilizando como aporte o Processo Unificado Rational RUP

CRITÉRIOS PARA AVALIAÇÃO DE SOFTWARES EDUCACIONAIS

REDE SOCIAL DE MAPEAMENTO COLABORATIVO DE PROBLEMAS AMBIENTAIS E URBANOS NAS CIDADES Resultados preliminares

Gerenciamento de Projetos Modulo II Clico de Vida e Organização

Eixo Temático ET Gestão de Resíduos Sólidos VANTAGENS DA LOGÍSTICA REVERSA NOS EQUIPAMENTOS ELETRÔNICOS

SABiO: Systematic Approach for Building Ontologies

6.1 A Simulação Empresarial tem utilização em larga escala nos cursos de Administração, em seus diversos níveis de ensino no Brasil?

Engenharia de Requisitos Estudo de Caso

Copyright Proibida Reprodução. Prof. Éder Clementino dos Santos

ONTOLOGIA E SUAS APLICAÇÕES EM MODELAGEM CONCEITUAL PARA BANCO DE DADOS PROPOSTA DE TRABALHO DE GRADUAÇÃO

OBJETOS DE APRENDIZAGEM E A ENGENHARIA DE SOFTWARE

Guia para elaboração do Modelo de Domínio Metodologia Celepar

Introdução à. Engenharia de Software. Givanaldo Rocha de Souza

UML: Diagrama de Casos de Uso, Diagrama de Classes

SISTEMAS DE INFORMAÇÃO GERENCIAIS

Programação Orientada a Objetos. Introdução à Análise Orientada a Objetos (AOO)

Gerenciamento da Integração (PMBoK 5ª ed.)

Projeto de Sistemas I

Rastreabilidade de requisitos através da web

Guia de utilização da notação BPMN

Processos de gerenciamento de projetos em um projeto

Tópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software.

PROVA DISCURSIVA (P )

Diagramas de Casos de Uso

SIMPROS /01/2008

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

Classificação de Sistemas: Sistemas Empresariais

Objetivos Específico

MODELAGEM DE SISTEMAS DE INFORMAÇÃO

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento

UNIVERSIDADE PAULISTA UNIP INSTITUTO DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE ENGENHARIA COMPUTAÇÃO

sendo bastante acessível e compreendido pelos usuários que o utilizarem.

ALTERNATIVA PARA SIMPLIFICAÇÃO NA ESTRUTURA DE EXECUÇÃO DE PROJETOS SEIS-SIGMA

Engenharia de Software

Persistência e Banco de Dados em Jogos Digitais

Qualidade de Software

Uma Extensão da Disciplina de Requisitos do OpenUP/Basic para a Construção de Ontologias Aplicadas à Web Semântica

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

ELABORAÇÃO DE PROJETOS

Transcrição:

ESPECIFICAÇÃO E CONCEITUAÇÃO DE UMA ONTOLOGIA APLICADA ÀS ETAPAS DE ENGENHARIA DE REQUISITOS Baby Ane Silva Oliveira Marla Teresinha Barbosa Geller 1 2 RESUMO 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: baby-ane@hotmail.com. 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: marla.geller@gmail.com 107

1 INTRODUÇÃO 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 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. 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

requisitos, Concepção, Levantamento de Requisitos, Elaboração, Especificação, Negociação, Validação e Gestão. 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: Termo Requisito Engenharia de requisitos Concepção Levantamento de requisitos Elaboração Quadro1. Glossário de termos das etapas de Engenharia de Requisitos Descrição O que o programa deve fazer e como deve se comportar. Envolve todas as atividades exigidas para criar e manter o documento de requisitos de sistema. 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. 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. 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 Especificaçã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. É 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

Figura 1. Mapa conceitual para engenharia de requisitos 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

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 ) T e o r i a d e A u s u b e l. D i s p o n í v e l e m <http://rdefendi.sites.uol.com.br/ausubel/ausubel3.htm>. Acesso em: 18 Mar. 2010. 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 I n t e l l i g e n c e I J C A I ' 1 9 9 9. E s t o c o l m o, S u é c i a. D i s p o n í v e l e m : <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. 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