This course will be based on a combination of lectures, discussions, and presentations by students. Each student will be required to make at least one short presentation based on a paper that he or she read, and read a couple more.
Note: this course does not fulfill the requirement for a seminar for MSc students.
Topics and papers we hope to cover are the following. Papers that are well worth a read even if not assigned to you are marked with a *.
| 12 Mar 2009 |
The Software Engineering ProfessionMary Shaw, Prospects for an engineering discipline of software. IEEE Software 7(6) pp. 15-24, Nov.-Dec. 1990.Philippe Kruchten, Putting the engineering into software engineering. Australian Softw. Eng. Conf., pp. 2-8, 2004. Melody M. Moore, A License to practice software engineering. IEEE Software 20(3), pp. 112-113, May/June 2003. Discussion: software engineering vs. programming. Types of software development. (slides)
|
| 19 Mar 2009 |
Classical Software Development Processes* Winston W. Royce, Managing the development of large software systems. Proc. IEEE WESCON, Aug 1970.Presenter: Dina Zeliger (slides)
Kurt Schneider,
Prototypes as
assets, not toys: why and how to extract knowledge from prototypes.
18th Intl. Conf. Software Engineering pp. 522-531, May 1996.
Discussion: the waterfall model and prototyping. (slides)
|
| 26 Mar 2009 |
*
Barry W. Boehm
A spiral model of software
development and enhancement.
Computer 21(5), pp. 61-72, May 1988.
Presenter: Ari Yoskowitz
Barry W. Boehm,
Software Risk Management: Principles and Practice.
IEEE Software 8(1), pp. 32-41, Jan-Feb 1991.
Barry Boehm
Anchoring the software
process.
IEEE Software 13(4), pp. 73-82, Jul 1996.
Discussion: risks in software development. (slides)
|
| 2 Apr 2009 |
*
David Harel and Eran Gery,
Executable object
modeling with statecharts.
Computer 30(7), pp. 31-42, Jul 1997.
Presenter: Moshe Strenger
Bran Celic,
The pragmatics of model-driven
development.
IEEE Software 20(5), Sep-Oct 2003.
Ed Seidewitz,
What models mean.
IEEE Software 20(5), Sep-Oct 2003.
Discussion: model-driven development. (slides)
|
| 23 Apr 2009 |
*
Watts S. Humphrey,
Characterizing the
software process: a maturity framework.
IEEE Software 5(2), pp. 73-79, Mar-Apr 1988.
Presenter: Keren Haas
R. van Solingen,
Measuring the ROI
of software process improvement.
IEEE Software 21(3), pp. 32-38, May-Jun 2004.
Stephen R. Schach, Object-Oriented and Classical Software Engineering. McGraw-Hill, 6th ed., 2005. (Osbert Oglesby case study, especially requirements and analysis – slides)
|
| 30 Apr 2009 |
Ivar Jacobson, Grady Booch, and James Rumbaugh,
The Unified Software Development Process.
Addison Wesley, 1999.
(workflows and their roles; phases in brief)
Presenters: Tom Ron and Dan Cohen (slides and slides)
Susan Lily,
Use case
pitfalls: top 10 problems from real projects using use cases.
Technology of Object-Oriented Languages and Systems (TOOLS 30),
pp. 174-183, Aug 1999.
Discussion: unified process, use cases, UML, etc. (slides)
|
| 7 May 2009 |
Stories of Failure and SuccessJake Widman, IT's biggest project failures -- and what we can learn from them. Computerworld Oct 2008.Linda Geppert, Lost radio contact leaves pilots on their own. IEEE Spectrum 41(11), Nov 2004. Presenter (both the above): Eldad Moneta (slides)
*
H. Goldstein,
Who killed the
virtual case file?.
IEEE Spectrum 42(9), pp. 24-35, Sep 2005.
Barton P. Miller, Louis Fredriksen, and Bryan So, An empirical study of the reliability of UNIX utilities. Comm. ACM 33(12), pp. 32-44, Dec 1990. Discussion: is there a software crisis? (slides)
|
| 14 May 2009 |
*
H.D. Mills, M. Dyer, R.C. Linger,
Cleanroom Software
Engineering.
IEEE Software 4(5), pp. 19-25, Sep 1987.
Presenter: Dafna Hirschfeld (slides)
R.W. Selby,V.R. Basili, and F.T. Baker,
Cleanroom Software Development:
An Empirical Evaluation.
IEEE Trans. Software Engineering SE-13(9),
pp. 1027-1037, Sep 1987.
Buford D. Tackett and Buddy Van Doren,
Process control for
error-free software: a software success story.
IEEE Software 16(3), May-Jun 1999.
Discussion: where are these methods? (slides)
|
| 4 Jun 2009 |
Agile MethodsManifesto for Agile Software Development. (everybody reads this)
Kent Beck,
Extreme programming explained: embrace change.
Addison-Wesley, 1999.
Laurie A. Williams and Robert R. Kessler,
All I really need
to know about pair programming I learned in kindergarten.
Comm. ACM 43(5), pp. 108-114, May 2000.
T. Dyba, E. Arisholm, D.I.K. Sjoberg, J.E. Hannay, and F. Shull,
Are two heads better
than one? On the effectiveness of pair programming.
IEEE Software 24(6), pp. 12-15, Nov-Dec 2007.
Discussion: agile vs. traditional (slides)
|
| 11 Jun 2009 |
D. Gelperin and B. Hetzel,
The growth of
software testing.
Comm. ACM 31(6), pp. 687-695, June 1988.
Presenter: Max Panasenkov
J.A. Whittaker,
What is software
testing? And why is it so hard?.
IEEE Software 17(1), pp. 70-79, Jan-Feb 2000.
Robert C. Martin,
Professionalism and
test-driven development.
IEEE Software 24(3), pp. 32-36, May-Jun 2007.
Mark C. Paulk,
Extreme programming from
a CMM perspective.
IEEE Software 24(3), pp. 19-26, Nov-Dec 2001.
Discussion: the role of testing -- first or last?
|
| 18 Jun 2009 |
Software Evolution and Open Source* David Parnas, Software aging. 16th Intl. Conf. Software Engineering, May 1994.Presenter: Rami Sass
Meir M. Lehman,
On understanding laws,
evolution, and conservation in the large-program life cycle .
J. Systems & Software 1, pp. 213-221, 1980.
Godfrey and Tu,
Evolution in open
source software: a case study.
Intl. Conference on Software Maintenance, Oct 2000.
Discussion: evolution vs. maintenance (slides)
|
| 25 Jun 2009 |
Luqi,
Software evolution through rapid prototyping.
Computer 22(5) pp. 13-25, May 1989.
Presenter: Natan Shaltiel
*
Eric S. Raymond,
The
Cathedral and the Bazaar. 2000.
Denning, Gunderson, and Hayes-Roth, Evolutionary system development. Comm. ACM 51(12), Dec 2008. Discussion: perpetual development (slides) |