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
- Brooks, F.B. Jr. The Mythical Man-Month, 20th
Anniversary edition, Addison Wesley, 1995.
- Shaw, M. Prospects for an Engineering Discipline
of Software, IEEE Software, Vol 7, No. 6, pp 15-24, November 1990.
- Nancy G. Leveson. SafeWare / System Safety
and Computers. Addison-Wesley, 1995, Chapters 14-15, Appendix A.
- 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
- 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"
- Karen Holtzblatt & Hugh Beyer, "Making Customer-Centered Design
Work for Teams," CACM 36(10): 93-103, October, 1993.
4. Software Design and Architecture
- David L. Parnas. "On the Criteria to be Used
in Decomposing Systems into Modules". Communications of the ACM, 15(12):1053-1058,
December 1972.
- Martin Fowler and Kendall Scott. "UML Distilled: A Brief Guide to
the Standard Object Modeling Language (2nd Edition), Addison-Wesley, 1999.
- 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.
- Erich Gamma, Richard Helm, Ralph Johnson and
John Vlissides. Design Patterns / Elements of Reusable Object-Oriented
Software. Addison Wesley, 1995, Chapters 1 and 2.
- 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.
- 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
- Elliot J. Chikofsky & James H. Cross, Reverse
Engineering and Design Recovery: A Taxonomy, IEEE Software, Vol. 7(1), January
1990, pp. 13-17
- John B. Goodenough & Susan L. Gerhart, Toward
a Theory of Test Data Selection, IEEE Transactions on Software Engineering,
June 1975, pp. 156-173
- Elaine J. Weyuker. "The Evaluation of Program-Based
Software Test Data Adequacy Criteria". Communications of the ACM",
31(6):668-675, June 1988.
- Beizer, Software Testing Techniques, 2nd Edition.
Chap's 3, 5, 6, and 8
- 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.
- Dewayne E. Perry and Gail E. Kaiser. "Adequate
Testing and Object-Oriented Programming." Journal of Object Oriented Programming, January/February 1990.
- Steve McConnell. Code Complete. Microsoft
Press, 1993, Sections 1-7, 24-26.
6. Formal methods
- Woodcock and Loomes, Chapter 12 in Software
Engineering Mathematics, Addison Wesley, 1988.
- Hall, A., Seven Myths of Formal Methods, IEEE
Software 7(5) September, 1990. pp. 11-20.
- Wing, J. "A Specifier's Introduction to Formal
Methods", Computer 23(9): 8-26, September, 1990.
- 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.
- 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.
- Franz Baader and Tobias Nipkow. Chapters
1,2,3.1,4,5 of Term Rewriting and All That.
- Clarke, Grumbuerg, and Peled. Chapters
1-9 of Model Checking.
- 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.
- H.-D. Ebbinghaus, J. Flum, and W. Thomas.
Chapters 1-7 of Mathematical Logic, 2nd Ed.
7. Software project management and development processes
- Dromey, R.G., "A Model for Software Quality", IEEE Transactions on
Software Engineering, 21(2), pp. 146-162.
- Paulk, M.C., et al., "A Capability Maturity Model for Software", SEI
SEI-93-TR-24.
- B. W. Boehm, A Spiral Model of Software Development, IEEE Computer
21(5), May 1988
- Steve McConnell. "Risk Management". Chapter 5 in Rapid Development,
Microsoft Press, 1996.
Last modified May 14, 2003