EECS814: Software Quality Assurance (44687) - Fall 2009
Wedensdays, 7:10-10:00 PM, Room RH 154
Course Web Site: people.eecs.ku.edu/~saiedian/Teaching
Prerequisites and Expected Audience. Eligibility for upper
division EECS courses, EECS810, EECS848 (or industrial experience in software
development and programming). This course is intended for software engineers,
software development managers, and graduate students in computer science.
Graduate standing in computer science, introductory courses in software
engineering or systems analysis, or industrial experience in software
development is assumed.
Professor Hossein Saiedian
Teaching Office: 125J (Edwards Campus)
Research Office: 155 Nichols (Lawrence Campus)
Telephone 897-8515 (Lawrence: 864-8211)
E-Mail: saiedian@eecs.ku.edu
WWW:
people.eecs.ku.edu/~saiedian
Office Hours: Wed. and Thur. 1:00-3:00 PM (and by appointment)
This course will focus primarily on the practical aspects of software quality assurance. Topics to be covered will include various testing techniques (and related test data generation strategies), static verification techniques (formal technical reviews and formal verification), standards, metrics and measurements, managing and controlling change, and developing quality assurance plans.
Catalog Course Description. Software quality engineering as an integral facet of development, from requirements through delivery, maintenance, and process improvement; inspections, manual and automated static analysis techniques, fundamental concepts in software testing, verification, validation, test case selection, testing strategies such as black-box testing, white-box testing, integration testing, regression testing, systems testing, acceptance testing; design for testability, fundamental concepts in software integration, configuration management, models for quality assurance; documentation; industry and government standards for quality. Prerequisite: EECS810
Paul Ammann and Jeff Offutt, Introduction to Software Testing, Cambridge University Press, 2008.
Jim Woodcock and Jim Davies, Using Z, Specification, Refinement, and Proof, Prentice-Hall, 1996.
Please visit the textbooks' websites for updates and errata.
The order of chapter coverage may be different from the textbook. In addition to the materials from the main textbook, students are responsible for lecture notes, reading assignments, as well as items distributed during the classroom sessions. Important reading materials as well as lecture slides will be placed on the class website.
Students will be evaluated as follows:
| Quizzes and Exams: | 60% | |
| Assignments: | 20% | |
| Special Project: | 20% |
| A = | 90%..100% |
| B = | 80%..89% |
| C = | 70%..79% |
| D = | 60%..69% |
The "special project" provides an opportunity for each student to become expert in an area related to the topic of the course. It can include a term paper or a thorough, workshop-like presentation that covers a related topic in-depth. A special project topic will have to be approved. Details are provided separately.
Those who would like to write a term paper may choose an applied research topic, e.g., an evaluation or comparison of certain methodologies for a real case study (or a reconstruction of a case study reported in literature). Another option is to make an objective evaluation of several research projects tackling the same problem. Other ideas are welcome. Guidelines for "writing a term paper" as well as "making a presentation" have to be strictly followed. See the class' website.
Attendance is important and required. If a student misses a class session, he or she will be entirely responsible for learning the materials missed without the benefit of a private lecture on the instructor's part. Furthermore, the student will be responsible for finding out what assignments may have been given and when they are due.
We will have both instructor and students' presentations each week. Students are expected to read assigned articles from the textbook or the reading list. Students are expected to actively participate in classroom discussions, make presentations, and regularly make contributions such as offering comments, asking interesting questions, and responding with good answers.
The textbook is an excellent survey and tutorial resource. Most up-to-date topics on software testing and software assurance can be found in technical journals and recent conference proceedings. Students should develop a habit of regularly browsing such journals as IEEE Software, IEEE Computer, and Communications of the ACM.
E-mail communication is fast, flexible, and effective. You are expected to have an email account on an ku.edu server or another machine and regularly check it. Important classroom items will be communicated via email. Please send your email address tonight in a one-liner email message with the following information only:
Email Subject: EECS814 Student Information Email Body: EECS814 Fall 2009, Name, Email Address, Tel Number
Please exclude any other information (e.g., "signature" files) from your email message, otherwise it may not be properly processed. Telephone numbers will be helpful if I need to contact you in cases where email may not be most effective.
Do not send email in HTML format; it will not be processed. Unless you are specifically asked to send a document (which must be in PDF format), send text-only emails in text-only format. Do not send attachments in any other format but PDF. See the Guidelines for Submitting Electronic Documents.
A number of videotapes have been prepared for show in the classroom (if time allows). Students are expected to take notes during each video presentation.
