Towards a Methodology for Component-Driven Design

  • Colin Atkinson
  • Oliver Hummel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3475)


Component-based development has yet to make a big impact in software engineering as it has in other engineering disciplines because the components available for reuse are relatively much more primitive. This means that reused components usually account for a much smaller proportion of the overall intellectual effort invested in new software products than they do in other kinds of products. To rectify this situation more advanced development methodologies are required that encourage and enable software engineers to exploit richer software components – sometimes called “business” components – in the development of new applications. This, in turn, requires more advanced techniques for specifying and retrieving prefabricated components. In this paper we present some initial steps towards such a methodology based on the integration of two independent but complementary technologies – model-based component modeling and test-driven component harvesting.


Engineering Discipline Intellectual Effort eXtreme Program Component Repository Develop Test Case 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Giloi, W.: Konrad Zuse’s Plankalkül: The First High-Level ‘non von Neumann’ Programming Language. IEEE Annals of the History of Computing 19(2) (1997)Google Scholar
  2. 2.
    Myers, G.J.: The Art of Software Testing, Wiley (1979)Google Scholar
  3. 3.
    Meyer, B.: Design by Contract. In: Mandrioli, D., Meyer, B. (eds.) Advances in Object-Oriented Software Engineering. Prentice-Hall, Englewood Cliffs (1991)Google Scholar
  4. 4.
    Atkinson, C., Bayer, J., Bunse, C., Kamsties, E., Laitenberger, O., Laqua, R., Muthig, D., Paech, B., Wüst, J., Zettel, J.: Component-based Product Line Engineering with UML. Addison Wesley, Reading (2002)Google Scholar
  5. 5.
    Szyperski, C.: Component Software, 2nd edn. Addison-Wesley, Reading (2002)Google Scholar
  6. 6.
    Seacord, R.: Software Engineering Component Repositories. In: Proceedings of the International Conference of Software Engineering, Los Angeles, USA (1999)Google Scholar
  7. 7.
    Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley, Reading (1999)Google Scholar
  8. 8.
    Baumann, S., Hummel, O.: Using Cultural Metadata for Artist Recommendations. In: Proceedings of the Int. Conf. on Web Delivering of Music (Wedelmusic), Leeds (2003)Google Scholar
  9. 9.
    Hummel, O., Atkinson, C.: Extreme Harvesting: Test Driven Discovery and Reuse of Software Components. To appear proceedings of the International Conference on Information Reuse and Integration (IEEE-IRI), Las Vegas (2004)Google Scholar
  10. 10.
    Mili, H., Mili, F., Mili, A.: Reusing Software: Issues and Research Directions. IEEE Transactions on Software Engineering 21(6) (June 1995)Google Scholar
  11. 11.
    Baeza-Yates, R., Ribeiro-Neto, B.: Modern Information Retrieval. Addison-Wesley, Reading (1999)Google Scholar
  12. 12.
    Hendler, J., Berners-Lee, T., Miller, E.: Integrating Applications on the Semantic Web. Journal of the Institute of Electrical Engineers of Japan 122(10) (October 2002)Google Scholar
  13. 13.
    Zaremski, A., Wing, J.: Signature matching: A key to reuse, Technical Report CMU-CS-93-151, Carnegie Mellon University (1993)Google Scholar
  14. 14.
    Warmer, J., Kleppe, A.: The Object Constraint Language, 2nd edn. Getting your Model ready for MDA. Addison Wesley, Reading (2003)Google Scholar
  15. 15.
    Podgurski, A., Pierce, L.: Behaviour sampling: A technique for automated retrieval of reusable components. In: Proceedings of the 14th Int. Conf. on Software Engineering (1992)Google Scholar
  16. 16.
    Siegel, J.: CORBA Fundamentals and Programming, Wiley (1996)Google Scholar
  17. 17.
    Matena, V., Stearns, B.: Applying Enterprise JavaBeans: Component-based Development for the J2EE Platform, 2nd edn. Addison-Wesley, Reading (2003)Google Scholar
  18. 18.
    Lowy, J.: Programming.NET Components. O’Reilly, Sebastopol (2003)Google Scholar
  19. 19.
    Kaye, D.: Loosely Coupled: The Missing Pieces of Web Services, Rds Associates (2003)Google Scholar
  20. 20.
    Wordsworth, J.B.: Software Development with Z. Addison-Wesley, Reading (1992)Google Scholar
  21. 21.
    Benattou, M., Bruel, J.M., Hameurlain, N.: Generating Test Data from OCL Specification, Research Report, Université de Pau (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Colin Atkinson
    • 1
  • Oliver Hummel
    • 1
  1. 1.Chair of Software TechnologyUniversity of MannheimMannheimGermany

Personalised recommendations