Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!news2.wam.umd.edu!elk.ncren.net!canoe.uoregon.edu!hammer.uoregon.edu!logbridge.uoregon.edu!snoopy.risq.qc.ca!news.ccs.queensu.ca!cs.queensu.ca!dalamb
From: [email protected] (David Alex Lamb)
Newsgroups: comp.software-eng,comp.answers,news.answers
Subject: Comp.software-eng FAQ (Part 3): readings
Supersedes: <[email protected]>
Followup-To: comp.software-eng
Date: 23 May 2004 09:15:03 GMT
Organization: Computing and Information Science, Queen's University at Kingston, Ontario,  K7L 3N6, Canada
Lines: 612
Approved: [email protected]
Distribution: world
Expires: 4 Jul 2004 09:15:02 GMT
Message-ID: <[email protected]>
References: <[email protected]>
Reply-To: [email protected] (David Alex Lamb)
NNTP-Posting-Host: highnoon.cs.queensu.ca
Keywords: FAQ, Software Engineering
X-Disclaimer: Approval for *.answers is based on form, not content.
Originator: [email protected]
Xref: senator-bedfellow.mit.edu comp.software-eng:114932 comp.answers:57153 news.answers:271389

Last-Modified: 13 Oct 2002
Archive-name: software-eng/part3
URL: http://www.cs.queensu.ca/FAQs/SE/reading.html

This is the monthly "frequently asked questions" (FAQ) posting on
reading materials for software engineers.  Topics include:
   Textbooks
   Periodicals on Software Engineering
       Professional Journals
       Mixed Research and Practice
       Research Journals
       Other magazines
   Other sources of information
   General reading for software engineers
       General
       Programming in the large
       Programming in the small
       Mathematical Approaches
       Other
   Cost Estimation
   Formal Specification
   Metrics
       Metrics - General
       Metrics for object-oriented systems
   Object-Oriented Analysis and Design
   Programming Style
   Real-Time Systems
   Requirements Analysis
       Requirements Analysis - General
       Collaborative Requirements Analysis
   Software Process
   Software Testing
   User Interfaces
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 [email protected] (David
Alex Lamb).


------------------------------------------------------------------------
Subject: Textbooks
Date:  6 Dec 1997
Originally collected by: [email protected] (Hal Render)
The first 8 items are Hal Render's original list in his rough order of prefer�
ence.

1.  Software Engineering: The Production of Quality Software by Shari Pfleeger,
   2nd Edition, Macmillan, 1991, ISBN 0-02-395115-X.
   [email protected]: 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, 4th
   Edition, McGraw-Hill, 1996, ISBN 0070521824
   [email protected]: (on 2nd edition): Like #1&#3, had the best
     explanations of what I want to cover (different engineering lifecycles,
     methods, and tools).
   [email protected] (Robb Swanson): The definitive book on the subject as far
     as I'm concerned.
   [email protected] (Michelle Johnson): A good text book as well as
     reference.
3.  Software Systems Engineering by Andrew Sage and James D. Palmer.
   [email protected]: 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
   [email protected]: 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.
   [email protected] (Nancy Leveson): Better than Sommerville, although
     I like much of Sommerville.
5.  Software Engineering with Abstractions by Valdis Berzins and Luqi, Addison
   Wesley, 1991, 624 pages.
   [email protected]: 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.
   [email protected] (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
   [email protected]: 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
   [email protected]: 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
   [email protected]: 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.
   [email protected] (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).
   [email protected] (Eoin Woods):
11. Fundamentals of Computing for Software Engineers by Eric S. Chan & Murat M.
   Tanik, Van Nostrand Reinhold.
   [email protected] (Mehmet M. Kayaalp MD):
12. Classic and Object-Oriented Software Engineering, 3rd Edition, by Stephen
   R. Schach, Richard D. Irwin, Inc. (ISBN 0-256-18298-1), 1996.  Advertised
   as senior/first year graduate level, emphasizing the object-oriented
   paradigm, metrics, CASE tools, testing, and maintenance.
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: 31 Jul 2002

A. Professional Journals
Meant for working professionals with technical backgrounds.
  1.  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
  2.  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
  3.  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
  4.  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
  5.  The Software Practitioner (TSP)
      summary: started late 1990; meant for real practitioners
      publisher: Computing Trends, 1416 Sare Rd., Bloomington IN  47401  USA;
        voice/fax: 812-337-8047
  6.  Software Testing & Quality Engineering (at http://www.stqemagazine.com/)
      summary: Practical and relevent. Largely authored by practicing software
        QA and testing professionals.
      publisher: Software Quality Engineering (see http://www.sqe.com) since
        1998; previously published as Software QA by Steve Whitchurch.
B. Mixed Research and Practice
  1.  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
  2.  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.
  3.  Software: Practice and Experience
      summary: not always software engineering; good reputation for practice
      publisher: Wiley (see above)
  4.  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
C. Research Journals
Meant for presenting recent research results.
  1.  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
  2.  Transactions on Software Engineering (TSE)
      summary: main software engineering research journal
      publisher: IEEE (see above)
  3.  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
  4.  Journal of Systems and Software
      summary: meant to be more practitioner-oriented than other research
        journals
      publisher: Elsevier
D. Other magazines
  1.  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
  2.  Testing Techniques Newsletter
      summary: E-mailed on a monthly basis to support the publisher's
        customers and to provide information of general use to the testing
        community.
      publisher: Software Research, Inc.,  625 Third Street,  San Francisco,
        CA 94107-1997; Phone: (415) 957-1441; Toll Free: (800) 942-SOFT; FAX:
        (415) 957-0730; E-MAIL: [email protected].

------------------------------------------------------------------------
Subject: Other sources of information
Date: 21 Mar 2001

Software Quality Engineering has a publication division called Single Source,
Publications, Books, and Information for Software Practitioners and Managers:

   Software Quality Engineering -- Single Source
   330 Corporate Way Suite 300
   Orange Park, Florida (FL) 32073
   Tel: 904-278-0707
   Toll Free: 800-423-8378
   Fax: 904-278-4380
   Email: [email protected]
   Web:    www.sqe.com
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 [email protected]

------------------------------------------------------------------------
Subject: General reading for software engineers
Date: 18 Oct 1999
Originally collected by: [email protected] (Christopher Lott)
Summary: responses to "what should every software engineering have read?"

A. General
  1.  Read about 100 pages of comp.risks
  2.  Frederick P. Brooks, Jr., The Mythical Man-Month, 20th Anniversary
      Edition, Addison Wesley, 1995.
  3.  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"
  4.  Richard H. Thayer and Merlin Dorfman (editors), Software Engineering,
      Second Edition, IEEE Computer Society Press, Los Alamitos, CA, 1997.
  5.  Paul W. Oman & Ted G. Lewis, Milestones in Software Evolution, IEEE
      Computing Society, ISBN 0-8186-9033-X.
  6.  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.
B. Programming in the large
  1.  Grady Booch, Software Engineering with Ada, second edition,
      Benjamin/Cummings, 1987
  2.  Bertrand Meyer.  Object-oriented software construction, Second Edition.
      Prentice-Hall, 1997.  Detailed information available at
      http://www.eiffel.com/doc/oosc.html.
  3.  David L. Parnas, On the Criteria to be Used in Decomposing Systems into
      Modules, Communications of the ACM 15,2 (December 1972).
C. Programming in the small
  1.  Jon Louis Bentley, Writing Efficient Programs, Prentice-Hall, 1982.
  2.  Jon Bentley, Programming Pearls, Addison-Wesley, 1986.
  3.  Jon Bentley, More Programming Pearls, Addison-Wesley, 1988.
  4.  O.-J. Dahl, E.W. Dijkstra, C.A.R. Hoare, Structured Programming,
      Academic Press, 1972.
  5.  Brian W. Kernighan, and P.J. Plauger, Software Tools, Addison-Wesley,
      1976.
  6.  Brian W. Kernighan & P.J. Plauger, The Elements of Programming Style,
      Second Edition, McGraw-Hill, 1978. ISBN 0-07-034207-5.
D. Mathematical Approaches
  1.  Edsger W. Dijkstra, A Discipline of Programming, Prentice-Hall, 1976.
  2.  E.W.Dijkstra.  Selected writings on computing: a personal perspective.
      Springer Verlag, 1982.
  3.  David Gries (editor), Programming methodology. A collection of articles
      by members of IFIP Working Group 2.3. Springer Verlag, 1978.
E. Other
  1.  Tom Demarco and Timothy Lister, Peopleware : Productive Projects and
      Teams, 2nd Ed.  Paperback 2nd edition (February 1, 1999) Dorset House;
      ISBN: 0932633439
  2.  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.
  3.  Tom Gilb, Principles of Software Engineering Management, Addison-Wesley,
      1988, ISBN 0-201-19246-2
  4.  Glenford J. Myers, The Art of Software Testing, Wiley, 1979.
  5.  Herb Simon, The Sciences of the Artificial, Second Edition, MIT Press,
      1981
  6.  Gerald M. Weinberg, The Psychology of Computer Programming, Silver
      Anniversary Edition.  ISBN: 0-932633-42-0, Dorset House Publishing, 1998

------------------------------------------------------------------------
Subject: Cost Estimation
Date:  6 Dec 1997

1.  Lawrence Putnam and Ware Myers, "MEASURES FOR EXCELLENCE: Reliable Software
   on Time, Within Budget," Prentice-Hall, 1992, ISBN 0-13-567694-0.
   Suggested in Fall 1995 as the current standard by several correspondents.
   Constrains solutions to those that meet the user's objectives, such as
   cost, schedule, staff available, quality.
2.  Barry W. Boehm, Software Engineering Economics, Prentice-Hall, 1981.  This
   used to be the standard; it introduced the COCOMO model.

------------------------------------------------------------------------
Subject: Formal Specification
Date:  6 Dec 1997

See also the comp.specification.z FAQ.
1.  J.M.Spivey.  "Understanding Z: a specification language and its formal
   semantics".  Cambridge University Press, 1988.
2.  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.
3.  B.Potter, J.Sinclair & D.Till.  "An introduction to formal specification
   and Z".  Prentice Hall International Series in Computer Science, 1991.
4.  D.Bjorner & C.B.Jones.  "Formal Specification & Software Development",
   Prentice-Hall International Series in Computer Science, 1980.
5.  N.Gehani & A.D.McGettrick (eds).  "Software Specification Techniques",
   Addison-Wesley Publishing Company, 1986
6.  I. van Horebeek & J.Lewi.  "Algebraic Specifications in Software
   Engineering", Springer Verlag, 1989.
7.  J.Bergstra, P.Klint & J.Heering.  "Algebraic Specification", ACM Frontier
   Press Series. The ACM Press in co-operation with Addison-Wesley, 1989.
8.  J.Wing.  "A specifiers introduction to formal methods", IEEE Computer
   23(9):8-24, 1990.
9.  Prehn & Soetenel (eds).  "Formal Software Development Methods, VDM'91",
   LNCS 551 and 552, Springer-Verlag.

------------------------------------------------------------------------
Subject: Metrics
Date:  6 Dec 1997

A. Metrics - General

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%[email protected].
  1.  David N. Card and Robert L. Glass.  Measuring Software Design Quality
      Prentice Hall, Engewood Cliffs, New Jersey, 1990
  2.  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
  3.  Tom DeMarco.  Controlling Software Projects: Management, Measurement and
      Estimation.  Englewood Cliffs, N.J.: Prentice Hall, 1982
  4.  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.
  5.  Reiner Dumke.  Softwareentwicklung nach Ma`s - Sch`atzen - Messen -
      Bewerten, Vieweg Verlag, 1992.
  6.  Lem Ejiogu.  Software Engineering with Formal Metrics.  QED Information
      Sciences, 1991
  7.  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.
  8.  Robert B. Grady and Deborah L. Caswell.  Software Metrics: Establishing
      a Company-Wide Program, Prentice-Hall, 1987, ISBN 0-13-821844-7
  9.  Robert B. Grady.  Practical Software Metrics for Project Management and
      Process Improvement.  Prentice Hall 1992 ISBN 0-13-720384-5
  10. M.H. Halstead.  Elements of Software Science.  New York, Elsevier North-
      Holland, 1977
  11. S. Henry, D. Kafura, "Software Structure Metrics Based on Information
      Flow", IEEE Transactions on Software Engineering, Vol.SE-7, No.5,
      September 1981.
  12. 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
  13. 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
  14. T.J. McCabe, A Complexity Measure, IEEE Transactions on Software
      Engineering, VOL. SE-2, NO. 4, Dec. 1976.
  15. Alan Perlis, Frederick Sayward, Mary Shaw.  Software Metrics: An
      Analysis and Evaluation.  The MIT Press, 1981
  16. 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.
  17. 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
  18. Horst Zuse, Software Complexity: Measures and Methods, de Gruyer (200
      Saw Mill River Road, Hawthorne, NY 10532 - 914/747-0110) 1991
B. Metrics for object-oriented systems
  1.  Morris Kenneth L.  Metrics for Object-Oriented Software Development
      Environments (master's thesis). 1989, MIT.
  2.  Rocacher, Daniel: Metrics Definitions for Smalltalk.  Project ESPRIT
      1257, MUSE WP9A, 1988.
  3.  Rocacher, Daniel: Smalltalk Measure Analysis Manual.  Project ESPRIT
      1257, MUSE WP9A, 1989.
  4.  Lake, Al: A Software Complexity Metric for C++.  Annual Oregon Workshop
      on Software Metrics, March 22-24, 1992, Silver Falls, Oregon, USA.
  5.  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: Object-Oriented Analysis and Design
Date:  6 Dec 1997
Originally collected by: [email protected] (24122-kilov)

1.  Bertrand Meyer.  Object-oriented software construction, Second Edition.
   Prentice-Hall, 1997.  For the somewhat advanced - perhaps, with some
   programming maturity.  Detailed information available at
   http://www.eiffel.com/doc/oosc.html.
2.  B. Henderson-Sellers.  A book of object-oriented knowledge. Prentice-Hall,
   1992.  This has quite a few viewgraphs in it!
3.  Grady Booch.  Object-oriented design with applications.  Addison-Wesley,
   1991.
4.  Ivar Jacobson Object-Oriented Software Engineering.  Addison-Wesley, 1992.
   This book gives a complete look at Object-orientation from requirement-
   analysis to last phase in design and implementation.

------------------------------------------------------------------------
Subject: Programming Style
Date:  6 Dec 1997
Originally collected by: [email protected] (Paul W. Oman)

1.  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.
2.  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.
3.  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.
4.  E. Thomas & P. Oman "A Bibliography of Programming Style Literature," ACM
   SIGPLAN Notices, Vol. 25(2), Feb. 1990, pp.  7-16.

------------------------------------------------------------------------
Subject: Real-Time Systems
Date:  6 Dec 1997
Originally collected by: [email protected] (John Willmore)

1.  Derek J. Hatley and Imtiaz A. Pirbhai.  Strategies for Real-Time System
   Specification Dorset House, 1987
2.  Paul Ward and Stephen Mellor.  Structured Development for Real-Time Systems
   Yourdon Press, 1985
3.  Bran Selic, Garth Gullekson and Paul Ward.  Real-Time Object-Oriented
   Modeling, Wiley, 1994 (1-800-CALL-WILEY), ISBN 0471-59917-4.  Supported by
   the ObjecTime CASE tool.

------------------------------------------------------------------------
Subject: Requirements Analysis
Date: 12 Apr 1999

A. Requirements Analysis - General
  1.  Michael Jackson.  Software Requirements & Specifications: A Lexicon of
      Practice, Principles, and Prejudices.  Addison-Wesley, 1995.  Very
      highly praised by several of my contacts - e.g.  "has the highest ideas-
      to-pages ratio I've ever seen."
  2.  Special issue on requirements gathering, Communications of the ACM,
      Volume 38, #2, May 1995.
  3.  Al Davis, Software Requirements: Objects, Functions, & States.
      Prentice-Hall, 1993.  A revision of #2 (below).
  4.  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).
  5.  Donald C. Gause and Gerald M. Weinberg, Exploring Requirements: Quality
      before design.  Dorset House Publishing, 353 West 12th Street, New York,
      NY 10014
  6.  Richard H. Thayer and Merlin Dorfman (editors), Software Requirements
      Engineering, Second Edition, IEEE Computer Society Press, Los Alamitos,
      CA, 1997.
  7.  Benjamin L. Kovitz.  Practical Software Requirements: A Manual of
      Content & Style.  Manning Publications, 1998.
B. Collaborative Requirements Analysis
(thanks to Annie I. Anton, [email protected]).
  1.  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.
  2.  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.
  3.  Marca, D.  "Specifying Groupware Requirements From Direct Experience",
      Proc 6th International Workshop On Software Specification And Design,
      October 1991
  4.  Marca, D.  "Augmenting SADT To Develop Computer-Supported Cooperative
      Work", Proceedings of the International Conference on Software
      Engineering; May 1991
  5.  Marca, D.  "Experiences in Building Meeting Support Software",
      Proceedings of the 1st Groupware Technology Workshop; August 1989
  6.  Marca, D.  "Specifying Coordinators: Guidelines for Groupware
      Developers", Proceedings of the 5th International Workshop on Software
      Specification and Design; May 1989

------------------------------------------------------------------------
Subject: Software Process
Date: 30 Oct 1996
Originally collected by: [email protected] (Christopher Lott)

1.  Watts S. Humphrey.  Managing the Software Process.  Addison-Wesley
   Publishing Co., Reading, Massachusetts, 1989; Chapters 13--15, 18.
2.  Watts S. Humphrey.  A Discipline for Software Engineering.  Addison Wesley,
   SEI Series in Software Engineering, 1995, ISBN 0-201-54610-8.  Presents a
   method for applying project management techniques to personal methods of
   software engineering.
3.  Bill Curtis, Marc I. Kellner and Jim Over.  "Process Modeling,"
   Communications of the ACM, Sept 92, Vol 35, No 9, 75-90.
4.  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.
5.  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.
6.  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.
7.  Barry W. Boehm.  "A Spiral Model of Software Development and Enhancement",
   IEEE Computer, v.~21, n.~5, May 1988, pp.~61--72.
8.  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.
9.  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.
10. Leon Osterweil.  "Software Processes are Software Too", Proceedings of the
   Ninth International Conference on Software Engineering, Monterey, CA, March
   1987, pp.~2--13.
11. 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.
12. Peter H. Feiler and Watts S. Humphrey.  "Software Process Development and
   Enactment:  Concepts and Definitions", Software Engineering Institute,
   Carnegie Mellon University, Pittsburgh, PA, 1991.
13. 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.
14. 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.
15. 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.
16. 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.
17. 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.
18. 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.
19. 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.
20. 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.

------------------------------------------------------------------------
Subject: Software Testing
Date:  6 Dec 1997

The original request that prompted the posting of this information asked for
recent work, not buried in a Software Engineering tome.
1.  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.
2.  Cheatham and Mellinger, Testing Object Oriented Software Systems,
   Proceedings of the 1990 ACM SCS Conference
3.  William C. Hetzel, The Complete Guide to Software Testing, Second edition,
   QED Information Services INC, 1988.  ISBN 0-89435-242-3
4.  Testing Techniques Newsletter (see periodicals)

------------------------------------------------------------------------
Subject: User Interfaces
Date:  2 May 2002

See Gary Perlman's suggested readings at http://hcibib.org/readings.html; there
is a huge Human-Computer Interaction bibliography at http://hcibib.org.
Contact address: [email protected].
--
"Yo' ideas need to be thinked befo' they are say'd" - Ian Lamb, age 3.5
http://www.cs.queensu.ca/~dalamb/   qucis->cs to reply (it's a long story...)