SE 3730 / 5730 Software Quality Computer Science and Software Engineering Course: Instructor: Office: Office Phone: Email: Office Hours: Class Web Site: SE3730 / CS5730 – Software Quality Yan Shi 210 Ullrich Hall (608) 342-1512 shiy@uwplatt.edu See web site http://people.uwplatt.edu/~shiy/teaching.html http://people.uwplatt.edu/~shiy/courses/se373 Catalog Description and Prerequisites: Study of the topics related to producing quality software, including software quality assurance, quality metrics, configuration management, verification and validation, reviews, inspections, audits, and software process improvement models. Individual and team projects. Components: Laboratory, Lecture Prereqs/Coreqs: P: SOFTWARE 2630 and SOFTWARE 2730 Textbooks and Required Material: Lecture notes Software Quality Assurance, Daniel Galin, ISBN 0-201-70945-7 Supplemental Material Testing Computer Software, Kaner, Falk and Nguyen, Bad Software: What to do when Software Fails, Kaner and Pels, Lessons Learned in Software Testing: a Context-Driven Approach, Kaner, Bach and Pettichord. Just Enough Software Test Automation, Mosley and Posey. www.rational.com , The Rational Unified Process, Kruchten, ISBN 0-201-60459, Software Engineering Process with the UPEDU, Robillard, Kruchten and d’Astous, ISBN 0-201-75454-1. MSDN for Microsoft Visual SourceSafe http://www.extremeprogramming.org/ for current topics in Extreme Programming http://xp123.com/xplor/xp0001/index.shtml for Test Driven Development (TDD) Learning Outcomes: At the successful completion of this class, the student should have an understanding of and obtain practical experience with the following topics: 1. Software lifecycles and the importance of continuous quality improvement, 2. Software testing methods and test coverage using probabilities, (E.6.a) 3. Mechanisms of thorough module testing (E.3.b) 4. Engineering principles related to analysis, design and development of tests, (A.1.b) 5. Software quality metrics and quality assurance methods to optimize a software process, (E.1a,b) 6. Software verification and validation, Page 1 SE 3730 / 5730 Software Quality 7. Quality standards and certifications to evaluate a software process, (E.4.a,b) 8. Issues that determine what is “Good Enough Quality”, 9. As a team, research a modern Software Quality product, tool, method or standard and present the material to the class, 10. Roles and contribute in a professional manner to a software engineering team, 11. Issues related to the design and testing of Internationalized and Localized software,(D.3.a,b) and 12. Software Quality Processes, including: Source Control Systems (SCM), Inspections and reviews, Defect and Change Control Systems and Change Control Boards. Topics Covered: Quality Assurance Framework SCM – Software (Source) Control Systems Quality Through a Continuous Improvement Process Software LIFE CYCLE Overview (related to Continuous Improvement) Standards and Certifications Good Requirements and “Other” Requirements Testing and Types of Testing Techniques Defects and Enhancements, Change Requests and Change Control Boards Software Quality Metrics Reviews, Inspections, and Audits Modern Testing Tools Recent Trends in Development and Relationship to Software Quality Grades: preliminary estimate of points GRADES ** Undergraduate TASK Quizzes 2 Mid Terms Final Labs & Final Project Research Paper* Graduate* POINTS 50 150 150 150 0 POINTS 50 150 150 150 100 600 500 Percent 92 -100% 90 - 91% 88 - 89% 83 - 87% 80 - 82% 78 – 79% 73 - 77% C 70 - 72% 68 - 69% 60 - 67% Below 60% CD+ D F * See Differential for Slash Course (SE 3730 / CS 5730) for a description of this. Page 2 Grade *** A AB+ B BC+ SE 3730 / 5730 Software Quality ** All students must participate in each project/lab. Those who do not receive any credit for the particular project/lab. At the end of the semester, each team will perform peer performance reviews. The final Lab/Project grade may be adjusted based on the peer reviews. Quizzes (10-20 points per quiz) Missed quizzes and tests cannot be made up. Excused missed quizzes and tests will receive prorated points from the next test. For example if you miss the first quiz due to an excused event, then the 10 quiz points will be derived from the grade on Test 1. Unexcused quizzes and tests will receive ZERO points. Team and Individual Labs and Projects around 150 points Several team and at least one individual assignments Final Team Project and Presentation Select an approved topic, Publish a report to the class, Prepare and give a 35 minute presentation on your findings, and Topic must be relevant to software quality and be approved by the instructor. Reasonable Accommodations Official notices from me will be emailed: Students are responsible for checking your@uwplatt.edu email regularly for any notices. All class related email shall include “SE373” or “CS573” in the subject line. Professionalism and Respect for others: While in class and performing activities related to this class, it is expected that all members of this class will conduct themselves in a professional manner. This includes but is not limited to: not disrupting the class, showing respect and professionalism in all work assignments, and meeting commitments to your team and class members. Academic misconduct: You are responsible for honestly completing and representing your work, for appropriately citing sources, and for respecting the academic endeavors of others. You will be penalized for violating these standards and may even be expelled from the University. See Chapter UWS 14 in the Student Handbook for details. This includes plagiarism Religious Accommodations: You have the right to miss class for religious observances. Students wishing time off for this reason should let their instructor know within the first two weeks of class. Absence due to illness or crisis: Sometimes absence from class is unavoidable because of illness. Such illness should be reported to the Student Health Services. Emergencies other than illness that causes absence from class should be reported to the office of Student Affairs. Such students are expected to meet with their instructors as soon as possible after the crisis has passed and arrange to make up any missed work. Disabilities: Reasonable accommodations will be provided for students with physical, sensory, cognitive, systemic, and psychiatric disabilities. Please discuss any accommodations you may Page 3 SE 3730 / 5730 Software Quality need with the instructor. A VISA from Services for Students with Disabilities authorizing your accommodations will be needed. Timeliness of assignment completion: It is expected that all assignments, labs, and projects will be completed on time! See Absence due to illness or crisis above. All students must participate in each project/lab. Attendance: Do not skip class! If you happen to miss a class, get the notes from a friend prior to the next class period. You are still responsible for all assigned work! Differential for Slash Course (SE 3730 / CS 5730) Students enrolled for graduate credit will be required to produce an independent research project related to some aspect of software quality. This project may take the form of a fully specified and documented implementation of some Software This work will be worth 100 points, which is roughly 16.7% of one’s grade. Evaluation of Graduate Level Project Date Topic approval – exchange email Initial Problem Statement (about a page – linking to S/W Quality) Detailed outline and list of several references Final Report TOTAL 1-Oct 15-OCT 1-Nov 1-Dec Points Possible 5 10 20 65 100 Ideas: Research a recent software development method, with respect to quality issues. Or something that you are interested in, which has not been covered by a class, and relates to Software Quality Page 4