Computer Science and Software Engineering

advertisement
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
Download