Skip to main content
Log in

A knowledge-based framework for extracting components in agile systems development

  • Published:
Information Technology and Management Aims and scope Submit manuscript

Abstract

Considerable strides have been made in the use of components in software development. Many proprietary enterprise resource planning (ERP) software environments use modular components to develop and customize “best practices” to meet a specific organizational need. In agile application development, many developers and users are asked to design systems in a short period of time. These applications may use components that are embedded in software repositories. The challenge then is how to select the right software components (data and procedures) to meet an application requirement. Although experienced developers may select and customize components to meet the needs of an application, such expertise may not be available to other applications. This paper presents a knowledge-based framework to select and customize software components and demonstrates its value in deriving quality specifications, even when the developers are relatively inexperienced.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

References

  1. Y.Y. Yusuf, M. Sarhadi, A. Gunasekaran, Int. J. Product. Econ. 62, 33–43 (1999)

    Article  Google Scholar 

  2. M. Lippert, Large Refactorings in Agile Software Development, Workshop on Beyond Green-Field Software Development: Strategies for Reengineering and Evolution, OOPSLA (2003)

  3. S. Nerur, R. Mahapatra, G. Mangalraj, Commun. ACM 48, 72–78 (2005)

    Article  Google Scholar 

  4. H. Sharp, et al., Agile Development: Opportunity or Fad? (Conference on Human Factors in Computing Systems, Montréal, Québec, Canada, 2006) pp. 32–35

  5. R.L. Nord, J.E. Tomayko, IEEE Software 23, 47–53 (2006)

    Article  Google Scholar 

  6. T. Mens, T. Tourwe, IEEE T. Software Eng. 30, 126–139 (2004)

    Article  Google Scholar 

  7. C.J. Neill, B. Gill, IT Professional 5, 33–38 (2003)

    Article  Google Scholar 

  8. P. Vitharana, H. Jain, Inform. Manage. 37, 297–309 (2000)

    Article  Google Scholar 

  9. C. Pearson, Health Manage. Technol. 20, 34–35 (1999)

    Google Scholar 

  10. N.S Gill, P.S. Grover, ACM SIGSOFT Software Eng. Notes 28, 30–34 (2003)

    Article  Google Scholar 

  11. M. Goulao, Component-Based Software Engineering: A Quantitative Approach OOPSLA’05 (San Diego, CA, 2005), pp. 238–239

    Google Scholar 

  12. D. Kiely, Informationweek 677, 1A–6A (1998)

    Google Scholar 

  13. Z. Gu, K.G. Shin, 26th IEEE Int. Real-Time Syst. Symposium 167–168 (2005)

  14. R. Due, Inform. Syst. Manage. 1, 92–95 (2000)

    Google Scholar 

  15. I. Crnkovic, Component-based Software Engineering for Embedded Systems International Conference on Software Engineering (St. Louis, MO, 2005), pp. 712–713

    Google Scholar 

  16. A. Patrizio, Informationweek 799, 81–86 (2000)

    Google Scholar 

  17. P. Vitharana, F.M. Zahedi, H. Jain, Commun. ACM 46, 97–102 (2003)

    Article  Google Scholar 

  18. M. Lindvall et al. IEEE Computer 37, 26–34 (2004)

    Google Scholar 

  19. D.J. Reifer, IEEE Software 19, 16–18 (2002)

    Article  Google Scholar 

  20. P. Abrahamsson et al., ICSE 244–254 (2003)

  21. K. Beck, IEEE Computer 32, 70–77 (1999)

    Google Scholar 

  22. K. Beck, C. Andres, Extreme Programming Explained: Embrace Change (Addison-Wesley, 2004)

  23. A. DeHondt, G. Brandyberry, e-Informatica 1, 45–60 (2007)

  24. J.A. Highsmith, Adaptive Software Development: A Collaborative Approach to Managing Complex Systems (Dorset House Publishing, New York, 2000)

    Google Scholar 

  25. S. Bayer, J. Highsmith, Am. Programmer 7, 35–42 (1994)

    Google Scholar 

  26. J. Stapleton, Dynamic Systems Development Method – The Method in Practice (Addison Wesley, 1997)

  27. S.R. Palmer, J.M. Felsing, A Practical Guide to Feature-Driven Development (2002)

  28. P. Coad, E. LeFebvre, J. De Luca, Java Modeling In Color With UML: Enterprise Components and Process (Prentice Hall, 2000)

  29. DSDMConsortium, Dynamic Systems Development Method, version 3 (Ashford, 1997)

  30. K. Schwaber, Serum Development Process, Workshop on Business Object Design and Implementation, OOPSLA’95 (1995)

  31. K. Schwaber, M. Beedle, Agile Software Development with Scrum (Upper Saddle River. Prentice-Hall, NJ, 2002)

  32. K.S. Barber, J. Holt, G. Baker, 14th international conference on Software engineering and knowledge engineering SEKE ’02, Ischia, Italy, 2002, pp. 225–232

  33. J. Meekel et al. Software Eng. Notes 22, 75–80 (1997)

    Article  Google Scholar 

  34. W. Tracz, Software Eng. Notes 19, 52–56 (1994)

    Article  Google Scholar 

  35. S. Chan, T. Lammers, Reusing Distributed Object Domain Framework. 5th Intl.Conf. on Software Reuse (Victoria, BC, 1998), pp. 216–223

  36. V. Sugumaran, R. Bose, J. Intelligent Technol. 8, 82–94 (1995)

    Google Scholar 

  37. V. Peristeras, K. Tarabanis, Proceedings of the 6th International Conference on Electronic Commerce ICEC ‘04 471–479 (2004)

  38. S. Jarzabek, ACM SIGSOFT Software Eng. Notes 22, 65–74 (1997)

    Article  Google Scholar 

  39. R.B. France, T.B. Horton, Applying Domain Analysis and Modeling: An Industrial Experience. Proceedings of the 1995 Symposium on Software reusability SSR ’95, Seattle, WA, 1995, pp. 206–214

  40. Y. Choi, M. Heimdahl, 18th IEEE International Conference on Automated Software Engineering 314 (2003)

  41. K.C. Kang, Proceedings of Fifth International Conference on Software Reuse 354–355 (1998)

  42. W.B. Frakes, K. Kang, IEEE T. Software Eng. 7, 529–536 (2005)

    Article  Google Scholar 

  43. M.T. Lubars, M.T. Harandi, Addressing Software Reuse Through knowledge-Based Design, by Ted J. Biggerstaff, Alan J. Perlis, Software Reusability I, II (1989) 345-377

  44. M.A. Simos, Organization Domain Modeling (ODM): Formalizing the Core Domain Modeling Life Cycle. Proceedings of the 1995 Symposium on Software reusability SSR ’95, Seattle, WA, 1995, pp. 196–205

  45. H. Gomaa, L. Kerschberg, G.A. Farrukh, 6th IEEE Int. Conference Eng. Complex Comput. Syst. 11–14, 50–60 (2000)

    Google Scholar 

  46. S. Jarzabek, H. Zhang, Proceedings of Fifth IEEE International Symposium on Requirements Engineering 27–31, 166–173 (2001)

  47. T. Ravichandran, IEEE T. Eng. Manage. 52, 249–268 (2005)

    Article  Google Scholar 

  48. A.I. Morch et al. Commun. ACM 47, 59–62 (2004)

    Article  Google Scholar 

  49. A.W. Brown, Large-scale Component-based Development (Upper Saddle River, Prentice Hall, NJ, 2000)

  50. P. Herzum, O. Sims, Business Component Factory: A Comprehensive Overview of Component-Based Development for the Enterprise. (John Wiley, New York, 2000)

    Google Scholar 

  51. I. Crnkovic et al. ACM SIGSOFT Software Eng. Notes 30, 1–9 (2005)

    Article  Google Scholar 

  52. P. Vitharana, H. Jain, F. Zahedi, IEEE T Syst. Man Cybernetics 34, 460–474 (2004)

    Article  Google Scholar 

  53. L.F. Capretz, M.A.M. Capretz, D. Li, 27th Annual Conference of the IEEE Industrial Electronics Society 3, 1834–1837 (2001)

    Google Scholar 

  54. A. Andrews, S. Ghosh, E.M. Choi, International Conference on Software Maintenance 359–368 (2002)

  55. P.T. Cox, B. Song, IEEE Symposia on Human-Centric Computing Languages and Environments 304–311 (2001)

  56. I. Crnkovic et al. ACM SIGSOFT Software Eng. Notes 29, 1–7 (2004)

    Article  Google Scholar 

  57. N.S. Gill, ACM SIGSOFT Software Eng. Notes 31, 1–3 (2006)

    Article  Google Scholar 

  58. H. Jain, P. Vitharana, F. Zahedi, The DATA BASE Advances Inform. Syst. 34, 48–63 (2003)

    Google Scholar 

  59. H. Yao, L. Etzkorn, ACMSE’04. (Huntsville, Alabama, 2004) 110–115

    Google Scholar 

  60. A. Mili, R. Mili, R.T. Mittermeir, Annu. Software Eng. 5, 349–414 (1998)

    Article  Google Scholar 

  61. D. Hemer, Specification-Based Retrieval Strategies for Component Architectures. Australian Software Engineering Conference 233–242 (2005)

  62. Y. Park, P. Bai, Generating Samples for Component Retrieval by Execution, Technical Report, University of Windsor (Windsor, Ontario, Canada, 1997)

  63. M.A. Barbosa, A Refinement Calculus for Software Components and Architectures, ESEC-FSE’05 (Lisbon, Portugal, 2005), pp. 377–380

    Google Scholar 

  64. L. Jilani et al., Retrieving Software Components That Minimize Adaptation Effort, In Proc. of the 12th IEEE Intl. Automated Software Engineering Conference, IEEE Computer Society Press (1997), pp. 255–262

  65. O.P. Rotaru, M. Dolore, IEEE International Conference on Computer Systems and Applications (2005)

  66. S. Faustle, M.G. Fugini, E. Damiani, Software Pract. Exp. 26, 491–530 (1996)

    Article  Google Scholar 

  67. N.S. Gill, ACM SIGSOFT Software Eng. Notes 28, 4–7 (2003)

    Google Scholar 

  68. M.L. Nelson, T. Poulis, ACM OOPS Messenger 6, 28–36 (1995)

    Article  Google Scholar 

  69. J. Cheesman, J. Daniels, UML Components: A Simple Process for Specifying Component-Based Software (Addison-Wesley, 2001)

  70. D. Hemer, Proceedings of the Twenty-eighth Australasian conference on Computer Science 38 (2005)

  71. B.H.C. Cheng, J.J. Jeng, IEEE T. Knowledge Data Eng. 9, 341–349 (1997)

    Article  Google Scholar 

  72. J. Penix, Compositional Specification of Software Architecture. Proceedings of the Third International Workshop on Software architecture, Orlando, FL, 1998, pp. 113–116

  73. A.M. Zaremski, J.M. Wing, ACM T. Software Eng. Methodol. 6, 333–369 (1997)

    Article  Google Scholar 

  74. Y. Chen, B.H.C. Cheng, A Semantic Foundation for Specification Matching, in Foundations of Component-Based Systems, ed. by M. Sitaraman, G. Leavens (Cambridge University Press, 2000)

  75. Y. Chen, B.H.C. Cheng, Formalizing and Automating Component Reuse. IEEE Proc. of International Conference on Tools with Artificial Intelligence (1997)

  76. J. Penix, P. Alexander, Chapter 10, Component-Based Software Engineering: Case Studies, in REBOUND: A Framework for Automated Component Adaptation (World Scientific, 2004)

  77. Y. Ding, N. Napier, Measurement Framework for Assessing Risks in Component-Based Software Development. Proceedings of the 39th Annual Hawaii International Conference on System Sciences 9 (2006)

  78. V. Sugumaran, V. Storey, DATABASE Advances Inform. Syst. 34, 8–24 (2003)

    Google Scholar 

  79. X. Wang, C.W. Chan, H.J. Hamilton, Design of Knowledge-based Systems with the Ontology-domain-system Approach. 14th international conference on Software engineering and knowledge engineering SEKE ‘02 (Ischia, Italy, 2002), pp. 233–236

  80. V. Sugumaran, M. Tanniru, V. Storey, Commun. ACM 43, 312–322 (2000)

    Article  Google Scholar 

  81. P. Khambekar et al., 6th Workshop on Information Technologies and Systems (Cleveland, 1996), pp. 299–303

  82. E. Friedman-Hill, Jess, the Expert System Shell (Sandia National Laboratories, Livermore, CA, 2007). URL: http://herzberg.ca.sandia.gov/jess

  83. D. Batra, J.A. Hoffer, R. Bostrom, Commun. ACM 33, 126–139 (1990)

    Article  Google Scholar 

  84. R. Agarwal, M. Tanniru, Knowledge Acquisition 3, 421–441 (1991)

    Article  Google Scholar 

  85. R. Agarwal, L. Roberge, M. Tanniru, Inform. Manage. 27, 261–274 (1994)

    Article  Google Scholar 

  86. J.M. Neighbors, Proceedings of the Third International Conference on Software Reuse 6–13 (1994)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vijayan Sugumaran.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Sugumaran, V., Tanniru, M. & Storey, V.C. A knowledge-based framework for extracting components in agile systems development. Inf Technol Manage 9, 37–53 (2008). https://doi.org/10.1007/s10799-007-0025-7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10799-007-0025-7

Keywords

Navigation