Sunteți pe pagina 1din 3

IPASJ International Journal of Computer Science (IIJCS)

A Publisher for Research Motivation ........

Volume 2, Issue 3, March 2014

Web Site: http://www.ipasj.org/IIJCS/IIJCS.htm Email: editoriijcs@ipasj.org ISSN 2321-5992

Challenges during Software product maintenance


1

Deepak Kumar, 2Parul

Assistant Professor, Directorate of Distance Education, Kurukshetra University Kurukshetra 2 Shri Baba Mastnath Engineering College, Rohtak

Abstract
A software project is delivered within estimated time only if all the phases of software development process are completed within within estimated and primarily set up time. Only in this situation we can say that the software project is successful but there is also an issue of the quality of the software i.e. software quality. To accomplish the project with fruitful success, every software development organisation uses a software quality assurance plan (SQAP). Better project planning results into the higher success rate of the software. But after delivering the software to the client, the maintenance work begins. This paper suggests some practical problems faced by software development team and relative issues of software maintenance process.

Keywords: Software project, Software quality, SQAP, Software maintenance etc.

Introduction:
Software maintenance process is very dense process and usually it comprises more than half of the development process again. When a software team delivers a successful project to its client within fixed time, then the actual work of the maintenance begin. Many a time it is seen that the cost of the maintenance exceeds the development cost of the project. Basically software maintenance is the modification of a software product after delivery, in order to correct the faults and failures with the clear intention of improving the performance of the software product. A common perception of maintenance is that it merely involves fixing defects. However, one study depicts that the majority, above 80%, of the maintenance effort is used for non- corrective actions [1]. Important issues of software maintenance are in alignment with customer priorities, staffing, cost estimation with some technical issues like analysis, testing, maintainability etc. Software maintenance is very broad activity that includes error detection and correction, capability enhancement, optimization, controlling and finally modifications. If we want to reduce the overall cost of software or achieve global optimality in terms of cost rather than local optimality in terms of development cost only, the goal of development should be reduce the maintenance effort. That is, one of the precise objectives of project development should be the production of such a software, that is easy to maintain [2]. Software Maintenance Challenges: Reengineering : Reengineering takes time; it costs significant amount of money; and it absorbs resources that might be otherwise occupied on immediate concerns. For all of these reasons, reengineering is not accomplished in a few months or even a few years [3]. Comprehensive measurement: There are no such comprehensive measurements of the maintenance work, new development estimates can be made fairly reliable through the use of function points for estimating maintenance work. When can function points be useful, and what can be used when they are not appropriate. Database size: Database size is measured by number of data files and the number of characters in database. As per the requirements of the customer during the maintenance, any modification in the software product may lead to the modification of the database also. So it is not an easy task to modify database again and again. This results into the increment in the development cost and the efforts. Additionally, the users are likely to be less knowledgeable or trained about the contents and use of a larger database. This also indicates that database size is positively correlated with adaptive maintenance or database size is positively correlated with user knowledge problems [4]. Work Analysis: There is e no reliable means of factoring program complexity into estimating equation without, again, completing the analysis work. A change in one location of a highly complex function may be simple, but a change at a different place might be difficult. How can this be measured and factored in.

Volume 2 Issue 3 March 2014

Page 52

IPASJ International Journal of Computer Science (IIJCS)


A Publisher for Research Motivation ........

Volume 2, Issue 3, March 2014

Web Site: http://www.ipasj.org/IIJCS/IIJCS.htm Email: editoriijcs@ipasj.org ISSN 2321-5992

Staff Size: Staff size describes the number of people who are engaged in the development process of software under application development. After delivering the project, customers surely need some changes and then the software team which is also engaged in the other development projects, is assigned the additional work also. This increases the efforts of the development staff. Software team can not assign the work of maintenance to other free developer because the other developers are completely unaware of the delivered project, which is under maintenance. If software organisation assigns the maintenance work to new developers or programmers then the organisation needs to provide training to the programmer, which leads to the increment in time, cost and efforts for the maintenance. Product Quality [5]: Software maintenance is logically done for the sake of the quality concern. There are so many factors involved in the maintenance process but one thing which is very important here is, software quality. The primary goal of the software industry is to satisfy its customer by providing a software with good quality. Similarly, during the software maintenance, modifications are to be done and these modifications are according to the software quality. So software team is very conscious during the maintenance phase. Code Restructuring: Code restructuring is performed to yield a design that produces the same function as the original program but with higher quality. In general, code restructuring techniques, model program logic using Boolean algebra and then apply a series of transformation rules that yields restructured logic. The objective is to take spaghetti-bowl code and derive a procedural design that conforms to the structured programming philosophy. Other restructuring techniques have also been proposed for use with reengineering tools. A resource exchange diagram maps each program module and the resources (data types, procedures, and variables) that are exchanged between it and other module. By creating resource flow, the program architecture can be restructured to achieve minimum coupling among modules. Data Restructuring: Before restructuring begins, a reverse engineering activity called analysis of source code must be conducted. All programming language statements that contain data definitions, file descriptions, I/O, and interface description are evaluated. Once data analysis has been completed, data redesign exists. When redevelopment has been done then it makes the software product more flexible. Maintenance Budget: As said above in introduction that maintenance surely increases the development budget. This factor is a measure of the relative importance of maintenance as reflected in the budget. Systems with more resources devoted to maintenance should have fewer problems. Development Experience of Maintenance Staff: It is very clear that, if the maintenance staff has greater experience with system development, then there would be fewer problems with programmer productivity and product quality. Conclusion: The purpose of software maintenance process is mainly to emphasise the quality of the software by timely modification of the software product. This paper suggests some issues regarding the confrontation of the software maintenance process i.e. obstacles faced by software development team during maintenance process. Generally software maintenance can be stated with the help of reengineering but it is very dense and stringent phase of software development, which includes modification in the software product and increases the quality of the product also.

References:
[1] Pigoski, Thomas M., 1997: Practical software maintenance: Best practices for managing your software investment. Wiley Computer Publication (New York). [2] Jalote Pankaj, 2009: An integrated approach to software engineering, third edition. Narosa Publishing house (India) Page no. 28 [3] Pressman Roger S., Software Engineering: A Practitioners Approach, Fifth edition, McGraw-Hill International Edition. Page no. 805

Volume 2 Issue 3 March 2014

Page 53

IPASJ International Journal of Computer Science (IIJCS)


A Publisher for Research Motivation ........

Volume 2, Issue 3, March 2014

Web Site: http://www.ipasj.org/IIJCS/IIJCS.htm Email: editoriijcs@ipasj.org ISSN 2321-5992

[4] Prashant Palvia, Aaron Patula, John Nosek. 1995: Problems and Issues in Application Software Maintenance Management. Journal of Information Technology Management, Vol. VI, No. 3 [5] Pressman Roger S.: Software Engineering: A Practitioners Approach, Sixth edition, McGraw-Hill International Edition. Page no. 882-883

AUTHOR
Deepak Kumar received MCA degree from Kurukshetra University, Kurukshetra in 2011and UGC NET (Computer Science) in June 2012. In 2008, he is Gold medalist in PG Diploma in Internet Journalism of KUK. He has published 6 papers in the journals of national and international repute. Parul received degree in Bachelors of Technology fom Satpriya Institute of Engineering and Technology, Rohtak. Pursuing M.Tech degree from Shri Baba Mastnath Engineering College, Rohtak

Volume 2 Issue 3 March 2014

Page 54

S-ar putea să vă placă și