[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article

A brief history of the object-oriented approach

Published: 01 March 2003 Publication History

Abstract

Unlike other fads, the object-oriented paradigm is here to stay. The road towards an object-oriented approach is described and several object-oriented programming languages are reviewed. Since the object-oriented paradigm promised to revolutionize software development, in the 1990s, demand for object-oriented software systems increased dramatically; consequently, several methodologies have been proposed to support software development based on that paradigm. Also presented are a survey and a classification scheme for object oriented methodologies.

References

[1]
[1] Johnson R. E. and Foote B. Designing Reusable Classes, Journal of Object-Oriented Programming, 1(2), pp. 22-35, June/July 1988.
[2]
[2] Micallef J. Encapsulation, Reusability and Extensibility in Object-Oriented Programming Languages, Journal of Object-Oriented Programming, 1(1), pp. 12-36, April 1988.
[3]
[3] Gossain S. and Anderson B. An Iterative-Design Model for Reusable Object-Oriented Software, ACM SIGPLAN Notices, 25(10), pp. 12-27, October 1990.
[4]
[4] Capretz L. F. and Lee P. A. Reusability and Life Cycle Issues Within an Object-Oriented Design Methodology, Ege R. Singh M. and Meyer B. (eds.) Proceedings of TOOLS USA'92 - Technology of Object-Oriented Languages and Systems, Englewood Cliffs, New Jersey: Prentice Hall, pp. 139-150, August 1992.
[5]
[5] Dahl O.-J., Myhrhaug B. and Nygaard K. SIMULA67 Common Base Language, Publication No. S-22, Oslo: Norwegian Computing Centre, 1970.
[6]
[6] Hoare C. A. R. Monitors: an Operating Systems Structuring Concept, Communications of the ACM, 17(10), pp. 549-577, October 1974.
[7]
[7] Liskov B., Snyder A., Atkinson R. and Schaffert, C. Abstraction Mechanisms in CLU, Communications of the ACM, 20(8), pp. 564-576, August 1977.
[8]
[8] Minsky M. A Framework for Representing Knowledge, Wiston P. (ed.) The Psychology of Computer Vision, New York: McGraw-Hill, 1975.
[9]
[9] Goldberg A. and Robson D. Smalltalk-80: The Language and its Implementation, Reading, Massachusetts: Addison-Wesley, 1983.
[10]
[10] Rentsch T. Object Oriented Programming, ACM SIGPLAN Notices, 17(9), pp. 51-57, September 1982.
[11]
[11] Pascoe G. A. Elements of Object-Oriented Programming, Byte 11(8), pp. 139-144, August 1986.
[12]
[12] Robson D. Object-Oriented Software Systems, Byte, 6(8), pp. 74-86, August 1981.
[13]
[13] Thomas D. What's in an Object, Byte, 14(3), pp. 231-240, March 1989.
[14]
[14] Stroustrup B. What is Object-Oriented Programming?, Lecture Notes in Computer Science, No. 276, pp. 51-70, Berlin: Springer-Verlag, 1987.
[15]
[15] Nygaard K. Basic Concepts in Object Oriented Programming, ACM SIGPLAN Notices, 21(10), pp. 128-132, October 1986.
[16]
[16] Madsen O. L. and Moller-Pedersen B. What Object-Oriented Programming May Be and What It Does Not Have to Be, Lecture Notes in Computer Science, No. 322, pp. 1-20, Berlin: Springer-Verlag, 1988.
[17]
[17] Cardelli L. and Wegner P. On Understanding Types, Data Abstraction, and Polymorphism, ACM Computing Surveys, 17(4), pp. 471-522, December 1985.
[18]
[18] Wegner P. Dimensions of Object-Based Language Design, ACM SIGPLAN Notices, 22(12), pp. 168-182, December 1987.
[19]
[19] Moon D. A. Object-Oriented Programming with Flavors, ACM SIGPLAN Notices, 21(11), pp. 1-8, November 1986.
[20]
[20] Stefik M. and Bobrow D. G. Object-Oriented Programming: Themes and Variations, The AI Magazine, 6(4), pp. 40-62, April 1986.
[21]
[21] DeMichiel L. G. and Gabriel R. P. The Common Lisp Object System: An Overview, Lecture Notes in Computer Science, No. 276, pp. 151-170, Berlin: Springer-Verlag, 1987.
[22]
[22] Cox B. J. Object-Oriented Programming - An Evolutionary Approach, Readings, Massachusetts: Addison-Wesley, 1986.
[23]
[23] Stroustrup B. The C++ Programming Language, Reading, Massachusetts: Addison-Wesley, 1986.
[24]
[24] Tesler L. Object Pascal Report, Santa Clara, California: Apple Computer, 1985.
[25]
[25] Cardelli L. Modula-3 Report, Palo Alto, California: Digital Equipment Corporation, 1989.
[26]
[26] Agha G. An Overview of Actor Languages, ACM SIGPLAN Notices, 21(10), pp. 58-67, October 1986.
[27]
[27] Yonezawa A., Shibayama E., Takada T. and Honda Y. Modelling and Programming in an Object-Oriented Concurrent Language ABCL/1, Yonezawa A. and Tokoro M. (eds.) Object-Oriented Concurrent Programming, pp. 55-90, Cambridge, Massachusetts: MIT Press, 1987.
[28]
[28] America P. POOL-T: A Parallel Object-Oriented Language, Yonezawa A. and Tokoro M. (eds.) Object-Oriented Concurrent Programming, pp. 199-220, Cambridge, Massachusetts: MIT Press, 1987.
[29]
[29] Yutaka I. and Tokoro M. A Concurrent Object Oriented Knowledge Representation Language Orient84/K: Its Features and Implementation, ACM SIGPLAN Notices, 21(11), pp. 232-241, November 1986.
[30]
[30] Yokote A. and Tokoro M. Concurrent Programming in ConcurrentSmalltalk, Yonezawa A. and Tokoro M. (eds.) Object-Oriented Concurrent Programming, pp. 129-158, Cambridge, Massachusetts: MIT Press, 1987.
[31]
[31] Kristensen B. B., Madsen O. L., Moller-Pedersen B. and Nygaard K. Multi-Sequential Execution in the Beta Programming Language, ACM SIGPLAN Notices, 20(4), pp. 57- 70, April 1985.
[32]
[32] Meyer B. Object-Oriented Software Construction, Englewood Cliffs, New Jersey: Prentice-Hall, 1988.
[33]
[33] Arnold K. and Gosling J. The Java Programming Language. Reading, Massachusetts: Addison-Wesley, 1996.
[34]
[34] Royce W. W. Managing the Development of Large Software Systems, Proceedings of the 9th International Conference on Software Engineering, pp. 328-338, IEEE Press, 1987.
[35]
[35] Boehm B. W. A Spiral Model of Software Development and Enhancement, IEEE Computer, 21(5), pp. 61-72, May 1988.
[36]
[36] Henderson-Sellers B. and Edwards J. M. The Object-Oriented Systems Life Cycle, Communications of the ACM, 33(9), pp. 142-159, September 1990.
[37]
[37] Yourdon E. and Constantine L. L. Structured Design, Englewood Cliffs, New Jersey: Prentice-Hall, 1979.
[38]
[38] Stay J. F. HIPO and Integrated Program Design, IBM System Journal, 15(2), pp. 143-154, April 1976.
[39]
[39] Wirth N. Program Development by Stepwise Refinement, Communications of the ACM, 14(4), pp. 221-227, April 1971.
[40]
[40] Jackson M. A. Principles of Program Design, New York, New York: Academic Press, 1975.
[41]
[41] Chen P. P. The Entity-Relationship Model: Toward a Unified View of Data, ACM Transactions on Database Systems, 1(1), pp. 9-36, March 1976.
[42]
[42] Ross T. R. and Schoman K. E. Structured Analysis for Requirements Definitions, IEEE Transactions on Software Engineering , SE-3(1), pp. 6-15, January 1977.
[43]
[43] DeMarco T. Structured Analysis and System Specification, Englewood Cliffs, New Jersey: Prentice-Hall, 1979.
[44]
[44] Gane C. and Sarson T. Structured System Analysis: Tools and Techniques, Englewood Cliffs, New Jersey: Prentice-Hall, 1979.
[45]
[45] Ward P. and Mellor S. Structured Development for Real-Time Systems, Englewood Cliffs, New Jersey: Prentice-Hall, 1985.
[46]
[46] Eva M. SSADM Version 4: A User's Guide, London: McGraw-Hill, 1994.
[47]
[47] Henderson-Sellers B. and Constantine L. L. Object-Oriented Development and Functional Decomposition, Journal of Object-Oriented Programming, 3(5), pp. 11-17, January 1991.
[48]
[48] Shlaer S. and Mellor S. J. Object-Oriented Systems Analysis: Modeling the World in Data, Englewood Cliffs, New Jersey: Prentice-Hall, 1988.
[49]
[49] Coad P. and Yourdon E. Object-Oriented Analysis, Englewood Cliffs, New Jersey: Prentice-Hall, 1990.
[50]
[50] Jackson M. A. System Development, London: Prentice-Hall, 1983.
[51]
[51] Masiero P. and Germano F. S. R. JSD as an Object-Oriented Design Method, Software Engineering Notes, 13(3), pp. 22- 23, July 1988.
[52]
[52] Hull M. E. C., Zarca-Aliabadi A. and Guthrie D. A. Object-Oriented Design, Jackson System Development (JSD) Specification and Concurrency, Software Engineering Journal, 4(2), pp. 79-86, March 1989.
[53]
[53] Bailin S. C. An Object-Oriented Requirements Specification Method, Communications of the ACM, 32(5), pp. 608-623, May 1989.
[54]
[54] Bulman D. M. An Object-Based Development Model, Computer Language, 6(8), pp. 49-59, August 1989.
[55]
[55] Alabiso B. Transformation of Data Flow Analysis Model to Object-Oriented Design, ACM SIGPLAN Notices, 23(11), pp. 335-353, November 1988.
[56]
[56] Ward P. How to Integrate Object Orientation with Structured Analysis and Design, IEEE Software, 6(2), pp. 74-82, March 1989.
[57]
[57] Abbott R. J. Programming Design by Informal English Description, Communications of the ACM, 26(11), pp. 882-894, November 1983.
[58]
[58] Booch G. Software Engineering with Ada, Menlo Park, California: Benjamin/Cummings, 1983.
[59]
[59] Booch G. Object-Oriented Design, Freeman P. and Wasserman A. I. (eds.) Tutorial on Software Design Techniques , 4th Edition, pp. 420-436, IEEE Press, 1983.
[60]
[60] Booch G. Object-Oriented Development, IEEE Transactions on Software Engineering, SE-12(2), pp. 211-221, February 1986.
[61]
[61] Alford M. W. A Requirements Engineering Methodology for Real-Time Processing Requirements, IEEE Transactions on Software Engineering, SE-3(1), pp. 60-69, January 1977.
[62]
[62] Booch G. Object-Oriented Design with Applications, Redwood City, California: Benjamin/Cummings, 1991.
[63]
[63] Seidewitz E. General Object-Oriented Software Development: Background and Experience, Journal of Systems and Software, 9(2), pp. 95-108, February 1989.
[64]
[64] Heitz M. HOOD Reference Manual, Issue 3.0, Noordwijk, The Netherlands: European Space Agency, 1989.
[65]
[65] Jalote P. Functional Refinement and Nested Objects for Object-Oriented Design, IEEE Transactions on Software Engineering , SE-15(3), pp. 264-270, March 1989.
[66]
[66] Berard E. An Object-Oriented Design Handbook, Rockville, Maryland: EVB Software Engineering Inc., 1986.
[67]
[67] Sincovec R. F. and Wiener R. S. Modular Software Construction and Object-Oriented Design Using Ada, Peterson G. E. (ed.) Tutorial: Object-Oriented Computing, pp. 30-36, IEEE Press, 1987.
[68]
[68] Wasserman A. I., Pircher P. A. and Muller R. J. The Object-Oriented Structured Design Notation for Software Design Representation, IEEE Computer, 23(3), pp. 50-63, March 1990.
[69]
[69] Lorensen W. Object-Oriented Design, CRD Software Engineering Guidelines, General Electric Co., 1986.
[70]
[70] Jacobson I. Object Oriented Development in an Industrial Environment, ACM SIGPLAN Notices, 22(12), pp. 183-191, December 1987.
[71]
[71] Wirfs-Brock R., Wilkerson B. and Wiener L. Designing Object-Oriented Software, Englewood Cliffs, New Jersey: Prentice Hall, 1990.
[72]
[72] Rumbaugh J., Blaha M., Premerlani W., Eddy F. and Lorensen W. Object-Oriented Modeling and Design, Englewood Cliffs, New Jersey: Prentice Hall, 1991.
[73]
[73] Jacobson I. Language Support for Changeable Large Real Time System, ACM SIGPLAN Notices, 21(11), pp. 377-384, November 1986.
[74]
[74] Borgida A. Features of Languages for the Development of Information System at the Conceptual Level, IEEE Software, 2(1), pp. 63-72, January 1985.
[75]
[75] Beck K. and Cunningham W. A Laboratory for Teaching Object-Oriented Thinking, ACM SIGPLAN Notices, 24(10), pp. 1-6, October 1989.
[76]
[76] Capretz L. F. and Capretz M. A. M. Object-Oriented Software: Design and Maintenance. Singapore: World Scientific, 1996.
[77]
[77] Booch G., Rumbaugh J. and Jacobson I. The Unified Modeling Language User Guide. Reading, Massachusetts: Addison-Wesley, 1999.

Cited By

View all
  • (2023)Insights from a dataset on behavioral intentions in learning information flow diagram capability for software designData in Brief10.1016/j.dib.2023.10930749(109307)Online publication date: Aug-2023
  • (2022)Systematic mapping study: On the coverage of aspect-oriented methodologies for the early phases of the software development life cycleJournal of King Saud University - Computer and Information Sciences10.1016/j.jksuci.2020.10.02934:6(2883-2896)Online publication date: Jun-2022
  • (2021)Pyramidal Framework: Guidance for the Next Generation of GIS Spatial-Temporal ModelsISPRS International Journal of Geo-Information10.3390/ijgi1003018810:3(188)Online publication date: 22-Mar-2021
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 28, Issue 2
March 2003
158 pages
ISSN:0163-5948
DOI:10.1145/638750
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 March 2003
Published in SIGSOFT Volume 28, Issue 2

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)18
  • Downloads (Last 6 weeks)3
Reflects downloads up to 23 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Insights from a dataset on behavioral intentions in learning information flow diagram capability for software designData in Brief10.1016/j.dib.2023.10930749(109307)Online publication date: Aug-2023
  • (2022)Systematic mapping study: On the coverage of aspect-oriented methodologies for the early phases of the software development life cycleJournal of King Saud University - Computer and Information Sciences10.1016/j.jksuci.2020.10.02934:6(2883-2896)Online publication date: Jun-2022
  • (2021)Pyramidal Framework: Guidance for the Next Generation of GIS Spatial-Temporal ModelsISPRS International Journal of Geo-Information10.3390/ijgi1003018810:3(188)Online publication date: 22-Mar-2021
  • (2021)Anomaly Detection for Early Warning in Object-oriented Programming Course2021 IEEE International Conference on Engineering, Technology & Education (TALE)10.1109/TALE52509.2021.9678677(01-08)Online publication date: 5-Dec-2021
  • (2020)The conception of a large-scale Systems Engineering environment2020 AIAA/IEEE 39th Digital Avionics Systems Conference (DASC)10.1109/DASC50938.2020.9256709(1-7)Online publication date: 11-Oct-2020
  • (2020)Toward Understanding Students’ Learning Performance in an Object-Oriented Programming Course: The Perspective of Program QualityIEEE Access10.1109/ACCESS.2020.29734708(37505-37517)Online publication date: 2020
  • (2020)Automatic Design of Aggregation, Generalization and Specialization of Object-Oriented Paradigm Embedded in SRSAdvances in Electrical and Computer Technologies10.1007/978-981-15-5558-9_25(259-277)Online publication date: 8-Sep-2020
  • (2019)How are students' programming skills developedProceedings of the ACM Turing Celebration Conference - China10.1145/3321408.3322858(1-6)Online publication date: 17-May-2019
  • (2019)An Automated Methodology for the Design of Superclass Subclass Hierarchy Embedded in SRS2019 International Conference on Intelligent Computing and Control Systems (ICCS)10.1109/ICCS45141.2019.9065771(1229-1232)Online publication date: May-2019
  • (2019)On Teaching Java and Object Oriented Programming by Using Children Board Games2019 IEEE Global Engineering Education Conference (EDUCON)10.1109/EDUCON.2019.8725264(601-606)Online publication date: Apr-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media