21-12-2012, 05:52 PM
Paper Report On Opps Technique in software engineering
Paper Report.pdf (Size: 48.29 KB / Downloads: 21)
Project Disruption
Object-oriented programming (OOP) is a programming
paradigm using "objects" – data structures consisting of data fields and methods together
with their interactions – to design applications and computer programs. Programming
techniques may include features such as data abstraction, encapsulation, messaging,
modularity, polymorphism, and inheritance. Many modern programming languages now
support OOP, at least as an option. A software development methodology or system
development methodology in software engineering is a framework that is used to
structure, plan, and control the process of developing an information system. Objectoriented
programming is an evolutionary development in software engineering. The
foundation for many object-oriented languages were established by decades of software
engineering experience that motivated the invention of language features such as closed
procedures, modules and abstract data types. Also important were the widely recognized
value of such software engineering techniques as information hiding, encapsulation, strict
enforcement of interfaces, and layering.
The language features that address these issues are those of objects, classes, inheritance,
polymorphism, templates, and design patterns.
Reusability is an important issue in software engineering for at least two major reasons.
First reusability is one means to cope with the pressures of producing ever larger and
more functional systems in an ever decreasing development cycle (time to market).
Reusability allows developers to be more efficient because the same code can be
developed once and used in many different applications. Second, reliability can be
improved by reusing previously developed, and previously tested, components. The
development of new code entails the additional costs in time and money of testing,
validation, and verification of the new code. Much of these expenses can be avoided by
using "off-theshelf"
components.
THE PROMOTION AND FACILITATION OF SOFTWARE
REUSABILITY
When Doug McIlroy delivered his landmark article on
software reusability over twenty years ago, software reuse was not a topic which
generated a great deal of interest. Since the mid 1980s, however, software reusability has
become an increasingly "hot" topic.
Software reusability is not a topic which is well-understood by the masses. For example,
many software reusability discussions incorrectly limit the definition of software to
source code and object code. Even within the object-oriented programming community,
people seem to focus on the inheritance mechanisms of various programming languages
as a mechanism for reuse. (In many OOPLs, one of the steps in creating a subclass is the
setting up a "backwards pointer" to one, or more, superclasses. This allows the subclass
to "reuse" the code from the superclass(es).) Although reuse via inheritance is not to be
dismissed, there are more powerful reuse mechanisms.
[One of the items which sparked the Industrial Revolution over two centuries ago was
interchangeable
parts.