Software Reuse Facilitated by the Underlying Requirement Specification Document: A Knowledge-Based Approach
American Journal of Software Engineering and Applications
Volume 3, Issue 3, June 2014, Pages: 21-28
Received: Jun. 10, 2014;
Accepted: Jun. 28, 2014;
Published: Jul. 10, 2014
Views 3400 Downloads 232
Oladejo F. Bolanle, Department of Computer Science, University of Ibadan, Ibadan, Nigeria; University of Ibadan, UI, Ibadan, Nigeria
Ayetuoma O. Isaac, Department of Computer Science, University of Ibadan, Ibadan, Nigeria; University of Ibadan, UI, Ibadan, Nigeria
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.
Oladejo F. Bolanle,
Ayetuoma O. Isaac,
Software Reuse Facilitated by the Underlying Requirement Specification Document: A Knowledge-Based Approach, American Journal of Software Engineering and Applications.
Vol. 3, No. 3,
2014, pp. 21-28.
Y. Kim and E.A. Stohr, “Software Reuse: Survey and Research Directions,” Journal of Management Information Systems, 1997.
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.
H. Baetjer, Jr., “Software as Capital,” IEEE Computer Society Press, 1998, p. 85.
R. S. Pressman, “Software Engineering. A Practitioner’s Approach,” 5th ed., McGraw-Hill series in Computer science, 2001.
Standish Group. The CHAOS Report. Dennis, M.A: The Standish Group, 1994.
Standish Group. “The Scope of Software Development Project Failures,” Dennis, MA: The Standish Group, 1995.
S.L. Pfleeger and M.A. Joanne, “Software Engineering: Theory and Practice.” 4th ed., Pearson Higher Education, 2010.
M. Hafedh, M. Fatma, and M. Ali, “Reusing Software: Issues and Research Directions,” IEEE Transactions on Software Engineering, Vol. 21, No. 6, June 1995.
G.N.K. Suresh, and S.K. Srivatsa, “Analysis and Measures of Software Reusability.” International Journal of Reviews in Computing, 2009.
P. Nandish, “Software Reuse and/or Software Complexity Management.” Networks on Chips, 2008.
I. Sommerville, “Software Engineering,” 8th Edition, (Addison-Wesley Publishers Ltd.,), 2008, pp. 415 - 438.
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.
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.
J. F. Sowa, “Knowledge Representation: logical, philosophical, and computational foundations,” Brooks Cole Publishing Co., Pacific Grove, CA. 2000.
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
B. Jalender, A. Govardhan, and P. Premchand, “A Pragmatic Approach to Software Reuse.” A Journal of Theoretical and Applied Information Technology, 2010.
H.E. Lethal, and G. D. Carl, “Automatically Identifying Reusable OO Legacy Code.” University of Alabama, Huntsville, 1997.
T.R. Gruber, “Toward Principles for the Design of Ontologies Used for Knowledge Sharing.” 1993.
J. Igor, M. John, and Y. Eric, “Using Ontologies for Knowledge Management: An Information Systems Perspective. University of Toronto, Toronto, Ontario, Canada. 1999.
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.
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
D. Poole, “Knowledge Representation Framework,” 1998.
IEEE-Std 1233, IEEE Guide for Developing System Requirements Specifications, 1998.