Foundations of Software Engineering
605.401
Spring 1998
This page is for the students currently enrolled in Foundations of Software
Engineering.
It contains the following sections:
News
First day of classes: Monday, 26 January 1998.
Syllabus
JHU 605.409 Foundations of Software Engineering
Spring 1998
Instructor: Philip Hausler
Time: Monday, 7:15-10:00pm
Contact Information:
301-803-2684 (W), 301-725-1578 (H)
email: hausler@us.ibm.com
hausler@apl.jhu.edu
Overview
This class will focus on the processes, practices, and techniques for
software spanning the entire life cycle. We will examine traditional and
advanced techniques for software, with a pre-dominant focus on the use of
engineering-based practices. We will read numerous journal articles and have
class discussions debating the pros and cons of the various techniques. This
class will be composed of lectures by me, lectures by you, and class
discussions.
Grading
There will be two exams in this class: a midterm and final. In addition,
you will be required to write a research paper on a software engineering topic
of your choice (subject to my approval). You will also present your topic to
the class in the form of a class lecture. More details on this will follow in a
subsequent handout. Class attendance and participation are expected.
| Class Milestone |
% of Grade |
| Midterm Exam |
30 |
| Final Exam |
30 |
| Paper |
30 |
| Class Presentation |
10 |
| Total |
100% |
Grading Policy
All assignments are due in class on the date specified. Late assignm
ents will be
marked down 5% for each day late.
Primary References
IEEE Computer.
IEEE Software.
IEEE Standards Collection: Software Engineering.
IEEE Transactions on Software Engineering.
B. Boehm, Software Engineering Economics.
F. Brooks, The Mythical Man-Month.
I. Sommerville, Software Engineering.
Reading List for Course
- W. Gibbs, “Software Chronic Crisis,” Scientific American,” September
1994, pp. 86-95.
- Mary Shaw, "Prospects for an Engineering Discipline of Softtware,"
IEEE Software, Vol. 7, No. 6, November 1990, pp. 15-24.
- Frederick Brooks, Jr, "No Silver Bullet: Essence and Accidents
of Software Engineering," IEEE Computer, Vol. 20, No. 4, April 1987,
pp. 10-19.
- B. Boehm, “A Spiral Model of Software Development and Enhancement,”
IEEE Computer, Vol. 21, No. 5, May 1988, pp. 61-72.
- B. Boehm, "Software Risk Management: Principles and Practices,"
IEEE Software, Vol.. 8, No. 1, January 1991, pp. 32-41.
- Albert L. Lederer and Jayesh Prasad, "Nine Management Guidelines
for Better Cost Estimating," Communications of the ACM, Vol. 35, No.
2, February 1992, pp. 51-59.
- B. Boehm, “Software Engineering Economics,” IEEE Transactions on Software
Engineering, Vol. 10, No. 1, January 1984, pp. 4-21.
- B.W. A. Davis, “A Comparison of Techniques for the Specification of
External System Behavior,” Communications of the ACM, Vol. 31, No. 9, September
1988, pp. 1098-1115.
- B. Boehm, “Verifying and Validating Software Requirements and Design
Specifications,” IEEE Software, Vg,. 1, No. 1, January 1984, pp. 75-88.
- H. Mills, R.C. Linger, and A.R. Hevner, “Box Structured Information
Systems,” IBM Systems Journal, Vol. 26, No. 4, 1987, pp. 395-413.
- H. Mills, “The New Math of Computer Programming,” Communications of
the ACM, Vol. 18, No. 1, January 1975.
- Tim Korson and J.D. McGregor, “Understanding Object-Oriented: A Unifying
Paradigm,” Communications of the ACM, Vg,. 33, No. 9, September 1990, pp.
40-60.
- M. Fagan, "Design and Code Inspections to Reduce Errors in Program
Development," IBM Systems Journal, Vol. 15, No. 3, 1976, pp. 182-211.
- M. Fagan, "Advances in Software Inspections," IEEE Transactions
on Software Engineering, Vol. 12, No. 7, July 1986, pp. 744-751.
- A. Ackerman, L.S. Buchwald, and F.H. Lewski, "Software Inspections:
An Effective Verification. Process," IEEE Software, Vol. 6, No. 3,
May 1989, pp. 31-36.
- Richard Hamlet, “Special Section on Software Testing,” Communications
of the ACM, Vg,. 31, No. 6, June 1998, pp.662-667.
- J. Musa and A.F. Ackerman, "Quantifying Software Validation: When
to Stop Testing?" IEEE Software, Vol,. 6, No. 3, May 1989, pp. 19-
27.
- Robert B. Grady, "Successfully Applying Software Metrics,"
IEEE Computer, Vol,. 27, No. 9, September 1994, pp. 18-26.
- P. Hausler, R.C. Linger, and C.J. Trammell, “Adopting Cleanroom Software
Engineering with a Phased Approach,” IBM Systems Journal, Vol,. 33, No.
1, 1994, pp. 89-109.
- Watts S. Humphrey, "Characterizing the Software Process,"
IEEE Software, Vol. 5, No. 2, March 1988, pp. 73-79.
- Mark C. Paulk, Bill Curtis, Mary Beth Chrissis, and Charles V. Weber,
"Capability Maturity Model, Version 1.1," IEEE Software, Vol.
10, No. 4, July 1993, pp. 18-27.
- C. Argyris, "Teaching Smart People How to Learn," Harvard
Business Review, May/June 1991, pp. 99-109.
- David A. Garvin, "Building a Learning Organization," Harvard
Business Review, July/August 1993, pp. 78-91.
Current Student List (to be updated)
- Robert A. Heavener
Schedule for Student Presentations (to be updated)
| Class Date |
Presentations |
Topics |
| 4 Nov |
Butler, Praksh, Bruhnke |
SEI, ISO9000, Quality Improvement |
| 11 Nov |
Stephenson, Trimm, Husain |
Proc to OO, Unified Method(OO), DCE (OO) |
| 18 Nov |
Camacho, Wawro, Price |
Reuse, Barriers to Reuse, Assertions |
| 25 Nov |
Offenbacher, Daugard, Kalat |
Testing, Software Reliability engineering, Safety-critical testing |
| 2 Dec |
Bowen, Day, Rhoton, Young |
Metrics, Process Metrics, OO Metrics, Measurement Processes |
| 9 Dec |
Chen, Glenny |
Security, Patents |
Guidelines for papers and student presentations
PAPER SUGGESTIONS
- Paper structure:
- abstract - 1 para. summary of paper
- intro - should motivate topic why is it needed, how can it help, structure
of paper
- summary - summarizes paper/results.
- References should be used in body of text.
- Use a "spell checker."
- Hyphenate properly: object-oriented design, high-level language.
- Punctuation inside quotations: " ... apple, oranges, and pears."
- Use consistent spacing: between words, sentences, and paragraphs.
- Use proper transitions between "sections."
- Use figures: title, number, and reference.
- Use examples throughout to clarify text.
PRESENTATION SUGGESTIONS
- Presentation structure:
- intro - should motivate topic why is it needed, how can it help, structure
of presentation
- summary - summarizes paper/results.
- Check your presentation carefully: no typos.
- Practice beforehand. Ensure it is not too long or short.
- Show enthusiasm for your topic.
- Make the audience care.
- Include examples.
- Work on flow and ordering of subjects. Decompose presentation: general
to specific.
- Teach the class. Don't talk at the class.
- Don't read your charts line by line.
- Make sure charts are readable.
- Don't stand in front of screen.
Papers written by students in the current class
Student Feedback
Philip Hausler, hausler@us.ibm.
com
Last Update: 17 January 1998