home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 1 / Meeting Pearls Vol 1 (1994).iso / installed_progs / text / faqs / software-eng.part3 < prev    next >
Encoding:
Internet Message Format  |  1994-04-17  |  31.0 KB

  1. Subject: FAQ 3: Software engineering readings
  2. Newsgroups: comp.software-eng,comp.answers,news.answers
  3. From: dalamb@qucis.queensu.ca (David Alex Lamb)
  4. Date: Sat, 16 Apr 1994 12:05:28 GMT
  5.  
  6. Last-Modified: 31 Jul 1993
  7. Archive-name: software-eng/part3
  8.  
  9. This is the monthly "frequently asked questions" (FAQ) posting on
  10. reading materials for software engineers.  Topics include:
  11.    Textbooks
  12.    Periodicals on Software Engineering
  13.    Other sources of information
  14.    General reading for software engineers
  15.    Metrics
  16.    Metrics for object-oriented systems
  17.    User Interface Design
  18.    Human Factors
  19.    Software Testing
  20.    Requirements Analysis
  21.    Collaborative Requirements Analysis
  22.    Object-Oriented Analysis and Design
  23.    Programming Style
  24.    Formal Specification
  25.    Software Process
  26. Look for lines starting with "Subject:" (control-G command in rn).
  27.  
  28. Be warned: the only mechanism we use to compose this list is to gather
  29. information submitted by people around the net, post it regularly, and
  30. incorporate feedback.  All evaluations are the opinions of those who submitted
  31. them; your mileage may vary.  Send comments to dalamb@qucis.queensu.ca (David
  32. Alex Lamb).
  33.  
  34.  
  35. ------------------------------------------------------------------------
  36. Subject: Textbooks
  37. Date: 28 Apr 1993
  38. Originally collected by: hsrender@happy.colorado.edu (Hal Render)
  39.  
  40. Numbers 1-8 are Hal Render's original list in his rough order of preference.
  41. 1. _Software Engineering: The Production of Quality Software_
  42.    by Shari Pfleeger, 2nd Edition, Macmillan, 1991, ISBN 0-02-395115-X
  43.    hsrender@happy.colorado.edu: Like #2, had the best explanations of
  44.         what I want to cover (different engineering lifecycles, methods,
  45.         and tools).
  46. 2. _Software Engineering: A Practitioner's Approach_ by Roger Pressman,
  47.    2nd Edition, McGraw-Hill, 1987, ISBN 0-07-050783-X
  48.    (3rd edition available fall 1991)
  49.    hsrender@happy.colorado.edu: Like #1, had the best explanations of
  50.         what I want to cover (different engineering lifecycles, methods,
  51.         and tools).
  52.    robb@iotek.uucp (Robb Swanson): the definitive book on the subject as
  53.         far as I'm concerned.
  54.    johnson@aplcen.apl.jhu.edu (Michelle Johnson): a good text book as well
  55.         as reference
  56. 3. _Software Systems Engineering_ by Andrew Sage and James D. Palmer
  57.    hsrender@happy.colorado.edu: Like #1, had the best explanations of
  58.         what I want to cover (different engineering lifecycles, methods,
  59.         and tools).
  60. 4. _Fundamentals of Software Engineering_ by Ghezzi, Jayazeri and Mandrioli
  61.    Prentice-Hall, 1991
  62.    hsrender@happy.colorado.edu: Like #5, good, and covered the issue of
  63.         specifications and verification better, but at the expense of
  64.         other aspects of the development process.  I may use one of them
  65.         for a graduate course in software engineering.
  66.    Nancy Leveson <nancy@murphy.ICS.UCI.EDU>:  Better than Sommerville,
  67.         although I like much of Sommerville.
  68. 5. _Software Engineering with Abstractions_ by Valdis Berzins and Luqi
  69.    Addison Wesley, 1991, 624 pages.
  70.    hsrender@happy.colorado.edu: Like #4, good, and covered the issue of
  71.         specifications and verification better, but at the expense of
  72.         other aspects of the development process.  I may use one of them
  73.         for a graduate course in software engineering.
  74.    straub@cs.UMD.EDU (Pablo A. Straub): Both this and #9 have a good
  75.         emphasis on using formal techniques (i.e.,  doing engineering
  76.         properly), but they do not disregard informal methods; chapters
  77.         are roughly organized around the traditional lifecycle.
  78.         #5 is longer and can be used in a two-term sequence or for
  79.         graduate students (it's  possible  to  use  it in a one-term
  80.         undergrad course by covering only part of the material). One
  81.         thing I like is that management and validation is given in all
  82.         chapters, so that these activities are integrated into the
  83.         development process.  Emphasizes the use of formally specified
  84.         abstractions.  Uses the authors' specification language (Spec)
  85.         to develop a project in Ada.
  86. 6. _Software Engineering_ by Ian Sommerville
  87.     Addison-Wesley, ISBN 0-201-17568-1
  88.    hsrender@happy.colorado.edu: Our current text, and my basic problem
  89.         with it is the vague way it covers many of the topics.
  90. 7. _Software Engineering with Student Project Guidance_ by Barbara Mynatt
  91.    hsrender@happy.colorado.edu: Like #8, not bad, but fairly low-level
  92.         and doesn't cover many tools and techniques I consider valuable.
  93. 8. _Software Engineering_ by Roger Jones
  94.    hsrender@happy.colorado.edu: Like #7, not bad, but fairly low-level
  95.         and doesn't cover many tools and techniques I consider valuable.
  96. 9. _Software Engineering: Planning for Change by David Alex Lamb,
  97.    Prentice-Hall, 1988, 298 pages
  98.    straub@cs.UMD.EDU (Pablo A. Straub): Both this and #5 have a good
  99.         emphasis on using formal techniques (i.e.,  doing engineering
  100.         properly), but they do not disregard informal methods; chapters
  101.         are roughly organized around the traditional lifecycle.
  102.         #9 has the advantage of being shorter, yet covering most relevant
  103.         topics (lifecycle phases, formal specs, v&v, configurations,
  104.         management, etc.).  It is very appropriate for an undergrad course.
  105.         It emphasizes that maintenance is a given and should be taken into
  106.         account (hence the title).  Several specification techniques are
  107.         covered and used to develop a project in Pascal.
  108. 10._A Practical Handbook for Software Development_ by N.D. Birrell and
  109.    M.A. Ould, Cambridge University Press, 1985/88. ISBN 0-521-34792-0
  110.         (Paper cover); ISBN 0-521-25462-0 (Hard cover)
  111.    ewoods@hemel.bull.co.uk (Eoin Woods)
  112. 11._Fundamentals of Computing for Software Engineers_ by Eric S. Chan &
  113.         Murat M. Tanik, Van Nostrand Reinhold
  114.    kayaalp@csvax.seas.smu.edu (Mehmet M. Kayaalp MD)
  115. 12._Software Engineering, 2nd Edition_ by Stephen R. Schach, Aksen Associates
  116.    (ISBN 0-256-12998-3); also Richard D. Irwin, Inc., 1993.
  117. 13._Practical Software Engineering_ by Stephen R. Schach, Aksen Associates
  118.    and Richard D. Irwin Inc. (ISBN 0-256-11455-2), 1992. Advertised as
  119.    sophomore through senior level, emphasizing teams, maintenance, reuse,
  120.    CASE tools.
  121.  
  122. ------------------------------------------------------------------------
  123. Subject: Periodicals on Software Engineering
  124. Date: 12 May 1992
  125.  
  126. Professional Journals
  127. Meant for working professionals with technical backgrounds.
  128.   IEEE Software
  129.     summary: often presents recent research work, but much more readably
  130.             than typical research journals.
  131.     publisher: IEEE (Institute of Electrical and Electronic Engineers)
  132.     subscriptions: IEEE Service Center, 445 Hoes Lane, P.O. Box 1331,
  133.             Piscataway, NJ 08855-1331, USA
  134.   Software Engineering Notes
  135.     summary: unrefereed newsletter; includes digest of comp.risks
  136.     publisher: ACM (Association for Computing Machinery) SIGSOFT
  137.             (Special Interest Group on Software engineering),
  138.     subscriptions: ACM, 11 West 42d St, New York, NY 10036, USA
  139.   Software Maintenance News
  140.     summary: monthly report on people and technology in maintenance;
  141.             aimed at practitioners
  142.     publisher: Software Maintenance News Inc, B10 Suite 237,
  143.             4546 El Camino Real, Los Altos, CA 94022, USA
  144.     subscriptions: as above
  145.   Software Testing, Verification and Reliability
  146.     summary: aimed at practitioners; dissemination of new
  147.             techniques, methodologies and standards
  148.     publisher: John Wiley & Sons Ltd, Baffins Lane, Chichester,
  149.             West Sussex PO19 1UD, UK
  150.   The Software Practitioner (TSP)
  151.     summary: started late 1990; meant for real practitioners; still
  152.             finding its place
  153.     publisher: Computing Trends, P.O. Box 213, State College, PA
  154.             16804, USA
  155. Mixed Research and Practice
  156.   Journal of Software Maintenance: Research and Practice
  157.     summary: refereed; intended for both researchers and practitioners;
  158.             joint US/UK editorial board
  159.     publisher: Wiley (see above)
  160.     subscriptions: Journals Subscription Department, at above address
  161.   Software Engineering Journal (SEJ)
  162.     summary: full spectrum of articles from practical experience
  163.             to long-term research
  164.     publisher: IEE (Institution of Electrical Engineers) and BCS
  165.             (British Computer Society); write to IEE Publication Sales,
  166.             PO Box 96, Stevenage, Herts, SG1 2SD, United Kingdom.
  167.   Software: Practice and Experience
  168.     summary: not always software engineering; good reputation for practice
  169.     publisher: Wiley (see above)
  170.   The Software Quality Journal
  171.     summary: academic research and industrial case studies and experience
  172.     publisher: Chapman & Hall, Journals Promotion Department
  173.             North America:29 West 35th Street, New York, NY 10001-2291, USA
  174.             Europe: 2-6 Boundary Row, London SE1 8HN, UK
  175. Research Journals
  176. Meant for presenting recent research results.
  177.   Information and Software Technology (IST)
  178.     summary: broad spectrum, much software engineering, software process,
  179.             but also computer science topics.
  180.     publisher: Butterworth-Heineman, Linacre House, Jordan Hill, Oxford, UK
  181.   Transactions on Software Engineering (TSE)
  182.     summary: main software engineering research journal
  183.     publisher: IEEE (see above)
  184.   Transaction on Software Engineering Methodology (TOSEM)
  185.     summary: first issue dated January 1992; not enough track record for an
  186.              opinon yet.
  187.     publisher: Association for Computing Machinery
  188.   Journal of Systems and Software
  189.     summary: meant to be more practitioner-oriented than other
  190.             research journals
  191.     publisher: Elsevier
  192. Other magazines:
  193.   Software
  194.     summary: "For Managers of Enterprise-Wide Software Resources"
  195.             primarily aimed at Management Information Systems (MIS) world
  196.     publisher: Sentry Publishing Company, Inc, 1900 West Park Drive,
  197.             Westborough, MA 01581, (508) 366-2031
  198.  
  199. ------------------------------------------------------------------------
  200. Subject: Other sources of information
  201. Date:  1 Aug 1991
  202.  
  203. Software Quality Engineering has a publication division called Single
  204. Source, Publications, Books, and Information for Software
  205. Practitioners and Managers:
  206.     Software Quality Engineering -- Single Source
  207.     3000-2 Hartley Road
  208.     Jacksonville, FL 32257
  209.     (904) 268-8639
  210.     FAX (904) 268-0733
  211.     TOLL FREE 1-800-423-8378
  212. They do regular reviews of most of the literature relevant to testing, s-eng,
  213. and management. The books which are deemed useful by the reviewers are
  214. purchased for reselling. Their catalog includes most of the literature that
  215. I've come across on Software Testing.  One of the items in the catalog is a
  216. publication which the company puts together itself, The Testing Tools
  217. Reference Guide, a sort of catalog of tools that have passed certain criteria,
  218. (number of unit sold, at least three verifiable references, etc.) They charge
  219. $145.00 for this guide.  This includes two bi-annual updates. I've found the
  220. guide very useful in tracking down vendors which specialize in CASE and
  221. testing tools, although it seems to be heavily biased towards IBM mainframe
  222. hardware and COBOL programming (shudder!).  Each text is described and
  223. summarized I'm sure SQE would be happy to send catalogs free of charge and
  224. most of the prices seem reasonable.  - Glenn Stowe glenn8@odie.cs.mun.ca
  225.  
  226. ------------------------------------------------------------------------
  227. Subject: General reading for software engineers
  228. Date: 11 Oct 1991
  229. Originally collected by: cml@cs.UMD.EDU (Christopher Lott)
  230. Summary: responses to "what should every software engineering have read?"
  231.  
  232. 1. General
  233.    a. Read about 100 pages of comp.risks
  234.    b. Frederick P. Brooks, Jr., The Mythical Man-Month, Addison Wesley, 1978.
  235.       ISBN 0-201-00650-2
  236.    c. The anecdotal books of Robert L. Glass, from Computing Trends, P.O.Box
  237.       213, State College, PA 16804, including: "Tales of Computing Folk: Hot
  238.       Dogs and Mixed Nuts", "The Universal Elixir and other Computing Projects
  239.       Which Failed", "The Second Coming: More Computing Projects Which
  240.       Failed", "The Power of Peonage", "Computing Catastrophes", "Computing
  241.       Shakeout", "Software Folklore"
  242.    d. Paul W. Oman & Ted G. Lewis, Milestones in Software Evolution, IEEE
  243.       Computing Society, ISBN 0-8186-9033-X.
  244.    e. J.A. McDermid (editor), Software Engineer's Reference Book,
  245.       Butterworth-Heinemann Ltd., 1991.  ISBN No: 0 750 61040 9.  Focuses on
  246.       the foundations, and subject matter that is not volatile.  The book is
  247.       divided into three major parts: Theory and Mathematics; Methods,
  248.       Techniques, and Technology; Principles of Applications.  For a beginner,
  249.       the first two parts are indispensible.  It does not provide details of
  250.       current research, but points an interested reader to the right sources.
  251. 2. Programming in the large
  252.    a. Grady Booch, Software Engineering with Ada, second edition,
  253.       Benjamin/Cummings, 1987
  254.    b. Bertrand Meyer, Object-Oriented Software Construction, Prentice-Hall,
  255.       1988.
  256.    c. David L. Parnas, On the Criteria to be Used in Decomposing Systems into
  257.       Modules, Communications of the ACM 15,2 (December 1972).
  258. 3. Programming in the small
  259.    a. Jon Louis Bentley, Writing Efficient Programs, Prentice-Hall, 1982.
  260.    b. Jon Bentley, Programming Pearls, Addison-Wesley, 1986.
  261.    c. Jon Bentley, More Programming Pearls, Addison-Wesley, 1988.
  262.    d. O.-J. Dahl, E.W. Dijkstra, C.A.R. Hoare, Structured Programming,
  263.       Academic Press, 1972.
  264.    e. Brian W. Kernighan, and P.J. Plauger, Software Tools, Addison-Wesley,
  265.       1976.
  266.    f. Brian W. Kernighan & P.J. Plauger, The Elements of Programming Style,
  267.       Second Edition, McGraw-Hill, 1978. ISBN 0-07-034207-5.
  268. 4. Mathematical Approaches
  269.    a. Edsger W. Dijkstra, A Discipline of Programming, Prentice-Hall, 1976.
  270.    b. E.W.Dijkstra.  Selected writings on computing: a personal perspective.
  271.       Springer Verlag, 1982.
  272.    c. David Gries (editor), Programming methodology. A collection of articles
  273.       by members of IFIP Working Group 2.3. Springer Verlag, 1978.
  274. 5. Other
  275.    a. Barry W. Boehm, Software Engineering Economics, Prentice-Hall, 1981.
  276.    b. Daniel P. Freedman and Gerald M. Weinberg, Handbook of Walkthoughs,
  277.       Inspections and Technical Reviews, 3rd edition Dorset House Publishing,
  278.       1990, ISBN 0-932633-19-6.  Originally published by Little, Brown &
  279.       Company, 1982: ISBN 0-316-292826.
  280.    c. Tom Gilb, Principles of Software Engineering Management, Addison-Wesley,
  281.       1988, ISBN 0-201-19246-2
  282.    d. Glenford J. Myers, The Art of Software Testing, Wiley, 1979.
  283.    e. Herb Simon, The Sciences of the Artificial, Second Edition, MIT Press,
  284.       1981
  285.    f. Gerald M. Weinberg, The Psychology of Computer Programming, Van Nostrand
  286.       Reinhold, 1971. ISBN 0-442-29264-3
  287.  
  288. ------------------------------------------------------------------------
  289. Subject: Metrics
  290. Date: 31 Jul 1993
  291.  
  292. Thanks especially to Horst Zuse, who sent his extensive bibliography on
  293. metrics.  He has an extensive database with over 500 entries on metrics;
  294. contact ZUSE%DB0TUI11.BITNET@vm.gmd.de.
  295. a. David N. Card and Robert L. Glass.  Measuring Software Design Quality
  296.    Prentice Hall, Engewood Cliffs, New Jersey, 1990
  297. b. S.D. Conte, H.E. Dunsmore, V.Y. Shen.  Software Engineering Metrics and
  298.    Models.  Benjamin/Cummings Publishing Company, Menlo Park, 1984 ISBN: 0-
  299.    8053-2162-4
  300. c. Tom DeMarco.  Controlling Software Projects: Management, Measurement and
  301.    Estimation.  Englewood Cliffs, N.J.: Prentice Hall, 1982
  302. d. T.Denvir, R.Herman and R.Whitty (Eds.).  Proceedings of the International
  303.    BCS-FACS Workshop: Formal Aspects of Measurement, May 5, 1991, South Bank
  304.    Polytechnic, London, UK, Series edited by Professor C.J. van Rijsbergen,
  305.    ISBN 3-540-19788-5.  Springer Publisher, 1992, 259 pages.
  306. e. Reiner Dumke.  Softwareentwicklung nach Ma`s - Sch`atzen - Messen -
  307.    Bewerten, Vieweg Verlag, 1992.
  308. f. Lem Ejiogu.  Software Engineering with Formal Metrics.  QED Information
  309.    Sciences, 1991
  310. g. N.E. Fenton, (Editor).  Software Metrics: A Rigorous Approach, 1991 United
  311.    Kingdom: Chapman & Hall, 2-6 Boundary Row, London SE1 8HN, ISBN 0-412-
  312.    40440-0.  United States: Van Nostrand Reinhold, 115 5th Avenue, New York NY
  313.    10003, ISBN 0-442-31355-1.
  314. h. Robert B. Grady and Deborah L. Caswell.  Software Metrics: Establishing a
  315.    Company-Wide Program, Prentice-Hall, 1987, ISBN 0-13-821844-7
  316. i. Robert B. Grady.  Practical Software Metrics for Project Management and
  317.    Process Improvement.  Prentice Hall 1992 ISBN 0-13-720384-5
  318. j. M.H. Halstead.  Elements of Software Science.  New York, Elsevier North-
  319.    Holland, 1977
  320. k. S. Henry, D. Kafura, "Software Structure Metrics Based on Information
  321.    Flow", IEEE Transactions on Software Engineering, Vol.SE-7, No.5, September
  322.    1981.
  323. l. IEEE.  Standard Dictionary of Measures to Produce Reliable Software.  The
  324.    Institute of Electrical and Electronics Engineers, Inc.  345 East 47th
  325.    Street, New York.  IEEE Standards Board, 1989
  326. m. IEEE.  Guide for the Use of Standard Dictionary of Measures to Produce
  327.    Reliable Software.  The Institute of Electrical and Electronics Engineers,
  328.    Inc 345 East 47th Street, New York.  IEEE Standard Board, Corrected
  329.    Edition, October 23, 1989
  330. n. T.J. McCabe, A Complexity Measure, IEEE Transactions on Software
  331.    Engineering, VOL. SE-2, NO. 4, Dec. 1976.
  332. o. Alan Perlis, Frederick Sayward, Mary Shaw.  Software Metrics: An Analysis
  333.    and Evaluation.  The MIT Press, 1981
  334. p. V.Y. Shen, S.D. Conte, H.E. Dunsmore, Software Science Revisited: A
  335.    Critical Analysis of the Theory and Its Empirical Support, IEEE
  336.    Transactions on  Software Engineering, Vol. SE-9, No. 2, March 1983.
  337.    Abstract: a critical evaluation of Halstead's software science metric.
  338. q. Martin Sheppard, Software Engineering Metrics, McGraw-Hill Book Company
  339.    (UK) Limited, Shoppenhangers Road, Maidenhead, Berkshire, SL6 2QL.  ISBN
  340.    0-07-707410-6 (UK).  Contains 24 selected papers; 1992.  Tel: +44 (0)698
  341.    23431/2 Fax: +44 (0)698 770224
  342. r. Horst Zuse, Software Complexity: Measures and Methods, de Gruyer (200 Saw
  343.    Mill River Road, Hawthorne, NY 10532 - 914/747-0110) 1991
  344.  
  345. ------------------------------------------------------------------------
  346. Subject: Metrics for object-oriented systems
  347. Date: 26 Jan 1993
  348. Originally collected by: ZUSE%DB0TUI11.BITNET@vm.gmd.de (Horst Zuse)
  349.  
  350. a. Morris Kenneth L.  Metrics for Object-Oriented Software Development
  351.    Environments (master's thesis). 1989, MIT.
  352. b. Rocacher, Daniel: Metrics Definitions for Smalltalk.  Project ESPRIT 1257,
  353.    MUSE WP9A, 1988.
  354. c. Rocacher, Daniel: Smalltalk Measure Analysis Manual.  Project ESPRIT 1257,
  355.    MUSE WP9A, 1989.
  356. d. Lake, Al: A Software Complexity Metric for C++.  Annual Oregon Workshop on
  357.    Software Metrics, March 22-24, 1992, Silver Falls, Oregon, USA.
  358. e. Bieman, J.M.: Deriving Measures of Software Reuse in Object Oriented
  359.    Systems.  Technical Report #CS91-112, July 1991, Colorado State Universty,
  360.    Fort Collins/ Colorado, USA.
  361.  
  362. ------------------------------------------------------------------------
  363. Subject: User Interface Design
  364. Date:  9 Jul 1991
  365.  
  366. See also the item on Human Factors.
  367. a. John M. Carroll (editor).  Interfacing Thought: Cognitive Aspects of
  368.    Human-Computer Interaction, MIT press, 1987.  This book has several good
  369.    theoretical papers.
  370. b. Brad A. Myers, Creating User Interfaces by Demonstration London: Academic
  371.    Press, 1988
  372. c. Donald A. Norman, The Psychology of Everyday Things.  Basic Books, 1988.
  373.    ISBN 0-465-06709-3 (hardback).  Trade paperback version is called "The
  374.    Design of Everyday Things"
  375. d. Donald A. Norman & Stephen W. Draper (editors), User Centered System
  376.    Design: New Perspectives on Human-Computer Interaction, Lawrence Erlbaum
  377.    Associates, 1986.
  378. e. Ben Shneiderman, Designing the User Interface: Strategies for Effective
  379.    Human-Computer Interaction, Addison-Wesley, 1987.  Seems to be aimed at the
  380.    practitioner.
  381.  
  382. ------------------------------------------------------------------------
  383. Subject: Human Factors
  384. Date: 20 Sep 1991
  385. Originally collected by: rjc@cstr.ed.ac.uk (Richard Caley)
  386.  
  387. a. Martin Helander, Handbook of Human-Computer Interaction North-Holland 1988.
  388.    A huge collection of papers on various subjects; quite expensive.
  389. b. Sidney L. Smith, Jane N. Mosier.  Guidelines for Designing User Interface
  390.    Software Technical report ESD-TR-86-278 Electronic Systems Division The
  391.    MITRE Corporation Bedford, MA 01730.  A tech report rather than a book, but
  392.    looks to be a good refence for issues. Also available as a hypertext.
  393. c. Paul Heckel, The Elements of Friendly Software Design: The New Edition.
  394.    Sybex Inc.  1991.  Original edition: Warner Books, 1984.
  395. d. Walter E. Gilmore, The User-Computer Interface in Process Control: A Human
  396.    Factors Engineering Handbook.  Boston:Academic Press, 1989.  Is said to
  397.    give references to research upon which it is based.
  398. e. Edward A. Fox (editor), Resources in Human-Computer Interaction, ACM Press,
  399.    1990.  ISBN 0-89791-373-6.
  400. f. Gavriel Salvendy (editor), Handbook of Human Factors, John Wiley and Sons,
  401.    1987.
  402.  
  403. ------------------------------------------------------------------------
  404. Subject: Software Testing
  405. Date:  9 Jul 1991
  406.  
  407. The original request that prompted the posting of this information asked for
  408. recent work, not buried in a Software Engineering tome.
  409. a. Boris Beizer, Software Testing Techniques, Van Nostrand Reinhold, 1990 (2nd
  410.    edition) ISBN 0-442-20672-0.  503 pages, $43.  Has 37-page annotated
  411.    bibliography of references.
  412. b. Cheatham and Mellinger, Testing Object Oriented Software Systems,
  413.    Proceedings of the 1990 ACM SCS Conference
  414. c. William C. Hetzel, The Complete Guide to Software Testing, Second edition,
  415.    QED Information Services INC, 1988.  ISBN 0-89435-242-3
  416.  
  417. ------------------------------------------------------------------------
  418. Subject: Requirements Analysis
  419. Date: 18 Sep 1991
  420.  
  421. a. Al Davis, Software Requirements: Analysis and specification.
  422.    Prentice/Hall, 1990.  Has some treatment of all of the popular requirements
  423.    analysis and specification methods including OOA, Structured Analysis,
  424.    SREM, FSM, but not the "trendy" stuff (Information Engineering, JAD).
  425. b. Donald C. Gause and Gerald M. Weinberg, Exploring Requirements: Quality
  426.    before design.  Dorset House Publishing, 353 West 12th Street, New York, NY
  427.    10014
  428.  
  429. ------------------------------------------------------------------------
  430. Subject: Collaborative Requirements Analysis
  431. Date: 12 Jan 1991
  432. Originally collected by: anton@cc.gatech.edu (Annie I. Anton)
  433.  
  434. a. Palmer, J.D., Aiken, P. and Fields, N.A.  "A Computer Supported Cooperative
  435.    Work Environment for Requirements Engineering and Analysis", Proceedings of
  436.    the Requirements Engineering and Analysis Workshop, Software Engineering
  437.    Institute, March 12-14, 1991.
  438. b. Palmer, J.D. and Aiken, P.H.  "Utilizing Interactive Multimedia to Support
  439.    Knowledge-based Development of Software Requirements", Proceedings of the
  440.    5th Annual RADC Knowledge-Based Software Assistant Conference, Syracuse,
  441.    NY, September 24-28, 1990.
  442. c. Marca, D.  "Specifying Groupware Requirements From Direct Experience", Proc
  443.    6th International Workshop On Software Specification And Design, October
  444.    1991
  445. d. Marca, D.  "Augmenting SADT To Develop Computer-Supported Cooperative
  446.    Work", Proceedings of the International Conference on Software Engineering;
  447.    May 1991
  448. e. Marca, D.  "Experiences in Building Meeting Support Software", Proceedings
  449.    of the 1st Groupware Technology Workshop; August 1989
  450. f. Marca, D.  "Specifying Coordinators: Guidelines for Groupware Developers",
  451.    Proceedings of the 5th International Workshop on Software Specification and
  452.    Design; May 1989
  453.  
  454. ------------------------------------------------------------------------
  455. Subject: Object-Oriented Analysis and Design
  456. Date: 26 Mar 1993
  457. Originally collected by: haim@taichi.uucp (24122-kilov)
  458.  
  459. a. Bertrand Meyer.  Object-oriented software construction. Prentice-Hall, 1988
  460.    For the somewhat advanced - perhaps, with some programming maturity.
  461. b. B. Henderson-Sellers.  A book of object-oriented knowledge. Prentice-Hall,
  462.    1992.  This has quite a few viewgraphs in it!
  463. c. Grady Booch.  Object-oriented design with applications.  Addison-Wesley,
  464.    1991.
  465. d. Ivar Jacobson Object-Oriented Software Engineering.  Addison-Wesley, 1992.
  466.    This book gives a complete look at Object-orientation from requirement-
  467.    analysis to last phase in design and implementation.
  468.  
  469. ------------------------------------------------------------------------
  470. Subject: Programming Style
  471. Date: 19 Sep 1991
  472. Originally collected by: oman@cs.uidaho.edu (Paul W. Oman)
  473.  
  474. a. N. Anand (1988) "Clarify Function!" ACM SigPLAN Notices, 23(6), 69-79.
  475.    Advocates the use of mnemonic names for entities in a system.  Rules are
  476.    presented for naming procedures, variable, pointers, etc.
  477. b. S. Henry (1988) "A Technique for Hiding Proprietary Details While Providing
  478.    Sufficient Information for Researchers; or, do you Recognize this Well-
  479.    known Algorithm?," Journal of Systems and Software, 8(1), 3-11.  Suggests
  480.    encryption of variable names as part of a technique for encoding
  481.    algorithms, while still providing sufficient information to researchers.
  482. c. R. Brooks (1980) "Studying Programmer Behavior Experimentally: The Problems
  483.    of Proper Methodology," Communications of the ACM, 23(4), 207-213.
  484.    Discusses issues and tradeoffs in proper control of experiments involving
  485.    computer programmers.
  486. d. E. Thomas & P. Oman "A Bibliography of Programming Style Literature," ACM
  487.    SIGPLAN Notices, Vol. 25(2), Feb. 1990, pp.  7-16.
  488.  
  489. ------------------------------------------------------------------------
  490. Subject: Formal Specification
  491. Date: 29 Mar 1993
  492.  
  493. See also the comp.specification.z FAQ.
  494. a. J.M.Spivey.  "Understanding Z: a specification language and its formal
  495.    semantics".  Cambridge University Press, 1988.
  496. b. David Lightfoot.  "Formal Specification Using Z".  MacMillan, 1991, ISBN
  497.    0-333-54408-0.  A clear introduction to Z and the discrete mathematics that
  498.    underlies it.
  499. c. B.Potter, J.Sinclair & D.Till.  "An introduction to formal specification
  500.    and Z".  Prentice Hall International Series in Computer Science, 1991.
  501. d. D.Bjorner & C.B.Jones.  "Formal Specification & Software Development",
  502.    Prentice-Hall International Series in Computer Science, 1980.
  503. e. N.Gehani & A.D.McGettrick (eds).  "Software Specification Techniques",
  504.    Addison-Wesley Publishing Company, 1986
  505. f. I. van Horebeek & J.Lewi.  "Algebraic Specifications in Software
  506.    Engineering", Springer Verlag, 1989.
  507. g. J.Bergstra, P.Klint & J.Heering.  "Algebraic Specification", ACM Frontier
  508.    Press Series. The ACM Press in co-operation with Addison-Wesley, 1989.
  509. h. J.Wing.  "A specifiers introduction to formal methods", IEEE Computer
  510.    23(9):8-24, 1990.
  511. i. Prehn & Soetenel (eds).  "Formal Software Development Methods, VDM'91",
  512.    LNCS 551 and 552, Springer-Verlag.
  513.  
  514. ------------------------------------------------------------------------
  515. Subject: Software Process
  516. Date: 26 Apr 1993
  517. Originally collected by: cml@cs.umd.edu (Christopher Lott)
  518.  
  519. a. Watts S. Humphrey. Managing the Software Process.  Addison-Wesley
  520.    Publishing Co., Reading, Massachusetts, 1989; Chapters 13--15, 18.
  521. b. Bill Curtis, Marc I. Kellner and Jim Over.  "Process Modeling,"
  522.    Communications of the ACM, Sept 92, Vol 35, No 9, 75-90.
  523. c. Victor R. Basili.  "Iterative Enhancement:  A Practical Technique for
  524.    Software Development".  IEEE Transactions on Software Engineering. v.~SE-1,
  525.    n.~4, December 1975, pp.~390--396.
  526. d. Victor R. Basili and H. Dieter Rombach.  "The TAME Project:  Towards
  527.    Improvement-Oriented Software Environments", IEEE Transactions on Software
  528.    Engineering, v. SE-14, n. 6, June 1988, pp.~758--773.
  529. e. Victor R. Basili, "Software Development:  A Paradigm for the Future",
  530.    Proceedings of the Thirteenth Annual International Computer Science and
  531.    Applications Conference, Orlando, Florida, September 1989, pp.~471--485.
  532. f. Barry W. Boehm.  "A Spiral Model of Software Development and Enhancement",
  533.    IEEE Computer, v.~21, n.~5, May 1988, pp.~61--72.
  534. g. Frank DeRemer and Hans H. Kron.  "Programming-in-the-Large Versus
  535.    Programming-in-the-Small", IEEE Transactions on Software Engineering,
  536.    v.~SE-2, n.~2, June 1976, pp.~80--86.
  537. h. J. J. Horning and B. Randell.  "Process Structuring", Computing Surveys,
  538.    v.~5, n.~1, March 1973, pp.~5--30.
  539. i. M. M. Lehman.  "Process Models, Process Programs, Programming Support",
  540.    Proceedings of the Ninth International Conference on Software Engineering,
  541.    Monterey, CA, March 1987, pp.~14--16.
  542. j. Leon Osterweil.  "Software Processes are Software Too", Proceedings of the
  543.    Ninth International Conference on Software Engineering, Monterey, CA, March
  544.    1987, pp.~2--13.
  545. k. Winston W. Royce.  "Managing the Development of Large Software Systems:
  546.    Concepts and Techniques", 1970 WESCON Technical Papers, v.~14, Western
  547.    Electronic Show and Convention, Los Angeles, Aug. 25-28, 1970; Los Angeles:
  548.    WESCON, 1970, pp.~A/1-1 -- A/1-9; Reprinted in Proceedings of the Ninth
  549.    International Conference on Software Engineering, Pittsburgh, PA, USA, ACM
  550.    Press, 1989, pp.~328--338.
  551. l. Peter H. Feiler and Watts S. Humphrey.  "Software Process Development and
  552.    Enactment:  Concepts and Definitions", Software Engineering Institute,
  553.    Carnegie Mellon University, Pittsburgh, PA, 1991.
  554. m. Watts S. Humphrey. "Session Summary:  Review of the State-of-the-Art",
  555.    Proceedings of the Fifth International Software Process Workshop,
  556.    Kennebunkport, Maine, USA, 10-13 October 1989, IEEE Computer Society Press,
  557.    Los Alamitos, CA, 1990.
  558. n. Gail E. Kaiser.  "Rule-Based Modeling of the Software Development Process",
  559.    Proceedings of the 4th International Software Process Workshop,
  560.    Moretonhampstead, Devon, UK, 11-13 May 1988, ACM Press, Baltimore, MD,
  561.    1989, pp.~84--86.
  562. o. Takuya Katayama.  "A Hierarchical and Functional Software Process
  563.    Description and its Enaction", Proceedings of the Ninth International
  564.    Conference on Software Engineering, Pittsburgh, PA, USA, ACM Press, 1989,
  565.    pp.~343--352.
  566. p. Marc I. Kellner and H. Dieter Rombach. "Comparisons of Software Process
  567.    Descriptions", Proceedings of the Sixth International Software Process
  568.    Workshop, Hakodate, Hokkaido, Japan, 29-31 October 1990, IEEE Computer
  569.    Society Press, 1991.
  570. q. Jayashree Ramanathan and Soumitra Sarkar.  "Providing Customized Assistance
  571.    for Software Lifecycle Approaches", IEEE Transactions on Software
  572.    Engineering, v.~14, n.~6, June 1988, pp.~749--757.
  573. r. H. Dieter Rombach. "An Experimental Process Modeling Language: Lessons
  574.    Learned from Modeling a Maintenance Environment", Proceedings of the
  575.    Conference on Software Maintenance - 1989, IEEE, October 16-19, 1989.
  576. s. H. Dieter Rombach. "MVP--L:  A Language for Process Modeling In--the--
  577.    Large", University of Maryland Institute for Advanced Computer Studies
  578.    Technical Report UMIACS--TR--91--96, CS--TR--2709, Department of Computer
  579.    Science, University of Maryland, College Park, MD, 20742.
  580. t. Stanley M. Sutton, Jr. "APPL/A:  A Prototpye Language for Software Process
  581.    Programming", Department of Computer Science Report CU-CS-448-89,
  582.    University of Colorado, Boulder, CO, 1989.
  583. -- 
  584. Software Technology Laboratory      dalamb@qucis.queensu.ca (David Alex Lamb)
  585. Computing and Information Science   phone: (613) 545-6067
  586. Queen's University, Kingston, Ontario, Canada K7L 3N6    
  587.  
  588.