You are on page 1of 3

International Journal of EmergingTrends & Technology in Computer Science(IJETTCS)

Web Site: www.ijettcs.org Email: editor@ijettcs.org


Volume 3, Issue 3, May June 2014 ISSN 2278-6856


Volume 3, Issue 3 May June 2014 Page 6


Abstract :For years we have been striving to bring in
reliability, quality, and dependability, and reduce on risk,
schedules, cost, and failures. Definitely we have achieved on
it to some extent, but still some more improvements are
expected, because even today we live with buggy softwares.
In this paper I have tried to justify that reusability should be
used on a large scale, because of its unique benefits, I have
suggested to include reusability analysis as a framework
activity , I have also introduced a set of tables to be made
under this activity, and tried to justify the working and use of
these tables.

Keywords: Reusability, waterfall model, framework,
Planning, Requirement analysis, Design, Coding,
Software development life cycle, Manual, Automated,
Process, System, Dependability, Risk, Schedule, Cost,
Manual, Automated.

1. INTRODUCTION
Since decades we have been into software development, and
now we have fully fledged software libraries of our own, and
one implementation that can bring drastic improvement in our
softwares is reusable products. Software reuse is the process
of developing or updating software systems using existing
software components.
[9]
The concept of reusable software
products is very old in the industry, but is not compulsorily
implemented by all of us, although many companies give
instructions to do so, but as human tendency Software
Engineers :
1. Forget that reusability is a vibrant tool for Software
Developers.
2. Feel the need of reusable components only when they
(software engineers) get stuck during the development,
although before starting the development, if we consider
reusability, then maybe we may find a huge amount of
work already done.
3. I can make a better product than the existing one, this is
the perception of the developer, but this perception is
justified only when the result is in front ( i.e, after you
have already invested time, effort and money), and
sometimes your perception may be wrong too.
4. Instead of investing time in finding a reusable product, I
can develop a new product again another perception of the
software developer, but the developer forgets that investing
time in finding a reusable product can be more fruitful,
because the reusable product is already tested, and
therefore has
a. reduced process risk
b. increased dependability
c. It saves cost, effort, and time of building new test
cases and testing system
d. Provides pace for accelerated development etc.
[7]


All in all we can say that when it comes to software
development, along with requirement gathering, planning,
scheduling, Modeling, designing, and coding, reusability also
contributes to make quality and accelerated software products.

2. CONCEPT
In our world of Software Engineering, two software
development techniques are very popular, one is based on the
traditional process Models and the other is the Agile
development.
Let Us consider the most basic, Process Model , i.e, the
waterfall Model, it is as shown in figure 1(a), and the model
which I would like to propose is focused with reusability,
displayed in fig1(B).




I have tried to propose a structured way of identifying the
required reusable products.
Now once the requirements gathering stage is over and we are
ready with the details of the proposed system we can switch
over to reusability ( as the second framework activity), in the
first place make a summarized list of your work in the
requirements gathering phase, all I mean is prepare the below
table

Table (a): Summary of Requirements gathering
Current System
Expected System
Manual
Processe
s
Automa
ted
Process
es
Deta
ils
Convers
ion of
Manual
to
Automat
ed
Change
s in
Autom
ated
System
Detail
s
Software Reusability A Focused Approach

Kavita Ghuge

Assistant Professor , Department Of MCA,
Marathwada Institute of Engineering & Technology,
Beed By Pass, Satara Parisar, Aurangabad,( M.S), India.
Dr.Baba Saheb Ambedkar Marathwada University

International Journal of EmergingTrends & Technology in Computer Science(IJETTCS)
Web Site: www.ijettcs.org Email: editor@ijettcs.org
Volume 3, Issue 3, May June 2014 ISSN 2278-6856


Volume 3, Issue 3 May June 2014 Page 7


In the above table:
1. Under Manual Process list down all the manual processes,
if the process is too large then decompose (split) it down in
such a manner that after entering the details in the above
table, the process should be understandable to the reader,
even if the reader is not a part of this software. One thing
to remember is that list only those manual processes that
are only directly or indirect related to your project.
2. In the Automated Process Column, List down all the
automated (processes already having a programmed
system) processes, and their working, again split if
required.
3. The Details column is for the developers understanding, if
the developer feels he wants to take down some notes, he
can do it in the details column.
4. The processes that are manual, and in our proposed system
we have to convert it into a programmed system, these
processes should get listed under the column Conversion
of Manual to Automated. Keep a one to one
correspondence; the reference of the same job should be
given in the first place in the Conversion of Manual to
automation column which is listed first in the Manual
Process column.
5. We already have the list of existing automated processes (
Column 2 ), J ust refer to that list and go on listing the
required changes serially under the Changes in Automated
Process Column.

Table (b):
Manual
Process
Expected
Conversion
of manual
To
automated
Process
Reusability
Occurrence
Possible/No
t Possible
Reus
abili
ty
Sour
ce
Reusab
ility
Confor
mation
Yes/No

1. Manual Process & Expected conversion of manual to
automated process are already ready , just copy them
fromthe previous table.
2. Reusability Occurrence Possible/Not possible, Under
this column , the systemengineer is expected to analyze
his software library or is there any other source through
which the required modules or components can be made
available, and mention , if yes then write Possible in the
column, else write No
3. If the reusability occurrence is positive then mention the
source ( from where can you get module to reuse ), if
there is any problemor conflict with the source , define
the problemin the reusability source, however minute
the problem may be dont think that the problemdefined
is too small and that youll overcome it and make the
product available for reuse.
4. To fill in the Reusability Conformation column, the
systemengineer needs to analyze the reusability source
column, if there is no problemdefined in this column
then the conformation can be YES, else it should be
NO, however small the problemdefinition may appear
practically, consider that by 0.01% it may fail and
reusability may not be possible. Many a times there is a
perception in the mind of the systemengineer that , I
will overcome the problem, the problem is not that
serious, all your perception is just a matter of faith on
your own self, but facts work in real life, dont forget
that.
Now make the same table for Expected Conversion of
automated to automated process.

Table (c) :
Current
Automat
ed
Process
Expected
Conversion
of
Automated
(old) to
Automated
(new)
Process
Reusabil
ity
Occurre
nce
Reusa
bility
Source
Reusa
bility
Confir
matio
n

You need to copy the contents of column of Changes in
automated system of table(a) to the Expected Conversion of
Automated (old) to Automated (new) Process in table (c) , rest
all things are same as Table (b).
Automated (old) is existing automated system and automated
(new) is proposed automated system.

Now, its time to segregate all the above data, so lets make
Table(d) and Table(e).

Table (d)
Automated Processes
expected for the
proposed system
Reusability Module
Availability Conformed

Now, in the first column, that is, Automated Processes
Expected for the Proposed System, list down all those processes
that have a YES in the Reusability Conformation Column in
Table (b) and Table (c) , and while filling column 2 of Table(d)
cross check , and youll notice that the whole of Column 2 , that
is, Reusability Module Availability Conformed Column is filled
with YES fromstart till end , if the engineer has done the
analysis properly.

Table (e)
Automated Processes
Expected For the
Proposed System
Modules to be
Developed

In column 1- Table(e), that is, Automated Processes Expected
for the Proposed System, list down all the process that have a
NO mark, in thereusability confirmation column of Table(b)
and Table(c), and make empty check boxes in the 2
nd

column of Table (e), as you complete a Module check out the
check box with a right mark .
Now Table(d) and Table(e), give you the Consolidated lists of
modules, which you can reuse for your proposed project and
modules you need to develop respectively.
Boehmhas proposed the spiral model .Spiral models software
process is combination of an iterative nature of prototyping and
controlled and systematic aspects of the traditional waterfall
model. This model is able to produce rapid development in
more complicated version of software.[1]

International Journal of EmergingTrends & Technology in Computer Science(IJETTCS)
Web Site: www.ijettcs.org Email: editor@ijettcs.org
Volume 3, Issue 3, May June 2014 ISSN 2278-6856


Volume 3, Issue 3 May June 2014 Page 8


Reusability analysis can also be included in the spiral model,
after Requirements Analysis and before Planning, so that we
may lead to better Schedules. Less production cost and reduced
work, resulting in huge profits.

3. CONCLUSION
If we use reusability analysis as a frame work activity, we shall
never miss out on reusability, and therefore we shall never miss
out on :

a. Increased Dependability
b. Increased Reliability
c. Reduced Processing Risk
d. Effective use of specialists
e. Standard Compliance
f. Accelerated Development.
[7]


REFERENCES
[1] http://theegeek.com/spiral-model/
[2] Software Engineering A Practitioners Approach, Roger S.
Pressman, McGraw-Hill International Edition, 9
th
edition.
[3] Software Engineering, K. K. Aggarwal, Yogesh Singh,
New Age International Publishers Second
[4] edition.
[5] An Integrated Approach to Software Engineering, Pankaj
J aloteNarosa Publishing House, Third
[6] Edition
[7] Software engineering , Ian Sommerville, Addison Wesley
9th Edition
[8] Software Testing, Ron Patton, Pearson Education, Second
Edition
[9] www.2.latech.edu/~box/ase/tp/Software%20reusabilit
y%5B1%5D.doc
[10] http://www.biglever.com/papers/Krueger_AcmReuseSurve
y.pdf
[11] http://jeffreypoulin.info/Papers/ICSR94/icsr94.pdf
[12] http://revision-zero.org/reuse
[13] Peter Naur and Brian Randell, Software engineering:
Report of a conference sponsored by the NATO Science
Committee, Garmisch, Germany: Scientific Affairs
Division, NATO, October 1968
[14] Erich Gamma, Richard Helm, Ralph J ohnson, and J ohn
Vlissides, Design Patterns: Elements of Reusable Object-
Oriented Software, Addison-Wesley, 1995. ISBN 0-201-
63361-2
[15] Erich Gamma and Kent Beck, Contributing to Eclipse:
Principles, Patterns, and Plug-Ins, Addison-Wesley,
October 2003. ISBN 0-321-20575-8


Author
Kavita Ghuge received her degrees of BSc and
MCA from B.A.M. University in the years 2000
and 2003 respectively, she had been in the
Finance Industry for 8 years and now is serving as an
Assistant Professor at the Marathwada Institute of
Technology from the past 21 months.

You might also like