Software Engineering Term Paper Topic:Software Quality Assurance Name:Shriram Kaveseri
Definition A software quality assurance is a “planned and systematic pattern of all actions necessary to provide adequate confidence that the item or product conforms to established technical requirements”
Contents Introduction Different Phases in SQA Merits of SQA Demerits of SQA Conclusion References
Phases in SQA Standards and Procedures Software Quality Assurance Activities Software Quality Assurance Relationships to other Assurance Activities Software Quality Assurance During the Software Acquisition Life Cycle Techniques and Tools
Standards and Procedures Standards are the established criteria to which the software products are compared Procedures are the established criteria to which the development and control processes are compared
Types of Standards Documentation Standards Design Standards Code Standards
Documentation Standard Documentation standards provide specific form and content for planning,control,and product documentation and also provides consistency throughout a project.
Design Standard Design standards provide specific form and content of the design product,and also provides rules and method for translating the software requirements into the software design and for representing it in the design documentation
Code Standard Code Standards define legal language structures ,style conventions,rules for data structures and interfaces, and internal code documentation.
Software Quality Assurance Activities Product Evaluation Process Monitoring
Product Evaluation Product evaluation is an SQA activity that assures certain standards to be followed Product evaluation also assures that the software product reflects the requirements of the applicable standards as identified in the management plan.
Process Monitoring Process monitoring is an SQA activity that assures that appropriate steps to carry out the process are being followed The assurance section of management specifies the methods to be used by the SQA process monitoring activity.
Role of SQA in various Assurance Activities Configuration Management Monitoring Verification and Validation Monitoring Formal Test Monitoring
Configuration Management Monitoring SQA assures that software configuration monitoring activities are performed in accordance with the CM plans,standards, and procedures. The various CM activities are: Baseline Control Configuration Identification Configuration Control Configuration Status Configuration Authentication
Verification and Validation Verification:”Are we building the product right” Validation:”Are we building the right product” SQA assures Verification and Validation activities by monitoring technical reviews,inspections, and walkthroughs
Formal Test Monitoring Testing the software requirements in accordance with test plans. Test procedures are verifiable Exact version of the software is being tested Nonconformances are noted and recorded Test report are accurate and complete Regression Testing is conducted Resolution of all nonconformances takes place in accordance with the delivery
SQA during Software Development Life Cycle Software concept and initiation phase Software requirements phase Software architectural design phase Software detailed design phase Software implementation phase Software integration and test phase Software acceptance and delivery phase Software sustaining engineering and operation phase
Techniques and Tools A fundamental SQA technique is the audit which looks at a process or a product in depth,comparing them to established procedures and standards
Merits Develops and monitors adherence to project standards. Perform audits of the process and work product accepts. Develops and performs the aceptance tests.
Conclusion Techniques for assessing and improving software quality include systematic quality assurance procedures,walkthrough Inspection,testings and formal verification. In practice, a combination of techniques is required to asses and improve software quality:inspections,walkthroughs, and quality assurance are procedures that can be used throughout the product life cycle. On a whole Software Quality Assurance is a group of related activities employed throughout the software life cycle to positively influence and quantify the quality of the delivered software.
References http://satc.gsfc.nasa.gov/homepage.html http://satc.gsfc.nasa.gov/assure/agbsec3.txt http://www.sytsma.com/tqmtools/ctlchtprinciples.html http://www.csr.city.ac.uk/papers/index.html http://www.iso.ch/iso/en/iso9000-14000/iso9000/qmp.html http://www.sei.cmu.edu/sei-home.html ftp://ftp.sei.cmu.edu/pub/documents/03.reports/pdf/03sr001.pdf
Shriram Kaveseri Gopalakrishnan Thank You Shriram Kaveseri Gopalakrishnan