Qualifying Examination in Software Engineering
To be held: TBD
(Last Revised: January 24, 2008)
The reading list for the qualifying exam in software engineering
consists of two text books and several papers, articles, and book
chapters taken from the literature. The papers, articles, and book
chapters are intended to provide historical perspective and added
depth to a selection of topics. You will be allowed to bring these materials to the exam.
You should be prepared to discuss and/or apply any technique presented
in the reading list. You can expect questions in the general areas of:
- Project management (team management and software management)
- System specifciation (requirements,Architecture,Design)
- Software Analysis and Testing
- Software Deployment and Maintenance.
Further background material and pointers to the software engineering
literature are available from the Software Engineering Body of
Knowledge (SWEBOK) project.
These may be useful to you as you prepare for the examination.
Text Books
-
F.P. Brooks,
The Mythical Man-Month, Anniversary Edition,
Addison Wesley, Reading, Massachusetts, 1995.
-
Hans van Vliet, Software Engineering Principles and Practices, 2nd Edition, John Wiley and Sons, to be published 2008 (available online here).
Papers, Articles, and Book Chapters
-
L. Bass, P. Clements, and R. Kazman.
Part One of Software Architecture in Practice,
Addison Wesley, Reading, Massachusetts, 2002. Available from Prof. Stafford.
- Prologue to P. Clements, F. Bachmann, L. Bass, D. Garlan, J. Ivers, R. Little,
R. Nord, J. Stafford, "Documenting Software Architectures: Views and Beyond," Addison Wesley, September 2002. Available from Prof. Stafford.
-
R. Conradi and B. Westfechtel.
Version Models for Software Configuration Management.
ACM Computing Surveys, 30(2):232-282, June 1998.
-
N.E. Fenton and S.L. Pfleeger.
Chapters 1 through 4 of Software Metrics: A Rigorous
and Practical Approach, Second Edition (or later),
PWS Publishing Company, 1997.
-
T.L. Graves, M.J. Harrold, J.-M. Kim, A. Porter, and G. Rothermel.
An Empirical Study of Regression Test Selection Techniques.
ACM Transactions on Software Engineering and Methodology,
10(2):184-208,
April 2001.
-
N.G. Leveson,
Software Safety: What, Why, and How.
ACM Computing Surveys, 18(2):125-164, June 1986.
-
B. Meyer.
Design by Contract. IEEE Computer, 25(10):40-51, 1992.
-
H.D. Mills, M. Dyer, and R.C. Linger.
Cleanroom Software Engineering.
IEEE Software, 4(5):19-25, September 1987.
-
D.L. Parnas.
On the Criteria to be Used in Decomposing Systems into Modules.
Communications of the ACM, 15(12):1053-1058, December 1972.
-
D.L. Parnas and P.C. Clements.
A Rational Design Process: How and Why to Fake It.
IEEE Transactions on Software Engineering, SE-12(2):251-257,
February 1986.
-
M. Paulk, B. Curtis, M. Chrissis, and C. Weber.
Capability Maturity Model, Version 1.1.
IEEE Software, 10(4):18-27, July 1993.
-
D.E. Perry and A.L. Wolf. Foundations for the Study of Software
Architecture. ACM Software Engineering Notes, 17(4):40-52,
1992.
-
M. Weiser.
Program Slicing.
IEEE Transactions on Software Engineering, 10(4):352-357, July
1984.
-
J.M. Wing.
A Specifier's Introduction to Formal Methods.
IEEE Computer, 23(9):8-24, September 1990.