Contributing Scholars - Dr. Kalman Toth, Portland State University and Donald Shafer, Athens Group, Inc.
3 Semester Credit Hours
Course Description
A goal of Software Quality Assurance (SQA), Software Quality Engineering (SQE) and Software Quality Management is to provide adequate confidence that a product conforms to established technical requirements. The SQA/SQE goal requires developing, instituting and following a set of planned and systematic actions. This course provides the essential knowledge, processes and tools required for a software manager or engineer to design and evaluate the process by which products are developed or manufactured.
In a mature organization, defined, documented and approved processes are used to guide the development and maintenance of the software product. These policies support the goals of ensuring high quality and meeting or exceeding customer expectations.
Job performance and the resulting quality of software products can be improved through the use of software Total Quality Management (TQM), use of standards, software quality life cycles and processes, project management, software configuration management, product review (software audits, reviews and inspections), proper documentation and software metrics. Management strategies for quality results also include test plans and testing, risk management, and the development of a Software Quality Assurance Plan.
Prerequisites
- Successful completion of an undergraduate upper-division or graduate-level software engineering survey course (such as NSEN 6001) or equivalent professional experience
- Practical experience with maintaining or developing a large software system would be useful
- General prerequisite: Students must have the knowledge resulting from completing all coursework in the curriculum for a BS degree in Computer
- Science or Computer Engineering from a regionally accredited institution in the United States, or for a BS degree in engineering from an ABET-accredited engineering program in the United States or a CEAB-accredited program in Canada with a minor in computing systems, or the equivalent from a foreign institution; performance level in this coursework should be equivalent to a cumulative undergraduate GPA of 2.9 or better on 4.0 scale
Course Objectives
Participants in this course learn the basic skills and knowledge necessary to define and describe software quality assurance/engineering tasks. They are introduced to software quality activities and processes. They examine various software life cycle models to determine the most effective points for the insertion of SQA activities. They obtain knowledge on how to evaluate and select effective processes and activities to achieve quality products and services.
Upon completion of this course, each student should be able to:
1. Express a solid foundation in the key knowledge and skill areas needed to ensure high quality software
2. Communicate with a common vocabulary for software quality topics
3. Identify the major organizations that form the foundation of quality for software engineering and project management
4. Explain the contributions of each of the major quality organizations for software engineering project management
5. Discuss the areas of interest for software project managers in each of the quality organizations
6. List the key standards and guidelines for software quality engineering
7. Explain several principles of process design and measurement
8. Define and discuss the cost of quality as it pertains to software quality engineering
9. Describe elements of people productivity as they relate to software development
10. Describe the key elements of the SEI CMMI as it applies to quality
11. Describe the key elements of the IEEE SWEBOK as it applies to quality
12. State why process management is important to good software project management
13. Use tools for quality measurement
14. Explain the concept of Process Improvement and its importance
Course Topics
The following topics will be covered in the order given with each faculty member responsible
1. Introduction to Software Quality
2. Software Quality Practice and Planning
3. Economics of SQA - Intro
4. SQA Cost Measurement
5. SQA - Product Life Cycle
6. SQA - Software Engineering Costs
7. SQA - Business Planning
8. Quality and Standards - Intro
9. IEEE Standards
10. ISO/IEC Standards
11. Applying Standards
12. Bodies of Knowledge - SEI
13. IEEE SWEBOK
14. PMI PMBOK
15. Software Quality Organization
16. Resource Planning
17. Documentation
18. Risk Management Planning
19. Configuration Management Planning
20. Test Planning
21. Measurement Planning
22. Software Testing Techniques
23. Software Testing Strategies and Planning
24. Software Reviews, Inspections, and SQA Audits
25. Risk Management - Intro
26. Risk Management Models
27. Project Risk
28. Indentifying Risks
29. Analyzing, Quantifying, Mitigrating
30. Risk Management
31. Software Configuration Management
32. Why SCM
33. Primary SCM Processes
34. Implementing SCM
35. SCM Best Practices
36. Improving Personal Software Practices
37. Software Quality Metrics
38. Software Engineering Metrics
39. Useful Metrics
40. Goal/Question/Metric Paradigm
41. Planning for Metrics
42. Measuring Quality
43. Agile, OO, OSS
44. Object Oriented Model (OOM)
45. Open Source Software (OSS)
46. OSS is NOT Free!
47. SDLC Quality Issues
48. Case Study: eCommerce Site
49. Case Study: Equipment Control
50. Case Study: Cascadia Project Development of an SQA and Test Plan
51. Case Study: NASA Project Software Quality Assurance Plan
Technical Requirements
There are no additional software or application requirements for this course. You will be required to have Windows Media Player to view the lectures. For the standard technical requirements, please go to the link below: http://www.waldenu.edu/c/Files/DocsGeneral/Getting_Started_Guide.pdf
Textbooks
Required: Software Quality Project Management, R. Futrell, D. Shafer and L. Shafer, 2002, Prentice Hall; Handbook of Software Quality Assurance, G. Schulmeyer and J. McManus, 3rd edition, 1999; plus Course Reader.
Disclaimer: The coure syllabus may differ slightly from this course. Descriptions will be proviced in your online course. Textbook information is provided only to give more information about the course. Do Not use this information to purchase a textbook. Up-to-date information will be provided when you register.