Software Engineering Quiz 2 (Lecture 7 ) - Software Quality
reasons for Peer reviews
-improve quality -catches 80% of all errors if done properly -catches both coding errors and design errors -enforce the spirit of any organization standards -training and insurance
Statistical Quality Assurance
-information about software defects is collected and categorized -each defect is traced back to tis cause - using the parteo principle isolated the vital few defect causes -move to correct the problems that caused the defects
Probability of Failure on Demand (POFOD)
0.001, for every 1000 request the service fails per time unit
Rate fo Fault Occurrence (ROCOF)
0.02, two failures for each 100 operational time units of opeartion
by definition it should not but - a program running continuously for a long period of time may work increasingly slower or even crash - performance decreases with number of concurrent users and size of data - maintainability decreases with time -software becomes obsolete very quickly
Does usage and time cause degradation of software product quality?
Monitoring the products
Focus on the quality of product within each phase of the SDLC. Objective: identify and remove defects throughout the lifecycle as early as possible
framework of quality assurance process
Involves checking standard compliance
Realiability
MTBF/(1 + MTBF)
Availability
MTBF/(MTBF + MTTR)
What are the SQA plan parts?
Management section, documentation section, standards, practices and conventions section, review and audits section, test section, problem reporting and corrective action section,
process and products
Monitoring ______ and _____ throughout the software development lifecycle to ensure the quality of the delivered products
-prepare SQA plan for the project -participate in the development of the project's software process description -review software engineering activities to verify compliance with he defined software process - audit designated software work products to verify compliance with those defined as part fo the software process - ensure that any deviations in software or work products are documented and handled according to a documented procedures - record any evidence of noncompliance and reports them to management
One primary resources is SQA Group who:
Software Safety
SQA activity that focuses on identifying potential hazards that may cause a software system to fail. Early identification of software hazards allow developers to specify design features to can eliminate or at least control the impact of potential hazards. Software reliability involves determining the likelihood that a failure will occur without regard to consequences of failures
process applied, resources expended, end product quality attributes
Software engineers strive to control the following...
-incomplete and often inconsistent specifications - tension between customer and developer quality requirements - requirements are hard to specify in an unambiguous way
What are problems with software quality ?
complexity, maintainability, understandably, reusability, documentation
What are the attributes of Code quality?
architectural integrity, component completeness, interface complexity patterns
What are the attributes of Design Quality?
resources allocation, completion rate, review effectiveness, testing effectiveness,
What are the attributes of QC effectiveness?
ambiguity, completeness, understandably, volatility, traceability, model clarity
What are the attributes of Requirements Quality?
Mean time between failure
What does MTBF mean?
Mean time to Repair
What does MTTR mean?
variation control
What is the heart of quality control
Quality assurance
auditing and reporting procedures used to provide management with data needed to make proactive decisions
Mean Time to Failure (MTTF)
average time between observed failure
Encapsulation of best practices
avoids repetition of past mistakes
External failure costs
compliant resolution, product return and replacement, help line support, warranty work
Static Validation Techniques
concerned with analysis of documentation, focus is on finding system errors and identifying potential problems that my arise during system operation, documents may be prepared to support static validation
product standards
define characteristic that all components should exhibit
Process standards
define how the software process should be enacted
Software Reliability
defined as the probability of failure free operation fo a computer program in a specified environment for a specified time period. Can be measured directly and estimated using historical and developmental data. Software reliability problems can usually e traced back to errors in design or implementation
problem reporting and corrective action section
defines procedures for reporting, tracking and resolving errors or defects, identifies organizational responsibilities for these activities
quality (IEEE)
degree to which a system, component, or process meets specified requirements, and customer or user needs tor expectations
Quality of conformance
degree to which design specifications are followed in manufacturing the product
documentation secition
describes each work product produced as part of the software process
management section
describes the place of SQA in the structure of the organization
Kaizen
development a process that is visible, repeatable and measurable
Atarimae hinshitsu
examine the intangibles that affect the process and work to optimize their impact on the process
Kanse
examine the way the product is used by the customer with an eye to improving both the product and development process
Appraisal costs
in-process and inter-process inspection, equipment, calibration and maintenance, testing
Standards developement
involve practitioners in development, review standards and their usage regularly, detailed standards should have associated tool support
total quality management
kaizen, atarimae hinshitsu, kanse , miryokuteki hinshitsu
standards, practices, and conventions section
lists all applicable standards/practices applied during the software process and any metrics to be collected as part of the software engineering work
Miryokuteki hinshitsu
observe product use int eh market place to uncover new product applications and identify new product to develop
review and audits sectoin
provides an overview of the approach used in the reviews and audits to be conducted during project
Monitoring the process
provides management with objective feedback regarding process compliance to approved plans, procedures, standards and analyses
Software reviews
purpose is to find defects before they are passed on to another software engineering activity or released to the customer
Prevention costs
quality planing, formal technical reviews, test equipment, training
test section
references the test plan and procedure document and defines test record keeping requirements
quality of design
refers to characteristics designers specify for the end product to be constructed
Failure costs
rework, repair, failure mode analysis
Quality control
series of inspections, reviews , and tests used to ensure conformance of a work product to its specifications
Software Quality Assurance
set of systematic activities providing evidence of ability of the software process to produce a software product that is fit to use
standards
the key to effective quality management that might be international, national, organizational or project based
quality (ISO)
the totality of features and characteristics of a product or service that bear on its ability to satisfy specified or implied needs
Software Process Quality Assessment
use of standards and process models has a positive impact on the quality fo the software product