Software Engineering
UC Santa Cruz – CMPE 276 – Fall 2000
T Th 12-1:45PM
Baskin Engineering 372
http://www.cse.ucsc.edu/~ejw/courses/276/
SYLLABUS
Instructor: |
Jim Whitehead |
Office: |
BE 123 |
Email: |
|
Office Hours: |
Thurs 10-11, or by appointment |
Text: |
Software Engineering, Merlin Dorfman and Richard H. Thayer (Eds.), IEEE Computer Society Press, 1997 |
Reviews due: Monday, Sept. 25
1.
“Software’s Chronic Crisis”, W. Wayt Gibbs, Scientific
American, Sept. 1994, pp. 86-95. (Reader: p. 4-12)
2. “Foreward: Software Engineering—A European Perspective”, Fredrich L. Bauer, Software Engineering—A European Perspective, R.H. Thayer, A.D. McGettrick eds., p. vi, IEEE Press, 1993. (Reader: p. 75).
3. “Software Engineering—20 Years On and 20 Years Back”, J. N. Buxton, J. Systems and Software, Vol. 13, 1990, p. 153-155. (Reader: p. 76-77)
4. “The Roots of Software Engineering”, Michael S. Mahoney, CWI Quarterly, 3(4), 1990, p. 325-334. (Not in reader).
5. “No Silver Bullet: Essence and Accidents of Software Engineering”, Frederick P. Brooks, Jr., IEEE Computer, 20(4), April, 1987, pp. 10-19. (Reader: 13-22).
Total pages: 33
Reviews due: Monday, Oct. 2
1. “Engineering a Small System”, Kurt Skytte, IEEE Spectrum, March, 1994. (Reader: p. 26-28)
2. “Software Systems Engineering: The Case for a New Discipline”, Stephen J. Andriole, Peter A. Freeman, Software Engineering Journal, May 1993. (Reader: p. 29-43)
3. “Software: Its Nature and Qualities”, in Fundamentals of Software Engineering, Carlo Ghezzi, Medhi Jazayeri, Dino Mandrioli, Prentice-Hall, 1991, p. 17-36. (Not in reader)
Total pages: 38
Reviews due: Monday, Oct. 9
** PROJECT DESCRIPTION DUE ** |
1. “Software Requirements: A Tutorial”, in Software Engineering, p. 82-103.
2. “Programming-in-the-Large Versus Programming-in-the-Small”, Frank DeRemer, Hans H. Kron, IEEE Trans. Software Engineering, 2(2), June, 1976, p. 80-86. (Not in reader)
3. “Foundations for the Study of Software Architecture”, Dewayne E. Perry, Alexander L. Wolf, ACM Software Engineering Notes, 17(4), Oct. 1992, p. 40-52. (Not in reader)
Total pages: 33
Supplemental readings:
· “An Introduction to Software Architecture”, David Garlan, Mary Shaw, Tech. Report CMU-CS-94-166 (Also appeared in Advances in Software Engineering and Knowledge Engineering, ed. by V.Ambriola and G.Tortora, World Scientific Publishing Company, New Jersey, 1993. (Available in PDF at: http://www.cs.cmu.edu/afs/cs/project/vit/ftp/pdf/intro_softarch.pdf)
· “Specifying Software Requirements for Complex Systems: New Techniques and Their Application”, Kathryn L. Heninger, IEEE Trans. Software Engineering 6(1), Jan. 1980, p. 2-13.
Reviews due: Monday, Oct. 16
** PROJECT READING LIST DUE ** |
1. “Software Design: An Introduction”, David Budgen, in Software Engineering, p. 104-115.
2. “On the Criteria To Be Used in Decomposing Systems into Modules”, David L. Parnas, Communications of the ACM, 15(12), December, 1972, p. 1053-1058. (Not in reader)
3. “Designing Software for Ease of Extension and Contraction”, David L. Parnas, IEEE Trans. on Software Engineering, 5(2), March 1979, p. 128-138. (Not in reader)
4. “Object-Oriented Development”, Linda M. Northrop, in Software Engineering, p. 148-159.
Total pages: 41
Supplemental readings:
· “A Field Study of the Software Design Process for Large Systems”, Bill Curtis, Herb Krasner, Neil Iscoe, Communications of the ACM, 31(11), Nov. 1988, p. 1268-1287.
Reviews due: Monday, Oct. 23
1. “Specification Techniques for Data Abstractions”, Barbara H. Liskov, Stephen N. Zilles, IEEE Trans. on Software Engineering, 1(1), March, 1975, p. 7-19. (Not in reader)
2. “A Review of Formal Methods”, Robert Vienneau, extracted from A Review of Formal Methods, Kaman Science Corp., 1993, p. 3-15 and 27-33. (Reader, p. 181-192)
3. “Go To Statement Considered Harmful”, Edsger W. Dijkstra, Letter to the Editor in Communications of the ACM, 11(3), March 1968, p. 147-148. (Not in reader)
4. “Structured Programming: Retrospect and Prospect”, Harlan D. Mills, IEEE Software, 3(4), Nov. 1986, p. 58-66 (Reader: p. 195-203)
5. “The Programming Language”, Doug Bell, Ian Morrey, John Pugh, in Software Engineering, p. 204-216.
Total pages: 49
Supplemental readings:
· “An Axiomatic Basis for Computer Programming”, C. A. R. Hoare, Communications of the ACM, 12(10), Oct. 1969, p. 576-583
· “Program Development by Stepwise Refinement”, Niklaus Wirth, Communications of the ACM, 14(4), April 1971, p. 321-334.
· “A Specifier’s Introduction to Formal Methods”, Jeannette M. Wing, IEEE Computer, Sept. 1990, p. 8-22.
· “Seven Myths of Formal Methods”, Anthony Hall, IEEE Software, Sept. 1990, p. 11- 19.
Reviews due: Monday, Oct. 30
1. “Software Verification and Validation (V&V)”, Roger Fujii and Dolores R. Wallace, in Software Engineering, p. 220-234.
2. “Software Inspections and the Cost Effective Production of Reliable Software”, in Software Engineering, p. 235-255.
3. “A Review of Software Testing”, P. David Coward, Information and Software Technology, 30(3), April 1988, p. 189-198. (Reader: p. 277-286).
4. “Social Processes and Proofs of Theorems and Programs”, Richard A. De Millo, Richard J. Lipton, Alan J. Perlis, Communications of the ACM, 22(5), May 1979, p. 271-280. (Not in reader).
Total pages: 56
Supplemental readings:
· “Theory of Modules”, John D. Gannon, Richard G. Hamlet, Harlan D. Mills, IEEE Trans. on Software Engineering, 13(7), July, 1987, p. 820-829. (Not in reader)
· “Design and Code Inspections to Reduce Errors in Program Development”, M. E. Fagan, IBM Systems Journal, No. 3, 1976, p. 182-211.
Reviews due: Monday, Nov. 6
1. “Software Quality Assurance: A Survey of an Emerging View”, in Software Engineering, p. 308-319.
2. “Measurement and Experimentation in Software Engineering”, Proceedings of the IEEE, 68(9), Sept. 1980, p. 1144-1157. (Not in reader)
3. “Software Reliability Models: Assumptions, Limitations, and Applicability”, IEEE Trans. on Software Engineering, 11(12), December 1985, p. 1411-1423. (Not in reader)
4. “Software Safety: Why, What, and How”, Computing Surveys, 18(2), June 1986, p. 125-163. (Not in reader) ** You are only responsible for pages 125-139 (i.e., up to the beginning of Section 6) **
Total pages: 54
Reviews due: Monday, Nov. 13
** PAPER DRAFT DUE ** |
1. “The Mythical Man-Month”, Frederick P. Brooks, Jr., extracts from The Mythical Man Month, Addison-Wesley, 1975. (Reader p. 350-357)
2. “A Spiral Model of Software Development and Enhancement”, Barry W. Boehm, IEEE Computer, 21(5), May 1988, p. 61-72. (Reader, p. 415-426)
3. “The Capability Maturity Model for Software”, Mark C. Paulk, Bill Curtis, Mary Beth Chrissis, Charles V. Weber, in Software Engineering, p. 427-438.
4. “A Rational Design Process: How and Why to Fake It”, David L. Parnas, Paul C. Clements, IEEE Trans. on Software Engineering, 12(2), February, 1986, p. 251-257.
Total pages: 39
Supplemental readings:
· “Alternative Software Life Cycle Models”, Edward R. Comer, Aerospace Software Engineering: A Collection of Concepts, American Institute of Aeronautics, 1991. (Reader, p. 404-414)
· “Software Processes are Software Too”, Leon Osterweil, Proc. 9th Int’l Conference on Software Engineering (ICSE-9), 1987, p. 2-13.
Reviews due: Monday, Nov. 20
1. “Why Does Software Cost So Much?”, Tom DeMarco, IEEE Software, 10(2), March 1993, p. 89-90. (Reader: p. 372-373)
2. “Software Maintenance: A Tutorial”, Keith Bennett, in Software Engineering, p. 289-303.
3. “Software Reuse”, Charles W. Krueger, Computing Surveys, 24(2), June 1992, p. 131-183. (Not in reader) ** You are only responsible for pages 131-147 (i.e., to the beginning of Section 6) **
Total pages: 33
Supplemental readings:
· “Software Cost Estimation”, F. J. Heemstra, Information and Software Technology, 34(10), Oct. 1992, p. 627-639. (Reader: p. 374-386)
Reviews due: Monday, Nov. 27
1. “A Classification of CASE Technology”, Alfonso Fuggetta, IEEE Computer, 26(12), Dec. 1993, p. 25-38. (Reader: p. 469-482)
2. “Elements of Software Configuration Management”, Edward H. Bersoff, IEEE Trans. on Software Engineering, 10(1), Jan. 1984, p. 79-87. (Reader: p. 320-328)
3. “Chimera: Hypertext for Heterogeneous Software Environments”, Kenneth M. Anderson, Richard N. Taylor, E. James Whitehead, Jr., Proc. 1994 European Conference on Hypermedia Technology (ECHT’94), p. 94-107 (Not in reader)
Total pages: 37
Supplemental readings:
· “Lessons from the Arcadia Project”, R. Kadia, DARPA Software Technology Conference, p. 287-302, April 1992.
· “The Interlisp Programming Environment”, Warren Teitelman, Larry Masinter, IEEE Computer, April 1981, p. 25-33.
· “Connecting Tools Using Message Passing in the Field Environment”, Steven P. Reiss, IEEE Software, July 1990, p. 57-66.
** TERM PROJECT PAPER DUE ** |
** FINAL EXAM ** |
Acknowledgements: I would like to thank Linda Werner for her work and experience developing previous versions of CMPE 276, on which this is based.