From: dalamb@qucis.queensu.ca (David Alex Lamb)
Newsgroups: comp.software-eng,comp.answers,news.answers
Subject: FAQ 3: Software engineering readings
Keywords: FAQ
Date: 26 Jan 93 17:02:49 GMT
Expires: Thu, 11 Mar 1993 17:02:30 GMT
Reply-To: dalamb@qucis.queensu.ca (David Alex Lamb)
Followup-To: comp.software-eng
Organization: Computing and Information Science, Queen's University at Kingston, Ontario,  K7L 3N6, Canada
Supersedes: <readmsg_728053506@qucis.QueensU.CA>

Archive-name: software-eng/part3

This is the monthly "frequently asked questions" (FAQ) posting on
reading materials for software engineers.  Topics include:
   Textbooks
   Periodicals on Software Engineering
   Other sources of information
   General reading for software engineers
   Metrics
   Metrics for object-oriented systems
   User Interface Design
   Human Factors
   Software Testing
   Requirements Analysis
   Collaborative Requirements Analysis
   Training for Object-Oriented Analysis
   Programming Style
   Formal Specification
   Software Process
Look for lines starting with "Subject:" (control-G command in rn).

Be warned: the only mechanism we use to compose this list is to gather
information submitted by people around the net, post it regularly, and
incorporate feedback.  All evaluations are the opinions of those who submitted
them; your mileage may vary.  Send comments to dalamb@qucis.queensu.ca (David
Alex Lamb).


------------------------------------------------------------------------
Subject: Textbooks
Date: 12 May 1992
Originally collected by: hsrender@happy.colorado.edu (Hal Render)

Numbers 1-8 are Hal Render's original list in his rough order of preference.
1. _Software Engineering: The Production of Quality Software_
   by Shari Pfleeger, 2nd Edition, Macmillan, 1991, ISBN 0-02-395115-X
   hsrender@happy.colorado.edu: Like #2&#3, had the best explanations of
        what I want to cover (different engineering lifecycles, methods,
        and tools).
2. _Software Engineering: A Practitioner's Approach_ by Roger Pressman,
   2nd Edition, McGraw-Hill, 1987, ISBN 0-07-050783-X
   (3rd edition available fall 1991)
   hsrender@happy.colorado.edu: Like #1&#3, had the best explanations of
        what I want to cover (different engineering lifecycles, methods,
        and tools).
   robb@iotek.uucp (Robb Swanson): the definitive book on the subject as
        far as I'm concerned.
   johnson@aplcen.apl.jhu.edu (Michelle Johnson): a good text book as well
        as reference
3. _Software Systems Engineering_ by Andrew Sage and James D. Palmer
   hsrender@happy.colorado.edu: Like #1&#2, had the best explanations of
        what I want to cover (different engineering lifecycles, methods,
        and tools).
4. _Fundamentals of Software Engineering_ by Ghezzi, Jayazeri and Mandrioli
   Prentice-Hall, 1991
   hsrender@happy.colorado.edu: Like #5, good, and covered the issue of
        specifications and verification better, but at the expense of
        other aspects of the development process.  I may use one of them
        for a graduate course in software engineering.
   Nancy Leveson <nancy@murphy.ICS.UCI.EDU>:  Better than Sommerville,
        although I like much of Sommerville.
5. _Software Engineering with Abstractions_ by Valdis Berzins and Luqi
   Addison Wesley, 1991, 624 pages.
   hsrender@happy.colorado.edu: Like #4, good, and covered the issue of
        specifications and verification better, but at the expense of
        other aspects of the development process.  I may use one of them
        for a graduate course in software engineering.
   straub@cs.UMD.EDU (Pablo A. Straub): Both this and #9 have a good
        emphasis on using formal techniques (i.e.,  doing engineering
        properly), but they do not disregard informal methods; chapters
        are roughly organized around the traditional lifecycle.
        #5 is longer and can be used in a two-term sequence or for
        graduate students (it's  possible  to  use  it in a one-term
        undergrad course by covering only part of the material). One
        thing I like is that management and validation is given in all
        chapters, so that these activities are integrated into the
        development process.  Emphasizes the use of formally specified
        abstractions.  Uses the authors' specification language (Spec)
        to develop a project in Ada.
6. _Software Engineering_ by Ian Sommerville
    Addison-Wesley, ISBN 0-201-17568-1
   hsrender@happy.colorado.edu: Our current text, and my basic problem
        with it is the vague way it covers many of the topics.
7. _Software Engineering with Student Project Guidance_ by Barbara Mynatt
   hsrender@happy.colorado.edu: Like #8, not bad, but fairly low-level
        and doesn't cover many tools and techniques I consider valuable.
8. _Software Engineering_ by Roger Jones
   hsrender@happy.colorado.edu: Like #7, not bad, but fairly low-level
        and doesn't cover many tools and techniques I consider valuable.
9. _Software Engineering: Planning for Change by David Alex Lamb,
   Prentice-Hall, 1988, 298 pages
   straub@cs.UMD.EDU (Pablo A. Straub): Both this and #5 have a good
        emphasis on using formal techniques (i.e.,  doing engineering
        properly), but they do not disregard informal methods; chapters
        are roughly organized around the traditional lifecycle.
        #9 has the advantage of being shorter, yet covering most relevant
        topics (lifecycle phases, formal specs, v&v, configurations,
        management, etc.).  It is very appropriate for an undergrad course.
        It emphasizes that maintenance is a given and should be taken into
        account (hence the title).  Several specification techniques are
        covered and used to develop a project in Pascal.
10._A Practical Handbook for Software Development_ by N.D. Birrell and
   M.A. Ould, Cambridge University Press, 1985/88. ISBN 0-521-34792-0
        (Paper cover); ISBN 0-521-25462-0 (Hard cover)
   ewoods@hemel.bull.co.uk (Eoin Woods)
11._Fundamentals of Computing for Software Engineers_ by Eric S. Chan &
        Murat M. Tanik, Van Nostrand Reinhold
   kayaalp@csvax.seas.smu.edu (Mehmet M. Kayaalp MD)
12._Software Engineering_ by Stephen R. Schach, Aksen Associates
   (ISBN 0-256-08515-3); also Richard D. Irwin, Inc., 1990.
13._Practical Software Engineering_ by Stephen R. Schach, Aksen Associates
   and Richard D. Irwin Inc. (ISBN 0-256-11455-2), 1992. Advertised as
   sophomore through senior level, emphasizing teams, maintenance, reuse,
   CASE tools.

------------------------------------------------------------------------
Subject: Periodicals on Software Engineering
Date: 12 May 1992

Professional Journals
Meant for working professionals with technical backgrounds.
  IEEE Software
    summary: often presents recent research work, but much more readably
            than typical research journals.
    publisher: IEEE (Institute of Electrical and Electronic Engineers)
    subscriptions: IEEE Service Center, 445 Hoes Lane, P.O. Box 1331,
            Piscataway, NJ 08855-1331, USA
  Software Engineering Notes
    summary: unrefereed newsletter; includes digest of comp.risks
    publisher: ACM (Association for Computing Machinery) SIGSOFT
            (Special Interest Group on Software engineering),
    subscriptions: ACM, 11 West 42d St, New York, NY 10036, USA
  Software Maintenance News
    summary: monthly report on people and technology in maintenance;
            aimed at practitioners
    publisher: Software Maintenance News Inc, B10 Suite 237,
            4546 El Camino Real, Los Altos, CA 94022, USA
    subscriptions: as above
  Software Testing, Verification and Reliability
    summary: aimed at practitioners; dissemination of new
            techniques, methodologies and standards
    publisher: John Wiley & Sons Ltd, Baffins Lane, Chichester,
            West Sussex PO19 1UD, UK
  The Software Practitioner (TSP)
    summary: started late 1990; meant for real practitioners; still
            finding its place
    publisher: Computing Trends, P.O. Box 213, State College, PA
            16804, USA
Mixed Research and Practice
  Journal of Software Maintenance: Research and Practice
    summary: refereed; intended for both researchers and practitioners;
            joint US/UK editorial board
    publisher: Wiley (see above)
    subscriptions: Journals Subscription Department, at above address
  Software Engineering Journal (SEJ)
    summary: full spectrum of articles from practical experience
            to long-term research
    publisher: IEE (Institution of Electrical Engineers) and BCS
            (British Computer Society); write to IEE Publication Sales,
            PO Box 96, Stevenage, Herts, SG1 2SD, United Kingdom.
  Software: Practice and Experience
    summary: not always software engineering; good reputation for practice
    publisher: Wiley (see above)
  The Software Quality Journal
    summary: academic research and industrial case studies and experience
    publisher: Chapman & Hall, Journals Promotion Department
            North America:29 West 35th Street, New York, NY 10001-2291, USA
            Europe: 2-6 Boundary Row, London SE1 8HN, UK
Research Journals
Meant for presenting recent research results.
  Information and Software Technology (IST)
    summary: broad spectrum, much software engineering, software process,
            but also computer science topics.
    publisher: Butterworth-Heineman, Linacre House, Jordan Hill, Oxford, UK
  Transactions on Software Engineering (TSE)
    summary: main software engineering research journal
    publisher: IEEE (see above)
  Transaction on Software Engineering Methodology (TOSEM)
    summary: first issue dated January 1992; not enough track record for an
             opinon yet.
    publisher: Association for Computing Machinery
  Journal of Systems and Software
    summary: meant to be more practitioner-oriented than other
            research journals
    publisher: Elsevier
Other magazines:
  Software
    summary: "For Managers of Enterprise-Wide Software Resources"
            primarily aimed at Management Information Systems (MIS) world
    publisher: Sentry Publishing Company, Inc, 1900 West Park Drive,
            Westborough, MA 01581, (508) 366-2031

------------------------------------------------------------------------
Subject: Other sources of information
Date:  1 Aug 1991

Software Quality Engineering has a publication division called Single
Source, Publications, Books, and Information for Software
Practitioners and Managers:
    Software Quality Engineering -- Single Source
    3000-2 Hartley Road
    Jacksonville, FL 32257
    (904) 268-8639
    FAX (904) 268-0733
    TOLL FREE 1-800-423-8378
They do regular reviews of most of the literature relevant to testing, s-eng,
and management. The books which are deemed useful by the reviewers are
purchased for reselling. Their catalog includes most of the literature that
I've come across on Software Testing.  One of the items in the catalog is a
publication which the company puts together itself, The Testing Tools
Reference Guide, a sort of catalog of tools that have passed certain criteria,
(number of unit sold, at least three verifiable references, etc.) They charge
$145.00 for this guide.  This includes two bi-annual updates. I've found the
guide very useful in tracking down vendors which specialize in CASE and
testing tools, although it seems to be heavily biased towards IBM mainframe
hardware and COBOL programming (shudder!).  Each text is described and
summarized I'm sure SQE would be happy to send catalogs free of charge and
most of the prices seem reasonable.  - Glenn Stowe glenn8@odie.cs.mun.ca

------------------------------------------------------------------------
Subject: General reading for software engineers
Date: 11 Oct 1991
Originally collected by: cml@cs.UMD.EDU (Christopher Lott)
Summary: responses to "what should every software engineering have read?"

1. General
   a. Read about 100 pages of comp.risks
   b. Frederick P. Brooks, Jr., The Mythical Man-Month, Addison Wesley, 1978.
      ISBN 0-201-00650-2
   c. The anecdotal books of Robert L. Glass, from Computing Trends, P.O.Box
      213, State College, PA 16804, including: "Tales of Computing Folk: Hot
      Dogs and Mixed Nuts", "The Universal Elixir and other Computing Projects
      Which Failed", "The Second Coming: More Computing Projects Which
      Failed", "The Power of Peonage", "Computing Catastrophes", "Computing
      Shakeout", "Software Folklore"
   d. Paul W. Oman & Ted G. Lewis, Milestones in Software Evolution, IEEE
      Computing Society, ISBN 0-8186-9033-X.
   e. J.A. McDermid (editor), Software Engineer's Reference Book,
      Butterworth-Heinemann Ltd., 1991.  ISBN No: 0 750 61040 9.  Focuses on
      the foundations, and subject matter that is not volatile.  The book is
      divided into three major parts: Theory and Mathematics; Methods,
      Techniques, and Technology; Principles of Applications.  For a beginner,
      the first two parts are indispensible.  It does not provide details of
      current research, but points an interested reader to the right sources.
2. Programming in the large
   a. Grady Booch, Software Engineering with Ada, second edition,
      Benjamin/Cummings, 1987
   b. Bertrand Meyer, Object-Oriented Software Construction, Prentice-Hall,
      1988.
   c. David L. Parnas, On the Criteria to be Used in Decomposing Systems into
      Modules, Communications of the ACM 15,2 (December 1972).
3. Programming in the small
   a. Jon Louis Bentley, Writing Efficient Programs, Prentice-Hall, 1982.
   b. Jon Bentley, Programming Pearls, Addison-Wesley, 1986.
   c. Jon Bentley, More Programming Pearls, Addison-Wesley, 1988.
   d. O.-J. Dahl, E.W. Dijkstra, C.A.R. Hoare, Structured Programming,
      Academic Press, 1972.
   e. Brian W. Kernighan, and P.J. Plauger, Software Tools, Addison-Wesley,
      1976.
   f. Brian W. Kernighan & P.J. Plauger, The Elements of Programming Style,
      Second Edition, McGraw-Hill, 1978. ISBN 0-07-034207-5.
4. Mathematical Approaches
   a. Edsger W. Dijkstra, A Discipline of Programming, Prentice-Hall, 1976.
   b. E.W.Dijkstra.  Selected writings on computing: a personal perspective.
      Springer Verlag, 1982.
   c. David Gries (editor), Programming methodology. A collection of articles
      by members of IFIP Working Group 2.3. Springer Verlag, 1978.
5. Other
   a. Barry W. Boehm, Software Engineering Economics, Prentice-Hall, 1981.
   b. Daniel P. Freedman and Gerald M. Weinberg, Handbook of Walkthoughs,
      Inspections and Technical Reviews, 3rd edition Dorset House Publishing,
      1990, ISBN 0-932633-19-6.  Originally published by Little, Brown &
      Company, 1982: ISBN 0-316-292826.
   c. Tom Gilb, Principles of Software Engineering Management, Addison-Wesley,
      1988, ISBN 0-201-19246-2
   d. Glenford J. Myers, The Art of Software Testing, Wiley, 1979.
   e. Herb Simon, The Sciences of the Artificial, Second Edition, MIT Press,
      1981
   f. Gerald M. Weinberg, The Psychology of Computer Programming, Van Nostrand
      Reinhold, 1971. ISBN 0-442-29264-3

------------------------------------------------------------------------
Subject: Metrics
Date: 26 Jan 1993

Thanks especially to Horst Zuse, who sent his extensive bibliography on
metrics.  He has an extensive database with over 500 entries on metrics;
contact ZUSE%DB0TUI11.BITNET@vm.gmd.de.
a. David N. Card and Robert L. Glass.  Measuring Software Design Quality
   Prentice Hall, Engewood Cliffs, New Jersey, 1990
b. S.D. Conte, H.E. Dunsmore, V.Y. Shen.  Software Engineering Metrics and
   Models.  Benjamin/Cummings Publishing Company, Menlo Park, 1984 ISBN: 0-
   8053-2162-4
c. Tom DeMarco.  Controlling Software Projects: Management, Measurement and
   Estimation.  Englewood Cliffs, N.J.: Prentice Hall, 1982
d. T.Denvir, R.Herman and R.Whitty (Eds.).  Proceedings of the International
   BCS-FACS Workshop: Formal Aspects of Measurement, May 5, 1991, South Bank
   Polytechnic, London, UK, Series edited by Professor C.J. van Rijsbergen,
   ISBN 3-540-19788-5.  Springer Publisher, 1992, 259 pages.
e. Reiner Dumke.  Softwareentwicklung nach Ma`s - Sch`atzen - Messen -
   Bewerten, Vieweg Verlag, 1992.
f. Lem Ejiogu.  Software Engineering with Software Metrics.  QED Information
   Sciences, 1991
g. N.E. Fenton, (Editor).  Software Metrics: A Rigorous Approach, 1991 United
   Kingdom: Chapman & Hall, 2-6 Boundary Row, London SE1 8HN, ISBN 0-412-
   40440-0.  United States: Van Nostrand Reinhold, 115 5th Avenue, New York NY
   10003, ISBN 0-442-31355-1.
h. Robert B. Grady and Deborah L. Caswell.  Software Metrics: Establishing a
   Company-Wide Program, Prentice-Hall, 1987, ISBN 0-13-821844-7
i. Robert B. Grady.  Practical Software Metrics for Project Management and
   Process Improvement.  Prentice Hall 1992
j. M.H. Halstead.  Elements of Software Science.  New York, Elsevier North-
   Holland, 1977
k. S. Henry, D. Kafura, "Software Structure Metrics Based on Information
   Flow", IEEE Transactions on Software Engineering, Vol.SE-7, No.5, September
   1981.
l. IEEE.  Standard Dictionary of Measures to Produce Reliable Software.  The
   Institute of Electrical and Electronics Engineers, Inc.  345 East 47th
   Street, New York.  IEEE Standards Board, 1989
m. IEEE.  Guide for the Use of Standard Dictionary of Measures to Produce
   Reliable Software.  The Institute of Electrical and Electronics Engineers,
   Inc 345 East 47th Street, New York.  IEEE Standard Board, Corrected
   Edition, October 23, 1989
n. T.J. McCabe, A Complexity Measure, IEEE Transactions on Software
   Engineering, VOL. SE-2, NO. 4, Dec. 1976.
o. Alan Perlis, Frederick Sayward, Mary Shaw.  Software Metrics: An Analysis
   and Evaluation.  The MIT Press, 1981
p. V.Y. Shen, S.D. Conte, H.E. Dunsmore, Software Science Revisited: A
   Critical Analysis of the Theory and Its Empirical Support, IEEE
   Transactions on  Software Engineering, Vol. SE-9, No. 2, March 1983.
   Abstract: a critical evaluation of Halstead's software science metric.
q. Martin Sheppard, Software Engineering Metrics, McGraw-Hill Book Company
   (UK) Limited, Shoppenhangers Road, Maidenhead, Berkshire, SL6 2QL.  ISBN
   0-07-707410-6 (UK).  Contains 24 selected papers; 1992.  Tel: +44 (0)698
   23431/2 Fax: +44 (0)698 770224
r. Horst Zuse, Software Complexity: Measures and Methods, de Gruyer (200 Saw
   Mill River Road, Hawthorne, NY 10532 - 914/747-0110) 1991

------------------------------------------------------------------------
Subject: 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.

------------------------------------------------------------------------
Subject: User Interface Design
Date:  9 Jul 1991

See also the item on Human Factors.
a. John M. Carroll (editor).  Interfacing Thought: Cognitive Aspects of
   Human-Computer Interaction, MIT press, 1987.  This book has several good
   theoretical papers.
b. Brad A. Myers, Creating User Interfaces by Demonstration London: Academic
   Press, 1988
c. Donald A. Norman, The Psychology of Everyday Things.  Basic Books, 1988.
   ISBN 0-465-06709-3 (hardback).  Trade paperback version is called "The
   Design of Everyday Things"
d. Donald A. Norman & Stephen W. Draper (editors), User Centered System
   Design: New Perspectives on Human-Computer Interaction, Lawrence Erlbaum
   Associates, 1986.
e. Ben Shneiderman, Designing the User Interface: Strategies for Effective
   Human-Computer Interaction, Addison-Wesley, 1987.  Seems to be aimed at the
   practitioner.

------------------------------------------------------------------------
Subject: Human Factors
Date: 20 Sep 1991
Originally collected by: rjc@cstr.ed.ac.uk (Richard Caley)

a. Martin Helander, Handbook of Human-Computer Interaction North-Holland 1988.
   A huge collection of papers on various subjects; quite expensive.
b. Sidney L. Smith, Jane N. Mosier.  Guidelines for Designing User Interface
   Software Technical report ESD-TR-86-278 Electronic Systems Division The
   MITRE Corporation Bedford, MA 01730.  A tech report rather than a book, but
   looks to be a good refence for issues. Also available as a hypertext.
c. Paul Heckel, The Elements of Friendly Software Design: The New Edition.
   Sybex Inc.  1991.  Original edition: Warner Books, 1984.
d. Walter E. Gilmore, The User-Computer Interface in Process Control: A Human
   Factors Engineering Handbook.  Boston:Academic Press, 1989.  Is said to
   give references to research upon which it is based.
e. Edward A. Fox (editor), Resources in Human-Computer Interaction, ACM Press,
   1990.  ISBN 0-89791-373-6.
f. Gavriel Salvendy (editor), Handbook of Human Factors, John Wiley and Sons,
   1987.

------------------------------------------------------------------------
Subject: Software Testing
Date:  9 Jul 1991

The original request that prompted the posting of this information asked for
recent work, not buried in a Software Engineering tome.
a. Boris Beizer, Software Testing Techniques, Van Nostrand Reinhold, 1990 (2nd
   edition) ISBN 0-442-20672-0.  503 pages, $43.  Has 37-page annotated
   bibliography of references.
b. Cheatham and Mellinger, Testing Object Oriented Software Systems,
   Proceedings of the 1990 ACM SCS Conference
c. William C. Hetzel, The Complete Guide to Software Testing, Second edition,
   QED Information Services INC, 1988.  ISBN 0-89435-242-3

------------------------------------------------------------------------
Subject: Requirements Analysis
Date: 18 Sep 1991

a. Al Davis, Software Requirements: Analysis and specification.
   Prentice/Hall, 1990.  Has some treatment of all of the popular requirements
   analysis and specification methods including OOA, Structured Analysis,
   SREM, FSM, but not the "trendy" stuff (Information Engineering, JAD).
b. Donald C. Gause and Gerald M. Weinberg, Exploring Requirements: Quality
   before design.  Dorset House Publishing, 353 West 12th Street, New York, NY
   10014

------------------------------------------------------------------------
Subject: Collaborative Requirements Analysis
Date: 12 Jan 1991
Originally collected by: anton@cc.gatech.edu (Annie I. Anton)

a. Palmer, J.D., Aiken, P. and Fields, N.A.  "A Computer Supported Cooperative
   Work Environment for Requirements Engineering and Analysis", Proceedings of
   the Requirements Engineering and Analysis Workshop, Software Engineering
   Institute, March 12-14, 1991.
b. Palmer, J.D. and Aiken, P.H.  "Utilizing Interactive Multimedia to Support
   Knowledge-based Development of Software Requirements", Proceedings of the
   5th Annual RADC Knowledge-Based Software Assistant Conference, Syracuse,
   NY, September 24-28, 1990.
c. Marca, D.  "Specifying Groupware Requirements From Direct Experience", Proc
   6th International Workshop On Software Specification And Design, October
   1991
d. Marca, D.  "Augmenting SADT To Develop Computer-Supported Cooperative
   Work", Proceedings of the International Conference on Software Engineering;
   May 1991
e. Marca, D.  "Experiences in Building Meeting Support Software", Proceedings
   of the 1st Groupware Technology Workshop; August 1989
f. Marca, D.  "Specifying Coordinators: Guidelines for Groupware Developers",
   Proceedings of the 5th International Workshop on Software Specification and
   Design; May 1989

------------------------------------------------------------------------
Subject: Training for Object-Oriented Analysis
Date:  4 Feb 1992
Originally collected by: haim@taichi.uucp (24122-kilov)

a. Bertrand Meyer.  Object-oriented software construction. Prentice-Hall, 1988
   For the somewhat advanced - perhaps, with some programming maturity.
b. B. Henderson-Sellers.  A book of object-oriented knowledge. Prentice-Hall,
   1992.  This has quite a few viewgraphs in it!
c. Grady Booch.  Object-oriented design with applications.  Addison-Wesley,
   1991.

------------------------------------------------------------------------
Subject: Programming Style
Date: 19 Sep 1991
Originally collected by: oman@cs.uidaho.edu (Paul W. Oman)

a. N. Anand (1988) "Clarify Function!" ACM SigPLAN Notices, 23(6), 69-79.
   Advocates the use of mnemonic names for entities in a system.  Rules are
   presented for naming procedures, variable, pointers, etc.
b. S. Henry (1988) "A Technique for Hiding Proprietary Details While Providing
   Sufficient Information for Researchers; or, do you Recognize this Well-
   known Algorithm?," Journal of Systems and Software, 8(1), 3-11.  Suggests
   encryption of variable names as part of a technique for encoding
   algorithms, while still providing sufficient information to researchers.
c. R. Brooks (1980) "Studying Programmer Behavior Experimentally: The Problems
   of Proper Methodology," Communications of the ACM, 23(4), 207-213.
   Discusses issues and tradeoffs in proper control of experiments involving
   computer programmers.
d. E. Thomas & P. Oman "A Bibliography of Programming Style Literature," ACM
   SIGPLAN Notices, Vol. 25(2), Feb. 1990, pp.  7-16.

------------------------------------------------------------------------
Subject: Formal Specification
Date:  7 Jul 1992

See also the comp.specification.z FAQ.
a. J.M.Spivey.  "Understanding Z: a specification language and its formal
   semantics".  Cambridge University Press, 1988.
b. David Lightfoot.  "Formal Specification Using Z".  MacMillan, 1991, ISBN
   0-333-54408-0.  A clear introduction to Z and the discrete mathematics that
   underlies it.
c. B.Potter, J.Sinclair & D.Till.  "An introduction to formal specification
   and Z".  Prentice Hall International Series in Computer Science, 1991.

------------------------------------------------------------------------
Subject: Software Process
Date:  5 Feb 1992
Originally collected by: cml@cs.umd.edu (Christopher Lott)

a. Watts S. Humphrey. Managing the Software Process.  Addison-Wesley
   Publishing Co., Reading, Massachusetts, 1989; Chapters 13--15, 18.
b. Victor R. Basili.  "Iterative Enhancement:  A Practical Technique for
   Software Development".  IEEE Transactions on Software Engineering. v.~SE-1,
   n.~4, December 1975, pp.~390--396.
c. Victor R. Basili and H. Dieter Rombach.  "The TAME Project:  Towards
   Improvement-Oriented Software Environments", IEEE Transactions on Software
   Engineering, v. SE-14, n. 6, June 1988, pp.~758--773.
d. Victor R. Basili, "Software Development:  A Paradigm for the Future",
   Proceedings of the Thirteenth Annual International Computer Science and
   Applications Conference, Orlando, Florida, September 1989, pp.~471--485.
e. Barry W. Boehm.  "A Spiral Model of Software Development and Enhancement",
   IEEE Computer, v.~21, n.~5, May 1988, pp.~61--72.
f. Frank DeRemer and Hans H. Kron.  "Programming-in-the-Large Versus
   Programming-in-the-Small", IEEE Transactions on Software Engineering,
   v.~SE-2, n.~2, June 1976, pp.~80--86.
g. J. J. Horning and B. Randell.  "Process Structuring", Computing Surveys,
   v.~5, n.~1, March 1973, pp.~5--30.
h. M. M. Lehman.  "Process Models, Process Programs, Programming Support",
   Proceedings of the Ninth International Conference on Software Engineering,
   Monterey, CA, March 1987, pp.~14--16.
i. Leon Osterweil.  "Software Processes are Software Too", Proceedings of the
   Ninth International Conference on Software Engineering, Monterey, CA, March
   1987, pp.~2--13.
j. Winston W. Royce.  "Managing the Development of Large Software Systems:
   Concepts and Techniques", 1970 WESCON Technical Papers, v.~14, Western
   Electronic Show and Convention, Los Angeles, Aug. 25-28, 1970; Los Angeles:
   WESCON, 1970, pp.~A/1-1 -- A/1-9; Reprinted in Proceedings of the Ninth
   International Conference on Software Engineering, Pittsburgh, PA, USA, ACM
   Press, 1989, pp.~328--338.
k. Peter H. Feiler and Watts S. Humphrey.  "Software Process Development and
   Enactment:  Concepts and Definitions", Software Engineering Institute,
   Carnegie Mellon University, Pittsburgh, PA, 1991.
l. Watts S. Humphrey. "Session Summary:  Review of the State-of-the-Art",
   Proceedings of the Fifth International Software Process Workshop,
   Kennebunkport, Maine, USA, 10-13 October 1989, IEEE Computer Society Press,
   Los Alamitos, CA, 1990.
m. Gail E. Kaiser.  "Rule-Based Modeling of the Software Development Process",
   Proceedings of the 4th International Software Process Workshop,
   Moretonhampstead, Devon, UK, 11-13 May 1988, ACM Press, Baltimore, MD,
   1989, pp.~84--86.
n. Takuya Katayama.  "A Hierarchical and Functional Software Process
   Description and its Enaction", Proceedings of the Ninth International
   Conference on Software Engineering, Pittsburgh, PA, USA, ACM Press, 1989,
   pp.~343--352.
o. Marc I. Kellner and H. Dieter Rombach. "Comparisons of Software Process
   Descriptions", Proceedings of the Sixth International Software Process
   Workshop, Hakodate, Hokkaido, Japan, 29-31 October 1990, IEEE Computer
   Society Press, 1991.
p. Jayashree Ramanathan and Soumitra Sarkar.  "Providing Customized Assistance
   for Software Lifecycle Approaches", IEEE Transactions on Software
   Engineering, v.~14, n.~6, June 1988, pp.~749--757.
q. H. Dieter Rombach. "An Experimental Process Modeling Language: Lessons
   Learned from Modeling a Maintenance Environment", Proceedings of the
   Conference on Software Maintenance - 1989, IEEE, October 16-19, 1989.
r. H. Dieter Rombach. "MVP--L:  A Language for Process Modeling In--the--
   Large", University of Maryland Institute for Advanced Computer Studies
   Technical Report UMIACS--TR--91--96, CS--TR--2709, Department of Computer
   Science, University of Maryland, College Park, MD, 20742.
s. Stanley M. Sutton, Jr. "APPL/A:  A Prototpye Language for Software Process
   Programming", Department of Computer Science Report CU-CS-448-89,
   University of Colorado, Boulder, CO, 1989.
-- 
Software Technology Laboratory      dalamb@qucis.queensu.ca (David Alex Lamb)
Computing and Information Science   phone: (613) 545-6067
Queen's University, Kingston, Ontario, Canada K7L 3N6	
Newsgroups: comp.software-eng