| Peer-Reviewed

Software Reuse Facilitated by the Underlying Requirement Specification Document: A Knowledge-Based Approach

Received: 10 June 2014     Accepted: 28 June 2014     Published: 10 July 2014
Views:       Downloads:
Abstract

Reinventing the wheel may not be appropriate in all instances of software development, and so, rather than do this, reuse of software artifacts should be embraced. Reuse offers certain benefits which include reduction in the overall development costs, increased reliability, standards compliance, accelerated development and reduced process risk. However, reusable software artifacts may not be considered useful if they cannot be accessed and understood. In this work, a knowledge based system was designed to capture requirements specification documents as abstract artifacts to be reused. Both explicit and tacit knowledge identification and acquisition- an important step in knowledge base development, was carried out through extraction from customer requirement documents, interviews with domain experts and personal observations. Protege4.1 was used as a tool for developing the Ontology. Web Ontology Language (OWL) was the search mechanism used to search the classified ontology to deduce reusable requirement components based on the underlying production rules for querying and retrieval of artifacts. Knowledge was formalized and result testing was carried out using software requirement specification documents from different domains. Result shows that only requirements with similar object properties called system purpose could really reuse such artifacts. The possibility of accessing more reusable artifacts lies in the update of the repository with more requirement specification documents. Scopes and purposes of previously developed software that would suit a proposed system in the same (or similar) domain would be found and consequently support the reuse of any of the end-products of such previously developed software.

Published in American Journal of Software Engineering and Applications (Volume 3, Issue 3)
DOI 10.11648/j.ajsea.20140303.11
Page(s) 21-28
Creative Commons

This is an Open Access article, distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution and reproduction in any medium or format, provided the original work is properly cited.

Copyright

Copyright © The Author(s), 2014. Published by Science Publishing Group

Keywords

Knowledge Based System, Ontology, Reuse, Software, SRSR-Software Requirement Specification Reuse

References
[1] Y. Kim and E.A. Stohr, “Software Reuse: Survey and Research Directions,” Journal of Management Information Systems, 1997.
[2] R. B. Victor, B. John, G. J. Bok, and H.R. Dieter, “Software Reuse: A framework for Research,” Department of Computer Science, University of Maryland, 2002.
[3] H. Baetjer, Jr., “Software as Capital,” IEEE Computer Society Press, 1998, p. 85.
[4] R. S. Pressman, “Software Engineering. A Practitioner’s Approach,” 5th ed., McGraw-Hill series in Computer science, 2001.
[5] Standish Group. The CHAOS Report. Dennis, M.A: The Standish Group, 1994.
[6] Standish Group. “The Scope of Software Development Project Failures,” Dennis, MA: The Standish Group, 1995.
[7] S.L. Pfleeger and M.A. Joanne, “Software Engineering: Theory and Practice.” 4th ed., Pearson Higher Education, 2010.
[8] M. Hafedh, M. Fatma, and M. Ali, “Reusing Software: Issues and Research Directions,” IEEE Transactions on Software Engineering, Vol. 21, No. 6, June 1995.
[9] G.N.K. Suresh, and S.K. Srivatsa, “Analysis and Measures of Software Reusability.” International Journal of Reviews in Computing, 2009.
[10] P. Nandish, “Software Reuse and/or Software Complexity Management.” Networks on Chips, 2008.
[11] I. Sommerville, “Software Engineering,” 8th Edition, (Addison-Wesley Publishers Ltd.,), 2008, pp. 415 - 438.
[12] B.F Oladejo & A.O. Osofisan, “A Conceptual Framework for Knowledge Integration in the Context of Decision Making Progress,” African Journal of Computer & ICT, vol. 4, No. 2. Issue2. Pp.25-32, 2011.
[13] B. F. Oladejo, V. T. Odumuyiwa, and A. A. David, “Dynamic Capitalization and Visualization Strategy in Collaborative Knowledge Management system for EI process,” World Academy of Science, Engineering and Technology pp66, 2010.
[14] J. F. Sowa, “Knowledge Representation: logical, philosophical, and computational foundations,” Brooks Cole Publishing Co., Pacific Grove, CA. 2000.
[15] P. Speel, A. Th. Schreiber, W.V. Joolingen, and G. Beijer, “Conceptual Models for Knowledge-Based Systems.” Encyclopedia of Computer Science and Technology, Marcel Dekker Inc., New York, 2001
[16] B. Jalender, A. Govardhan, and P. Premchand, “A Pragmatic Approach to Software Reuse.” A Journal of Theoretical and Applied Information Technology, 2010.
[17] H.E. Lethal, and G. D. Carl, “Automatically Identifying Reusable OO Legacy Code.” University of Alabama, Huntsville, 1997.
[18] T.R. Gruber, “Toward Principles for the Design of Ontologies Used for Knowledge Sharing.” 1993.
[19] J. Igor, M. John, and Y. Eric, “Using Ontologies for Knowledge Management: An Information Systems Perspective. University of Toronto, Toronto, Ontario, Canada. 1999.
[20] G. Schreiber, H. Akkermans, A. Anjewierden, R. de Hoog, N. Shadbolt, W.V. de Velde, and B. Wielinga, “Knowledge Engineering and Management: The Common KADS Methodology,” Massachusetts: MIT Press, 1999.
[21] G. Avram. Empirical Study on Knowledge Based Systems. The Electronic Journal of Information Systems Evaluation, Vol. 8, Iss.1, pp 11-20, available online at www.ejise.com, 2005
[22] D. Poole, “Knowledge Representation Framework,” 1998.
[23] IEEE-Std 1233, IEEE Guide for Developing System Requirements Specifications, 1998.
Cite This Article
  • APA Style

    Oladejo F. Bolanle, Ayetuoma O. Isaac. (2014). Software Reuse Facilitated by the Underlying Requirement Specification Document: A Knowledge-Based Approach. American Journal of Software Engineering and Applications, 3(3), 21-28. https://doi.org/10.11648/j.ajsea.20140303.11

    Copy | Download

    ACS Style

    Oladejo F. Bolanle; Ayetuoma O. Isaac. Software Reuse Facilitated by the Underlying Requirement Specification Document: A Knowledge-Based Approach. Am. J. Softw. Eng. Appl. 2014, 3(3), 21-28. doi: 10.11648/j.ajsea.20140303.11

    Copy | Download

    AMA Style

    Oladejo F. Bolanle, Ayetuoma O. Isaac. Software Reuse Facilitated by the Underlying Requirement Specification Document: A Knowledge-Based Approach. Am J Softw Eng Appl. 2014;3(3):21-28. doi: 10.11648/j.ajsea.20140303.11

    Copy | Download

  • @article{10.11648/j.ajsea.20140303.11,
      author = {Oladejo F. Bolanle and Ayetuoma O. Isaac},
      title = {Software Reuse Facilitated by the Underlying Requirement Specification Document: A Knowledge-Based Approach},
      journal = {American Journal of Software Engineering and Applications},
      volume = {3},
      number = {3},
      pages = {21-28},
      doi = {10.11648/j.ajsea.20140303.11},
      url = {https://doi.org/10.11648/j.ajsea.20140303.11},
      eprint = {https://article.sciencepublishinggroup.com/pdf/10.11648.j.ajsea.20140303.11},
      abstract = {Reinventing the wheel may not be appropriate in all instances of software development, and so, rather than do this, reuse of software artifacts should be embraced. Reuse offers certain benefits which include reduction in the overall development costs, increased reliability, standards compliance, accelerated development and reduced process risk.   However, reusable software artifacts may not be considered useful if they cannot be accessed and understood.  In this work, a knowledge based system was designed to capture requirements specification documents as abstract artifacts to be reused. Both explicit and tacit knowledge identification and acquisition- an important step in knowledge base development, was carried out through extraction from customer requirement documents, interviews with domain experts and personal observations. Protege4.1 was used as a tool for developing the Ontology. Web Ontology Language (OWL) was the search mechanism used to search the classified ontology to deduce reusable requirement components based on the underlying production rules for querying and retrieval of artifacts. Knowledge was formalized and result testing was carried out using software requirement specification documents from different domains. Result shows that only requirements with similar object properties called system purpose could really reuse such artifacts. The possibility of accessing more reusable artifacts lies in the update of the repository with more requirement specification documents. Scopes and purposes of previously developed software that would suit a proposed system in the same (or similar) domain would be found and consequently support the reuse of any of the end-products of such previously developed software.},
     year = {2014}
    }
    

    Copy | Download

  • TY  - JOUR
    T1  - Software Reuse Facilitated by the Underlying Requirement Specification Document: A Knowledge-Based Approach
    AU  - Oladejo F. Bolanle
    AU  - Ayetuoma O. Isaac
    Y1  - 2014/07/10
    PY  - 2014
    N1  - https://doi.org/10.11648/j.ajsea.20140303.11
    DO  - 10.11648/j.ajsea.20140303.11
    T2  - American Journal of Software Engineering and Applications
    JF  - American Journal of Software Engineering and Applications
    JO  - American Journal of Software Engineering and Applications
    SP  - 21
    EP  - 28
    PB  - Science Publishing Group
    SN  - 2327-249X
    UR  - https://doi.org/10.11648/j.ajsea.20140303.11
    AB  - Reinventing the wheel may not be appropriate in all instances of software development, and so, rather than do this, reuse of software artifacts should be embraced. Reuse offers certain benefits which include reduction in the overall development costs, increased reliability, standards compliance, accelerated development and reduced process risk.   However, reusable software artifacts may not be considered useful if they cannot be accessed and understood.  In this work, a knowledge based system was designed to capture requirements specification documents as abstract artifacts to be reused. Both explicit and tacit knowledge identification and acquisition- an important step in knowledge base development, was carried out through extraction from customer requirement documents, interviews with domain experts and personal observations. Protege4.1 was used as a tool for developing the Ontology. Web Ontology Language (OWL) was the search mechanism used to search the classified ontology to deduce reusable requirement components based on the underlying production rules for querying and retrieval of artifacts. Knowledge was formalized and result testing was carried out using software requirement specification documents from different domains. Result shows that only requirements with similar object properties called system purpose could really reuse such artifacts. The possibility of accessing more reusable artifacts lies in the update of the repository with more requirement specification documents. Scopes and purposes of previously developed software that would suit a proposed system in the same (or similar) domain would be found and consequently support the reuse of any of the end-products of such previously developed software.
    VL  - 3
    IS  - 3
    ER  - 

    Copy | Download

Author Information
  • Department of Computer Science, University of Ibadan, Ibadan, Nigeria

  • Department of Computer Science, University of Ibadan, Ibadan, Nigeria

  • Sections