System Quality
Fall 2002


A high quality product is a good product.  System Quality examines common problems with computer systems, and presents techniques to develop and maintain high quality systems.  We subdivide quality into software quality and data quality.
The quality of software is measured in several ways, including functionality, suitability for the specified task, reliability, usability, efficiency, and maintainability (ISO standard 9126).  We discuss the best software development practices.  We explore techniques that efficiently reduce defect rates, such as peer reviews, 'extreme programming' and careful testing.  We investigate approaches that can improve the quality of an organization's management of software development processes.
The quality of data is also measured in several ways, including completeness, accuracy, and absence of duplication.  We investigate the cost of poor data quality.  Following the work of Loshin, we discuss how poor quality data can be cleaned, and how data collection can be designed to ensure high quality.
Throughout the course we try to focus on small-scale techniques that students can implement individually or in small teams in their IT workplace, with or without management support.

Course Particulars

Professor: Arthur Goldberg
Course home page:
Update history in 2002:
Time: Wednesdays, 7 - 9 PM
Place: Silver (formerly Main) Room 208
Number: G22.3033-011
Email beacon:
Credits: 3
Prerequisites:  Experience and skill writing programs at least 15 pages long.  Comfort reading Java.
Other course constraint:  System Quality cannot be taken by students who took David Loshin's Data Quality course.

Professor Particulars

Office: 251 Mercer, WWH, Room 409
Home page:
Office hour:  By appointment, schedule by email


Listed in the syllabus.
Papers are in
Capers Jones, Becoming Best in Class. SPR technical report, 1998, 40 pages.  I have tried to obtain this.


I'm uncertain which books I should require, if any.

Important books

Software Assessments, Benchmarks, and Best Practices, by Capers Jones, 659 pages; Addison-Wesley Pub Co; ISBN: 0201485427; 1st edition (April 28, 2000).  Jones provides more quantitative support for software engineering practices than anyone else.  The basis for my lectures "Software Development Best Practices, Capers Jones".
Peer Reviews in Software: A Practical Guide, Karl E. Wiegers, Addison Wesley Professional; ISBN: 0201734850; 1st edition (December 15, 2001).  A well organized description of how to do peer reviews. The basis for our discussion on inspections.
Enterprise Knowledge Management: The Data Quality Approach, by David Loshin, Paperback: 491 pages ; Morgan Kaufmann Publishers; ISBN: 0124558402; 1st edition (January 22, 2001).  An excellent, thorough, book about data quality problems and their solutions.  The primary source for our discussions on data quality.
Quality Software Management: Anticipating Change (Vol 4), by Gerald M. Weinberg, 504 pages, Dorset House; ISBN: 0932633323; (May 1997).  The last volume of Weinberg's opus on quality software management, focusing on how organizations change.  A basis for Estes' lecture.

Excellent references

The Mythical Man-Month, Fred Brooks, 1995 (1st edition 1975).  A classic, updated.  All programmers and development managers should read this, at least once.
David Garmus, David Herron, Function Point Analysis: Measurement Practices for Successful Software Projects Addison-Wesley Pub Co; ISBN: 0201699443; 1st edition, 2000.  By the leaders of the IFPUG.  A fairly comprehensive and clear explanation of the black art of function point counting, but only of interest to people who plan to do function point counting.
Handbook of Walkthroughs, Inspections, and Technical Reviews: Evaluating Programs, Projects, and Products, by Daniel P. Freedman, Gerald M. Weinberg, Dorset House; ISBN: 0932633196; 3rd edition (August 1990).  Many good ideas about reviews, but written in an annoying Q&A style.
Watts S. Humphrey, Managing the Software Process, 494 pages (May 1989), Addison-Wesley Pub Co; ISBN: 0201180952.  The classic book on the SEI's capability maturity model.
Steve C McConnell, Rapid Development: Taming Wild Software Schedules, 647 pages (July 1996), Microsoft Press; ISBN: 1556159005.  A highly practical book (like all of McConnell's work) with much good advice.
Steve C McConnell, Code Complete: A Practical Handbook of Software Construction, 857 pages (May 1993), Microsoft Press; ISBN: 1556154844.  An extremely practical, concrete and useful presentation of good coding practices, from variable naming, to comment writing to system decomposition.
Steve C McConnell, Software Project Survival Guide,  250 pages, Microsoft Press; ISBN: 1572316217; (November 1997).  Excellent ideas for small (less than a few hundred function point), new development MIS projects.  Makes frequent cogent reference to the software engineering research.
Gerald M. Weinberg, Quality Software Management series: Vol I: First-Order Measurement, Vol 2: Systems Thinking and Vol 3: Congruent Action.  Dorset House.
Watts S. Humphrey, A Discipline for Software Engineering (SEI Series in Software Engineering), 789 pages (January 1995), Addison-Wesley Pub Co; ISBN:
0201546108.  A controversial, personal CMM.  Many think the overhead too high.

Student Evaluation

Student evaluation is distributed as follows:

Assignment : Portion (%)
Software inspection exercise : 30
Data profiling program : 30
Take home final : 30
Class participation : 10


All students must read and respond to Internet email. All students should join the class mailing list

This document and associated materials were authored or compiled by Arthur Goldberg. This compilation and supporting electronic teaching materials may be freely used for non-commercial use provided any electronic or print version includes this notice. All rights reserved. Copyright Arthur P. Goldberg, 2002.