Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
What is "Quality"?
User Satisfaction =
compliant product + good quality + delivery within budget and schedule
-- Robert Glass
Standard Definition
Software Quality - Conformance to:
explicitly stated functional and performance requirements, 2. explicitly documented development standards, and 3. implicit characteristics that are expected of all professionally developed software.
1.
SQA Activities
1.
2. 3. 4. 5.
6.
Pre-Project Activities Development and Maintenance Activities Error Reduction Infrastructure SQ Management Components SQA System Assessment Human Components
SQA Activities
1.
Pre-Project Activities
1. Contract Review 2. Development Plan 3. Quality Plan
2. 3. 4. 5. 6.
Development and Maintenance Activities Error Reduction Infrastructure SQ Management Components SQA System Assessment Human Components
1st Draft
Revisions
Final Contract
Reality Check...
Q: Why should the software geeks worry about the contract?
A: Because the software team must do the work and assure the product's quality.
proprietary rights?
relationship between customer and creator specified? Galin section 5.3
Quality Goals
Review Activities
SQA Activities
1.
Pre-Project Activities
2.
1. 2. 3.
3. 4. 5. 6.
Design Review
Types of Evaluations
Formal Reviews
conducted by senior personnel or outside experts uncover potential problems
Verification
Unit Test Integration Test Usability Test
Formal Reviews
Review Leader should not be Project Leader Usually done at the end of the phase.
very appropriate for SRS and Design sometimes appropriate for code
Well-structured
Simple Efficient Adequate Flexible Practical Implementable
Peer Reviews
guided by:
checklists, standards, past problems
attendees:
review leader the author scribe folks with domain knowledge possibly an SQA team member (for standards)
Why schedule a meeting with so many people? Why not just have two people review the item without a meeting?
pre-meeting
meeting
author presents overview review team asks questions and express opinions
after meeting
scribe prepares summary team approves summary follow up
1.
2. 3. 4. 5. 6. 7.
General: Does the architecture convey a clear vision of the system that can be used
for further development? Is the architecture structured to support likely changes? Does the architecture describe the system at a high level of detail? (No interface or implementation details.) Does the architecture cleanly decompose the system? Is the architecture independent of the infrastructure used to develop the system? Has maintainability been considered? No duplicate functionality in the architecture?
1. 2. 3. 4.
Complete:
Are software requirements reflected in the software architecture? Is effective modularity achieved? Are modules functionally independent? Does each module/class have an understandable name? Is each association well named? Is each associations and aggregations cardinality correct?
5.
1. 2.
Correct:
Does each association reflect a relationship that exists over the lives of the related modules/classes? Does the architecture have loose coupling and good cohesion?
www.cs.trincoll.edu/~hellis2/CPSC240/Project/Design Review Checklist.doc
6.
7. 8. 9.
10. 11.
Does the algorithm accomplishes desired function? Is the algorithm logically correct? Is the interface consistent with architectural design? Is the logical complexity reasonable? Have error handling and "anti-bugging" been specified? Are local data structures properly defined? Are structured programming constructs used throughout? Is design detail amenable to implementation language? Which are used: operating system or language dependent features? Is compound or inverse logic used? Has maintainability been considered?
stolen from Pressman
Inspection Guidelines
Review the Product, not the person! Find errors, don't try to solve them! Keep Records
Take written notes. Review your earlier reviews. 3 to 5 people Conduct training for reviewers limit debate and rebuttal
Keep it short
SQA Activities
1.
2. 3.
work procedures templates and checklists staff training preventive actions configuration control document control
4. 5.
6.
Definitions
procedure - general methodology work instructions - details of how to implement those procedures for this project template - a standard Table of Contents checklist - list of items that are part of an activity
True greatness is measured by how much freedom you give to others, not by how much you can coerce others to do what you want.
Larry Wall Creator of Perl March 1999
NASA
http://sw-assurance.gsfc.nasa.gov/disciplines/quality/index.php
NWS
Coding Standards
SQA Activities
1.
2. 3.
4.
QA Management Components
Project Progress
Statistical SQA
1. Info about defects are collected and
categorized. 2. Defects are traced to their root cause. 3. Isolate the vital 20% 4. Move to correct problems that caused defects.
SSQA is similar to "Six Sigma" Pareto Principle: 80% of defects can be traced to 20% of causes.
Statistical SQA
SQA Activities
1.
2. 3. 4.
Pre-Project Activities Development and Maintenance Activities Error Reduction Infrastructure SQ Management Components
5.
6.
Human Components
SQA Activities
1.
2. 3. 4. 5.
Pre-Project Activities Development and Maintenance Activities Error Reduction Infrastructure SQ Management Components SQA System Assessment
6.
Participates in the development of the project's software process description. Reviews software engineering activities to verify compliance with the defined process. Audits designated software work products to verify compliance with those defined as part of the software process. Ensures that deviations in software work and work products are documented and handled according to a documented procedure. Records any noncompliance and reports to senior management. Coordinates and controls change. Helps collect and analyze metrics.
Summary
SSQA is a commonly used formal approach to quality assurance and process improvement.
Next Time
SEI CMM ISO 9001