On the Benefits and Problems of the Object-Oriented Paradigm Including a Finnish Study
Total Page:16
File Type:pdf, Size:1020Kb
EKONOMI OCH SAMHÄLLE Skrifter utgivna vid Svenska handelshögskolan Publications of the Swedish School of Economics and Business Administration Nr 151 PATRIK PAETAU ON THE BENEFITS AND PROBLEMS OF THE OBJECT-ORIENTED PARADIGM INCLUDING A FINNISH STUDY Helsingfors 2005 On the Benefits and Problems of the Object-Oriented Paradigm including a Finnish Study Key words: Object-oriented paradigm, benefits with object-oriented paradigm, problems with object-oriented paradigm, software components, reuse © Swedish School of Economics and Business Administration & Patrik Paetau Patrik Paetau Swedish School of Economics and Business Administration Department of Management and Organization (Information Systems Science) P.O.Box 287 65101 Vaasa, Finland Distributor: Library Swedish School of Economics and Business Administration P.O.Box 479 00101 Helsinki, Finland Telephone: +358-9-431 33 376, +358-9-431 33 265 Fax: +358-9-431 33 425 E-mail: [email protected] http://www.hanken.fi ISBN 951-555-893-X (printed) ISBN 951-555-894-8 (PDF) ISSN 0424-7256 Edita Prima Ltd, Helsingfors 2005 For my son Robin ACKNOWLEDGEMENTS Although there may still be much to discover and understand as far as benefits and problems with the object-oriented paradigm are concerned, the writing of this dissertation is now, after several years, coming to an end. The opportunity has therefore come to look back and give due credit to those who have supported and encouraged me in different ways. My first interest in the object-oriented world began in 1989 when my former manager at Tietotehdas Oy (Tietoenator nowadays) Vice President Tiina Kurki asked me if I wanted to get to know what objects actually are. As a young systems analyst working in a project that was developing a large money market information system for the Union bank of Finland (Nordea Oy nowadays) I was eager to start with something new. After my time at Tietotehdas Oy, which I found to be an interesting and beneficial experience, I moved to the Swedish School of Economics and Business Administration in Helsinki where Associate Professor Pertti Lounamaa and my colleague Dr. Leif Andersson encouraged me to write a Licentiate thesis concerning the object-oriented paradigm and Activity Based Costing. This Licentiate thesis consisted of an Activity- Based Costing application that I programmed using C++ and the object-oriented database ObjectStore. After completing the Licentiate thesis in 1995, I took my first steps on the pure object- oriented road. I would like to thank Professor Bo Sundgren at the Stockholm School of Economics in Sweden, Professor Sture Hägglund at Linköpings universitet, Sweden and especially Associate Professor Inger Eriksson at the Swedish School of Economics and Business Administration in Finland who gave me initial advice on how to continue on the sometimes rather challenging road of the object-oriented paradigm. My supervisors Juhani Iivari at the University of Oulu in Finland and Professor Wita Wojtkowski at Boise State University in Idaho, US combined constructive comments and encouragement to persist with the process. At the Kilpisjärvi Information Systems Research Seminar on April 17, 1997 Professor Markku Nurminen from the University of Turku, Finland and Professor Pertti Kerola from the University of Oulu, Finland, also gave me some helpful comments on how to continue with the study. I would like to thank the Hanken Foundation at the Swedish School of Economics and Business Administration and especially the Rector Professor Marianne Stenius for helping me financially through some difficult times in recent years. Without the cooperation of all the Finnish software companies that took part in the survey and especially the companies that participated in the case studies, this dissertation would not have been possible. With this in mind, I would like to thank the companies and their employees who kindly agreed to be interviewed. Professor Bo-Christer Björk has acted as my supervisor during the later stages of this dissertation and I would like to express my paramount appreciation to him for all the support and encouragement that he has shown me and for all his priceless comments. I would also give my best thanks to Senior Lecturer Dino Cascarino for the high-quality language proof of my manuscript. Further, I would like to thank Professor Anssi Öörni who proof read the Finnish survey instrument. Furthermore my gratitude extends to everyone who offered comments and help on the object-oriented road: Professor Eero Vaara, Professor Guy Ahonen, Professor Johan Fellman, Professor Gunnar Rosenqvist, Senior Lecturer, Susanna Taimitarha, Researcher Turid Hedlund, Docent Juha-Pekka Tolvanen and Research Professor Tarja Tiainen. I wish to particularly acknowledge Dr. André Sahlström, with whom I shared many ups and downs when working with this dissertation. Finally my warmest thoughts go to those who are closest to me: my family and friends; my wife Solveig, my sons Robin and David, my mother Gunvor, my grandmother Astrid, my cousin Fredrik Sjöberg, my friends Melker Olenius and Georg Wrede and many more. ‘I have a cat named Trash … If I were trying to sell him (at least to a computer scientist), I would not stress that he is gentle to humans and is self-sufficient, living mostly on field mice. Rather, I would argue that he is object-oriented’. Roger King (My Cat is Object-Oriented) Patrik Paetau Vaasa, August 2005 i CONTENTS 1 INTRODUCTION ......................................................................................................1 1.1 PURPOSE AND BOUNDARIES OF THIS STUDY ............................................................7 1.2 PRIMARY DEFINITIONS FOR THIS STUDY..................................................................9 1.3 RESEARCH PROBLEMS...........................................................................................11 1.4 SCIENTIFIC METHODOLOGY ..................................................................................12 1.4.1 Literature review ..........................................................................................12 1.4.2 Measuring productivity and quality in information systems development...13 1.4.3 Empirical research and the selection of a research method........................17 1.5 STRUCTURE OF THE STUDY ...................................................................................20 2 ON OBJECT-ORIENTED CONCEPTS................................................................22 2.1 THE OBJECT ..........................................................................................................24 2.1.1 Methods ........................................................................................................26 2.1.2 Identity..........................................................................................................27 2.1.3 Relations.......................................................................................................27 2.1.4 Encapsulation...............................................................................................28 2.1.5 Discussion on objects ...................................................................................29 2.2 THE CLASS............................................................................................................31 2.2.1 Different types of classes..............................................................................33 2.2.2 Discussion about classes ..............................................................................36 2.3 RELATIONS ...........................................................................................................36 2.3.1 Class - object relation ..................................................................................36 2.3.2 Uses relation or message-passing relation ..................................................37 2.3.3 Association relation......................................................................................37 2.3.4 Aggregation relation ....................................................................................37 2.3.5 Inheritance relation......................................................................................38 2.3.6 Discussion about relations ...........................................................................38 2.4 INHERITANCE........................................................................................................38 2.4.1 Multiple inheritance .....................................................................................40 2.4.2 Discussion about inheritance .......................................................................41 2.5 DYNAMIC BINDING ...............................................................................................42 2.5.1 Comparison of dynamic binding with a conventional solution....................43 2.5.2 Discussion about dynamic binding...............................................................44 2.6 POLYMORPHISM....................................................................................................44 2.6.1 Example of polymorphism ............................................................................45 2.6.2 Discussion about polymorphism...................................................................46 3 THE OBJECT-ORIENTED PARADIGM.............................................................47 3.1 THE OBJECT-ORIENTED PARADIGM AND THE INFORMATION SYSTEMS DEVELOPMENT LIFE CYCLE .........................................................................................................47