Aurora Boulevard, Cubao, Quezon City
Software Reuse
In partial fulfillment for the subject
CTI003
Current Trends and Issues in IT
Submitted to:
Mr. Junell Avestro
Submitted by:
Lizbert Niño Igagamao
IT21FB/BS-IT
Date submitted
October 9, 2012
Abstract
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
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 directions Bubenko, J., C. Rolland, et al. (1994). Facilitating "Fuzzy to Formal" requirements modelling 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, Prentice-Hall. 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 information system Graham, I. (1994). Object Oriented Methods. Wokingham, England, Addison-Wesley Pub Greenspan, S., J. Mylopoulos, et al. (1994). On formal requirements modeling languages: RML revisited Guttag, J. V. and J. J. Horning (1993). Larch: Languages and Tools for Formal Specifications 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.