Technological Institute of the Philippines
Aurora Boulevard, Cubao, Quezon City
In partial fulfillment for the subject
Current Trends and Issues in IT
Mr. Junell Avestro
Lizbert Niño Igagamao
October 9, 2012
Effective reuse of software products is reportedly increasing productivity, saving time, and reducing cost of software development. Historically, software reuse focused on repackaging and reapplying of code modules, data structures or entire applications in the new software projects (Prieto-Diaz 1994). Recently, however, it has been acknowledgedas beneficial to redeploy software components across the entire development life-cycle, starting with domain modelling and requirements specification, through software design, coding and testing, to maintenance and operation. There were also attempts to reuse aspects of project organisation and methodology, development processes, and communication structures. However, as the concept of reusing software components is very clear at the code level (whether in source or binary form), the very same concept becomes more fuzzy and difficult to grasp when discussed in the context of reusing specifications and designs (whether in textual or diagrammatical form), or quite incomprehensible when applied to software informal requirements, domain knowledge or human skills and expertise (expressed in natural language, knowledge representation formalism, or existing only in humans). This problem of dealing with reusable software artefacts resulting from the earliest stages of software development, in particular requirements specifications, attracted our particular interest in the reusability technology.
Our work is motivated primarily by the possibility of improving the process of requirements elicitation by methodical reuse of software specifications and their components with the aid of information extracted from user informal requirements documents. The problems and issues that we aim to investigate in this research are best illustrated by the following statement outlining current needs and the goals for the future research in requirements reuse:
• "More research is needed on the advantages and the necessary methods for requirements reuse. For example, what are requirements components’, what makes them reusable, how can we store and retrieve them, and how do we write a requirements specification that gives us the highest probability of creating or reusing existing requirements components?" (Hsia, Davis et al. 1993).
To address the issues advanced by Hsia, Davis and Kung, and to avoid any confusion farther in this paper, we need to clearly define some major concepts of software reuse, reusability, reusable artefacts, their possible forms, reusability methods, their major motivators and inhibitors, etc. Hence, we adopt our definitions from Prieto-Diaz (Prieto-Diaz 1989) as follows :-• reuse is the use of previously acquired concepts or objects in a new situation, it involves encoding development information at different levels of abstraction, storing this representation for future reference, matching of new and old situations, duplication of already developed objects and actions, and their adaptation to suit new requirements;
• reuse is the use of previously acquired concepts or objects in a new situation, it involves encoding development information at different levels of abstraction, storing his representation for future reference, matching of new and old situations, duplication of already developed objects and actions, and their adaptation to suit new requirements;
• reusability is a measure of the ease with which one can use those previous concepts or objects in the new situations.
The object of reusability, reusable artefact , can be any information which a...
Bibliography: Agresti, W. W. and F. E. McGarry (1988). The Minnowbrook Workshop on Software
Reuse: A summary report
Ambler, A. L. and M. M. Burnett (1990). Influence of visual technology on the evolution
of language environments
Arango, G. and R. Prieto-Diaz (1991). Part1: Introduction and Overview, Domain
Analysis and Research Directions
Basili, V. R. (1990). Viewing maintenance as reuse-oriented software development. IEEE
Software : 19-25.
Biggerstaff, T. J. and C. Richter (1989). Reusability framework, assessment, and
Bubenko, J., C. Rolland, et al. (1994). Facilitating "Fuzzy to Formal" requirements
Castano, S. and V. De Antonellis (1994). “The F3 Reuse Environment for Requirements
Engineering.” ACM SIGSOFT Software Engineering Notes 19(3): 62-65.
Dillon, T. S. and P. L. Tan (1993). Object-Oriented Conceptual Modeling. Sydney,
Feather, M. S. (1989). Reuse in the context of a transformation-based methodology.
Frakes, W. B. and C. J. Fox (1995). Sixteen questions about software reuse.
Frakes, W. B. and B. A. Nejmeh (1988). An information system for software reuse.
Freeman, P. (1983). Reusable software engineering: concepts and research directions.
Fugini, M. G. and S. Faustle (1993). Retrieval of reusable components in a development
Graham, I. (1994). Object Oriented Methods. Wokingham, England, Addison-Wesley
Greenspan, S., J. Mylopoulos, et al. (1994). On formal requirements modeling languages:
Guttag, J. V. and J. J. Horning (1993). Larch: Languages and Tools for Formal
Hall, P. and C. Boldyreff (1991). Software reuse. Software Engineer 's Reference Book. A.
Hemmann, T. (1992). Reuse in Software and Knowledge Engineering, , , German
National Research Center for Computer Science (GDM), Artificial Intelligence
Hsia, P., A. Davis, et al. (1993). Status Report: Requirements Engineering. IEEE
Software : 75-79.
Krueger, C. W. (1989). Models of Reuse in Software Engineering, CMU-CS-89-188, ,
School of Computer Science , Carnegie Mellon University, Pittsburgh.
Please join StudyMode to read the full document