MSE Project SQAP Shufeng Li Table of Contents 1 Purpose.......................................................................................................................... 1 2 Reference documents .................................................................................................... 1 3 Management ....................................................................................................................... 2 3.1 Organization Structure: ........................................................................................... 2 3.2 Tasks ....................................................................................................................... 2 3.3 Responsibility ......................................................................................................... 2 4 Documentation .............................................................................................................. 3 4.1 Purpose.................................................................................................................... 3 4.2 Minimum documentation requirements .................................................................. 3 4.2.1 SW requirements specification (SRS) ............................................................ 3 4.2.2 SW design description (SDD) ......................................................................... 3 4.2.3 User documentation ........................................................................................ 4 5 Standards, practices, conventions, and metrics ............................................................. 4 5.1 Purpose.................................................................................................................... 4 5.2 Documentation standards ........................................................................................ 4 5.3 Logic structure standards and design conventions.................................................. 4 5.4 Coding standards and conventions.......................................................................... 4 5.5 Testing standards and practices .............................................................................. 5 5.6 Product and process metrics.................................................................................... 5 5.6.1 Milestones ....................................................................................................... 5 5.6.2 Development time and productivity................................................................ 5 6 Reviews and audit ......................................................................................................... 5 7 Test ................................................................................................................................ 5 8 Code control .................................................................................................................. 5 9 Media control ................................................................................................................ 5 10 Supplier control ............................................................................................................. 6 1 Purpose This Software Quality Assurance Plan (SQAP) describes the standards, processes and procedures used to support the delivery of a high-quality and professional project of Component Assembly Description Compiler. The quality assurance process is concerned with establishing the authority of the SQAP function, standards, procedures, policies, and monitoring, and evaluation processes to determine quality in relation to established standards. 2 Reference documents 1 MSE Project SQAP Shufeng Li (1) IEEE Standard for Software Quality Assurance Plans (IEEE Std 730-1998). (2) IEEE Guide for Software Quality Assurance Planning (IEEE Std 730.1-1995). (3) Software Project Management --- A United Framework (Walker Royce, 2001). 3 Management 3.1 Organization Structure: Committee: Drs. John Hatcliff, Matthew Dwyer, and William Hankley Major professor: Dr. John Hatcliff Developer: Shufeng Li 3.2 Tasks In phase I, the developer must finish a) b) c) d) Project overview Cost estimate Project plan Requirement specification In Phase II, the developer must finish a) b) c) d) e) Detailed design (including object model and sequence diagram) SQA plan Test plan Formal technical review Formal specification In Phase III, the developer must finish a) b) c) d) Source code Testing Evaluation User manual 3.3 Responsibility The developer is responsible for designing and implementing the project under the supervision of the major professor, Dr. Hatcliff. The developer shall 2 MSE Project SQAP Shufeng Li also write all the required documents and report to all the committee members in the form of presentations at the end of each phase. The major professor suggests the topic of the project and general requirements, supervises and audits the whole development process of the project. The committee will oversee and review the work performed by the developer, provide feedback and advice, and audit the whole development process during the three presentations of the project. 4 Documentation 4.1 Purpose The purpose is to obtain a good quality product of software. As a minimum, Software Quality Assurance requires the following documents: 1) SW requirements specifications, 2) SW design description, 3) User documentation. The SQAP activities with each document review must be scheduled in accordance with the development life cycle of the project. 4.2 Minimum documentation requirements 4.2.1 SW requirements specification (SRS) The purpose of the SRS is to provide a description of the critical requirements (functions, performances, design constraints, attributes, etc.) of the software and external interfaces. The SRS should be developed under IEEE Recommended Practice for Software Requirements Specifications (IEEE Std 830-1998) standard. When the CADC SRS is developed, a review which the major advisor shall be involved in is to check its accuracy, consistency, completeness, verifiability, traceability, and so on. If any of these is not right, then the developer should correct it. 4.2.2 SW design description (SDD) 3 MSE Project SQAP Shufeng Li The SDD is a technical description of how the software will meet the requirements of SRS. Its most important function is to describe each component of the CADC project after decomposing it into several separate functions. The SDD should be consisting of the following documents: 1) Object models 2) Sequence diagrams 3) Scenario diagrams And algorithms shall be written in pseudo code or a chunk of real code. 4.2.3 User documentation Since this project is only a component of Cadena system, the user only needs to push some buttons to involve this project. The user documentation only identifies the minimum content and description of the followings: user interaction with the software, input and output specifications, system limitations, anticipated errors and user responses. 5 Standards, practices, conventions, and metrics 5.1 Purpose The purpose of this section is to identify the standards, practices, conventions, and metrics that will be applied to develop the CADC project. Compliance with these items is achieved by reviews and inspection. 5.2 Documentation standards All documents, such as, the software requirements specification (SRS), and software quality assurance plan (SQAP), shall be developed based on IEEE Software Engineering Standards. The format should follow the requirement of MSE portfolio. 5.3 Logic structure standards and design conventions Formal specifications will be expressed using Alloy Analyzer. 5.4 Coding standards and conventions Java will be used to code CADC project. The comments, identifier names, indentation, and file and package naming conventions of the source code should follow the Java programming standards. 4 MSE Project SQAP Shufeng Li 5.5 Testing standards and practices Testing will be carried out in a systematic way. The exact details of testing will be included in the Test Plan (TP). 5.6 Product and process metrics 5.6.1 Milestones Milestones are set for each workflow in each phase. The milestones shall be used to manege the process in which the CADC project is developed. 5.6.2 Development time and productivity The staff hours will be logged toward the project, and shall be kept in engineering notebook. 6 Reviews and audit The developer and the major advisor shall be involved for reviewing the major tasks. The minimal required ones shall be the reviews for SRS and SDD. There shall be three formal presentations prepared by the developer and evaluated by the committee at the end of each phase to evaluate the project. 7 Test Test needs to test the product for each stage, component, and item by using unit, integration, and system tests. The developer is responsible to test the CADC project. This task is operated based on the test plan. The tool will be used is Junit-3.8.1, which is available though: http://www.junit.org/index.htm. 8 Code control On the Unix machines, Concurrent Versions System (CVS) shall be used to store all documents and code (including all deltas) as well as the detailed logs of change intentions. 9 Media control 5 MSE Project SQAP Shufeng Li The standard UNIX file permission standard shall be used to control access to files. The electronical backups shall also be used to store work. 10 Supplier control The OpenCCM, OpenORB, and IBM Eclipse manufacturers are identified as our suppliers. We should also ensure that we have the up-to-date software releases, documentations to cover new releases/updates. 6