Instructor |
Lectures |
Office hours |
|
Charles
Wallace 205 Rekhi Hall (906) 487-3431 wallace@mtu.edu |
Tuesday, Thursday, 9:30-11:00 AM Rekhi 214 |
Monday, Thursday, 11:00 AM-12:00 PM |
Web site |
Prerequisites |
| http://www.csl.mtu.edu/cs4712/www/Home.html | CS 3141 (Team Software Project) |
Building on previous exposure to the fundamentals of the software process, this course focuses on techniques for ensuring software quality. Here, quality assurance is viewed as a holistic activity that runs through the entire development process: understanding the needs of clients and users; analyzing and documenting requirements; verifying and validating solutions through testing.
There are four major topics:
P. Ammann and J. Offutt. Introduction to Software Testing. Cambridge University Press, 2008. ISBN 978-0-521-88038-1
D. Galin. Software Quality Assurance. Addison Wesley, 2004. ISBN 978-0-201-70945-2
R.E. Fairley and M.J. Wilshire. Why the Vasa sank: 10 Problems and some antidotes for software projects. IEEE Software 20(2), 2003, 18-25.
J.A. Hughes, D. Randall, and D. Shapiro. Faltering from Ethnography to Design. Proc. CSCW, 1992, 115-122.
M. Jackson and P. Zave. Deriving Specifications from Requirements: An Example. Proc. ICSE, 1995, 15-24.
Nielsen Norman Group. Paper prototyping: A how-to-video. 2003.
Case studies in software communication. Available at http://www.speaksoft.mtu.edu
PFEdit: A graphical editor for Problem Frame diagrams. Available at http://www.speaksoft.mtu.edu
Since this is an upper-level undergraduate course, a high degree of student participation in lectures is expected. It is essential that you read the assigned material before lecture and be prepared to participate in the class discussion. By now you should have a certain amount of experience designing software, through coursework or extracurricular activities like co-ops. You should bring this experience to bear in reading and evaluating the material: how do the techniques we discuss apply (if at all) to your efforts in the "real world"?
The coursework consists of the following:
All written assignments done outside of class must be typed.
No late assignments will be accepted, and no extra credit will be awarded. So it is important to concentrate on getting the regularly assigned work done, on time.