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.
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.