Class Schedule and Reading List
Under development - Notes will change, so don't download and printeverything
now.
- Introduction to Software Engineering (Feb. 1)
- What is software engineering? Why is it important?
- The software lifecycle
- Software process models
- Reading: Sommerville - Chapter 1 and Chapter 3
- Notes
- Homework Questions (Due before class Feb. 1)
- Sommerville pp. 18-19, Q. 1.2, Q 1.4, p. 6, Q. 3.1, Q. 3.3
- Introduction to Software Engineering (Feb. 6)
- Case Study: HowMicrosoft builds
software, Michael Cusumano and Richard Selby, Communicationsof the ACM,
vol. 40, No. 6, pp. 53-62, June 1997.
- Homework: (Due before class Feb. 6)
- Q1. Is Microsoft's software development process more like the
waterfallmodel or the evolutionary model? Why or why not?
- Q2. What is meant by the phrase "Synch and Stabilize?"
- Static Verification (Feb 8.)
- Formal technical reviews
- Case study: Whatmakes inspections
work? Adam Porter and Larry Votta, IEEE Software,Vol. 14, No. 6, November/December
1997
- Reading: Sommerville - Chapter 19, pages 417 - 431.
- Notes
- Homework Questions (Due before class Feb. 8)
- Sommerville p. 439, Q. 19.3, Q 19.5
- Case Study Q1: Despite our findings that meeting may not be cost-effective,
many companies still want to conduct them. Why?
- Case Study Q2: What is meant by the term "interval?" What inspection
factorsincrease interval? Do these same factors affect the interval of other
process?Why or why not?
- UML - The Unified Modeling Language (Feb. 13,15)
- Reading: Sommerville - Chapter 7
- Notes
- Homework Questions (Due before class Feb. 13)
- Sommerville p. 170, Q 7.8, Q 7.9
- Requirements Analysis (Feb. 20)
- Software requirements elicitation
- Reading: Sommerville - Chapter 5, Chapter 6.
- Notes
- Homework Questions (Due before class Feb. 20)
- Sommerville p. 120, Q 5.2, Q 5.6, p. 146 Q 6.1, Q 6.5
- Requirements Analysis (Feb. 22)
- Software Architectures (Feb. 27)
- Reading: Sommerville - Chapter 10, Chapter 11.
- Notes
- Homework Questions (Due before class Feb. 27)
- Sommerville p. 238, Q 10.5, Q 10.6, p. 258-259 Q 11.1, Q 11.8
- Architectural Design (Mar. 1)
- Case study:
Hints for computer system design. Butler Lampson, ACM Operating Systems
Rev. 15, 5 (Oct. 1983), pp 33-48. Reprinted in IEEE Software 1, 1 (Jan.1984),
pp 11-28.
- Homework Questions (Due before class Oct. 10) (updated 10/5/00)
- Case Study Q1: What's a procedure argument? Can you use this
approach inJava? If so, how?
- Case Study Q2: What's a log? How might you use one in your class
project?
- Detailed Design (Mar. 6)
- Design Principles
- Reading: Sommerville Chapter 12
- Notes
- Homework Questions (Due before class Mar. 6)
- Sommerville p. 283 Q 12.1, Q 12.2
- Detailed Design (Mar. 8)
- Coding (Mar. 13)
- Design patterns
- Reading: Sommerville - Chapter 14.
- Notes
- Coding (Mar. 15)
- Testing (Mar. 27)
- Software Testing
- Unit testing techniques
- Reading: Sommerville - Chapter 20.
- Homework Questions (Due before class Mar. 27)
- Sommerville p. 466, Q 20.1, Q 20.5
- Notes
- Testing ( Mar. 29)
- Maintenance and Evolution (Apr. 3)
- Configuration management
- Regression testing
- Reading: Sommerville - Chapter 27, Chapter 29.
- Maintenance and Evolution (Apr. 5)
- Project Management (Apr. 10)
- Organizational structure
- Project management
- Process definition, evaluation, and improvement
- Reading: Sommerville - Chapter 4, Chapter 22.
- Notes
- Project Management (Apr. 12)
- Systems Engineering (Apr. 17)
- Software as part of a system
- Human factors
- Reading: Sommerville - Chapter 2.
- Notes
- Systems Engineering (Apr. 19)
Web Accessibility