Kernpunkte
Softwarekomponentenmärkte konnten sich bisher nicht auf breiter Front durchsetzen. Die Literatur nennt zahlreiche Diffusionsbarrieren, unter anderem ein mangelhaftes Komponentenangebot und schlechte Retrievaleffizienz. Dieser Beitrag begegnet beiden Schwächen unter folgenden veränderten Rahmenbedingungen:
-
Open-Source-Software im WWW eröffnet neue Möglichkeiten zur Komponentensuche: Mehrere Millionen Komponenten sind online verfügbar.
-
Die Suche von Softwarekomponenten im WWW mit spezialisierten Suchmaschinen ist zwar möglich, aber immer noch zu ungenau.
Der Extreme-Harvesting-Ansatz ermöglicht erstmals präzises Komponentenretrieval aus extrem großen Beständen, basierend auf einer Spezifikation aus Komponentenschnittstelle und zugehörigen Testfällen.
Abstract
Component-based software reuse has been widely accepted as a way of making software development faster, better, and cheaper. However, component markets of the kind envisaged for many decades have not yet become a useful tool in mainstream development. In this article, the authors discuss the underlying problems and present a new approach called “Extreme Harvesting” for test-driven component retrieval. They present examples that demonstrate how this concept works “in vitro”, demonstrate its precision with the help of an experiment and discuss further challenges to be solved to make this approach of practical utility.
Article PDF
Avoid common mistakes on your manuscript.
Literatur
Alpar, P.: Computergestützte interaktive Methodenauswahl. FWI-Verlag, Frankfurt 1980.
Atkinson, C.; Bayer, J.; Bunse, C.; Kamsties, E. et al.: Component-based Product Line Engineering with UML. Addison Wesley, New York 2002.
Basili, V.; Briand, L.; Melo, W.: How reuse influences productivity in object-oriented systems. In: Communications of the ACM 39 (1996) 10, S. 104–116.
Baeza-Yates, R.; Ribeiro-Neto, B.: Modern Information Retrieval. Addison-Wesley, New York 1999.
Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley, New York 1999.
Brooks, F. P.: No Silver Bullet — essence and accident in software engineering. In Computer 20 (1987) 4, S. 10–19.
Clemens, P.; Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, New York 2002.
D’souza, D.; Wills A.: Objects, Components and Frameworks with UML. The Catalysis Approach. Addison-Wesley, New York, 1999.
Fettke, P.; Loos, P.; v. d. Tann, M.: Entwicklung eines Repositoriums für Fachkomponenten auf Grundlage des Vorschlags der vereinheitlichten Spezifikation von Fachkomponenten — Analyse von Problemen und Diskussion von Lösungsalternativen. In: Modellierung und Spezifikation von Fachkomponenten: 3. Workshop im Rahmen der MKWI 2002, Nürnberg, 2002.
Frakes, W. B.; Pole, T. P.: An empirical study of representation methods for reusable software components. In: IEEE Transactions on Software Engineering 20 (1994) 8, S. 617–630.
Frakes, W. B.; Fox, C. J.: Quality improvement using a software reuse failure modes model. In: IEEE Transactions on Software Engineering 22 (1996) 4, S. 274–279.
Gamma, E.; Helm, R.; Johnson, R.; Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, New York 1995.
Hummel, O.; Atkinson, C.: Extreme Harvesting: Test Driven Discovery and Reuse of Software Components. In: Proceedings of the International Conference on Information Reuse and Integration, Las Vegas 2004, S. 66–72.
Hummel, O.; Atkinson, C.: Using the Web as a Reuse Repository. In: Proceedings of the International Conference on Software Reuse, Torino 2006, S. 298–311.
Inoue, K.; Yokomori, R.; Fujiwara, H.; Yamamoto, T. et al.: Ranking Significance of Software Components Based on Use Relations. In: IEEE Transactions on Software Engineering 31 (2005) 3, S. 213–225.
Kiczales, G.; Lamping, J.; Mendhekar, A.; Maeda, C. et al.: Aspect-Oriented Programming. In Proceedings of the European Conference on Object-Oriented Programming, 1997.
Lenz, M.; Schmid, H.; Wolf, P. W.: Software reuse through building blocks. In W. Tracz (Hrsg.): Software Reuse: Emerging Technology, Computer Society Press 1987, S. 100–108.
Lewandowski, D.; Höchstötter, N.: Qualitätsmessung bei Suchmaschinen — Systemund nutzerbezogene Evaluationsmaße. Informatik-Spektrum 30 (2007) 3, S. 159–169.
Mandelin, D.; Xu, L.; Bodik, R.; Kimelman, D.: Jungloid mining: helping to navigate the API jungle. In Proceedings of the Conference on Programming Language Design and Implementation, 2005, S. 48–61.
McIlroy, D.: Mass-Produced Software Components. In Proceedings of a conference sponsored by the NATO Science Committee, Garmisch 1968.
Meyer, B.: Design by Contract, In Mandrioli, D.; Meyer, B. (Hrsg.): Advances in Object-Oriented Software Engineering, Prentice-Hall, Upper Saddle River 1991.
Microsoft: UBR shutdown FAQ. http://uddi.microsoft.com/about/FAQshutdown.htm, 2006, Abruf am 2006-10-09.
Mili, A.; Mili, R.; Mittermeir, R.: A Survey of Software Reuse Libraries. In: Annals of Software Engineering 5 (1998), S. 349–414.
Nunamaker, J. F.; Chen, M.: Systems Development in Information System Research. In: Proceedings of the Annual International Conference on System Sciences, Hawaii (1990), S. 631–640.
OMG: Reusable Asset Specification. http://omg.org/technology/documents/formal/ras.htm, 2005, Abruf am 2006-10-09.
Parnas, D. L.: On the Criteria to be Used in Decomposing Systems into Modules. In: Communications of the ACM 15 (1972) 12, S. 1053–1058.
Podgurski, A.; Pierce, L.: Retrieving Reusable Software by Sampling Behavior. In: ACM Transactions on Software Engineering and Methodology 2 (1993) 3, S. 286–303.
Poulin, J.: Reuse: Been There, Done That. In: Communications of the ACM 42 (1999) 5, S. 98–100.
Sametinger, J.: Software Engineering with Reusable Components, Springer, Heidelberg 1997.
Seacord, R.: Software Engineering Component Repositories, In: Proceedings of the ICSE Workshop on Component-Based Software Engineering, Los Angeles 1999.
Stal, M.: Web Services: Beyond Component-Based Computing. In: Communications of the ACM 45 (2002) 10, S. 17–76.
Szyperski, C.: Component Software. Addison-Wesley, New York 2002.
Turowski, K. (Hrsg.): Vereinheitlichte Spezifikation von Fachkomponenten: Memorandum des Arbeitskreises Komponentenorientierte betriebliche Anwendungssysteme. Universität Augsburg 2002.
Ye, Y.; Fischer, G.: Reuse-Conducive Development Environments. In: Journal of Automated Software Engineering 12 (2005) 2, S. 199–235.
Zaremski, A. M.; Wing, J. M.: Signature Matching: A Tool for Using Software Libraries. In: ACM Transactions on Software Engineering and Methodology 4 (1995) 2, S. 146–170.
Author information
Authors and Affiliations
Corresponding author
Additional information
Eingereicht am 2006-10-11, nach vier Überarbeitungen angenommen am 2007-08-17 durch Prof. Dr. Buhl.
Rights and permissions
About this article
Cite this article
Hummel, O., Atkinson, C. Verbesserung der Retrievaleffizienz von Softwarekomponentenmärkten. Wirtsch. Inform. 49, 430–438 (2007). https://doi.org/10.1007/s11576-007-0095-5
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11576-007-0095-5