Software Methodology and Engineering

1. General knowledge of the field

Students should have knowledge of the fundamentals contained in the following general SE text: Pressman.

2. Software engineering and information systems

  1. Brooks, F.B. Jr. The Mythical Man-Month, 20th Anniversary edition, Addison Wesley, 1995.
  2. Shaw, M. Prospects for an Engineering Discipline of Software, IEEE Software, Vol 7, No. 6, pp 15-24, November 1990.
  3. Nancy G. Leveson. SafeWare / System Safety and Computers. Addison-Wesley, 1995, Chapters 14-15, Appendix A.
  4. P. P. Chen, The Entity-Relationship Model-Toward a Unified View of Data, ACM Transactions on Database Systems, March 1976, pp. 9-36

3. Requirements Engineering

  1. Jackson, M.A. Software Requirements and Specifications: A lexicon of practice, principles and prejudices, Addison-Wesley, 1995. - Introduction and "tours" on: "An Overview", "The System and the World", "Structures of Descriptions", and "Problem Frames"
  2. Karen Holtzblatt & Hugh Beyer, "Making Customer-Centered Design Work for Teams," CACM 36(10): 93-103, October, 1993.

4. Software Design and Architecture

  1. David L. Parnas. "On the Criteria to be Used in Decomposing Systems into Modules". Communications of the ACM, 15(12):1053-1058, December 1972.
  2. Martin Fowler and Kendall Scott. "UML Distilled: A Brief Guide to the Standard Object Modeling Language (2nd Edition), Addison-Wesley, 1999.
  3. Norman Delisle and David Garlan, "Applying Formal Specification to Industrial Problems: A Specification of an Oscilloscope", IEEE Software Vol. 7, pages 29-37, September, 1990.
  4. Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. Design Patterns / Elements of Reusable Object-Oriented Software. Addison Wesley, 1995, Chapters 1 and 2.
  5. Ted J. Biggerstaff & Charles Richter, "Reusability Framework, Assessment, and Directions" in Ted J. Biggerstaff and Alan J. Perlis (eds.) "Software Reusablility - Conceptes and Models, Vol. 1" pp. 1-18, Addison-Wesley, 1989.
  6. David Garlan and Mary Shaw. "An Introduction to Software Architecture". Advances in Software Engineering and Knowledge Engineering, pp. 1-39, 1993.

5. Software generation and testing

  1. Elliot J. Chikofsky & James H. Cross, Reverse Engineering and Design Recovery: A Taxonomy, IEEE Software, Vol. 7(1), January 1990, pp. 13-17
  2. John B. Goodenough & Susan L. Gerhart, Toward a Theory of Test Data Selection, IEEE Transactions on Software Engineering, June 1975, pp. 156-173
  3. Elaine J. Weyuker. "The Evaluation of Program-Based Software Test Data Adequacy Criteria". Communications of the ACM", 31(6):668-675, June 1988.
  4. Beizer, Software Testing Techniques, 2nd Edition. Chap's 3, 5, 6, and 8
  5. Ted J. Biggerstaff, Bharat G. Mitbander, and Dallas Webster. "Program Understanding and the Concept Assignment Problem." Communications of the ACM, 37(5):72-83, May 1994.
  6. Dewayne E. Perry and Gail E. Kaiser. "Adequate Testing and Object-Oriented Programming." Journal of Object Oriented Programming, January/February 1990.
  7. Steve McConnell. Code Complete. Microsoft Press, 1993, Sections 1-7, 24-26.

6. Formal methods

  1. Woodcock and Loomes, Chapter 12 in Software Engineering Mathematics, Addison Wesley, 1988.
  2. Hall, A., Seven Myths of Formal Methods, IEEE Software 7(5) September, 1990. pp. 11-20.
  3. Wing, J. "A Specifier's Introduction to Formal Methods", Computer 23(9): 8-26, September, 1990.
  4. Richard A. DeMillo, Richard J. Lipton & Alan J. Perlis, Social Processes and Proofs of Theorems and Programs, Communications of the ACM 22(5): 271-280, May 1979.
  5. Sufrin, B. and Jifeng He "Specification, refinement and analysis of interactive programs" in M.D. Harrison and H.W. Thimbleby (Eds.) "Formal methods in Human-Computer Interaction", Cambridge University Press (Cambridge Series on Human-Computer Interaction), Chapter 6, 1990.
  6. Franz Baader and Tobias Nipkow.  Chapters 1,2,3.1,4,5 of Term Rewriting and All That.
  7. Clarke, Grumbuerg, and Peled.  Chapters 1-9 of Model Checking.
  8. A. Dix, J. Finlay, G. Abowd and R. Beale. "Models of the System." Chapter 9 in Human-Computer Interaction, Prentice-Hall, 1993 or 2nd edition, 1997.
  9. H.-D. Ebbinghaus, J. Flum, and W. Thomas.  Chapters 1-7 of Mathematical Logic, 2nd Ed.

7. Software project management and development processes

  1. Dromey, R.G., "A Model for Software Quality", IEEE Transactions on Software Engineering, 21(2), pp. 146-162.
  2. Paulk, M.C., et al., "A Capability Maturity Model for Software", SEI SEI-93-TR-24.
  3. B. W. Boehm, A Spiral Model of Software Development, IEEE Computer 21(5), May 1988
  4. Steve McConnell. "Risk Management". Chapter 5 in Rapid Development, Microsoft Press, 1996.
Last modified May 14, 2003