home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-04-05 | 50.9 KB | 1,289 lines |
- Newsgroups: comp.object,comp.answers,news.answers
- Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!spool.mu.edu!howland.reston.ans.net!vixen.cso.uiuc.edu!uchinews!news
- From: Bob Hathaway <rjh@geodesic.com>
- Subject: Comp.Object FAQ Version 1.0.9 (04-02) Part 4/13
- X-Nntp-Posting-Host: ford.uchicago.edu
- Message-ID: <Dp9qA5.A8L@midway.uchicago.edu>
- Followup-To: comp.object
- Summary: Frequently Asked Questions (FAQ) List and Available Systems For Object-Oriented Technology
- Sender: news@midway.uchicago.edu (News Administrator)
- Organization: Geodesic Systems
- References: <Dp9prv.92t@midway.uchicago.edu>
- Date: Wed, 3 Apr 1996 04:10:53 GMT
- Approved: news-answers-request@MIT.Edu
- Lines: 1272
- Xref: senator-bedfellow.mit.edu comp.object:46930 comp.answers:17963 news.answers:68636
-
- Archive-name: object-faq/part4
- Last-Modified: 04/02/96
- Version: 1.0.9
-
- This is a summary of resources on the Testing of Object-Oriented
- Programming that have been mentioned to me over the net, in email,
- or other means. Sections include Written Material, Courses, and
- Software. It is kind of like an FAQ, though it isn't organized
- that way.
-
- > Who?
-
- I work for a Unix software house, Qualix Group, in the US. Here is
- my sig:
- - Doug Shaker
- voice: 415/572-0200
- fax: 415/572-1300
- email: dshaker@qualix.com
- mail: Qualix Group
- 1900 S. Norfolk St., #224
- San Mateo, CA 94403
- I am NOT a researcher on the testing of object-oriented programming.
- I just collate the stuff that is sent to me by people who REALLY know
- something. See the section "ACKs" at the end.
-
- I just think it is important.
-
- > Why?
-
- Why is this important? If classes are really to be reused in
- confidence, they must be blatantly correct. The classes must be easily
- testable during initial evaluation by the client programmer. They must
- also be testable under different OS configurations, different compiler
- optimizations, etc. This means that testing modules must be
- constructed in a way which is recognized as correct and the modules
- must be shipped with the class libraries.
-
- As soon as one major class library vendor starts to ship real test code
- with their libraries, all of the other vendors will be forced, by
- market pressure, to do so as well, or face market share erosion. Think
- about it. If you had to recommend a class library to a committee that
- was choosing a basis for the next five years of work, wouldn't you feel
- safer with a class library that could be auto-tested in your
- environment?
-
-
- > Written Material
-
- Berard, Edward. Essays on Object-Oriented Software Engineering.
- Prentice-Hall, Englewood Cliffs, NJ. $35.
- This book has two chapters on testing of object-oriented software,
- focusing on how to do it.
-
- Berard, Edward. Project Management Handbook. Must be purchased
- direct from Berard Software Engineering, Ltd., 902 Wind River
- Lane, Suite 203, Gaithersburg, Maryland 20878. $225.
- The book focuses on the management of OOP projects. It
- includes one chapter on testing OO software and one chapter
- on quality assurance.
-
- Bezier, Boris, "Software Testing Techniques", 2nd edition, Van Nostrand
- Reinhold, 1990, 503pp, $43, ISBN 0-442-20672-0. While this is
- not specifically about testing of OOP, it is mentioned so often
- by so many people as a definitive software testing work, that
- I have to mention it anyway.
-
- Cheatham Thomas J., and Lee Mellinger, "Testing Object-Oriented
- Software Systems", Proceedings of the 18th ACM Annual Computer
- Science Conference, ACM, Inc., New York, NY, 1990, pp. 161-165.
-
- Doong, Roong-Ko and Phyllis G. Frankl, "Case Studies on Testing
- Object-Oriented Programs", Proceedings of the 4th Symposium on
- Testing, Analysis, and Verification (TAV4), 1991, ACM, Inc.,
- New York, NY, 1991, pp. 165-177.
-
- Fiedler, Steven P., "Object-Oriented Unit Testing", Hewlett-Packard
- Journal, April, 1989, pp. 69-74.
-
- Firesmith, D.G., "Testing Object-Oriented Software", Proceedings
- of 11th. TOOLS USA Conference, Santa Barbara, Aug 1993, pp 407-426.
-
- Frankl, Phyllis G. and Roong-Ko Doong, "Tools for Testing
- Object-Oriented Programs", Proceedings of the 8th Pacific
- Northwest Conference on Software Quality, 1990, pp. 309-324.
- One author can be reached at pfrankl@polyof.poly.edu.
-
- Graham, J.A., Drakeford, A.C.T., Turner, C.D. 1993. The Verification,
- Validation and Testing of Object Oriented Systems, BT Technol
- J. Vol 11, No 3. One author's email address is
- jgraham@axion.bt.co.uk.
-
- Harrold, Mary Jean, John D. McGregor, and Kevin J. Fitzpatrick,
- "Incremental Testing of Object-Oriented Class Structures",
- International Conference on Software Engineering, May, 1992,
- ACM, Inc., pp. 68 - 80.
-
- Hoffman, Daniel and Paul Strooper. A Case Study in Class Testing.
- To be Presented at the IBM Center for Advanced Studies Fall
- Conference, October 1993, Toronto. Email addresses for authors
- are dhoffman@csr.uvic.ca and pstropp@cs.uq.oz.au. Describes an
- approach to testing which the authors call Testgraphs. An
- example is worked out in C++ which tests a commercial class.
-
- Hoffman, D. M. A CASE Study in Module Testing. In Proc. Conf. Software
- Maintenance, pp. 100-105. IEEE Computer Society, October 1989.
-
- Hoffman, D.M. and P.A. Strooper. Graph-Based Class Testing. In
- 7th Australian Software Engineering Conference (to appear), 1993.
-
- Klimas, Edward "Quality Assurance Issues for Smalltalk Based Applications",
- The Smalltalk Report, Vol. 1, No. 9, pp.3-7. The author's
- email address is "ac690@cleveland.freenet.edu".
-
- Lakos, John S. "Designing-In Quality in Large C++ Projects" Presented
- at the 10th Annual Pacific Northwest Software Quality Conference,
- Portland, Oregon, October 21, 1993. Abstract:
- The focus of this paper is on ensuring quality by
- designing software that avoids acyclic component
- dependencies. This in-turn permits incremental,
- hierarchical testing. The importance of good physical
- design becomes a key factor only for large and very
- large projects. Intuition gained from smaller projects
- leads to errors in large designs. Compile-coupling
- ("Insulation") is also discussed.
- Copies of the postscript file can be obtained by sending email
- to "john_lakos@warren.mentorg.com".
-
- Leavens, G. T., "Modular Specification and Verification of
- Object-Oriented Programs", IEEE Software, July 1991, pp. 72-80.
-
- Love, Tom. Object Lessons. SIGS Books, 588 Broadway #604, New York, NY
- 10012. $49.
- This book eloquently elucidates the need for testing of object-
- oriented code and has a chapter on how it was done at Stepstone
- during the first release of their initial class library.
-
- Marick, Brian. The Craft of Software Testing, Prentice-Hall, in press.
- Makes the argument that testing of object-oriented software is
- simply a special case of testing software which retains state
- and which is reused. The author can be reached at
- info@testing.com.
-
- Narick, Brian. "Testing Software that Reuses", Technical Note 2, Testing
- Foundations, Champaign, Illinois, 1992. Copies may be obtainable
- via email. The author can be reached at info@testing.com.
-
- Murphy, G.C., Wong, P. 1992, Towards a Testing Methodology for
- Object Oriented Systems, M.P.R Teltech Ltd. A poster at the
- Conference on Object Oriented Programming Systems, Languages
- and Applications ACM. Copies of this paper can be obtained
- through townsend@mprgate.mpr.ca.
-
- Murphy, G. and P. Wong. Object-Oriented Systems Testing Methodology: An
- Overview. Techical Report TR92-0656, MPR Teltech Ltd., October
- 1992.
-
- Perry, D.E. and G.E. Kaiser, "Adequate Testing and Object-Oriented
- Programming", Journal of Object-Oriented Programming,
- 2(5):13-19, Jan/Feb 1990.
-
- Purchase, Jan A. and Russel L. Winder, "Debugging tools for
- object-oriented programming", Journal of Object-Oriented
- Programming, June, 1991, Vol. 4, No. 3, pp. 10 - 27.
-
- Smith, M. D. and D. J. Robson, " A Framework for Testing Object-Oriented
- Programs", JOOP, 5(3):45-53, June 1992.
- Describes ways in which the usual approach to software testing
- could be adapted for object-oriented software.
- This paper, or one with the same title and authors, is
- available by anonymous ftp from vega.dur.ac.uk as
- "/pub/papers/foot.dvi".
-
- Smith, M. D. and D. J. Robson, "Object-Oriented Programming - the
- Problems of Validation", Proceedings of the 6th International
- Conference on Software Maintenance 1990, IEEE Computer Society
- Press, Los Alamitos, CA., pp. 272-281.
-
- Taylor, David. "A quality-first program for object technology", Object
- Magazine, Vol. 2, No. 2, July-August 1992, pp17-18. SIGs
- Publications. The article talks some about why testing is
- important for OOP and describes one quality program.
-
- Theilen, David. "No Bugs. Delivering error free code in C and C++.",
- Addison-Wesley, 1992, ISBN:0-201-60890-1.
-
- Turner, C. D. and D. J. Robson, "The Testing of Object-Oriented Programs",
- Technical Report TR-13/92, Computer Science Division, School of
- Engineering and Computer Sciences (SECS), University of Durham,
- England.
- Includes a survey of existing literature on testing of OO
- programs. Testing of OOP is compared with traditional software
- testing. A state-based approach is described.
- This paper is available by anonymous ftp from vega.dur.ac.uk in
- /pub/papers. Get "toop.ps.Z" for A4 paper and "toopus.ps.Z" for
- US letter paper formatting.
-
- Turner, C. D. and D. J. Robson, "A Suite of Tools for the State-Based
- Testing of Object-Oriented Programs", Technical Report
- TR-14/92, Computer Science Division, School of Engineering and
- Computer Science (SECS), University of Durham, Durham,
- England. Describes a series of tools for the generation and
- execution of test cases for OOP. These tools assume a
- state-based testing approach.
- This paper is available by anonymous ftp from vega.dur.ac.uk in
- /pub/papers. Get "tools.ps.Z" for A4 paper formatting or get
- "toolsus.ps.Z" for US letter formatting.
-
- Turner, C. D. and D. J. Robson, "Guidance for the Testing of Object-
- Oriented Programs", Technical Report TR-2/93, Computer Science
- Division, School of Engineering and Computer Science (SECS),
- University of Durham, Durham, England. Discusses different
- methods of making class declarations and the implications of
- those methods for testing.
- This paper is available by anonymous ftp from vega.dur.ac.uk in
- /pub/papers. Get "guide.ps.Z" for A4 paper formatting or get
- "guideus.ps.Z" for US letter formatting.
-
- Turner, C. D. and D. J. Robson, "State-Based Testing and Inheritance",
- Technical Report TR-1/93, Computer Science Division, School of
- Engineering and Computer Science (SECS), University of Durham,
- Durham, England.
- Discusses the implications of inheritance for testing,
- particularily incremental testing.
- This paper is available by anonymous ftp from vega.dur.ac.uk in
- /pub/papers. Get toopinht.ps.Z" for A4 paper formatting or get
- "toopinhtus.ps.Z" for US letter formatting.
-
- Wong, P. Automated Class Exerciser (ACE) User's Guide. Technical
- Report TR92-0655, MPR Teltech Ltd., September 1992.
-
- > Courses
-
- Berard Software Engineering, Inc. teaches a seminar on Testing of
- Object-Oriented Software (TOOS). The next one scheduled that I know of
- is November 8-12, in Washington. Call 301-417-9884 for details.
-
- Quality Fractals, Inc. has a course called "Testing Object-Oriented
- Software". Contact: 508-359-7273 (Box 337, Medfield, MA 02052). The
- course is taught by Shel Siegel of YESS!, Inc. Contact: 916-944-1032.
-
-
- > Software
-
- There is a smalltalk class library in the Univ. of Illinois archives
- which includes a simple Tester class written by Bruce Samuelson
- (bruce@utafll.uta.edu). It is a general superclass for application
- specific classes that test non-interactive objects such as trees,
- collections, or numbers. It is not suitable for testing user interface
- components such as windows, cursors, or scroll bars. The filein
- includes Tree classes, Tester itself, and subclasses of Tester that are
- used to validate the Tree classes. For ParcPlace Smalltalk (ObjectWorks
- 4.1 and VisualWorks 1.0). To get it ftp the file
- "/pub/st80_vw/TreeLW1.1" from st.cs.uiuc.edu.
-
- IPL Ltd. (in the UK) has a testing tool called Cantata which allows for
- testing C++, but as far as I am able to determine, it has no special
- features for C++ testing. From the product literature:
- Cantata allows testing to be performed in an intuitive way
- making the tool exceptionally easy to use and productive in
- operation. Cantata is suitable for testing software written in
- either C or C++.
-
- Cantata provides comprehensive facilities for all forms of
- dynamic testing, including: functional testing, structural
- testing, unit testing and integration testing. Cantata has been
- specifically designed to operate in both host and target
- systems and so allow full portability of tests between these
- environments.
- For more information contact IPL:
- IPL Ltd.
- Eveleigh House, Grove Street,
- Bath BA1 5LR
- UK
- (0225) 444888
- (0225) 444400 (FAX)
- email: shaun@iplbath.demon.co.uk
-
- TestCenter from CenterLine will do coverage testing of C++ (and C)
- code. Also does some memory debugging (similar to Purify) and regression
- testing. Highlights from CenterLine literature:
- *Automatic run-time error-checking on executables to enhance quality
- *Automatic memory leak detection on executables to optimize memory use
- *Graphical test coverage to highlight any code not executed during test runs
- *Intuitive GUI for easy test analysis
- *Programmatic interface to output files and cumulative code coverage
- to support batch-mode and regression testing
- *No recompilation needed, resulting in quick turnaround
- *Complete C and C++ language support
- *Integration with leading programming tools for maximum productivity gains
-
- MicroTech Pacific Research (mpr.ca) has a C++ class testing tool called
- ACE (Automated Class Exerciser) which is available under non-disclosure
- agreement. It is not currently for sale. If you are interested,
- contact Paul Townsend, townsend@mprgate.mpr.ca.
-
- Software Research Inc. (625 Third St, San Francisco, CA 94107-1997,
- voice: 1-415-957-1441, email: info@soft.com) has a coverage tool for C++
- that is called tcat++. It is an extension of SRI's tcat program.
-
- Quality Assured Software Engineering (938 Willowleaf Dr., Suite 2806,
- San Jose, CA 95128, voice: 1-408-298-3824 ) has a coverage tool for
- C and C++ called MetaC. It also dones some syntax checking and memory
- allocation checking.
-
- A group of volunteers is building a C++ test harness for the automated
- testing of C++, C and Perl programs. The system is called ETET (Extended
- Test Environment Toolkit). To join the group of volunteers, send email to
- etet_support@uel.co.uk
- The software is available via anonymous FTP from bright.ecs.soton.ac.uk
- (152.78.64.201) as "/pub/etet/etet1.10.1.tar.Z". They are looking for
- other FTP sites - sned email to the above address if you can provide
- one. This is a beta release and _should_ compile on any POSIX.1 system.
- As much of this work is being done by SunSoft, my guess is that the
- software will have the fewest problems on SunOS or Solaris releases.
-
- > ACKs
-
- Thanks to the following for helping assemble this list:
- Benjamin C. Cohen, bcohen@scdt.intel.com
- Brian Marick, marick@hal.cs.uiuc.edu
- Bruce Samuleson, bruce@utafll.uta.edu
- Daniel M. Hoffman, dhoffman@uvunix.uvic.ca
- Edward Klimas, ac690@cleveland.freenet.edu
- John Graham, J.Graham@axion.bt.co.uk
- Jim Youlio, jim@bse.com
- Jeffery Brown, jeffrey.brown@medtronic.com
- Lars Jonsson, konlajo@etna.ericsson.se
- Manfred Scheifert, ch_schie@rcvie.co.at
- Mark Swanson, mswanson@mechmail.cv.com
- Mary L. Schweizer, mary@gdwest.gd.com
- Michael Einkauf, Michael_Einkauf@iegate.mitre.org
- Paul Townsend, townsend@mprgate.mpr.ca
- Phyllis G. Frankl, pfrankl@polyof.poly.edu
- Rachel Harrison, rh@ecs.soton.ac.uk
- Risto Hakli, rkh@tko.vtt.fi
- Russ Hopler, russ@bse.com
- Stephane Barbey, barbey@di.epfl.ch
- Tony Reis, tonyr@hpsadln.sr.hp.com
- Yawar Ali, yali@bnr.ca
-
-
- 3.12) What Distributed Systems Are Available?
- ---------------------------------------------
-
- The following post helps to provide some answers with at least a partial list.
- See also Appendix E.
-
- From: rmarcus@bcsaic.boeing.com (Bob Marcus)
- Newsgroups: comp.object,comp.client-server
- Subject: Distributed Computing Products Overview
- Date: 17 Sep 93 00:02:40 GMT
- Organization: Boeing Computer Services
-
- DISTRIBUTED COMPUTING PRODUCTS OVERVIEW
-
- There was a recent posting concerning the relationship between OMG's CORBA
- and Distributed Transaction Processing Monitors. In general, there is a lot of
- uncertainty as to how the various distributed computing tools, products and
- environments might work together. Below is the outline of an eight-page
- posting to the Corporate Facilitators of Object-Oriented Technology (CFOOT)
- mailing list addressing these issues. Let me know if you would like a copy
- of the posting and/or to be added to the CFOOT mailing list.
-
- Bob Marcus
- rmarcus@atc.boeing.com
- -----------------------------------------------------------------------
- SOME GENERAL REFERENCES FOR ADDITIONAL INFORMATION
- -----------------------------------------------------------------------
- MULTIPROTOCOL NETWORK TRANSPORTS
-
- Peer Logic (PIPES)
- ATT (Transport Layer Interface)
- -----------------------------------------------------------------------
- MICROKERNELS
-
- OSF(Mach)
- Chorus Systems (Chorus)
- Microsoft (NT)
- -----------------------------------------------------------------------
- REMOTE PROCEDURE CALLS
-
- NobleNet (EZ-RPC)
- Netwise (Netwise-RPC)
- ATT/Sun (TI-RPC)
- OSF (DCE/RPC)
- -----------------------------------------------------------------------
- CONVERSATIONAL PROGRAMMING
-
- IBM(Common Programming Interface-Communications)
- -----------------------------------------------------------------------
- MESSAGING PRODUCTS
-
- System Strategies/IBM (MQ Series)
- Horizon Strategies (Message Express)
- Covia Systems(Communications Integrator)
- Momentum Software(X-IPC)
- Creative System Interface (AAI)
- Digital (DECmessageQ)
- HP (Sockets)(BMS)
- IBM (DataTrade)(DAE)
- Suite Software (SuiteTalk)
- Symbiotics (Networks)
- -----------------------------------------------------------------------
- PUBLISH AND SUBSCRIBE MESSAGING
-
- Sun(Tooltalk)
- Teknekron (Teknekron Information Bus)
- ISIS(Distributed News)
- Expert Database Systems (Rnet)
- ----------------------------------------------------------------------
- DISTRIBUTED COMPUTING ENVIRONMENTS
-
- OSF/DCE
- ISIS(Distributed Toolkit)
- -----------------------------------------------------------------------
- TRANSACTION PROCESSING MANAGERS
-
- Unix Systems Lab (Tuxedo)
- Information Management Company (Open TransPort)
- NCR (TopEnd)
- Transarc (Encina)
- IBM/HP/Transarc (Open CICS)
- -----------------------------------------------------------------------
- DISTRIBUTED WORKSTATION EXECUTION SYSTEMS
-
- Aggregate Systems (NetShare)
- Platform Computing(Utopia)
- ISIS(Resource Manager)
- -----------------------------------------------------------------------
- OBJECT REQUEST BROKERS
-
- Hyperdesk (Distributed Object Manager)
- IBM Distributed System Object Model(DSOM)
- Microsoft (Distributed OLE)
- Iona Technologies Ltd. (Orbix)
- BBN (Cronus)
- ISIS (RDOM)
- Qualix (NetClasses)
- Symbiotics (Networks!)
- Digital(ACA Services)
- Object-Oriented Technologies (SuiteDOME)
- -----------------------------------------------------------------------
- SYSTEM MANAGEMENT
-
- OSF (Distributed Management Environment)
- Legent
- Digital Analysis (HyperManagement)
- -----------------------------------------------------------------------
- DISTRIBUTED DEVELOPMENT/EXECUTION PRODUCTS
-
- Texas Instruments (Information Engineering Facility)
- HP (SoftBench)
- Digital (COHESIONworX)
- -----------------------------------------------------------------------
- DISTRIBUTED DEVELOPMENT/EXECUTION PRODUCTS
-
- Independence Technologies (iTRAN)
- Intellicorp(Kappa)
- ISIS Distributed Systems (RDOM)
- Early, Cloud & Company (Message Driven processor)
- Expersoft(XShell)
- Cooperative Solutions(Ellipse)
- -----------------------------------------------------------------------
-
-
- 3.13) What Is The MVC Framework?
- --------------------------------
-
- MVC stands for Model-View-Controller. This framework was originally adopted
- in Smalltalk to support Graphical User Interfaces. Views support graphical
- interfacing, controllers handle interaction, and models are the application
- objects. See [Krasner 88] and [LaLonde 90b].
-
- From: Carl Petter Swensson <cepe@taskon.no>
- Prof. Trygve Reenskaug is generally cited as being the creator of
- the MVC concept. He worked with the Smalltalk group at Xerox PARC
- as a visiting scientist in 78/79. During this stay at Xerox PARC
- he developed the MVC. I know him well and have talked to him about
- this. He confirms it, although stating that it was a collaborative
- effort at Xerox PARC.
-
- The implementation of MVC in Smalltalk-80 has since been further
- developed by ParcPlace Systems.
-
- He has worked with Smalltalk in a commercial and research
- environments since then. His group at the Centre for Industral
- Research in Oslo (now part of the SINTEF group) had the only
- Smalltalk-78 implementation outside Xerox PARC. He is now working
- with Taskon AS.
-
- The ideas that initially gave MVC has been developed further and
- is the basis of the work Trygve is currently doing on the
- OOram methodology.
-
-
- 3.14) What is Real-Time?
- ------------------------
-
- Real-time is our linear extrapolation/perception of imaginary time (along the
- quantum wave function (OTU) in ten dimensions, of course).
-
- [This section is YTBI]
-
-
- 3.15) What Is Available on OO Metrics?
- --------------------------------------
-
- This section is still building.
-
- http://www.sbu.ac.uk/~csse/publications/OOMetrics.html
-
- [Berard 93] contains an elaborate bibliography and section on OO metrics.
- [Booch 94] also contains some coverage.
-
- Also:
- Object Oriented Software development
- Mark Lorenz ISBN 0-13-726928-5
- Prentice Hall
-
- Software Metrics
- Grady-Caswell ISBN 0-13-821844-7
- Prentice Hall
-
- Measuring Software Design Quality
- Card-Glass ISBN 0-13-568593-1
- Prentice Hall
-
-
- From: trilk@informatik.tu-muenchen.de (Joern Trilk)
- Newsgroups: comp.object,comp.lang.c++,comp.lang.smalltalk,comp.databases.object
- Subject: Re: In search of OO Metrics
- Date: 20 Jun 1994 14:29:27 GMT
- Organization: Technische Universitaet Muenchen, Germany
-
- >...
- Here are some references:
-
- @article{inheriting:1993,
- author = {G. Michael Barnes and Bradley R. Swim},
- title = {Inheriting software metrics},
- journal = {JOOP},
- year = {1993},
- month = {Nov./Dec.},
- volume = {6},
- number = {7},
- pages = {27-34}
- }
-
-
- @article{a-new-metr:1993,
- author = {J.-Y. Chen and J.-F. Lu},
- title = {A new metric for object-oriented design},
- journal = {Information and Software Technology},
- year = {1993},
- month = apr,
- volume = {35},
- number = {4},
- pages = {232-240}
- }
-
-
- @inproceedings{towards-a-:1991,
- author = {Shyam R. Chidamber and Chris F. Kemerer},
- title = {Towards a Metrics Suite for Object Oriented Design},
- booktitle = {OOPSLA '91 Proceeedings},
- year = {1991},
- pages = {197-211}
- }
-
-
- @inproceedings{software-m:1992,
- author = {J. Chris Coppick and Thomas J. Cheatham},
- title = {Software Metrics for Object-Oriented Systems},
- booktitle = {CSC '92 Proceedings},
- year = {1992},
- pages = {317-322}
- }
-
-
- @inproceedings{some-metri:1991,
- author = {B. Henderson-Sellers},
- title = {Some metrics for object-oriented software engineering},
- booktitle = {TOOLS Proceedings},
- year = {1991},
- pages = {131-139}
- }
-
-
- @article{object-ori:1993,
- author = {Wei Li and Sallie Henry},
- title = {Object-Oriented Metrics that Predict Maintainability},
- journal = {J. Systems Software},
- year = {1993},
- volume = {23},
- pages = {111-122}
- }
-
-
- @inproceedings{workshop-r:1992,
- author = {Teri Roberts},
- title = {Workshop Report - Metrics for Object-Oriented Software Development},
- booktitle = {OOPSLA '92 (Addendum to the Proceedings)},
- year = {1992},
- pages = {97-100}
- }
-
-
- @techreport{softwareme:1991,
- author = {A. Buth},
- title = {Softwaremetriken f{\"u}r objekt-orientierte Programmiersprachen}, institution = {Gesellschaft f{\"u}r Mathematik und
- Datenverarbeitung},
- year = {1991},
- month = jun,
- number = {545},
- type = {Arbeitspapiere der GMD}
- }
-
-
- The Software Engineering FAQ lists the following references concerning
- metrics for object-oriented systems:
-
- Date: 26 Jan 1993 Originally collected by: ZUSE%DB0TUI11.BITNET@vm.gmd.de
- (Horst Zuse)
-
- a. Morris Kenneth L. Metrics for Object-Oriented Software Development
- Environments (master's thesis). 1989, MIT.
- b. Rocacher, Daniel: Metrics Definitions for Smalltalk. Project ESPRIT 1257,
- MUSE WP9A, 1988.
- c. Rocacher, Daniel: Smalltalk Measure Analysis Manual. Project ESPRIT 1257,
- MUSE WP9A, 1989.
- d. Lake, Al: A Software Complexity Metric for C++. Annual Oregon Workshop on
- Software Metrics, March 22-24, 1992, Silver Falls, Oregon, USA.
- e. Bieman, J.M.: Deriving Measures of Software Reuse in Object Oriented
- Systems. Technical Report #CS91-112, July 1991, Colorado State Universty,
- Fort Collins/ Colorado, USA.
-
- Hope this helps,
- Joern
-
- ----------------------------------------------------------------------
- Joern Trilk Phone: ++49-89-2105-2391
- Institut fuer Informatik (H1) Fax: ++49-89-2105-5296
- TU Muenchen Email: trilk@informatik.tu-muenchen.de
- 80290 Muenchen
- ----------------------------------------------------------------------
-
-
- Newsgroups: comp.software-eng
- From: scottw@advsysres.com (Scott A. Whitmire)
- Subject: Re: Any good OO metrics?
- Organization: Advanced Systems Research
- Date: Mon, 28 Nov 1994 05:58:29 GMT
-
- In <3baqhn$crg@newsbf01.news.aol.com>, cjdavies@aol.com (Cjdavies) writes:
- >Has anyone come up with metrics that work realistically for OO
- >development? The old lines of code, cyclomatic complexity and Halstead
- >metrics don't work so well with OO languages such as Smalltalk (or any
- >language that facilitates reuse). Also, has anyone adapted function
- >points to OO languages? Any ideas would be most welcome.
- >Thanks,
- >Colin Davies.
-
- Several people have been working in metrics for oo development. For a quick
- synopsis, check out my article in the "Encyclopedia of Software Engineering"
- edited by John Marciniak and published by John Wiley & Sons. The article
- gives an overview of the work being done in the field, and what needs to be
- done. It is a couple of years old now, but there really isn't that much going
- on.
-
- I did run into one book called "Object-Oriented Software Metrics" (I forget the
- authors), but I didn't think much of it.
-
- Your assessment of LOC, cyclomatic complexity, and Halsted are right on the
- money.
-
- As for function points and OO, I think you'll find two papers useful. The first
- is a chapter I wrote for the "Software Engineering Productivity Handbook" edited
- by Jessica Keyes and published by McGraw-Hill. It applies standard function points
- to OO software. I suspect you'll find standard function points wanting. I use
- an extension I developed a couple of years ago called 3D function points. I have
- an electronic (plain text) version of the paper I can send if you like.
-
- Metrics and OO development are fairly new to each other. I am working on ways to
- measure such design characteristics as cohesion, coupling, complexity, similarity
- and the like. I haven't been too thrilled with the work that has been done so far.
- Much of it has serious theoretical and technical flaws.
-
- Scott A. Whitmire scottw@advsysres.com
- Advanced Systems Research
- 25238 127th Avenue SE tel:(206)631-7868
- Kent Washington 98031 fax:(206)630-2238
-
- Consultants in networking, network-based applications, and software metrics.
-
-
- 3.16) What Are Visual Object-Oriented Programming Systems?
-
- See also http://union.ncsa.uiuc.edu/HyperNews/get/computing/visual.html.
- There is also a comp.lang.visual and FAQ, similar to the www html above.
-
- Visual programming is the use of graphics and graphical techniques in
- computer programming. It is becoming more common to see many
- approaches to visual/graphical programming languages emerging that
- incorporate the object-oriented programming philisophy. Toward this
- end, developers of new programming languages and programming
- environments are exploring how to combine visual programming with
- object-oriented programming by investigating how the basic concepts of
- OOP -- data abstraction, instantiation, composition, and
- specialization -- create new opportunities for programming using
- visual means of construction.
-
- A workshop on this topic was conducted at the 1993 OOPSLA, and a
- workshop summary appeared as part of the 1993 OOPSLA Addendum. Several
- of the presenters at the workshop developed full versions of their
- presentations, which are available in book form:
-
- Visual Object-Oriented Programming: Concepts and Environments,
- Margaret Burnett, Adele Goldberg, and Ted Lewis, editors,
- Prentice-Hall/Manning Publications, Englewood Cliffs, NJ, 1995.
-
- http://www.cs.orst.edu/techpub/vlib/vlib/Visual-OOP/CARD.html
-
- -----
- Margaret Burnett . e-mail: burnett@cs.orst.edu
- Assistant Professor . WWW page: http://www.cs.orst.edu/~burnett/
- Computer Science Dept. .
- Oregon State University .
- Corvallis, Oregon 97331 USA .
-
-
- 3.17) What Tutorials Are Available On Object-Oriented Concepts and Languages?
-
- Date: Thu, 25 May 95 17:31:21 EDT
- From: wheeler@ida.org (David Wheeler)
-
- A list of C/C++ tutorials, including online tutorials, is maintained at:
- http://vinny.csd.mu.edu/learn.html
-
- Note that C and C++ are treated together. One of the tutorials listed is the
- course: "Introduction to Object Oriented Programming Using C++", a self-paced
- class within the Globewide Network Academy [GNA]; this course may be found at:
- http://uu-gna.mit.edu:8001/uu-gna/text/cc/index.html
-
- Another course listed is the Coronado Enterprises C++ Tutorial, which assumes
- that the user is already familiar with C (not necessarily ANSI C). It may be
- downloaded from:
- anonymous@oak.oakland.edu:simtel/msdos/cpluspls/cptuts22.zip
- anonymous@oak.oakland.edu:simtel/msdos/cpluspls/cptutt22.zip
-
- One Ada 95 on-line tutorial is Lovelace, which is intended for those who are
- already familiar with other algorithmic programming languages and are somewhat
- familiar with object orientation. Lovelace is available at:
- anonymous@lglftp.epfl.ch:/pub/Ada/HTML/lovelace.zip
- http://lglwww.epfl.ch/Ada/Tutorials/Lovelace/lovelace.html
-
- Other Ada tutorials are listed in:
- http://lglwww.epfl.ch/Ada/Tutorials/Lovelace/othert.html
-
- The Sather home page includes a list of Sather tutorials in its "Getting
- Started" section:
- http://http.icsi.berkeley.edu/Sather/
-
- The BETA language is introduced in:
- http://www.daimi.aau.dk/~beta/Tutorials/BETAintroduction/BETAintroduction.html
-
- A large list of SELF-related papers available electronically is at:
- http://self.stanford.edu/papers/papers.html
-
- The Booch design method is briefly described in
- http://www.itr.ch/tt/case/BoochReferenz/
-
- For a list of many different resources of computer-language-specific
- information, see the YAHOO list of computer languages at:
- http://www.yahoo.com/Computers/Languages/
-
-
-
-
- SECTION 4: COMMONLY ASKED LANGUAGE SPECIFIC QUESTIONS
- ======================================================
-
- 4.1) What is Downcasting?
- --------------------------
-
- Downcasting is the term used in C++ for casting a pointer or reference to
- a base class to a derived class. This should usually be checked with an
- embedded dynamic typing scheme if such a scheme is not present in the
- language, such as with a typecase (Modula-3) or inspect (Simula) construct.
- In C++, it is even possible to use conversion functions to perform some
- checks, although the proposed RTTI will perform checked downcasting as
- its primary ability.
-
-
- 4.2) What are Virtual Functions?
- ---------------------------------
-
- Look under "Dynamic Binding" and "Polymorphism".
-
-
- 4.3) Can I Use Multiple-Polymorphism Or Multi-Methods In C++?
- ---------------------------------------------------------------
-
- Yes, but you'll need to embed a dynamic typing scheme to do it. With dynamic
- types in place, an overriding method in a derived class can explicitly check
- argument types in a switch statement and invoke the desired method emulating
- multiple-polymorphism [See Coplien 92].
-
- For true CLOS multi-methods, the above technique implemented as a base function
- (CLOS defgeneric), switching to specialized functions (CLOS methods, made
- friends of all arguments) will provide the functional calling syntax, multiple-
- polymorphism and access to parameters found in CLOS. This can require some
- complex switching, which is somewhat mitigated when multiple-polymorphism
- is implemented with virtual functions.
-
- Future FAQs should contain more detail.
-
-
- 4.4) Can I Use Dynamic Inheritance In C++?
- -------------------------------------------
-
- Yes, [Coplien 92] describes a scheme where a class can contain a pointer to
- a base class that can switch between its derived classes, providing a limited
- form. Earlier chapters contain entries on bypassing C++'s message system and
- even bypassing static linking.
-
- Future FAQs should contain more detail.
-
-
-
- ANNOTATED BIBLIOGRAPHY
- ======================
-
- [Agrawal 91] R. Agrawal et al. "Static Type Checking of Multi-Methods".
- OOPSLA 91. Object-Oriented Programming Systems, Languages, and Applications.
- ACM Press. Addison Wesley.
-
- Compile-time checking and optimizations for multi-methods.
-
- [Aho 86] Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers:
- Principles, Techniques, and Tools. Reading, MA: Addison-Wesley, 1986.
-
- Authoritative, classic book on compilers and optimizations. Type chapter
- contains section on type inferencing (using ML as an example).
-
- [Berard 93] Edward V. Berard. Essays on Object-Oriented Software
- Engineering. Prentice Hall.
-
- Many topics on OOSE, includes coverage of OO domain and requirements
- analysis.
-
- [Black 86] A. Black et al. Object-Structure in the Emerald System. OOPSLA
- '86 Conference Proceedings, SIGPLAN Notices (Special Issue), Vol. 21, n0. 11,
- pp 78-86. [I believe there is a more recent article, YTBI]
-
- The original article on Emerald. OO language without inheritance but with
- abstract types and static subtype polymorphism. Also designed for
- distributed programming and reuse. See article for references: Jade on
- reuse [Raj 89]) and Distr. Prog.
-
- [Black 87] A. Black, N. Hutchinson, E. Jul, H. Levyand L. Carter. Distribution
- and Abstract Types in Emerald, IEEE Transactions on Software Engineering, Vol.
- SE13, no. 1 Jam., pp 65-76.
-
- Subtype polymorphism for distributed programming in Emerald [Black 86].
-
- [Blair 89] "Genericity vs Inheritance vs Delegation vs Conformance vs ..."
- Gordon Blair, John Gallagher and Javad Malik, Journal of Object Oriented
- Programming, Sept/Oct 1989, pp11-17.
-
- Recommended by a reader, but the Author has yet to review this article.
-
- [Boehm 86] B.W. Boehm. A Spiral Model of Software Development and Enhancement.
- Software Engineering Notes, Aug., vol. 11 (4), p 22.
-
- Presents an alternative evolutionary approach to the strict waterfall software
- engineering life-cycle. Now a classic, most OO methodologies now emphasize
- the iterative or evolutionary approach to software development.
-
- [Booch 87] Grady Booch. Software Engineering with Ada. 2nd Ed. Benjamin
- Cummings.
-
- Booch in his early years. Mostly object-based programming with Ada.
-
- [Booch 87b] Grady Booch. Software Components With Ada, Structures, Tools,
- and Subsystems. Benjamin Cummings.
-
- A taxonomy and collection of object-based components in Ada (includes code).
- Has many examples with generics.
-
- [Booch 91] Booch, Grady. Object-Oriented Design With Applications. Benjamin
- Cummings.
-
- The often referred to book on OOD. Offers design notation and methodology.
- Brief coverage of OOA and elaborate OOD/P coverage in the applications.
- Good on basic principles and has case studies in Smalltalk, Object Pascal,
- C++, CLOS and Ada.
-
- Also contains an *elaborate* classified bibliography on many areas of OO.
-
- [Booch 94] Grady Booch. Object-Oriented Analysis And Design With
- Applications, 2nd Ed. Benjamin Cummings. ISBN 0-8053-5340-2.
-
- The next FAQ should be updated to the second edition. All examples are now
- in C++. Booch incorporates several other major methodologies including
- Wirf-Brock's CRC (Class-Responsibility-Collaboration) and Jacobson's Use-
- Cases.
-
- [Cardelli 85] L. Cardelli and P. Wegner. On Understanding Types, Data
- Abstraction, and Polymorphism. ACM Computing Surveys vol. 17 (4).
-
- Long, classic article on Object-Oriented Types, Data Abstraction and
- Polymorphism. Formal coverage with a type system analysis model as well.
-
- [Chambers 92] Craig Chambers. The Design and Implementation of the SELF
- Compiler, an Optimizing Compiler for Object-Oriented Programming Languages.
- Dept of Computer Science, Stanford University, March 1992.
-
- Covers type optimizations for OO compilers. See Appendix E, PAPERS.
-
- [Chambers 93] Craig Chambers. Predicate Classes. Proceedings ECOOP '93
- O. Nierstrasz, LNCS 707. Springer-Verlag, Kaiserslautern, Germany
- July 1993 pp 268-296
-
- "... an object is automatically an instance of a predicate class whenever
- it satisfies a predicate expression associated with the predicate class.
- The predicate expression can test the value or state of the object, thus
- supporting a form of implicit property-based classification that augments
- the explicit type-based classification provided by normal classes. By
- associating methods with predicate classes, method lookup can depend not
- only on the dynamic class of an argument but also on its dynamic value or
- state. [...] A version of predicate classes has been designed and
- implemented in the context of the Cecil language.
-
- See Appendix E, PAPERS.
-
- [de Champeaux 93] Dennis de Champeaux, Doug Lea, Penelope Faure.
- Object-Oriented System Development. Addison-Wesley, ISBN 0-201-56355-X.
-
- Covers an integrated treatment of OOA and OOD. Takes serious the
- computational model of one thread per object. Gives more than usual
- attention to the OOA&D micro process. Presents a unique OOD language.
-
- [Coad 91] Peter Coad and Edward Yourdon. Object-Oriented Analysis, 2nd ed.
- Englewood Cliffs, NJ. Prentice Hall.
-
- Coad and Yourdon's OO analysis method.
-
- [Coad 91b] Peter Coad and Edward Yourdon. Object-Oriented Design. Englewood
- Cliffs, NJ. Prentice Hall.
-
- Coad and Yourdon's OO design method.
-
- [Coleman 94] Derek Coleman, et. al. Object-Oriented Development - The Fusion
- Method. Prentice-Hall Object-Oriented Series. ISBN 0-13-338823-9
-
- Fusion is considered to be a second generation OOAD method in that it builds
- on successful components of a number of first generation methods (OMT, Booch,
- CRC, Objectory, etc). However, this has been done with the requirements of
- industrial software developers in mind. And so issues of traceability,
- management etc. have been taken into consideration and the Method provides
- full coverage from requirements through to code.
-
- [Cook 90] W.R. Cook, W.L.Hill, P.S. Canning. Inheritance Is Not Subtyping.
- Appeared in [Hudak 90] and Gunter 94].
-
- Theoretical article on the separation between type and class, or as the
- authors state between implementation inheritance and subtyping.
-
- [Coplien 92] James O. Coplien. Advanced C++ Programming Styles and Idioms.
- Addison Wesley.
-
- Covers advanced C++ programming and performing other more advanced and
- dynamic styles of OO in C++.
-
- [Colbert 89] E. Colbert. The Object-Oriented Software Development Method: a
- practical approach to object-oriented development. Tri-Ada Proc., New York.
-
- Presents the Object-Oriented Software development method. Has emphasis on
- objects.
-
- [Cox 86,91] Cox, Brad J. Object-Oriented Programming, An Evolutionary
- Approach. Addison Wesley.
-
- The original book on Objective-C. Coverage on object-oriented design and
- programming. Also covers Objective-C implementation, even into object code.
-
- Objective-C... '91 AW by Pinson and Wiener provide another good text.
-
- [Embley 92] D.W. Embley, B.D. Kurtz, S.N. Woodfield. Object-Oriented Systems
- Analysis, A Model-Driven Approach. Yourdon Press/Prentice Hall, Englewood
- Cliffs, NJ.
-
- Presents the Embley and Kurtz OO methodology.
-
- [Garfinkel 93] Simson L. Garfinkel and Michael K. Mahoney. NeXTSTEP
- PROGRAMMING STEP ONE: Object-Oriented Applications. Springer-Verlag.
-
- Introduction to the NextStep environment and applications development.
-
- [Goldberg 83] Adele Goldberg and David Robson. Smalltalk-80 The Language and
- Its Implementation. Addison Wesley.
-
- The original book on Smalltalk. Covers implementation. Also known as "the
- Blue Book". Out of print. Superceded by [Goldberg ??].
-
- [Goldberg ??] Adele Goldberg and David Robson. Smalltalk-80: The Language.
- Addison-Wesley.
-
- The "Purple Book". Omits the obsolete abstract virtual machine description
- from the Blue Book.
-
- [Gunter 94] Carl A. Gunter and John C. Mitchell. Theoretical Aspects of Object-
- Oriented Programming. MIT Press. ISBN 0-262-07155-X.
-
- Highly mathematical, formal coverage of object-oriented programming;
- primarily on typing.
-
- [Harmon 93] Paul Harmon. Objects In Action: Commercial Applications Of Object-
- Oriented Technologies. Jan, 1993. A-W ISBN 0-201-63336-1.
-
- Sponsored by the OMG to summarize the use of OO technology in industry and
- business, contains a brief history and summary of OO and many case studies.
-
- [HOOD 89] HOOD Working Group. HOOD Reference Manual Issue 3.0. WME/89-173/JB.
- Hood User Manual Issue 3.0. WME/89-353/JB. European Space Agency.
-
- Presnets the HOOD (Hierarchical Object-Oriented Design) OOSE methodology.
- From the European Space Agency. Based on Ada and object-based.
-
- [Hudak 90] P. Hudak. Principles of Programming Languages. ACM Press, pp 125
- -135.
-
- Contains several articles, including [Cook 90].
-
- [Hudak 92] Paul Hudak and Simon Peyton Jones. Haskell Report. SIGPLAN Notices.
- 1992, vol 27, no 5.
-
- Haskell reference.
-
- [Humphrey 89] Watts Humphrey. Managing the Software Process. Addison Wesley.
- ISBN 0-201-18095-2
-
- Sponsored by the Software Engineering Institute (SEI), the presented project
- management model is inspired by the work of Boehm, Brooks, Deming and Juran
- and represents a strong step in the direction of achieving 6 sigma defect
- rate prevention and optimizing the software development process for quality,
- productivity, and reliability. Presents the CMM, see section 1.21.
-
- [Humphrey 95] Watts S. Humphrey - "A Discipline for Software Engineering",
- 816 pp., $47.50, 1995, Addison-Wesley (1-800-824-7799) ISBN 0-201-54610-8
-
- A scaled down version of [Humphrey 89] for individual software engineers.
- A new classic. See section 1.21.
-
- [IBM 90,91] Various Documents from the IBM International Technical Centers:
- GG24-3647-00, GG24-3641-00, GG24-3566-00, GG24-3580-00.
-
- Present IBM's OOSE methodology.
-
- [ISO] ISO Standards Compendium - ISO 9000 Quality Management, 5th edition. Switzerland.
- ISBN 92-67-10206-0.
-
- The complete standard. 9000-3 discusses software and 9004 is a quality management
- standard.
-
- [Jacobson 92] Ivar Jacobson, et al. Object-Oriented Software Engineering - A
- Use Case Driven Approach. ACM Press/Addison Wesley.
-
- Presents Jacobson's new OOSE methodology based on use cases.
-
- [Jacobson 94] Ivar Jacobson. Toward Mature Object Technology. ROAD, Vol. 1,
- No. 1, May-June. SIGS Publications.
-
- Overview of OOSE's object-oriented approach. Includes specialized objects
- and layering for complexity management.
-
- [Jones 92] Rick Jones. Extended type checking in Eiffel. Journal of Object-
- Oriented Programming, May 1992 issue, pp.59-62.
-
- Presents subtype polymorphic extension to Eiffel (static typing only).
-
- [Jurik 92] John A. Jurik, Roger S. Schemenaur, "Experiences in Object Oriented
- Development," ACM 0-89791-529-1/92/0011-0189.
-
- Presents the EVB OOSE methodology. Also: Barbara McAllister, Business
- Development, EVB Software Engineering, Inc., (301)695-6960, barb@evb.com.
-
- [Kiczales 92] Gregor Kiczales, Jim des Rivieres, Daniel G. Bobrow. The Art
- of the Metaobject Protocol. The MIT Press.
-
- Reflection and Metaobject Protocols (MOPs). Uses a CLOS subset, Clossette,
- as a foundation.
-
- [Kim 89] Won Kim and Frederick Lochovsky Editors. Object-Oriented Concepts,
- Applications, and Databases.
-
- Collection of articles on advanced OO and research systems.
-
- [Krasner 88] G. E. Krasner and S. T. Pope. A Cookbook for Using the Model-View-
- Controller User Interface Paradigm in Smalltalk-80. JOOP, vol 1, no 3, August/
- September, 1988, pp 26-49,
-
- An early paper published on MVC.
-
- [Lakoff 87] George Lakoff. Women, Fire, and Dangerous Things: What Categories
- Reveal About The Mind. UOC Press.
-
- An almost formal view of classification/categorization by the noted cognitive
- scientist, George Lakoff. His view blasts objectivism and contends to
- replace it with a subjectivist view, based on a study of humans, natural
- language, and concept formation.
-
- [LaLonde 90] Wilf R. LaLonde and John R. Pugh. Inside Smalltalk: Volume 1.
- Prentice Hall.
-
- Good introduction to Smalltalk.
-
- [LaLonde 90b] Wilf R. LaLonde and John R. Pugh. Inside Smalltalk: Volume 2.
- Prentice Hall.
-
- Excellent coverage of MVC. However, it's based on ParcPlace Smalltalk-80,
- version 2.5, which is obsolete.
-
- [Liskov 93] Barbara Liskov and Jeannette M. Wing. Specifications and Their use
- in Defining Subtypes. OOPSLA 93, pp 16-28. ASM SIGPLAN Notices, V 28, No 10,
- Oct. 1993. A-W ISBN 0-201-58895-1.
-
- Specifications on Subtype hierarchies. Helps to insure the semantic
- integrity of a separate subtype system. See section 2.7.
-
- [Madsen 93] Ole Lehrmann Madsen, Birger Moller-Pedersen, Kristen Nygaard:
- Object-oriented programming in the BETA programming language. Addison-Wesley,
- June 1993. ISBN 0 201 62430 3
-
- The new and authoritative book on BETA, by the original designers. They
- are some of the same designers of the Simula languages, originating OO.
- Also just announced:
- Object-Oriented Environments: The Mjolner Approach
- Editors: Jorgen Lindskov Knudsen, Mats Lofgren, Ole Lehrmann Madsen,
- Boris Magnusson
- Prentice Hall: The Object-Oriented Series
- ISBN: 0-13-009291-6 (hbk)
-
- [Martin 92] James Martin and James J. Odell. Object-Oriented Analysis and
- Design, Prentice-Hall, Englewood Cliffs, NJ.
-
- Its primary purpose is to indicate how information engineering (IE) can be
- evolved to accommodate OO. The analysis portion (starting at Chapter 15)
- attempts to go back to 'first principles' and is based on a formal foundation.
- Therefore, the IE aspect is not required. Emphasis is more on analysis than
- design.
-
- [Meyer 88] Bertrand Meyer. Object-Oriented Software Construction. Prentice
- Hall. [Is there a new edition out?]
-
- The original book on Eiffel. Coverage on object-oriented design and
- programming. Also:
-
-
- [Meyer 92] Bertrand Meyer. Eiffel: The Language. Prentice Hall. Englewood
- Cliffs, NJ. 1992.
-
- The definitive book on Eiffel by its author.
-
- [Meyer 94] Bertrand Meyer. Reusable Software: The Base Object-Oriented
- Components Libraries.
-
- The new Eiffel class Libraries.
-
- [Mugridge 91] Warwick B. Mugridge et al. Multi-Methods in a Statically-Typed
- Programming Language. Proc. ECOOP.
-
- Efficient implementation of Multi-Methods.
-
- [Murray 93] Robert B. Murray. C++ Strategies and Tactics. Addison Wesley.
-
- C++, has template examples.
-
- [Nerson 92] Jean-Marc Nerson. Applying Object-Oriented Analysis and Design.
- CACM, 9/92.
-
- Demonstrates the basics of the BON method/notation. Nerson: marc@eiffel.fr
-
- [Paepcke 93] Andreas Paepcke. Object-Oriented Programming: The CLOS
- Perspective. MIT Press. ISBN 0-262-16136-2.
-
- CLOS, readable introduction to its metaobject protocol, comparisons with
- other languages, uses and methodology, and implementation. Develops a
- persistent object metaclass example.
-
- [Raj 89] R.K. Raj and H.M. Levy. A Compositional Model for Software Reuse.
- The Computer Journal, Vol 32, No. 4, 1989.
-
- A novel approach aading reuse to Emerald [Black 86] without inheritance.
-
- [Reenskaug 91] T. Reenskaug, et al. OORASS: seamless support for the creation
- and maintenance of object-oriented systems. Journal of Object-Oriented
- Programming, 5(6).
-
- Presents the Object-Oriented Role Analysis, synthesis, and Structuring
- OOSE methodology.
-
- [Reenskaug 95] T. Reenskaug, et al. WORKING WITH OBJECTS: The OOram Software
- Engineering Method Manning ISBN: 1-884777-10-4, PH ISBN: 0-13-452930-8.
- Accolades:
- "...the authors take you on a journey through object techniques filled with
- examples. You will come away from this book enriched, with a sound
- understanding of OT-based abstractions for modeling programs."
- Richard Mark Soley, OMG
- "The first method that deals realistically with reuse, and one of the few
- that comes close to describing what I do when I design."
- Ralph Johnson, University of Illinois
- "...the first complete account of role-based methods that have proven to be
- a step forward in OO design and development."
-
-
- [Rout 95] T.T. Rout. Ed. Software Process Assessment: Theory and Practice. Proceedings, 2nd
- International SPICE Symposium. Australian Software Quality Research Institute, Brisbane,
- Australia., June 1 - 2, 1995. ISBN 0 86857 676 X.
-
- Excellent coverage of the new SPICE standard: history, present details, goals.
-
- [Royce 70] W. W. Royce. Managing the Development of Large Software Systems.
- Proceedings of IEEE WESCON, August 1970.
-
- Introduces the Waterfall Process Model.
-
- [Rumbaugh 91] Rumbaugh James, et al. Object-Oriented Modeling and Design.
- Prentice Hall.
-
- The often referred to book on OOA/OOD. Introduces the Object Modeling
- Technique (OMT) OOA/D notation and methodology. Has case studies.
-
- [Sciore 89] Edward Sciore. Object Specialization. ACM Transactions on
- Information Systems, Vol. 7, No. 2, April 1989, p 103.
-
- A hybrid approach between delegation and classical OO.
-
- [Selic 94] Bran Selic, Garth Gullekson, and Paul T. Ward. Real-Time
- Object-Oriented Modeling. Published by John Wiley & Sons.
- ISBN 0-471-59917-4
-
- OO method addresses complete lifecycle needs of real-time systems. Emphasizes
- executable models for early validation of requirements, architecture, and
- design combined with techniques for automatic generation of implementations.
- Specifically real-time with iterative and incremental development process.
- Single consistent graphical modeling concepts apply uniformly to OOA/D/I.
-
- [Shlaer 88] Sally Shlaer and Stephen J. Mellor. Object-Oriented Systems
- Analysis: Modeling the World in Data.
-
- Credited as the first book proposing an OOA method.
-
- [Shlaer 92] Sally Shlaer and Stephen J. Mellor. Object Lifecycles: Modeling
- the World in States.
-
- An addition to [Shlaer 88], provides dynamic modeling with a state-
- transition driven approach.
-
- [Strachey 67] C. Strachey. Fundamental Concepts in programming languages.
- Lecture Notes for International Summer School in Computer Programming,
- Copenhagen, Aug.
-
- Contains original, classical definition of polymorphism.
-
- [Stroustrup 90] Ellis, M.A., Stroustrup. The Annotated C++ Reference Manual.
- Addison Wesley.
-
- The ARM; the original and definitive book on C++. Serves as the ANSI
- base document for C++. Also covers C++ implementation. It is meant as
- a reference (including for compiler writers), not as a tutorial for
- beginners. Perhaps a better ref is [Stroustrup 91].
-