Toward an Ontology for Functional Requirements

Ontology for Functional Requirements
Ontology for Functional Requirements

Want help to write your Essay or Assignments? Click here

Toward an Ontology for Functional Requirements

Introduction

Software development is undoubtedly one of the most daunting tasks in the field of information systems and a key process involved is specifying software requirements aimed at understanding and defining the functionalities required from the software (Lauesen, 2002). This fete is determined by outlining the software requirements that describe both non-functional as well as functional requirements of the software system that subsequently become the basis for the process of developing the software system (Sommerville, 2007).

Accordingly, requirements of software systems that exist play a crucial role in providing insights with regards to the re-usability of software artifacts that are already implemented. In the course of software system development process, typical discussions take place between developers and customers in order to agree on requirements specifying the software system functionality (Wiegers, 2003). However, this research report focuses on ontology for functional requirements meaning emphasis will be on the software functionality.

According to Gómez-Pérez, Fernández-López & Corcho (2004) ontology is an explicit or formal specification or description of a shared conceptualization of objects in terms of their constraints, relationships, properties, and behaviors. Functional ontology with regards to software refers to the desired characteristics of the software as specified by the customer and when they fall within functional requirements (FRs) are considered to be a sequence of actions based on a particular context (Malan & Bredemeyer, 1999).

Al-Ahmad, Magel & Abufardeh (2015) defined functional requirements as the characteristics describing the system behavior through an expression of it as the system’s inputs and output as well as the relationships that ensue between inputs and the output. Such requirements are crucial in the software’s development life-cycle since they act as the basis for cost estimation, work plans, implementations as well as follow-up directives or maintenance (van Lamsweerde, 2009). As a result, the purpose of this research report is to build ontology for functional requirements.

Ontology for Functional Requirements

Want help to write your Essay or Assignments? Click here

Motivation/scope

The purpose of this research report is to build ontology for functional requirements and its motivation lies in specifying the ontology’s functional requirements and systematization by devising prescriptive, efficient and detailed guidelines of the methodology specifying functional requirements of the proposed ontology. The methodological guidelines for the proposed ontology are developed in the context of competency questions (CQs) and motivated by methodologies that already exist for building ontologies as well as available literature and practices (van Lamsweerde, 2009).

The inspiration of this project is further based on the fact that, these methodological guidelines which are already in existence help in capturing knowledge from users of the developed ontologies leading to production of the ontology requirements’ specification document (ORSD), which is subsequently utilized by ontology engineers towards developing ontologies satisfying identified functional ontology requirements.

As a result, the significant motivation is that the methodological guidelines to be developed play a key role in serving as an agreement among domain experts, ontology engineers and users on the functional requirements to be included in the ontology (van Lamsweerde, 2009). 

Furthermore, building a software system that is knowledge intensive was another great motivation of this project where the ORSD would be decisive throughout the process of developing the ontology if an actual application was to be carried out since it facilitates: facilitating (1) searching and reusing of knowledge-aware resources that exist in order to re-engineer them into ontologies; (2) searching and reusing of ontologies that exist, ontology design, patterns, ontology statements, or ontology modules; and (3) ontology verification throughout the process of developing ontologies, among other activities (Roth & Woodsend, 2014).

The context in which the methodological guidelines presented in this research report have been generated based on the NeOn Methodology with regards to the NeOn project guidelines (Gómez-Pérez & Suárez-Figueroa, 2008). The scope of the research report is covered in four main sections: Section 1 is the introduction which discusses the introductory aspects of the research report, including the motivation/scope; statement of the problem and significance for information systems (IS); the problem’s importance; and objectives/goals.

Section 2 includes the background of the research report where guidelines of the methodology for functional requirements’ ontology are specified and discussed. Section 3 presents the discussion and anticipated applications of the proposed ontology for functional requirements. Finally, Section 4 provides the conclusions and future work.

Ontology for Functional Requirements

Want help to write your Essay or Assignments? Click here

Problem statement and significance for IS

Since the invention of computers and information systems, software uses have never reached the levels they are at nowadays because of the myriad of problems they are currently solving (Al-Ahmad et al, 2015). However, today software development processes have focused on tailor-made software targeted to solve a similar problem facing a group of individuals, companies, organizations or institutions.

Hence the most demanding and key process in software development is to specify requirements of the ontology, especially the functional requirements outlining the functionality of the software system (van Lamsweerde, 2009). Failure to carry out this task effectively, which is a serious problem, will definitely lead to development of an inefficient ORSD which will not succinctly specify and describe functions of the software product or system (Grüninger & Fox, 1995).

When functional requirements of ontologies are confusing, costs of developing ontologies are often increased, which makes the process of analyzing ontology requirements the most important phase in the life-cycle of ontology development (Cascini, Fantoni & Montagna, 2013). The process of analyzing ontology requirements focuses on specifying effective functional requirements that satisfy customer needs and their implementation by developers is feasible.

This is undoubtedly a challenging fete to achieve easily and usually poses a major problem to many software developers. However, ontology requirements are often established using competency questions (CQs) identification technique in most of the existing software development methodologies, but the current methodologies’ guidelines for building software do not provide sufficient definitions of ontology’s functional requirements hence causing an additional problem (Staab et al., 2001; Roth & Woodsend, 2014).

Ontology for Functional Requirements

Want help to write your Essay or Assignments? Click here

Furthermore, the challenge or problem posed by the need to sufficiently identify/specify and describe ontology requirements, particularly the functional requirements in the process of software development life cycle is of great significance for information systems (IS). This is attributed to the fact that the methodological guidelines used to develop ontology requirements help in capturing knowledge from users, leading to production of ORSD that are subsequently utilized by ontology engineers in developing ontologies that satisfy the identified requirements (van Lamsweerde, 2009).

As a result, these methodological guidelines for the ontology to be developed play a key role in serving as an agreement among domain experts, ontology engineers and end-users on the functional requirements to be included in the ontology; thus they become of great significance for information systems (IS) field as a whole (van Lamsweerde, 2009).

In addition, when building a software system that is knowledge intensive, the ORSD developed from the respective functional requirements and methodological guidelines facilitates the searching and reusing of knowledge-aware resources that exist in order to re-engineer them into ontologies; searching and reusing of ontologies that exist, ontology design, patterns, ontology statements, or ontology modules; and ontology verification throughout the process of developing ontologies, among other activities (Roth & Woodsend, 2014).

Ontology for Functional Requirements

Want help to write your Essay or Assignments? Click here

Importance of the problem

            The importance of the problem discussed in the previous sub-section is undisputable because the identification of ontology requirements’ specification plays a critical role in the process of software development. This is mainly because it attempts to define and understand the required functionalities from the software system or product based on the identified ontology’s functional requirements (Kotonya & Sommerville, 1998).

As a result, there are several benefits provided by the detailed software requirements document produced including:

(a) establishing the basis on which customers and developers or suppliers agree on the uses and users of the software system or product to be developed,

(b) reducing the effort required to develop the software,

(c) providing the basis on which costs and schedules are estimated, and

(d) offering a baseline to validate and verify the developed software system or product (Ambrósio et al., 2004).

As a result, clearly developed methodological guidelines help IT experts or technicians to build ontology-based applications or software that are used to solve problems we face on daily basis (Wiering, 1996). Thus, based on these efforts software developers currently have precise methodological guidelines that are helpful to them when defining functional requirements of the applications they develop on daily basis (van Lamsweerde, 2009).

Ontology for Functional Requirements

Want help to write your Essay or Assignments? Click here

Objectives

The overall goals of this project are to identify a particular methodology for building ontologies, including the method guidelines for ontology’s functional requirements specification. This includes stating the purpose for building the proposed ontology, the intended users and uses as well as the functional requirements that should be fulfilled by the ontology after its formal implementation through detailed methodological guidelines that efficiently specify functional requirements of the ontology.

Background    

The growth of interest in approaches to build ontologies from scratch has been increasing since 1990s and early year of this century, especially in the reuse of existing ontologies as well as utilization of semiautomatic methods aimed at reducing challenges of knowledge of acquisition in the process of ontology development. However, up to mid-1990s the process was slow because it was art based instead of engineering activity and each team involved pursued their own design criteria, set of principles and the ontology building phases were manual.

In 1997, the process of ontology development (Fernández-López & Gómez-Pérez, 2004) was identified on the METHONTOLOGY methodology framework for construction of ontology. The basis of such proposal was the IEEE standard for the development of software and it outlined all the activities carried out when developing ontologies (IEEE, 1998).  

When developing a software application in context of ontologies, the functional requirements of the ontology should be identified as well as those of the application (Wiegers, 2003). Sommerville (2007) claims that today there are precise methodologies to help ontology-based software application developers in defining application requirements. For instance, in METHONTOLOGY [Gómez-Pérez et al., 2004] the goals of the activity of specifying ontology requirements are identified; however, methods to conduct those activities are not proposed in this methodology.

In other methodologies such as Grüninger and Fox [Grüninger & Fox, 1995], the Unified methodology [Uschold, 1996], and On-To-Knowledge methodology [Staab et al., 2001], identification of the requirements follows aspects for ORSD creation including: (1) the ontology’s purpose, (2) the intended ontology’s users and uses, and (3) the set of ontology requirements to be fulfilled after the formal implementation of the ontology.

Competency questions (CQs) are commonly used in most methodologies existing today in order to establish ontology requirements. However, considering that CQs are questions and answers based on the natural language on which the ontology is built, their responses are essential in determining and evaluating the type of required requirements that are specified.

Ontology for Functional Requirements

Want help to write your Essay or Assignments? Click here

Generally, ontology requirements are expressed in a variety of ways, including story-boards and UML diagrams. Alternatively, expectations of the ontology are most commonly expressed in natural language such as the ability of a user to log-in to his/her account (Mich et al., 2004). However, despite the benefit of natural language being intelligible to both developers and clients, they can lead to ambiguity, vagueness and incompleteness (Fernández-López & Gómez-Pérez, 2004). Roth & Woodsend, 2014) argued that although the use of formal languages as an alternative can eliminate some of these challenges, customers are not often able to understand the requirements when they are highly formalized.

Al-Ahmad et al, (2015) proposed that in order to decrease the requirements’ inconsistency and ambiguity caused by the use of the informal natural language approaches that capture both semantic and syntactic features of requirements can be used.

Guidelines of NeOn Methodology for Ontology Functional Requirements

Methodological guidelines in the context of the NeOn Methodology [Gómez-Pérez & Suárez-Figueroa, 2008] are used in this research report to discuss the ontology functional requirements. The creation of the methodological guidelines presented in this research report was done based on the NeOn Methodology, particularly relying on previous studies conducted to revise the status of ontology development.

Next, in Fig. 1 presented below the methodological guidelines for the specification of ontology functional requirements are outlined in prescriptive as well as detailed manner, highlighting main tasks that are carried out in addition, to the involved inputs and the output as well as the responsible actors.   

Want help to write your Essay or Assignments? Click here

Task 1:  Identification of purpose, scope as well as ontology implementation language: This task determines ontology’s main goal, its feasible granularity and coverage as well as implementation language. The team developing the ontology achieves this by conducting interviews with domain experts and end-users to identify their needs in order for developers the ontology to make a decision on the most appropriate language to be formally used implement the ontology.  

Task 2: Identification of intended end-users: This task is aimed at establishing the ontology’s intended end-users who will be mainly using the ontology to be developed. The team developing the ontology achieves this by conducting interviews with domain experts and end-users where a set of the identified needs of the ontology are taken as inputs; whereas a list of the ontology’s intended users is taken as the output.

Task 3: Identification of intended uses: Scenarios linked to the targeted ontology-based application are the main motivation of the ontology development; hence, this task is aimed at obtaining the intended use scenarios and uses of the ontology. The team developing the ontology achieves this by conducting interviews with domain experts and end-users where a set of identified needs of the ontology are taken as inputs; whereas a list of the ontology’s intended uses based on scenarios is taken as the output.

The inputs should outline the ontology uses within the intended ontology-based application in order to obtain an overview of the ontology’s functional requirements, while the output should describe a set of general functional requirements the ontology should fulfill upon its formal implementation. 

Task 4: Identification of ontology’s functional requirements: This task is aimed at acquiring a set of ontology’s functional requirements that should be fulfilled by the ontology because they are considered essential content requirements referring to specific knowledge which is the represented by the proposed ontology. The team developing the ontology achieves this by conducting interviews with domain experts and end-users where a set of identified needs of the ontology are taken as inputs; whereas ontology’s initial functional requirements are taken as the output.

Writing of CQs in natural language is used as the main technique to identify functional requirements in addition to other techniques such as Excel and mind map tools. Using wiki tools including Cicero 12 is also appropriate when people involved are geographically distributed.

Task 5: Grouping of ontology’s functional requirements: This task is aimed at grouping CQs identified in task 4 of this methodology into various categories. A hybrid approach should be used by domain experts, intended ontology users, and the team developing the ontology in classifying the list of CQs by not only combining categories that are established in advance including date, time, units of measurement, languages, locations, currencies, etc., in addition, to creating categories for words found within the list of CQs that have the highest frequencies of appearance.

Card sorting technique is used in manual grouping, while natural language clustering to extract information technique is used in automated grouping. In addition, graphic display of CQs in groups is done using mind map, whereas Cicero is used in collaborative grouping.

Want help to write your Essay or Assignments? Click here

Task 6: Validating the set of functional requirements: This task’s goal is to identify missing functional ontology requirements, possible conflicts between functional ontology requirements, as well as contradictions between them. The task is executed by domain experts and end-users taking a set of ontology’s functional requirements identified in task 4 of this process as inputs aimed to determine the validity of each element. Confirmation the validity of a set of ontology’s functional requirements is taken as the task’s output.

Task 7: Prioritizing ontology’s functional requirements: The task is aimed at assigning various levels of priority to the identified ontology’s functional requirements with regards to various groups of CQs, and to various CQs in every group obtained in task 5. The task is executed by ontology’s domain experts, intended end-users, and the team developing the ontology taking ontology’s functional requirements identified in task 4 of the process and groups of CQs obtained in task 5 of the process as inputs.

A set of obtained priorities inherent in every functional requirement as well as to each CQ in a group and to each group of CQs is taken as the task output.

Task 8: Extracting terminologies and their frequencies: This task is aimed at extracting a pre-glossary of terms within the obtained CQs as well as answers provided. The extracted pre-glossary of terms are divided into three parts that are distinct from each other as follows: terms that are extracted from CQs, terms that are extracted from answers provided to CQs, as well as terms whose identification is attributed to named entities, which are objects.

There will be future use of extracted terms showing higher frequencies of appearance in knowledge-aware resources searching when they have reuse potential in later processes of ontology development. This task should be carried out by the team developing the ontology, taking the obtained CQs and the provided answers as inputs utilizing techniques of terminology-extraction and tools that support them.

Want help to write your Essay or Assignments? Click here

Discussion and Anticipated Applications

In the process of developing ontology-based software application, there must be identification of the ontology requirements as well as those of the application itself. The experience gained in this project indicated that, more essential than mere software’s functional requirements capturing was precise as well as effective identification of ontology’s inherent knowledge.

As a result, ontology-based software application developers currently have specific methodological guidelines that are helpful to them in defining functional requirements of the software applications they intend to develop. This implies that, the NeOn methodology guidelines used to specify functional ontology requirements’ specification of the proposed ontology presented here, have been utilized to the NeOn ontologies as well as developing ontologies educational as well as research projects whose developers’ feedback on ontologies is interesting in each case (Gómez-Pérez & Suárez-Figueroa, 2008).

Furthermore, it is worth to mention that the methodological guidelines developed in this research project based on NeOn Methodology and the subsequent ORSD facilitated the process of identifying the functional requirements of an ontology in a variety of ways including:

(1) allowing representation of specific knowledge in developed ontologies to be identified,

(2) facilitating knowledge resources that are already existing to be reused by focusing the search of the resource in representation of specific knowledge in developed ontologies, as well as

(3) permitting developed ontologies to be verified with regards to functional requirements that ontologies should satisfy (Gómez-Pérez & Suárez-Figueroa, 2008).

As a result, the produced detailed software requirements document was proved to be good guideline because it fulfilled several aspects including: (a) establishing the basis on which customers and developers or suppliers agree on the uses and users of the software system or product to be developed, (b) reducing the effort required to develop the software, (c) providing the basis on which costs and schedules are estimated, and (d) offering a baseline to validate and verify the developed software system or product (Ambrósio et al., 2004).

Want help to write your Essay or Assignments? Click here

Developed methodological guidelines on the basis of NeOn Methodology succinctly outline the ontology functional requirements leading to the development of ORSD which allows (a) a search that is more direct for existing knowledge resources that are necessary to be reused in the process of developing the ontology, and (b) the ontology content evaluation (Wiegers, 2003). Thus, the methodological guidelines of NeOn Methodology can have applications in various projects.

For instance, developed guidelines can be applied in e-Employment whose goals are developing an interoperable and knowledge intensive architecture based on ontologies of public e-Employment services (PES), and enabling market-places that are federated for mediation of employment agencies through an interoperation which is based on peer-to-peer network (Gómez-Pérez & Suárez-Figueroa, 2008). These methodological guidelines of NeOn Methodology can also be used in e-Procurement as well as pharmaceutical companies.

For instance, in e-Procurement application they can be used in solving the problem caused by the lack of interoperability between those emit and receive invoices; whereas in pharmaceutical companies application, these guidelines can be used in helping to systematize the creation, maintenance and storage of updated information that is drug-related as well as allowing new drug resources to be easily integrated (Sommerville, 2007).   

Want help to write your Essay or Assignments? Click here

Conclusion and Future Work

In conclusion, it is important to state that identification of functional requirements is one of the crucial activities in the process of developing ontologies. In this research report, the specification of ontology’s functional requirements has been systematized in the proposed prescriptive as well as detailed methodological guidelines developed in the context of NeOn Methodology in order to specify ontology’s functional requirements.

The developed methodological guidelines can act as a baseline for creating a particular ORSD which is critical to speed up the process of developing the ontology. Terms as well as their frequency of occurrence from the ORSD’s pre-glossary can be used to search and select consensual and knowledge-aware resources that are existing, which after the process of re-engineering when essential, thereby allowing ontologies to be built faster, cheaply, and with higher quality.

The developed methodology guidelines based on NeOn Methodology presented in this research report can be extended further to develop a tool capable of automatically generating all possible combinations for relations and concepts in functional requirements, as well as automating the process of constructing detection rules, and also in developing ORSD.

Despite the fact that, ontology-based software application developers currently have specific methodological guidelines that are helpful to them in defining functional requirements of the software applications they intend to develop, these guidelines are not sufficient to succinctly define functional requirements of ontologies and more work is envisaged in the near future to address this challenge.      

Want help to write your Essay or Assignments? Click here

References   

B. Al-Ahmad, K. Magel, and S. Abufardeh, “A Domain Ontology Based Approach to Identify Effect Types of Security Requirements upon Functional Requirements,” International Journal of Knowledge Engineering, vol. 1, no. 1, pp. 24-29, 2015.

A. P. Ambrósio, D. C. de Santos, F. N. de Lucena, and J. C. de Silva, “Software Engineering Documentation: An Ontology-Based Approach,” Proc. Web Media and LA-Web Joint Conf., 10th Brazilian Symp. Multimedia and Web Second Latin Am. Web Congress, pp. 38-40, 2004.

G. Cascini, G. Fantoni, and F. Montagna, “Situating needs and requirements in the FBS framework,” Design Studies, vol. 34, no. 5, pp. 636–662, 2013.

B. Chandrasekaran, and J. R. Josephson, “Function in device representation,” Engineering with Computers, vol. 16, no. 3-4, pp. 162–177, 2000.

A. Davis, “Software Requirements: Objects, Functions and States,” Upper Saddle River, NJ: Prentice Hall, 1993.

A. Gómez-Pérez, M. Fernández-López, and O. Corcho, “Ontological Engineering: With examples from the areas of Knowledge Management, e-Commerce and the Semantic Web,” London, UK: Springer Verlag London Limited, 2004.

M. Grüninger, and M. Fox, “Methodology for the design and evaluation of ontologies,” In Skuce, D. (ed) IJCAI95 Workshop on Basic Ontological Issues in Knowledge Sharing, pp. 6.1–6.10, 1995.

M. Fernández-López, and A. Gómez-Pérez, “Searching for a Time Ontology for Semantic Web Applications,” Formal Ontology in Information Systems, Turín, Italy, 2004.

A. Gómez-Pérez, and M. C. Suárez-Figueroa, “NeOn Methodology: Scenarios for Building Networks of Ontologies,” 16th International Conference on Knowledge Engineering and Knowledge Management Knowledge Patterns (EKAW 2008). Conference Poster, Turín, Italy, 2008.

T. J. Howard, S. J. Culley, and E. Dekoninck, “Describing the creative design process by the integration of engineering design and cognitive psychology literature,” Design Studies, vol. 29, no. 2, pp. 160–180, 2008.

IEEE, “Recommended Practice for Software Requirements Specifications,” IEEE Standards, p. 830, 1998.

G. Kotonya, and I. Sommerville, “Requirements Engineering: Processes and Techniques,” New York, NY: John Wiley & Sons, 1998.

S. Lauesen, “Software Requirements: Styles and Techniques,” London, UK: Pearson Education Limited, 2002.

J. Lee, and N. L. Xue, “Analyzing user requirements by use cases: A goal-driven approach,” IEEE Software, vol. 16, no. 4, pp. 92-101, 1999.

R. Malan, and D. Bredemeyer, “Functional requirements and use cases,” [Online]. Retrieved from: http://www.bredemeyer.com/pdf_files/functreq.pdf, 1999.

L. Mich, F. Mariangela, and N. I. Pierluigi, “Market research for requirements analysis using linguistic tools,” Requirements Engineering, vol. 9, no. 1, pp. 40–56, 2004.

M. Roth, and K. Woodsend, “Composition of word representations improves semantic role labeling,” Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing, Doha, Qatar, pp. 407–413, 2014.

I. Sommerville, “Software Engineering,” (8th ed.). New York, NY: International Computer Science Series, 2007.

S. Staab, P. Hans, R. Studer, and Y. Sure, “Knowledge Processes and Ontologies,” IEEE Intelligent Systems, vol. 16, no. 1, pp. 26–34, 2001.

M. C. Suárez-Figueroa, G. Aguado de Cea, C. Buil, K. Dellschaft, M. Fernández-López, and M. Uschold, “Building Ontologies: Towards A Unified Methodology,” In: Watson I (ed.) 16th Annual Conference of the British Computer Society Specialist Group on Expert Systems. Cambridge, United Kingdom, 1996.

M. C. Suárez-Figueroa, M. Fernández-López, A. Gómez-Pérez, K. Dellschaft, H. Lewen, and M. Dzbor, “NeOn D5.3.2. Revision and Extension of the NeOn Development Process and Ontology Life Cycle, NeOn project,” Retrieved from: http://www.neon-project.org, 2008.

M. Uschold, “Building Ontologies: Towards A Unified Methodology,” In: Watson I (ed.) 16th Annual Conference of the British Computer Society Specialist Group on Expert Systems. Cambridge, United Kingdom, 1996.

A. van Lamsweerde, “Requirements Engineering: From System Goals to UML Models to Software Specifications,” New York, NY: John Wiley & Sons, 2009.

E. Wiegers, “Software Requirements 2: Practical techniques for gathering and managing requirements throughout the product development cycle,” (2nd ed.). Redmond: Microsoft Press, 2003.

R. Wiering, “Requirements Engineering: Frameworks for Understanding,” New York, NY: John Wiley & Sons, 1996.

Want help to write your Essay or Assignments? Click here

Author: admin

This is author biographical info, that can be used to tell more about you, your iterests, background and experience. You can change it on Admin > Users > Your Profile > Biographical Info page."

Unlike most other websites we deliver what we promise;

  • Our Support Staff are online 24/7
  • Our Writers are available 24/7
  • Most Urgent order is delivered with 6 Hrs
  • 100% Original Assignment Plagiarism report can be sent to you upon request.

GET 15 % DISCOUNT TODAY use the discount code PAPER15 at the order form.

Type of paperAcademic levelSubject area
Number of pagesPaper urgencyCost per page:
 Total: