Software Quality Assurance Plan

The table of contents of this SQAP follow that of IEEE standard 730-1989.

1. Purpose

This document describes the plan by which the CPE 308  project will produce a quality product.

2. Referenced documents

Project Plan

3. Management

3.1 Organization

The team will designate an individual "quality assurance leader," named in section 3.3.

3.2 Tasks

QA tasks during CPE 308 shall include
These tasks are detailed in this document. Note that testing is emphasized in CSC 206.

3.3 Responsibilities

Each team member is responsible for the quality of his or her work.  Each person should be sure their work conforms to the QA criteria provided on the course web page.

It is the quality assurance leader's responsibility to see to it that the tasks in 3.2 are done, and to ensure that the prescriptions in this document are followed, including scheduling the reviews specified. The QA leader is ultimately responsible for the quality of the deliverables.

The Quality Assurance leader for team    (insert name here)    _ is    (insert name here) .
 

4. Documentation

All the documentation required for this project is described in the project plan (SPMP).

5. Standards, practices, conventions and metrics

5.1 Purpose

This section describes the standards, practices, conventions and metrics to be used for the CPE 308 project. These are intended not only to ensure quality for CPE 308 project, but also to obtain quantitative metric data on the SQA process itself. This data is to be used to help establish the key practices of a CMM level four organization.

5.2 Standards

  1. The IEEE standards, with appropriate modifications, are to be used for documentation.  In most cases teams should follow the templates Dr. Dalbey has prepared for major documents.  Refer to the Deliverables list and the Team Management Resources.
  2. A Data Dictionary format is prescribed.
  3. UML notation is recommended for class diagrams.
  4. Class Headers must follow javadoc standard.
  5. Detailed Designs must follow the class pseudocode standard.
  6. Java source code must adhere to the class coding standard.
  7. E-mail message "subject lines" must follow the guidelines in the project plan.
  8. A recommended Team Home Page template is provided.

5.3 Practices

  1. Because delaying quality is expensive, engineers are strongly encouraged to apply quality precepts while they work, rather than as an afterthought.  "If you don't have time to do it right in the first place, when are you going to find time to fix it after it breaks?"
  2. QA is an important function in CPE 308 as part of the student course grade depends on the quality of the project deliverables.  A cooperative, team-oriented attitude is crucial.
  3. Even though the QA person is ultimately responsible for quality, the QA person is NOT expected to edit and rework every artifact that s/he receives.  Each individual must produce quality work.  The QA job is to assure that the product has achieved the required level of quality before it is delivered.
  4. Each deliverable has an associated QA checklist.  It is the QA person's responsibility to complete the checklist for each deliverable before it is submitted.  The QA person signs the checklist to indicate their approval and certification that the item is ready for delivery.

5.4 Conventions

  1. HTML is the preferred format for written documents.
  2. Guidelines for all written work are given in the syllabus. 

5.5 Metrics

The team will gather the following metrics.  The QA person is responsible for compiling and reporting them, but each person is responsible for gathering their own metrics.

5.6 Goals

CPE 308 quality goals for delivered products are as follows.

[Note to the student: The quality targets used here are based on historical data obtained from previous student teams on similar projects.  Based on previous team data, these targets are aggressive but not unrealistic.]

The actual metric data from this project are to be reported in the final project submission.

6. Demos and Reviews

6.1 Purpose

The purpose of demos and reviews is to provide a means of focusing the attention of engineers on quality of the application as it develops.

6.2 Minimum requirements

Refer to the SPMP for the schedule of reviews and demos listed below. The instructor will assist in assigning teams to review each other.  Each team needs to arrange a time with their reviewing team. The lab hour is a time reserved when everyone can meet, so walkthroughs and FTR's should be carried out during lab.  
6.2.1  Class Demos
User Interface Prototype
High Level Design
6.2.2 Walkthrough or Formal Technical Reviews
Software Requirements Specification (Optional for Fall 2003)
Software Design
6.2.3 Customer Demos
UI prototype
Feasibility prototype
6.2.4 Internal Reviews
All artifacts in the project will undergo internal review.
6.2.5 Post mortem review
The team will conduct a post-mortem review at the end of CPE 308 to gather the insights and lessons learned during the course.

7. Test

Not required for CPE 308 Fall 2003.
Testing is a course topic in CSC 206. Therefore, only simple black box testing will be performed in CPE 308. A test plan with test specifications will be written.  Testing will be carried out by developers in conjunction with Implementation and a Test Analysis report will be prepared. 

8. Problem reporting & corrective action

Problem Reporting is a course topic in CSC 206. No formal problem reporting is required in CPE 308. If teams develop any problem reporting procedures, they should be described here.

9. Tools, techniques and methodologies

SQA techniques include the application of standards, requirements tracing, FTR's and software verification (testing).
The SQA tools consist of form templates and checklists.
  1. Form Templates are provided on the course web site.
  2. QA Criteria Checklists for each major deliverable are provided in the deliverables list.

9.1 Requirements Tracing

Each requirement in the specification is traced to each module(s) in design and code that implements it.  For CPE 308, create a table listing all the requirements (or numbers) on one side and the corresponding module in the design along the other axis. Reference: McConnell page 151.

10. Code control

Source code control is a course topic in CSC 206. No formal source code control is required in CPE 308. If teams develop their own code control procedures, they should be described here.

13. Records collection, maintenance & retention

The SQA records collected and archived shall include ...

14. Training

The only SQA training planned is class lectures. If additional training seems necessary, describe it here.

15. Risk Management

SQA team members are encouraged to identify risks as early as possible. The procedures for risk management are specified in section 3.3 of the SPMP.
 

Change History

Date
Author
Description
10/9/03
JD
Minor revisions for Fall 2003


Home