home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk1.iso / answers / software-eng / part3 < prev    next >
Internet Message Format  |  1994-09-03  |  32KB

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