CSE 584:  Software Engineering

Winter Quarter 2001

 

Readings:

 

T. Ball (1999). The concept of dynamic analysis. Software Engineering Notes, 24 (6),  216-234.

 

T. Ball & S. Eick (1996). Software visualization in the large. Computer, 29 (4), 33-43.

 

B.W. Boehm (1988). A spiral model of software development and enhancement. Computer, 21 (5), 61-72.

 

E. Gamma, et al. (1993). Design patterns: Abstraction and reuse of object-oriented design. Proceedings of ECOOP '93: 7th European Conference Proceedings, (707), 406-431.

 

W.W. Gibbs (1994, January). Software’s chronic crisis. Scientific American, 72-81.

 

L. Hatton (1997). Reexamining the fault density: Component size connection. IEEE Software, 14 (2), 89-97.

 

G. Kiczales (1996). Beyond the black box: Open implementation. IEEE Software, 13 (1), 8, 10-11.

 

N.G. Leveson (1986). Software safety: Why, what and how. Computing Surveys, 18 (2), 125-163.

 

G. Murphy & D. Notkin (1997). Reengineering with reflexion models: A case study. Computer, 30 (8), 29-36.

 

D.L. Parnas (1972). On the criteria to be used in decomposing systems into modules. Communications of the ACM, 15 (12), 1053-1058.

 

D.L. Parnas (1979). Designing software for ease of extension and contraction. Transactions on Software Engineering, 5 (2), 128-138.

 

D.L. Parnas, et al. (1976). Design and specification of the minimal subset of an operating system family. Transactions on Software Engineering, 2 (4), 301-307.

 

D.L. Parnas & P. Clements (1986). A rational design process: How and why to fake it. Transactions on Software Engineering, 12 (2), 251-257.

 

D.L. Parnas & D.M. Weiss (1985). Active design reviews: Principles and practices. Proceedings of the 8th International Conference on Software Engineering, 132-136.

 

K. Sullivan & D. Notkin (1992). Reconciling environment integration and software evolution. ACM Transactions on Software Engineering and Methodology, 1 (3), 229-268.

 

M. VanHilst & D. Notkin (1996). Decoupling change from design. ACM SIGSOFT Symposium on the Foundations of Software Engineering, 21 (6), 58-69.