Академический Документы
Профессиональный Документы
Культура Документы
Quality Concept
Quality
Quality is the presence of desired characteristics and the absence of undesirable characteristics in the product or process.
Quality is the optimum set of solutions to a given set of problems.
Software Quality
Software quality is:
The degree to which a system, component, or process meets customer or user needs or expectations.
Quality Factors
Functionality Reliability Usability Efficiency Maintainability, Portability 3 Critical Questions
How much of which quality factor be adequate? How do we measure it adequately? How do we control it adequately?
FACT: The Client can never know the Quality of the Project
SQA
SQA does this by checking that:
plans are defined according to standards; procedures are performed according to plans; products are implemented according to standards.
SQA is not the only checking activity in a project. Whereas SQA checks
procedures against plans and output products against standards, Software Verification and Validation (SVV) checks output products against input products.
General Principles of QA
Know what you are doing
understand what is being built, how it is being built and what it currently does
SQA includes
Verification
are we building the product right ? performed at the end of a phase to ensure that requirements established during previous phase have been met.
Validation
are we building the right product ? performed at the end of the development process to ensure compliance with product requirements. Cont
SQA includes
Defect Prevention
prevents defects from occurring in the first place Activities: training, planning, and simulation
Defects detection
finds defects in a software artifact Activities: inspections, testing or measuring
Defects removal
isolation, correction, verification of fixes Activities: fault isolation, fault analysis, regression testing
process metrics
used to improve software development and maintenance.
project metrics
describe the project characteristics and execution.
To understand the programming process. To learn to engineer quality into the process. Tracking defect arrival during formal machine testing for some organizations.
The metric can be calculated for the entire development process, for the front end (before code integration), and for each phase. It is called early defect removal
Product Revision
Maintability
to identify the reasons for software failures, to correct the failures, and to verify the success of the corrections. Flexibility These include the resources required to adapt a software package to a variety of customers of the same trade, of various extents of activities, of different ranges of products, and so on. Testability deal with the testing of an information system as well as with its operation.
Product Transition
Portability
The adaptation of software system to other environenments consisting of different hardware, different operating systems, and so forth.
Reusability
deal with the use of software modules originally designed for one project currently being developed.
Interoperability
focus on creating interfaces with other software systems or with other equipment firmware. specify the name of the software or firmware for which interface is required.
Product Operations
Correctness:
The required accuracy of output The completeness of the output information The standards for coding and documenting the software
Reliability
Determine the maximum allowed software system failures rate, and can refer to the entire system or to one or more of its separate functions.
the ability of a system or component to perform its required functions under stated conditions for a specified period of time.
Efficiency
deal with the hardware resources needed to perform all the functions of the software system in conformance to all other requirements.
Integrity
deal with the software system security, that is requirements to present access to an authorize person.
Usability
deal with the scope of staff resources needed to train a new employee and to operate the software system.
Reliability
How reliable is the software?
Usability
Is the software easy to use?
Maintainability
How easy is to modify the software?
Portability
How easy is to transfer to another environment?
ISO 9126
Functionality
It is expressed as a totality of essential functions that the software product provides. It also note that the presence or absence of these functions in a software product
Suitability
refers to the appropriateness of the functions of the software.
Accurateness
correctness of the functions
Interoperability
ability of a software component to interact with other components or systems.
Compliance
certain industry (or government) laws and guidelines need to be complied with.
Security
relates to unauthorized access to the software functions
Reliability
defines the capability of the system to maintain its service provision under defined conditions for defined periods of time.
Maturity
Frequency of failure of the software
Fault tolerance
ability of software to recover from component, or environmental failure.
Recoverability
ability to bring back a failed system to full operation, including data and network connections.
Usability
It only exists with regard to functionality and refers to the ease of use for a given function. Understandability
Determines the ease of which the systems functions can be understood
Learnability
Learning effort for different users.
Operability
Ability of the software to be easily operated by a given user in a given environment.
Efficiency
concerned with the system resources used when providing the required functionality. The amount of disk space, memory, network etc. provides a good indication of this characteristic.
Time behavior
Characterizes response times for a given thru put, i.e. transaction rate.
Resource behavior
Characterizes resources used, i.e. memory, cpu, disk and network usage.
Maintainability
ability to identify and fix a fault within a software component.
Analyzability
To identify the root cause of a failure within the software.
Testability
needed to verify a system change.
Stability
change of a given system that is the negative impact that may be caused by system changes.
Portability
Software can adopt to changes in its environment or with its requirements.
Adaptability
ability of the system to change to new specifications or operating environments.
Replaceability
the plug and play aspect of software components, that is how easy is it to exchange a given software component within a specified environment.
Process Improvement
Understanding existing processes and introducing process changes. to improve product quality, reduce costs or accelerate schedules. focused on defect reduction. to making a process more effective, efficient, or transparent
Process analysis
The current process is assessed and bottlenecks and weaknesses are identified.
Process change
Changes to the process that have been identified during the analysis are introduced.
Process qu ality
People qu ality
purpose behind the new ISO 9001:2000 standard was to provide users an opportunity to add value and enhance their performance through continuous improvement of their processes.
P-D-C-A
Plan what you do Do what you planned & record what you did Check the results Act on the difference
36
ISO
If you're now ISO 9001 certified, ISO 9002 or ISO 9003 certified, you're going to have to become ISO 9001 2000 certified. ISO 9001 Model for quality assurance in design, development, production, installation and servicing. ISO 9002 Model for quality assurance in production, installation and servicing. ISO 9003 Model for quality assurance in final inspection and testing.
Six Sigma
Sigma : A scale for levels of quality of product. A statistical concept that measures a process in terms of defects at the six sigma level. To eliminate defects and always deliver products and services that meet customer specifications. Originally developed by Motorola in 1986. helps to find out number of defects that a system is producing. Finding the exact root cause. One of the major problem solving approaches in Six Sigma include DMAIC:
DEFINE, MEASURE, ANALYZE, IMPROVE, CONTROL
Six Sigma
Six Sigma
DEFINE:
Define the project goals and customer (internal and external) deliverables A well defined problem is half the solution The problem needs to be defined properly, thoroughly, in-depth.
MEASURE:
Measure the process to determine current performance include a carefully measured way of presenting the problem, proper data collection, critical inputs and outputs, and the proper capability measurement model of any organization.
ANALYZE:
Analyze and determine the root cause(s)of the defects include the documentation of the measure step, identification of the variables occurring in the system.
IMPROVE:
Improve the process by eliminating defects The major step, which include the application of the solutions for the major problems identified during the last 3 steps.
CONTROL:
Control future process performance measuring that whether the solution applied is sustainable or not comes under control step.
Processes are well characterized and understood. Processes, standards, procedures, tools, etc. are defined at the organizational (Organization X ) level. Proactive.
Managed
Level 1 Initial
Slide 43 of 146
Processes are planned, documented, performed, monitored, and controlled at the project level. Often reactive.
Overall Benefits
Defect rates have dropped Defect detection occurs earlier User requirements are documented, controlled, and managed
Especially important when users change their minds!