Download Software Engineering II

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Construction management wikipedia , lookup

Cost estimate wikipedia , lookup

Phase-gate process wikipedia , lookup

Software development wikipedia , lookup

Transcript
Quality
• Measurable characteristic
– Cyclomatic complexity
– Cohesion
– Coupling
• Quality of design
– Requirements, specifications, and design
• Quality of conformance
– Implementation – if it follows the design then the
resulting system meets its goals – conformance quality
is high
• Are there any other issues?
• Glass
– User satisfaction = compliant product + good quality
+ delivery within
budget and schedule
• DeMarco –
– “A product quality is a function of how much it changes
the world for the better”
Recap
Software Engineering II
Lecture 27
Fakhar Lodhi
Cost of quality
• Cost of prevention, appraisal, and failure
• Prevention
–
–
–
–
Quality planning
Formal technical reviews
Test equipment
Training
• Appraisal – includes activities to gain insight
into the product condition
– In-process and inter-process inspection
– Testing
• Failure cost
– Internal failure cost
• Rework
• Repair
• Failure mode analysis
– External failure cost
• Complaint resolution
• Product return and replacement
• Help-line support
• Warranty work
• Law suits
• Cost increases as we go from prevention to detection
to internal failure to external failure
A case
A total of 7053 hours were spent inspecting 200,000
lines of code with the result that 3112 potential
defects were prevented. Assuming a programmer
cost of $40 per hour, the total cost of preventing
3112 defects was $382,120, or roughly $91 per
defect
• Compare these numbers to the cost of defect
removal once the product has been shipped to the
customer. Suppose that there had been no
inspections, and the programmers had been extra
careful and only one defect one 1000 lines escaped
into the product shipment. That would mean that 200
defects would still have to be fixed in the field. As an
estimated cost of $25000 per fix, the cost would be
$5 Million or approximately 18 times more expensive
than the total cost of defect prevention
• Quality translates to cost savings and an improved
bottom line.
Quality Control
•
•
•
•
•
Variation control is the heart of quality control
Resource and time estimation
Test coverage
Variation in number of bugs
Variation in support
Quality Control
•
•
•
•
Involves series of inspection, reviews, and tests
Includes feedback loop
Combination of measurement and feedback
Combination of automated tools and manual
interaction
SQA Activities
• Involves two different groups
– Software engineers who do the technical work
– SQA group who is responsible for QA planning,
oversight, record keeping, analysis, and reporting
SQA Group Activities
• SQA Group develops an SQA plan for the project
during project planning
• Plan is reviewed by all stake holders
• Plan includes the identification of:
– Evaluations to be performed
– Audits and reviewed to be performed
– Standards that are applicable to the project
– Procedures for error reporting and tracking
– Documents to be produced by the SQA group
– Amount of feedback provided to the software
project team
• SQA Group participates in the development of the
project’s software process description
– The software team selects the process
– SQA reviews the process description for
compliance with the organizational policies,
internal software standards, externally imposed
standards, and other parts of the software project
plan
• SQA Group reviews software engineering activities to
verify compliance with the defined software process
– Identifies, documents, and tracks deviations from
the process and verifies that the corrections have
been made
• SQA Group audits designated software work products
to verify compliance with those defined as part of the
software process
– Reviews selected work products, identifies,
documents, and tracks deviations; verifies that
corrections have been made; and reports the
results of its work to the project manager
• Ensures that deviations in software work and work
products are documented and handled according to
the documented procedures.
– Deviations may be encountered in the project
plan, process description, applicable standards, or
technical work products
• Records any non-compliance and reports to senior
management
– Non-compliant items are recorded and tracked
until they are resolved.
• Coordinates the control and management of change
and helps to collect and analyze software metrics