Winter Semester 2000

CIS/I&MSE 553 Software Engineering


  1. Learn the technical principles of software engineering, as they apply to software system design, development, implementation, support, and maintenance.
  2. Learn the managerial principles necessary to provide support to technical teams undertaking the activities (as listed above) which software engineering comprises.
  3. Understand the importance of, and practice, the principles in (1) and (2) by applying them to an actual case of software engineering (term project).

Required text:

Pressman, Roger S. 1997. Software Engineering: a Practitioner's Approach, 4th edition. New York, New York: The McGraw-Hill Companies, Incorporated.

Recommended texts:

Behforooz, Ali, and Frederick J. Hudson. 1996. Software Engineering Fundamentals. New York, New York: Oxford University Press.
Pfleeger, Shari Lawrence. 1998. Software Engineering: Theory and Practice. Upper Saddle River, New Jersey: Prentice-Hall, Incorporated.

Recommended text references:

Humphrey, Watts S. 1995. A Discipline for Software Engineering. Reading, Massachusetts: Addison-Wesley Publishing Company.
Peters, James F., and Witold Pedrycz. 2000. Software Engineering: An Engineering Approach New York, New York: John Wiley & Sons, Incorporated.
Sommerville, Ian. 1996. Software Engineering, 5th edition. Wokingham, England: Addison-Wesley Publishing Company.
Steward, Donald V. 1987. Software Engineering with Systems Analysis and Design. Monterey, California: Brooks/Cole Publishing Company.

Recommended literature:

Cusumano, Michael A. 1991. Japan's Software Factories. Oxford, United Kingdom: Oxford University Press, Incorporated.
Weinberg, Gerald M. 1971. The Psychology of Computer Programming. New York, New York: Van Nostrand Reinhold.
Weinberg, Gerald M. 1992. Quality Software Management: Volume 1 Systems Thinking. New York, New York: Dorset House Publishing.
Wiener, Lauren Ruth. 1993. Digital Woes: Why We Should Not Depend on Software. Reading, Massachusetts: Addison-Wesley Publishing Company.
Yourdon, Edward. 1992. Decline & Fall of the American Programmer. Englewood Cliffs, New Jersey: Prentice-Hall, Incorporated.

Course Outline
TopicPressmanBehforooz & HudsonPfleeger
Overview1-21.0-1.2, 21
Managing Software Engineering
Project management concepts33
Project planning51.3, 143
Risk analysis6163.4
Scheduling and tracking71.4-1.53.1
Configuration management96.28.1
Doing software engineering
Overview10, 11, 19
Analysis12, 204, 84
Design13, 14, 217, 85
Testing16, 17, 2210, 11, 127
Metrics18, 231411
Advanced topics, as time permits

Midterm examination (February 24) 30%
Final examination (April 20, set by University Calendar Committee) 30%
Class project 30% Specification details
Homework problems 10%

The class project will be done in teams of 4 (or 5 to accommodate class size not divisible by 4). Choice of team members will be yours. I plan to hand out initial project specifications January 13; the projects will be due April 13 (with interim deliverables).

Examinations and homework problems will be done individually, in accordance with the College of Engineering honor code (this class is under the jurisdiction of that code).

Availability of help:
Office hour in the Science Building microcomputer laboratory 5-6pm Tuesdays and Thursdays.
Day phone (313)-592-2374
Campus Email address
Ford Email address

Pertinent Web Sites:
Dave Hinkle, one of our own alumni, has graciously consented to have his testimonial concerning the value of documentation placed on this web site (click here).
The Association of Computing Machinery [ACM] has a special interest group, SIGSOFT devoted to software engineering.
The Institute of Electrical and Electronics Engineers, Incorporated [IEEE] sponsors many publications and conferences devoted to software engineering.
The Software Engineering Institute at Carnegie Mellon University maintains an excellent web site.