DOI QR코드

DOI QR Code

Purposes, Results, and Types of Software Post Life Cycle Changes

  • Koh, Seokha (Department of Management Information Systems, Chungbuk National University) ;
  • Han, Man Pil (Department of Management Information Systems, Chungbuk National University)
  • 투고 : 2015.06.08
  • 심사 : 2015.09.19
  • 발행 : 2015.09.30

초록

This paper addresses the issue how the total life cycle cost may be minimized and how the cost should be allocated to the acquirer and developer. This paper differentiates post life cycle change (PLCC) endeavors from PLCC activities, rigorously classifies PLCC endeavors according to the result of PLCC endeavors, and rigorously defines the life cycle cost of a software product. This paper reviews classical definitions of software 'maintenance' types and proposes a new typology of PLCC activities too. The proposed classification schemes are exhaustive and mutually exclusive, and provide a new paradigm to review existing literatures regarding software cost estimation, software 'maintenance,' software evolution, and software architecture from a new perspective. This paper argues that the long-term interest of the acquirer is not protected properly because warranty period is typically too short and because the main concern of warranty service is given to removing the defects detected easily. Based on the observation that defects are caused solely by errors the developer has committed for software while defects are often induced by using for hardware (so, this paper cautiously proposes not to use the term 'maintenance' at all for software), this paper argues that the cost to remove defects should not be borne by the acquirer for software.

키워드

참고문헌

  1. Abrahamsson, P., Babar, M. A., and Kruchen, P., "Agility and Architecture: Can They Coexist?", IEEE Software, March/April 2010, pp. 16-22.
  2. Abran, A. and Nguyenkim, H., "Measurement of the Maintenance Process from a Demand-Based Perspective", Journal of Software Maintenance: Research and Practice, Vol. 5, No. 2, 1993, pp. 63-90. https://doi.org/10.1002/smr.4360050202
  3. Air Force Instruction 16-1001, Verification, Validation and Accreditation, June 1, 1996.
  4. Aldrich, J., Chambers, C., and Notkin, D., "ArchJava: Connecting Software Architecture to Implementation", Proceedings of the 24th International Conference on Software Engineering, ACM, 2002, pp. 187-197.
  5. ANSI/IEEE Std, IEEE Standard Glossary for Software Engineering Terminology, 1983, pp. 729-1983.
  6. Belady, L. and Lehman, M., "A Model of Large Program Development", IBM Systems J., Vol. 15, No. 3, 1976, p. 225. https://doi.org/10.1147/sj.153.0225
  7. Bellay, B. and Gall, H., "A Comparison of Four Reverse Engineering Tools", Proceedings of the 4th Working Conference on Reverse Engineering, IEEE, 1997, pp. 2-11.
  8. Boehm, B. W., Software Engineering Economics, Prentice Hall PTR: Upper Saddle River, NJ, USA, 1981.
  9. Chaptin, N., Hale, J., Kahn, K. R. and Jr., Tan, W. G., "Types of Software Evolution and Software Maintenance", Journal of Software Maintenance and Evolution, Vol. 13, No. 1, 2001, p. 3. https://doi.org/10.1002/smr.220
  10. Chen, L., Babar, M. A., and Nuseibeh, B., "Characterizing Architecturally Significant Requirements", IEEE Software, Vol. 40, 2013, pp. 38-45.
  11. Cleland-Huang, J., Hanmer, R. S., Supakhul, S., and Mirakhorli, M., "The Twin Peaks of Requirements and Architecture", IEEE Software, 2013, pp. 24-29.
  12. Dalgarno, M., "When Good Architecture Goes Bad", Methods and Tools, Vol. 17, 2009, pp. 27-34.
  13. Dekleva, S. M., "Software Maintenance: 1990 Status", Journal of Software Maintenance: Research and Practice, Vol. 4, No. 4, 1992, pp. 233-247. https://doi.org/10.1002/smr.4360040406
  14. de Silva, L. and Balasubramaniam, D., "Controlling Software Architecture Erosion: A Survey", Journal of Systems and Systems, Vol. 85, 2012, pp. 132-152.
  15. Eick, S. G., Graves, T. L., Karr, A. F., Marron, J. S., and Mockus, A., "Does Code Decay? Assessing the Evidence from Change Management Data", IEEE Transactions on Software Engineering, Vol. 27, 2001, pp. 1-12.
  16. Fowler, M., Refactoring: Improving the Design o Existing Code, Addison Wesley, 1999.
  17. Gannod, G. C. and Cheng, B. H. C., "A Framework for Classifying and Comparing Software Reverse Engineering and Design Recovery Techniques", Proceedings of the 6th Working Conference on Reverse Engineering, IEEE, 1999, pp. 77-88.
  18. Glass, R. L., "Results of the First IS State-of-the-Practice Survey", The Software Practitioner, May 1996, pp. 3-4.
  19. Godfrey, M. W. and Tu, Q., "Growth, Evolution, and Structural Change in Open Source Software", Proceedings of the International Workshop on Principles of Software Evolution, 2001, pp. 103-106.
  20. Godfrey, M. W. and Tu, Q., "Evolution in Open Source Software: A Case Study", Proceedings of the International Conference on Software Maintenance, IEEE Computer Society, Washington, DC, 2000, pp. 131-142.
  21. Grottke, M., Matias, R. and Trivedi, K. S., "The Fundamentals of Software Aging", Proceedings of 1st International Workshop of Software Aging and Rejuvenation, IEEE, 2008, pp. 1-6.
  22. Harris, D. R., Reubenstein, H. B., and Yeh, A. S., "Reverse Engineering to the Architectural Level", Proceedings of the 17th International Conference on Software Engineering, ACM, 1995, pp. 186-195.
  23. Hatton, L., "How Accurately Do Engineers Predict Software Maintenance Tasks?" Computer, February 2007, pp. 64-69.
  24. Helms, G. L. and Weiss, I. R., "Applications Software Maintenance: Can It Be Controlled?", ACM SIGMIS Database, Vol. 16, No. 2, 1984, pp. 16-18. https://doi.org/10.1145/1040688.1040691
  25. Herraiz, I., Rodriguez, D., Robles, G., and Gonzalez-Barahona, J. M., "The Evolution of the Laws of Software Evolution: A Discussion Based on a Systematic Literature Review", ACM Computing Surveys, Vol. 46, No. 2, Article 28, 2013.
  26. Hochstein, S. and Lindvall, M., "Combating Architectural Degeneration: A Survey", Information and Software Technology, Vol. 47, 2005, pp. 643-646. https://doi.org/10.1016/j.infsof.2004.11.005
  27. Huang, Y., Kintala, C., Kolettis, N., and Fulton, N. D., "Software Rejuvenation: Analysis, Module and Applications", Proceedings of International Symposium on Fault-Tolerant Computing, IEEE, 1995, pp. 381-390.
  28. Hunt, B., Turner, B., and McRitchie, K., "Software maintenance Implications on Cost and Schedule", Proceedings of Aerospace Conference, 2008 IEEE, March 2008, pp. 1-8.
  29. IEEE, IEEE Std. 1219-1998, IEEE Standard for Software Maintenance, 1998.
  30. ISO/IEC, ISO/IEC 14764(IEEE Std 14764- 2006), Software Engineering-Software Life Cycle Processes-Maintenance (2nded.), 2006 -09-01.
  31. Israeli, A. and Feitelson, D. G., "The Linux Kernel as a Case Study in Software Evolution", J. of System and Software, Vol. 83, No. 3, 2010, pp. 485-501. https://doi.org/10.1016/j.jss.2009.09.042
  32. Izurieta, C. and Bieman, J., "How Software Designs Decay: A Pilot Study of Pattern Evolution", Proceedings of 1st International Symposium on Empirical Software Engineering and Measurement, IEEE, 2007, pp. 449-451.
  33. Jacobson, I., Object-Oriented Software Engineering, Addison Wesley, 1992.
  34. Jones, C., Software, Assessments, Benchmarks, and Best Practices, Addison Wesley Longman, Inc., 2000.
  35. Jorgensen, M., Sjoberg, D. I. K., Kirkeboen, G., "The prediction Ability of Experienced Software Maintainers", in Proceedings of 4th European Conference on Software Maintenance and Re-engineering, 2000, pp. 93-99.
  36. Kemerer, C. F. and Slaughter, S. A., "Determinants of Software Maintenance Profiles: An Empirical Investigation", Journal of Software Maintenance: Research and Practice, Vol. 9, No. 4, 1997, pp. 235-251. https://doi.org/10.1002/(SICI)1096-908X(199707/08)9:4<235::AID-SMR153>3.0.CO;2-3
  37. Koch, S., "Evolution of Open Source Software Systems-A Large-Scale Investigation", Proceedings of the International Conference on Open Source Systems, 2005.
  38. Koch, S., "Software Evolution in Open Source Projects-A Large-Scale Investigation", J. of Software Maintenance and Evolution Research Practice, Vol. 19, No. 6, 2007, pp. 361-382. https://doi.org/10.1002/smr.348
  39. Koh, S., "Purposes and Types of Post Life Cycle Changes", Proceedings of 13th International Conference on IT Applications and Management: Diversity and Collaboration in the Age of Digital Convergence, Phitsanulok, Thailand, January 14-16, 2015, pp. 75-87.
  40. Koh, S., "Types of Post Life Cycle Changes and Evolution of Software", Proceedings of 12th International Conference on IT Applications & Management: Culture and Humanities in the Digital Future, Kenya, July 8-9, 2014, pp. 51-55.
  41. Koh, S., "A Software Architecture Life Cycle Model Based on the Program Management Perspective: The Expanded Spiral Model", J. of Information Technology Applications and Management, Vol. 20, No. 2, 2013, pp. 69-87.
  42. Koh, S., "An Extensive Model on Essential Elements of Software Architecture", J. of Information Technology Applications and Management, Vol. 19, No. 2, 2012, pp. 135- 147.
  43. Koh, S. and Ji, K. S., "Contextual Models of Business Application Software Architecture", J. of Information Technology Applications and Management, Vol. 20, No. 3, Sept. 2013, pp. 1-18.
  44. Kooser, A. C., "Old Software Draining your IT Budget?", Entrepreneur, May 2005, p. 24.
  45. Lehman, M. M., "Laws of Software Evolution Revisited", Proceedings of the European Workshop on Software Process Technology, Springer-Verlag, London, 1996, pp. 108-124.
  46. Lehman, M. M., "Program, Life Cycles, and Laws of Software Evolution", Proceedings of the IEEE (Special Issue on Software Engineering) 1980, pp. 1060-1076; with more detail as "Programs, Programming and the Software Life-Cycle", in: System Design, Infotech State of Art, Rept. Se 6, No. 9, Pergamon Infotech Ltd. Maidenhead, 1981, pp. 263-291; reprinted as Chapter 19 in Lehman, M. M., L. A. Belady, Program Evolution- Process of Software Change, Academic Press, London, 1985.
  47. Lehman, M. M., "Laws of Program Evolution- Rules and Tools for Programming Management", Proceedings of the Infotech State of Art Conference, Why Software Projects Fail, 1978; also as Chapter 12 in M.M. Lehman, L. A. Belady, Program Evolution- Process of Software Change, Academic Press, London, 1985.
  48. Lehman, M. M., "Programs, Cities, Students, Limits to Growth?", in: Imperial College of Science and Technology Inaugural Lecture Series, Vol. 9, 1974, pp. 211-229; Also in M. M. Lehman, L. A. Belady, Program Evolution- Process of Software Change, Academic Press, London, 1985.
  49. Lehman, M. M., The Programming Process, IBM Res. Rept. RC2722, December 1969; also as Chapter 3 in M. M. Lehman, L. A. Belady, Program Evolution-Process of Software Change, Academic Press, London, 1985.
  50. Lehman, M. M., and Belady, L. A., Program Evolution-Process of Software Change, Academic Press, London, 1985.
  51. Lehman, M. M. and Ramil, J. F., "Software Evolution-Background, Theory, Practice", Information Processing Letters, Vol. 88, 2003, pp. 33-44. https://doi.org/10.1016/S0020-0190(03)00382-X
  52. Lehnert, S., Farooq, Q., and Riebisch, M., "A Taxonomy of Change Types and its Application in Software Evolution", Proceedings of 2012 IEEE 19th International Conference and Workshop on Engineering of Computer-Based Systems, 2012, pp. 98-107.
  53. Lewis, R. O., Independent Verification and Validation: A Life Cycle Engineering Process for Quality Software, New York: John Wiley and Sons, Inc., 1992.
  54. Lientz, B. and Swanson, B., Software Maintenance Management, Addison-Wesley, Reading, MA, 1980.
  55. Martin, R. J. and Osborne, W., "Guidance of Software Maintenance", U.S. National Bureau of Standards, NBS Pub. 500-129, Dec, 1983.
  56. Mirakhorli, M., "Tracing Architecturally Significant Requirements: A Decision-Centric Approach", Proceedings of ICSE'11, May 21-28, 2011, Waikiki, Honolulu, HI, USA, pp. 1126-1127.
  57. Neamtiu, I., Xie, G., and Chen, J., "Towards a Better Understanding of Software Evolution: An Empirical Study on Open-Source Software", J. of Software: Evolution and Process, Vol. 25, No. 3, 2013, pp. 193-218. https://doi.org/10.1002/smr.564
  58. NF EN 13306, Terminologies de la Maintenance, June 2001.
  59. Niu, N., Su, L. D., Chen, J.-R. C., and Niu, Z., "Analysis of Architecturally Significant Requirements for Enterprise Systems", IEEE Systems Journal, 2013, pp. 1-8.
  60. OMG(Object Management Group), Business Process Model and Notation (BPMN), Ver. 2.0, OMG, 2011.
  61. Parnas, D. L., "Software Aging", Proceedings of the 16th International Conference on Principles of Software Engineering, Sorrento, Italy, 1994, pp. 279-287.
  62. Perry, D. E. and Wolf, A. L., "Foundations for the Study of Software Architecture", ACM Software Engineering Notes, Vol. 17, No. 4, 1992, pp. 40-52. https://doi.org/10.1145/141874.141884
  63. PMI, A Guide to the Project Management Body of Knowledge (5th ed.), PMI, 2013.
  64. Ratkin, S. R., Software Verification and Validation: A Practitioner's Guide, Norwood, MA: Artech House, Inc., 1997.
  65. Riaz, M., Sulayman, M., and Naqvi, H., "Architectural Decay during Continuous Software Evolution and Impact of 'Design for Change' on Software Architecture", Proceedings of the International Conference on Advanced Software Engineering and its Applications, Springer, 2009, pp. 119-126.
  66. Robles, G., Amor, J. J., Gonzalez-Barahona, J. M., and Herraiz, I., "Evolution and Growth in large LIBRE Software Projects", Proceedings of the International Workshop on Principles of Software Evolution, 2005, pp. 165-174.
  67. Schulmeyer, G. G. and MacKenzie, G. R., Verification and Validation of Modern Software-Intensive Systems, Upper Saddle River, NJ: Prentice Hall PTR, 2000.
  68. Sneed, H. M., "A Cost Model for Software Maintenance and Evolution", Proceedings of the 20th IEEE International Conference on Software Maintenance (ICSM'04), 2004.
  69. Stringfellow, C., Amory, C., Potnuri, D., Andrews, A., and Geor, M., "Comparison of Software Architecture Reverse Engineering Methods", Information and Software Technology, Vol. 48, 2006, pp. 484-497. https://doi.org/10.1016/j.infsof.2005.05.007
  70. vanGurp, J. and Bosch, J., "Design Erosion: Problems and Causes", Journal of Systems and Software, Vol. 61, 2002, pp. 105-119. https://doi.org/10.1016/S0164-1212(01)00152-2
  71. Vasa, R., Growth and Change Dynamics in Open Source Software Systems, Ph. D. thesis, Swinburne University of Technology, Melbourne, Australia, 2010.
  72. Yip, S. W. L., Lam, T., Chan, S. K. M., "A Software Maintenance Survey", Proceedings of the 1st Asia-Pacific Software Engineering Conference, Tokyo, 1994, pp. 70-79.

피인용 문헌

  1. Cause-and-Effect Perspective on Software Quality : Application to ISO/IEC 25000 Series SQuaRE's Product Quality Model vol.23, pp.3, 2015, https://doi.org/10.21219/jitam.2016.23.3.071