Abstract
Evolutionary prototyping is an incremental software development method in which a proof of concept is, step by step, extended towards the final product. This article pleads for a programming approach termed “incremental code quality enhancement” when developing software incrementally. However, current programming languages are not well suited for incremental code quality enhancement. They are inflexible regarding their use of language features like typing, access control, contracts, etc. In some languages, the programmer is forced to use them, in others he may not. This article introduces pluggable programming language features, a concept that allows greater flexibility for application programmers without losing control over the use of those features. The approach is demonstrated exemplary by interface specifications for a business information system.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
Beck, K., Andres, C.: Extreme Programming Explained: Embrace Change, 2nd edn. Addison Wesley, Reading (2005)
Berger, H., Beynon-Davies, P., Cleary, P.: The Utility of a Rapid Application Development (RAD) approach for a large complex Information Systems Development. In: Proceedings of the 13th European Conference on Information Systems (ECIS 2004), Turku, Finland (2004)
Bracha, G.: Pluggable type systems. In: OOPSLA Workshop on Revival of Dynamic Languages (2004)
Bracha, G., Griswold, D.: Strongtalk: Typechecking Smalltalk in a production environment. In: Proc. of the ACM Conf. on Object-Oriented Programming, Systems, Languages and Applications, OOPSLA 1993 (1993)
Broy, M., Jarke, M., Nagl, M., Rombach, H.D.: Dagstuhl-Manifest zur Strategischen Bedeutung des Software Engineering in Deutschland. In: Perspectives Workshop Dagstuhl, Germany (2006)
Floyd, C.: A systematic look at prototyping. In: Approaches to Prototyping, pp. 1–18 (1984)
Fowler, M.: Refactoring: improving the design of existing code. Addison-Wesley Longman Publishing Co., Inc., Boston (1999)
Ghezzi, C., Jazayeri, M., Mandrioli, D.: Fundamentals of Software Engineering. Prentice Hall PTR, Upper Saddle River (2002)
Gordon, V.S., Bieman, J.M.: Reported Effects of Rapid Prototyping on Industrial Software Quality (1993)
Hekmatpour, S.: Experience with evolutionary prototyping in a large software project. SIGSOFT Softw. Eng. Notes 12(1), 38–41 (1987)
ISO. TR 9126-4: Software Quality (2004), http://www.iso.org/iso/catalogue_detail.htm?csnumber=39752
Kelter, U., Monecke, M., Schild, M.: Do we need ’agile’ Software Development Tools? In: NetObjectDays (2002)
Kiczales, G., Lamping, J., Mendhekar, Videira Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Auletta, V. (eds.) ECOOP 1997. LNCS, vol. 1241, Springer, Heidelberg (1997)
Lichter, H., Schneider-Hufschmidt, M., Züllighoven, H.: Prototyping in industrial software projects—bridging the gap between theory and practice. In: ICSE 1993: Proceedings of the 15th International Conference on Software Engineering, pp. 221–229. IEEE Computer Society Press, Los Alamitos (1993)
Liggesmeyer, P.: Software-Qualität. Testen, Analysieren und Verifizieren von Software. Spektrum Akademischer Verlag (2002)
Martin, R.C.: Agile Software Development, Principles, Patterns, and Practices. Prentice Hall, Englewood Cliffs (2002)
McCarthy, J.: Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I. Communications of the ACM 3(4), 184–195 (1960)
Meijer, E., Drayton, P.: Static Typing Where Possible, Dynamic Typing When Needed. In: Workshop on Revival of Dynamic Languages (2005)
Meyer, B.: Object-Oriented Software Construction, 1st edn. Prentice-Hall, Inc., Upper Saddle River (1988)
Odersky, M.: An Overview of the Scala Programming Language: EPFL Technical Report IC/2004/64 (2004)
Sommerville, I.: Software Engineering, 7th edn. International Computer Science Series. Addison Wesley, Reading (2004)
Szyperski, C.: Component software. Addison-Wesley, Harlow (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Humm, B.G., Engelschall, R.S. (2011). Pluggable Programming Language Features for Incremental Code Quality Enhancement. In: Maciaszek, L.A., Loucopoulos, P. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2010. Communications in Computer and Information Science, vol 230. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-23391-3_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-23391-3_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-23390-6
Online ISBN: 978-3-642-23391-3
eBook Packages: Computer ScienceComputer Science (R0)