Reusability of Requirements Ontologies. By Rania Alghamdi

Similar documents
Silvia Preston Ph. D. Candidate Dissertation Proposal

Requirement Analysis

Modeling Issues Modeling Enterprises. Modeling

Quality Software Requirements By J. Chris Gibson

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3)

Chapter 4 Objectives

XIV. The Requirements Specification Document (RSD)

Recommended Practice for Software Requirements Specifications (IEEE)

1 Version management tools as a basis for integrating Product Derivation and Software Product Families

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author(s)> <Organization> <Date created>

Use of Domain Ontologies to Improve Requirements Quality

The Open Group SOA Ontology Technical Standard. Clive Hatton

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements

An Ontology Based Information Security Requirements Engineering Framework

Requirements Engineering Process

Modeling variability with UML

Usually software system variants, developed by Clone-and-own approach, form

Darshan Institute of Engineering & Technology for Diploma Studies

Requirements Validation and Negotiation

Spemmet - A Tool for Modeling Software Processes with SPEM

QA Best Practices: A training that cultivates skills for delivering quality systems

Using the UML for Architectural Description Rich Hilliard

SoberIT Software Business and Engineering Institute. SoberIT Software Business and Engineering Institute. Contents

Quality Software Requirements By J. Chris Gibson

Keywords Data alignment, Data annotation, Web database, Search Result Record

Requirements Validation and Negotiation

Requirements Gathering

CIS 890: Safety Critical Systems

Testing Component-Based Software

Software Requirements Quality Evaluation: State of the art and research challenges

A Lightweight Language for Software Product Lines Architecture Description

Testability Analysis of Framework Based Software at Requirement Analysis Phase

Basics : the Requirements Engineering Process

SC32 WG2 Metadata Standards Tutorial

Software Quality Starts with the Modelling of Goal-Oriented Requirements

2. The Proposed Process Model of CBD Main phases of CBD process model are shown, in figure Introduction

CM-OPL: An Ontology Pattern Language for the Configuration Management Task

Introduction to Software Specifications and Data Flow Diagrams. Neelam Gupta The University of Arizona

Reducing Consumer Uncertainty Towards a Vocabulary for User-centric Geospatial Metadata

FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author> <organization> <date created>

Extension and integration of i* models with ontologies

USTGlobal INNOVATION INFORMATION TECHNOLOGY. Using a Test Design Tool to become a Digital Organization

Business Analysis in Practice

An Overview of ISO/IEC family of Information Security Management System Standards

System context. Usage facet. IT system facet. Core activities

Executing Evaluations over Semantic Technologies using the SEALS Platform

What s a BA to do with Data? Discover and define standard data elements in business terms

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

COMPSCI 705 & SOFTENG 702. API Design. Jamie Diprose

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study

KNOWLEDGE-BASED MULTIMEDIA ADAPTATION DECISION-TAKING

Problem Analysis for Referential Requirements Specifications João Guilherme de Almeida Henriques Goucha Gaspar 1 Introduction

Jan Vanthienen. Research and teaching: KU Leuven (Belgium) Leuven Institute for Research in Information Systems

Requirement Validation Model for Virtual Distributed System

An Ontology Based Approach for Formal Modeling of Structural Design Patterns

IDECSE: A Semantic Integrated Development Environment for Composite Services Engineering

First Steps Towards Conceptual Schema Testing

Semantics-Based Integration of Embedded Systems Models

Automatic Merging of Specification Documents in a Parallel Development Environment

An Initial Approach to Reuse Non-Functional Requirements Knowledge

Java Learning Object Ontology

Requirements Analysis

ANALYTICS DRIVEN DATA MODEL IN DIGITAL SERVICES

Context-Aware Analytics in MOM Applications

Characterizing Home Pages 1

Content Management for the Defense Intelligence Enterprise

SE 1: Software Requirements Specification and Analysis

Requirements Engineering for Enterprise Systems

SNOMED Clinical Terms

A UML 2 Profile for Variability Models and their Dependency to Business Processes

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships.

Building UAE s cyber security resilience through effective use of technology, processes and the local people.

Requirements Validation and Negotiation (cont d)

It Is What It Does: The Pragmatics of Ontology for Knowledge Sharing

DATA ITEM DESCRIPTION

An Ontological Approach to Domain Engineering

Business Rules in the Semantic Web, are there any or are they different?

Semantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 95-96

Checklist for Requirements Specification Reviews

Software Language Engineering of Architectural Viewpoints

Designing and documenting the behavior of software

Capturing Design Expertise in Customized Software Architecture Design Environments

Evaluation of Commercial Web Engineering Processes

Ontology-Based Web Query Classification for Research Paper Searching

Dagstuhl Seminar on Service-Oriented Computing Session Summary Cross Cutting Concerns. Heiko Ludwig, Charles Petrie

Introduction. ADL Roles

Study on Ontology-based Multi-technologies Supported Service-Oriented Architecture

Vocabulary Harvesting Using MatchIT. By Andrew W Krause, Chief Technology Officer

Feature Model to Orthogonal Variability Model Transformation towards Interoperability between Tools

Requirements Engineering: Specification & Validation. Software Requirements and Design CITS 4401 Lecture 18

Rules of Writing Software Requirement Specifications

ISO/IEC INTERNATIONAL STANDARD. Information technology Security techniques Information security risk management

Ontological Foundations for Software Requirements with a Focus on Requirements at Runtime

Natural Language Specification

Transformation of analysis model to design model

Standards for Writing Requirements and Specifications. Drs. Schesser & Simone BME 496 Capstone II

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

Semantic Model-driven Engineering

Ontology Creation and Development Model

Transcription:

Reusability of Requirements Ontologies By Rania Alghamdi

Outline Introduction Requirements Reuse Requirements ontologies Criteria of reusable requirements Examples of reusable ontologies Discussion and conclusion 2

Introduction Requirements Engineering (RE) consists of different activities [8]. Elicitation Analysis Documentation Validation Understanding the application domain. Dealing with requirements classification, modeling, and resolving conflicts. Aiming to produce requirements document (specification). Checking the final draft of a requirements document. The main goal of RE is to translate the needs of the stakeholders accurately to produce concise requirements specification. That takes a considerable time and effort. 3

Requirements Reuse As a result Requirements Reuse became necessary [2-4] oto decrease cost and time-to-market. oto benefit from the other existing high-quality requirements. Goldin and Berry [3] found: oreusing is difficult since it depends on choosing the correct components to reuse. othose components should be initially written to be reusable. oworking on requirements reuse is worth it and pays off. 4

Requirements Reuse According to Chernak s global online IT survey [4] Did you reuse requirements on your latest projects? No 41% Yes 59% What are the obstacles for adopting requirements reuse? 5%other Reuse is not supported 25% Incomplete 12% Reuse is not important 18% Outdated 19% Unstructured 21% 5

Requirements Reuse Approaches applied requirements reuse successfully Software Product Line (SPL) Software Requirements Catalog (SRC) Requirements ontologies It depends on exploiting the commonalities and the variations of all products in the line [5]. It focuses on developing a family of products [3]. It is conformed to large-sized software projects [2]. A set of related and sorted requirements. Requirements are classified based on their functions and priorities. More suitable to be applied in small-sized projects [2]. It is used to make the knowledge more sharable and reusable. It is used for large to small scale software project. 6

Requirements ontologies The concept of ontology is used to reduce the negative effects of RE challenges Some RE challenges Benefits of requirements ontology Stakeholders may give incomplete requirements. Stakeholders may provide redundant requirements with different vocabularies (ambiguity). Requirements change continuously. Using requirements ontology for specific domain help to capture the missing requirements such as the non-functional requirements [14]. Ontology is used to restrict vocabulary interpretations and the semantic relations between different entities [8]. The explicit relations between entities in the ontology help to trace any changes [8]. 7

Requirements ontologies According to the systematic review of Dermeval et. al [1] oontologies have been used to accomplish different RE activities. othey found empirical evidences of their advantages. o34% of the studies reused existing ontologies in their contributions to achieve various purposes. othey did not study the reusability criteria of those reused ontologies and they mentioned this part briefly. 8

Requirements ontologies Different studies reused ontologies for different purposes [1] : osome studies reused: Generic requirements engineering ontologies Domain knowledge ontologies Security ontologies Goal-oriented requirements engineering (GORE) ontology Business ontology Scenario-extended problem ontology Requirements ontologies are generally not widely reused. Blomqvist et. al related that to the poorly designed and documented ontologies [6]. 9

Criteria of reusable requirements 4. Being unambiguous 1. using well-known standards 2. Being consistent 3. Being Traceable 5. Using clear implementation and documentation 6. Being complete 7. Using priority ranking 1. Using the technical contents of worldwide accepted standards of a particular domain provides the guidelines to guarantee the quality of ontology. 10

Criteria of reusable requirements 4. Being unambiguous 1. using well-known standards 2. Being consistent 3. Being Traceable 5. Using clear implementation and documentation 6. Being complete 7. Using priority ranking 2. It means there is no conflicts between different requirements specifications [7]. 11

Criteria of reusable requirements 4. Being unambiguous 1. using well-known standards 2. Being consistent 3. Being Traceable 5. Using clear implementation and documentation 6. Being complete 7. Using priority ranking 3. The ontology is traceable if there is explicit links between requirements that define the dependency relationships between the requirements in bidirectional manner (back and forth) [7][8] 12

Criteria of reusable requirements 4. Being unambiguous 1. using well-known standards 2. Being consistent 3. Being Traceable 5. Using clear implementation and documentation 6. Being complete 7. Using priority ranking 4. It means all the parties (analysts and stakeholders) agree on the same meaning. 13

Criteria of reusable requirements 4. Being unambiguous 1. using well-known standards 2. Being consistent 3. Being Traceable 5. Using clear implementation and documentation 6. Being complete 7. Using priority ranking 5. The ontology should be written in a clear and widely known language. Example: (OWL) AND the documentation should be easy to understand by analysts and stakeholders. 14

Criteria of reusable requirements 4. Being unambiguous 2. Being consistent 6. Being complete 1. using well-known standards 3. Being Traceable 5. Using clear implementation and documentation 7. Using priority ranking 6. All the necessary requirements are included. 15

Criteria of reusable requirements 4. Being unambiguous 2. Being consistent 6. Being complete 1. Using well-known standards 3. Being Traceable 5. Using clear implementation and documentation 7. Using priority ranking 7. Each requirement has a priority and an expected frequency of changes. 16

Criteria of reusable ontologies Which requirements ontologies have been reused in other studies? What are the criteria of the reused requirements ontologies? 17

Examples of reusable requirements ontologies (1) Dzungand Ohnishi [11] Contribution an ontology-based tool which extracts the initial requirements from the written stakeholders interviews. Requirements type Scope RE activity Reusability Criteria Reused in functional requirements Small Elicitation -consistent -traceable -unambiguous -well documented -implemented in well known language (OWL) Study in [12] reused the same ontology-based tool for education management system. 18

Examples of reusable requirements ontologies (1) Predefined reasoning rules of [11] 1. Complementary rule x y.(complementary(x,y) (y Req)) (x Req) 2. Supplementary rule x y.(supplementary(x,y) (x Req)) (y Req) 19

Examples of reusable requirements ontologies (1) Predefined reasoning rules of [11] 3. Aggregation Rule x y.(aggregation(x,y) (y Req)) (x Req) 4. Inheritance rule y x.(inheritance(x,y) (x Req)) (y Req) 20

Examples of reusable requirements ontologies (1) Predefined reasoning rules of [11] 5. Inconsistency rule x y.(inconsistency(x,y) (x Req) (y Req)) ((x Req) (y Req)) ((x Req) (y Req)) 6. Redundancy rule x y.(redundancy(x,y) (x Req) (y Req)) ((x Req) (y Req)) ((x Req) (y Req)) 21

Examples of reusable requirements ontologies (1) 1 2 3 4 An example of requirements ontology for an online store system [11] An example of checking requirements with ontology [11] 22

Examples of reusable requirements ontologies (2) Wang et al. [9] Contribution Requirements type Scope RE activity Reusability Criteria Reused in A QoS Ontology Cooperated with Feature Models Non-functional requirements Large/industrial Elicitation -using ISO/IEC 9126 quality model -using different priorities -well documented -implemented in well known language The model was reused totally in [10] for requirements elicitation 23

Discussion and Conclusion Most of the reused ontologies are functional requirements ontologies. Requirements ontologies are mostly reused for requirements elicitation purpose. Some authors reused their own requirements ontologies in their other works. Reusing requirements ontologies is not popular. Requirements ontologies could be reused partially or totally. Most of the authors stated that comparing to the gained advantages, the effort and time spent on reusing the ontologies were small. 24

References 1. Dermeval, D., Vilela, J., Bittencourt, I. I., Castro, J., Isotani, S., Brito, P., & Silva, A. (2016). Applications of ontologies in requirements engineering: a systematic review of the literature. Requirements Engineering, 21(4), 405-437. 2. Pacheco, C., Garcia, I., Calvo-Manzano, J. A., & Arcilla, M. (2017). Reusing functional software requirements in smallsized software enterprises: a model oriented to the catalog of requirements. Requirements Engineering, 22(2), 275-287. 3. Goldin, L., & Berry, D. M. (2015). Reuse of requirements reduced time to market at one industrial shop: a case study. Requirements Engineering, 20(1), 23-44. 4. Chernak, Y. (2012, June). Requirements reuse: the state of the practice. In Software Science, Technology and Engineering (SWSTE), 2012 IEEE International Conference on (pp. 46-53). IEEE. 5. Pohl, K., Böckle, G., & van Der Linden, F. J. (2005). Software product line engineering: foundations, principles and techniques. Springer Science & Business Media. 6. Blomqvist, E., Hitzler, P., Janowicz, K., Krisnadhi, A., Narock, T., & Solanki, M. (2016). Considerations regarding Ontology Design Patterns. Semantic Web, 7(1), 1-7. 7. Lauesen, S. (2001). Software Requirements: Styles and Techniques 8. de Almeida Falbo, R., & Nardi, J. C. (2008). Evolving a software requirements ontology. In XXXIV Conferencia Latinoamericana de Informática CLEI 2008(pp. 300-309). 25

References 9. Wang, T., Si, Y., Xuan, X., Wang, X., Yang, X., Li, S., & Kavs, A. J. (2010, November). A QoS ontology cooperated with feature models for non-functional requirements elicitation. In Proceedings of the Second Asia-Pacific Symposium on Internetware (p. 17). ACM. 10. Wohlrab, R., de Gooijer, T., Koziolek, A., & Becker, S. (2014, August). Experience of pragmatically combining RE methods for performance requirements in industry. In Requirements Engineering Conference (RE), 2014 IEEE 22nd International (pp. 344-353). IEEE. 11. Dzung, D. V., & Ohnishi, A. (2009, November). Ontology-based reasoning in requirements elicitation. In Software Engineering and Formal Methods, 2009 Seventh IEEE International Conference on (pp. 263-272). IEEE. 12. Dzung, D. V., & Ohnishi, A. (2012, December). A verification method of elicited software requirements using requirements ontology. In Software Engineering Conference (APSEC), 2012 19th Asia-Pacific (Vol. 1, pp. 553-558). IEEE.. 26

Thank you,,, Any questions? 27