CSE 8314 / NTU SE762-N : SOFTWARE MEASUREMENT AND QUALITY ENGINEERING

 Syllabus

 

  

Course Description/Objective: This course presents modern methods of achieving high quality software, with emphasis on pragmatic issues and use of examples from real applications. In particular, the course focuses on the importance of process definition, measurement and continuous improvement as part of a discipline of quality engineering. Specific measures and their uses are discussed along with pitfalls and risks in using measurement.

 

Instructor:                                  Dr. Dennis J. Frailey                                SMU Contact:                                Ms. Debra McDowell

                                Adjunct Professor                                               Dept. of Computer

                                972-344-8366 (voice);                                                   Science and Engineering

                                    972-344-7701 (FAX);                                         214-768-3080

                                    frailey@engr.smu.edu                               debramcd@engr.smu.edu

 

Course Handouts And Other Info: http://www.engr.smu.edu/~frailey/

 

Office Hours:                                By Appointment and by internet communication

                               (No Appointment Required for brief meetings after class)

________________________________________________________________________________________________________________________

Mailing Addresses for Assignments and Exams:

 

For U.S. Mail:

     Southern Methodist University

Computer Science and Engineering

Fondren Library Center, Room 306 SIC

attn: Grader, CSE7315

P. O. Box 750122

Dallas TX 75275-0122

For Overnight Mail:

Southern Methodist University

Computer Science and Engineering

Fondren Library Center, Room 306 SIC

attn: Grader, CSE7315

6425 Ownby Drive

Dallas TX 75205

________________________________________________________________________________________________________________________

Schedule:                                             CLASS TIME:                                    Varies - usually taught in a 3-hour time slot, once a week

                                                                       

Exams:                                                      MIDTERM (Class #8; after module #20); FINAL (Due 1 week after last class)

                                                               In-class students take midterm as class #8 and final as class #15.

                                                               Students taking the course via distance education methods take midterm via their

                                                               local proctor after completing module 20 and do final after completing the course.

 

Assignments:      1 minor (A2); 1 moderate (A4); and 1 major (A1, A3, and A5). The latter is a quality improvement plan, completed in three stages.

 

                               Each student will prepare a comprehensive quality improvement plan for her or his organization. 

 

Grading: 30% for plan (assignments 1, 3, and 5); 5% for assignment 2, 15% for assignment 4 (further details on assignments are in separate handouts); 25% for each exam.

 

Grading Scale and Expectations:.A: 93-100; A-: 90-92; B+: 88-89; B: 83-87; B- 80-82; C+: 78-79; C: 73-77; C- 70-72; and so forth.  No curve is used.  In grading, I focus on evidence that the student has learned the concepts taught in the class and applied them to the problem presented in the examination or assignment.  Rote memorization will not help the student as much as seeking to understand the concepts through study, discussion and application.  I welcome dialog with students on these concept and encourage discussion of the concepts among students (for example, study groups), so long as students do not discuss specific details of assignments and examinations.

 

(continued on next page)


Texts:    

 

(G2) Grady, Robert B.  Practical Software Metrics for Project Management and Process Improvement.  Englewood Cliffs, N.J., Prentice-Hall, Inc., 1992.  ISBN 0-13‑ 720384-5. (This is a follow-on to G1, reflecting what has been learned in the 5 years since it was published, and delving into more detail - especially with respect to software process improvement.) This book has periodically been out of print, and is not essential for completing the coursework, but should be obtained if available because it relates to many of the coure lectures.

 

(W1) Weinberg, Gerald M.  Quality Software Management, Volume 1, Systems Thinking, Dorset House, New York, 1992.  ISBN: 0-932633-22-6.  (Explores quality improvement with many insights from a psychological and cultural point of view.)         

 

Other Recommended Reading (* = Strongly Recommended):

 

(Ba) Baumert, John H., and Mark S. McWhinney, Software Measures and the Capability Maturity Model, CMU/SEI-92-TR-25, ESC-TR-92-025, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, Pa., 1992.  (Identifies which measures can reasonably be expected at various levels of the SEI maturity model.)

 

(De) DeMarco, Tom, Controlling Software Projects: Management, Measurement, and Estimation, New York, Yourdon Press, 1982.  (Practical guidance for collecting and analyzing software measures).

 

(D) Dobbins, James H.  Software Quality Assurance and Evaluation.  (A good review of the conventional view of software quality assurance.)

 

* (Do) Department of Defense, Joint Logistics Commanders Joint Group on Systems Engineering, Practical Software Measurement, a Guide to Objective Program Insight (version 2.1), Naval Undersea Warfare Center, c/o John McGarry, mcgarry@ada.npt.navy.mil.  (Explains basic concepts of the software measurement process and offers detailed implementation guidance as well as realistic case studies from the DoD environment.)

 

(F) Fenton, Norman E.  Software Metrics: A Rigorous Approach, Chapman & Hall, London SE1 8HN, 1991.  ISBN 0-442-31355-1.  (This book is an excellent discussion of software measurement, based on fundamental theory.  Provides specific tools to overcome deficiencies of typical measurement programs.)

 

* (G1) Grady, Robert B. and Deborah L. Caswell, Software Metrics: Establishing a Company-Wide Program.  Englewood Cliffs, N.J., Prentice-Hall, Inc., 1987. ISBN 0-13-821844-7.  (Good description of the issues faced by a company developing a measurement program.)

 

(I1) IEEE Std 1045-1992.   IEEE Standard for Software Productivity Metrics.  New York, Institute of Electrical and Electronics Engineers, Inc.  (Describes more than 30 software measures that can be used to consistently define software productivity.)

 

(I2) IEEE Std 1061-1992.   IEEE Standard for a Software Quality Metrics Methodology.  New York, Institute of Electrical and Electronics Engineers, Inc.  ISBN 1-55937-277-X. (Defines a methodology for establishing quality requirements and identifying, implementing, analyzing, and validating the process and product of software quality metrics [from the abstract])

 

(J1) Jones, Capers  Applied Software Measurement: Assuring Productivity and Quality. McGraw-Hill, Inc., 1991.  ISBN 0-07‑032813-7. (This book contains a large selection of possible measures.)

 

(M1) Marciniak and Evans.  Software Quality Assurance and Management.  (Recommended by several SQA professionals)

 

(M2) Möller, K. H. and D. J. Paulish.  Sotware Metrics: A practitioner's guide to improved product development.  London, Chapman & Hall Computing, 1993.  ISBN 0-412-45900-0.  Also available from IEEE Press, ISBN 0-7803-0444-6. (This is a report on experiences at Siemens/Nixdorf corporation, performed largely as part of the PYRAMID research project, funded by the Esprit II program.)

 

(S) Schulmeyer, G. Gordon.  Zero Defect Software.  McGraw Hill, 1990.  ISBN 0-07-055663-6.  (Comprehensive coverage of the subject by one of the originators of the concept.)

 

(H) Schulmeyer, G. Gordon and James McManus.  Handbook of Software Quality Assurance, Second Edition.  Van Nostrand Reinhold, New York, 1992.  ISBN 0-442-00796-5.  (One of the best references on conventional SQA.). The third edition, published in 1999, is more up to date but not all of the sections map to each other. Here is a map:

2nd edition

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

-

3rd edition

1

2

3

5

-

4

6

8

9

-

11

14

10

15

16

17

19

-

20

-

7,12,13,18,21

 

* (W2) Weinberg, Gerald M.  Quality Software Management, Volume 2, First Order Measurement, Dorset House, New York, 1993.  ISBN: 0-932633-24-2.  (Second volume in series -- expands coverage into the area of measurement.)

 

(W3) Weinberg, Gerald M.  Quality Software Management, Volume 3, Congruent Action, Dorset House, New York, 1994.  ISBN: 0-932633-28-5.  (Discusses the role of management in achieving a high quality software program.  Applies Myers-Briggs behavior type indicators to discuss patterns of behavior in software organizations and how managers can use this knowledge to improve.  Stresses the difference between knowing and doing.)

 

(W4) Weinberg, Gerald M.  Quality Software Management, Volume 4, Anticipating Change, Dorset House, New York, 1996, ISBN: 0-932633-32-3.  (Focuses on how change really happens and how to manage it.)

 

(X) Xie, M.  Software Reliability Modelling, World Scientific, London, 1991.  ISBN 981-02-0640-2.  (This hard-to-find book is a solid, theoretical look at software reliability).


OUTLINE

CSE8314 - SOFTWARE MEASUREMENT AND QUALITY ENGINEERING

Note: this is a topical outline, not necessarily the exact order in which material is covered.

 

                                              Module(s)                       Text & Reference

 1.   Overview of Software Quality Engineering               0-3               Book Chapters

               Course and Textbooks

               Process and Process Maturity

               Concepts of Quality               W1: 1

 

 2.   Fundamentals of Software Quality Improvement               3-5

 

               Concepts of Quality Improvement H: 1

               Concepts of Process Maturity  W1: 2

               Improving Process Maturity  W1: 3

 

3.   Elements of a Quality Engineering Program  6-8               H: 1

               From Quality Control to Quality Assurance to Quality Engineering

Elements of a Quality Program: Reliability, Maintainability, Verifiability, Testability, Safety and Supportability

               Some Horror Stories

 

4.   Adding Value through Software Quality Engineering   9-11   H: 8

               Value Added

               Cost Elements

               Cost of Quality Analysis

               Measuring Cost of Quality

 

5.   Software Reliability 12-14           H: 18,19 [20 in 3rd ed]

 

6.   Six Sigma, Zero Defects and Statistical Quality Control               15-17

               Zero Defects    S: (all); H: 10 [not in 3rd edition]

               Six Sigma

               Statistical Quality Control    H: 17 [19 in 3rd ed]

 

7.   Cycle Time and Productivity Improvement               18-21

 

8.   Principles of Measurement               22-24

               Data, Measures and Metrics    G1: Appendix A

               Graphs of Data

               Product, Process and Project Measures               G1: 15.2 (p188); G2: 8

 

 9.   Selecting Quality Goals and Measures               25-26

               Quality Function Deployment

               Goal/Question/Measure Paradigm               G2: p23

               Quality Characteristics Tree        G1: 11-3 (p158); H: 17 [19 in 3rd ed]

               The FURPS Model and FURPS+               G1: 11-3 (p159); G2: 4

 

 

 

10.   Key Measures for Software Engineers 27-28

               Defects

               Productivity and Quality    W1: p21; G1: 4

 

11.   Measuring and Improving the Development Process   29                G1: 9, 16; H: 10.3 [2nd ed only]

               Assigning Measures to Process Elements and Events

               Isikawa Diagrams               G1: p127

 

12.   Observing, Collecting and Storing Data               30-32

               Methods of Observation               W2: 1-4

               Methods of Interpretation               W2: 5-8; G2: 4, 12; H11

               Collection Approaches and their Problems G1: 8,10

               Data Collection               G2: 4

 

13.   Quantitative Process Management               33-36

 

14.   Testing and Measurement               37

 

15.   Changing the Management Process   38               G1: 17; W1: 4-8

               Justifying Change               G2: 14