Software Reuse Facilitated by the Underlying Requirement Specification Document: A Knowledge-Based Approach
Oladejo F. Bolanle,
Ayetuoma O. Isaac
Issue:
Volume 3, Issue 3, June 2014
Pages:
21-28
Received:
10 June 2014
Accepted:
28 June 2014
Published:
10 July 2014
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.
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. H...
Show More