CSE210 - Principles of Software Engineering
Bill Griswold
Readings Schedule
Warning: The ordering of this material is subject to change.
Required books:
- F.P. Brooks, The Mythical Man Month: Essays on Software
Engineering, Anniversary Edition, Addison-Wesley, 1995.
The ``back-up'' text for this class is:
- C. Ghezzi, M. Jazayeri, and D. Mandrioli, Fundamentals of Software
Engineering, 2nd edition, Prentice Hall, 2002.
The back-up text will be used mostly for background material (e.g., unassigned
reading) and to augment the readings below. Most readings comes from the
two other books and a couple of dozen research articles. I will put the few
hardcopy readings outside my door for you to photocopy.
Note that most of the online readings can only be accessed from a UCSD
IP address. You can access these resources from home by accessing
the web through the campus's web proxy, or running UCSD's VPN client.
The following list of readings is daunting. Indeed, it is difficult
to teach an adequate class in 10 weeks. As you approach these readings,
recognize that you probably do not need to read every page in equal
detail. Guidance on reading an engineering
research paper is available. If the papers for a topic initially appear
unapproachable, try reading the introduction of the associated chapter in
Ghezzi et al.
Week 1
- Tu 4/1: Introduction (papers do not need to be read thoroughly)
- W.W. Gibbs, Software's Chronic Crisis, Scientific American,
pages 72-81, September, 1994.
- D.L. Parnas, Why Software Jewels are Rare, Computer, 29(2), 1996.
- C. Ghezzi, et al. (Chapters 2-3), reference only
- The class web pages.
- Th 4/3: Problems I
- N.G. Leveson and C.S. Turner, An Investigation of the Therac-25 Accidents,
Computer, vol. 26, no. 7, pages 18-41, July 1993.
- F.P. Brooks, No Silver Bullet--Essence and Accidents of Software
Engineering, Computer, 20(4), 1987.
(also a Chapter from The Mythical Man Month: Essays on Software
Engineering, Anniversary Edition, Addison-Wesley, 1995.)
Week 2
- Tu 4/8: Problems II
- B.W. Boehm, Software Engineering Economics, Prentice-Hall, 1981.
(Chapters 1 and 2)
- Th 4/10: Software Process
Week 3
- Tu 4/15: Requirements - Scenario and Metaphorical Design
- J.M. Carroll, Making Use a Design Representation,
Communications of the ACM, vol. 37, no. 12, pp. 28-35, Dec. 1994.
- K.H. Madsen, A Guide to Metaphorical Design, Communications of
the ACM, vol. 37, no. 12, Dec. 1994.
- Th 4/17: Macneil Shonle to speak
- E. Gamma, R. Helm, R. Johnson and J. Vlissides,
Design Patterns:
Abstraction and Reuse of Object-Oriented Design, Proceedings
of ECOOP '93, 1993. More information on
patterns
is available.
- (optional) Shonle, M., Griswold, W. G., Lerner, S., and Lerner, S. 2007.
Beyond refactoring:
a framework for modular maintenance of crosscutting design idioms.
In Proceedings of the the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering. ESEC-FSE '07. ACM, pp. 175-184.
Week 4
- Tu 4/22: Requirements - Designing with Data
- J. Blomberg et al., Ethnographic Field Methods and Their Relation to
Design, Participatory Design: Principles and Practices,
from CPSR First Participatory Design Conference 1990, pp. 123-155, 1993.
- Th 4/24: Requirements - Domain Analysis
- J. Rumbaugh et al., Object-oriented Modeling and Design,
Prentice Hall, 1991. (Chapters 2-3, 7-8.4)
- See also:
Week 5
- Tu 4/29: Specification
- C. Ghezzi, et al. (Chapter 5 through 5.7.1, skip subsection 5.5.3)
- Th 5/1: Design I - Modularity
Week 6
- Tu 5/6: Design II - Software Architecture and Layering
- Th 5/8: Testing and Verification
- C. Ghezzi, et al. (Chapter 6)
Week 7 - Static Analysis - Guest Speakers
- Tu 5/13: Static Checking (Sorin Lerner presents)
- Th 5/15: Software Model Checking (Ranjit Jhala presents)
Week 8
- Tu 5/20: Case Study - IBM OS/360
- F.P. Brooks, The Mythical Man Month: Essays on Software
Engineering, Anniversary Edition, Addison-Wesley, 1995.
(Chapters 1-15)
- Th 5/22: Design III - Design Microstructure
Week 9
- Tu 5/27: Advanced Modularity (Bill G. to present)
- G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, W. G. Griswold,
Getting Started with AspectJ, Communications of the ACM,
pp. 59-65, October 2001.
- W. G. Griswold,
J. J. Yuan,
Y. Kato,
Exploiting the Map Metaphor in a
Tool for Software Evolution, Proceedings of the 2001
International Conference on Software Engineering, Toronto,
IEEE, March, 2001.
- Th 5/29: Case Study - Microsoft
Week 10: New Models of Software Development - Rad or Fad?
- Tu 6/3: Agile Software Process
- Th 6/5: Open Source
Finals Week
- M 6/9 11:30am-2:30pm (location TBA): Project Demos and Postmortems
Back to CSE 210 Course Page