CISC 498
Information Technology Project

School of Computing

Software Quality Assurance & Deployment


[Home | Projects | Resources | Details]

Overview - Quality Assurance

The goal of the software quality assurance plan is to lay out the steps you plan to take to ensure the quality of your system. Depending on your application, quality may address areas such as correctness, usability, performance and security. Your plan should identify which quality aspects of your system are the most important, and how you plan to ensure that high quality is achieved. The goal of this phase of the project is to detail your plan for achieving quality. For example, it is not necessary at this point to include a suite of black box test cases; it is sufficient to specify that you will create such a test suite. Refer to your CISC 327 notes for quality assurance methods and steps.

Structure - Quality Assurance

Your external design document should be about five pages in length, and should contain the following sections:

Introduction

Briefly remind the reader of the goals of your system, and give an overview of the structure and contents of your software quality assurance plan.

Quality

Briefly define what quality means in the context of your system. Specify the key quality requirements that your software quality assurance plan addresses.

Tasks

Define each software quality assurance task that your group will carry out. Refer to your CISC 327 notes for possible methods and tasks. Define precisely how the tasks will be performed, what methods will be followed and what tools will be used. Example tasks might include unit testing, integration testing, black box testing, usability testing, etc. Each task should be detailed in a separate subsection.

Reporting Mechanisms

Describe how problems will be reported. Describe the workflow of moving from problem report to resolution. List any tools you will use to support this process (e.g., Google docs, Bugzilla.)

Overview - Deployment

Writing the software underlying your system is just the first step in getting it running in a production environment. The system must be delivered to the customer in a tested and working state, and must be left in a state allowing the customer to repair or modify the software once you left. In this project phase, you will outline the steps that you plan to take to ensure that your software system works in the customer's environment and will be maintainable post delivery. You should discuss this plan with your customer before submitting this document in order to ensure that all issues have been identified and that the customer is in agreement with the plan.

Structure - Deployment

Your deployment plan should be about 5 pages in length. Your plan should answer the following questions. Since every project is different, you should customize this template to suit your needs.

Introduction

Give a high-level description of the problem that your software is meant to solve.

Deployment Platform

Describe the computing platform on which the system will run. Describe what steps you have taken/will take to gain access to this system.

Media

Describe the media that you will use to deliver the system (e.g., DVD, electronic file.)

Recipient

Give the name(s) of the person/people with whom you will interact in making the delivery. Describe those peoples' titles, roles, and specifics of how you will interact with them.

Deliverables

Describe precisely what will be delivered, e.g., program files, supplementary data files, third party applications, installation media, etc.

Configuration

Describe any configuration that will be required for your system, e.g., initializing data files, creating login ids and passwords, assigning roles such as administrator role. Discuss how these will be carried out.

Requirements of Customer

Discuss what (if anything) your customer needs to do or provide to facilitate successful delivery. Confirm your customer's awareness of these requirements and willingness to address them.

Training

Describe what media (manuals, tutorials, etc.) and resources (in-person training) that you plan to provide the customers.

Other Issues

Discuss any other issues not covered above in getting the software deployed (e.g., ITS Security Audit, Service Level Agreeement, procurement of software or hardware,)

Maintenance Resources

Describe what resources you will provide the customer to help with maintenance of the system, e.g., manuals, source code, etc. Consider maintenance scenarios such as moving the software to a new computer (requiring re-installation), updating third-party components to newer versions, fixing bugs in your code and adding new functionality to your code.

Steps and Timeline

List the steps that you will carry out to deploy the software. Number your steps and specify the date they will be carried out. Specify what will be done in each step, and who will do it.