Software quality, the Glossary
In the context of software engineering, software quality refers to two related but distinct notions.[1]
Table of Contents
101 relations: Accessibility, American Society for Quality, Android (operating system), Apache Struts, Availability, Barbara Kitchenham, Business software, Business value, Capers Jones, CERT Coordination Center, CISQ, Code smell, Coding best practices, Coding conventions, Cohesion (computer science), Common Weakness Enumeration, Computer security, Configuration management, Cost accounting, Coupling (computer programming), Customer relationship management, Cyclomatic complexity, Data and information visualization, Database schema, Debugging, Defect criticality, Dependability, DevOps, DO-178C, Duplicate code, Dynamic testing, Embedded software, Enterprise resource planning, Federal Aviation Administration, Fitness function, Function point, Functional requirement, Gerald Weinberg, GQM, IEC 62304, IFPUG, International Requirements Engineering Board, ISO 26262, ISO/IEC 15504, ISO/IEC 9126, List of software bugs, Marvin Zelkowitz, Microsoft Security Development Lifecycle, Muda (Japanese term), Ninety–ninety rule, ... Expand index (51 more) »
Accessibility
Accessibility is the design of products, devices, services, vehicles, or environments so as to be usable by people with disabilities.
See Software quality and Accessibility
American Society for Quality
The American Society for Quality (ASQ), formerly the American Society for Quality Control (ASQC), is a society of quality professionals, with more than 40,000 members.
See Software quality and American Society for Quality
Android (operating system)
Android is a mobile operating system based on a modified version of the Linux kernel and other open-source software, designed primarily for touchscreen mobile devices such as smartphones and tablets.
See Software quality and Android (operating system)
Apache Struts
Apache Struts 2 is an open-source web application framework for developing Java EE web applications.
See Software quality and Apache Struts
Availability
In reliability engineering, the term availability has the following meanings.
See Software quality and Availability
Barbara Kitchenham
Barbara Ann Kitchenham is a retired British computer scientist and software engineer known for her research on systematic reviews in software engineering and on evidence-based practice in software engineering.
See Software quality and Barbara Kitchenham
Business software
Business software (or a business application) is any software or set of computer programs used by business users to perform various business functions.
See Software quality and Business software
Business value
In management, business value is an informal term that includes all forms of value that determine the health and well-being of the firm in the long run.
See Software quality and Business value
Capers Jones
Capers Jones is an American specialist in software engineering methodologies, and is often associated with the function point model of cost estimation.
See Software quality and Capers Jones
CERT Coordination Center
The CERT Coordination Center (CERT/CC) is the coordination center of the computer emergency response team (CERT) for the Software Engineering Institute (SEI), a non-profit United States federally funded research and development center.
See Software quality and CERT Coordination Center
CISQ
The Consortium for IT Software Quality (CISQ) is an IT industry group comprising IT executives from the Global 2000, systems integrators, outsourced service providers, and software technology vendors committed to making improvements in the quality of IT application software.
Code smell
In computer programming, a code smell is any characteristic in the source code of a program that possibly indicates a deeper problem.
See Software quality and Code smell
Coding best practices
Coding best practices or programming best practices are a set of informal, sometimes personal, rules (best practices) that many software developers, in computer programming follow to improve software quality.
See Software quality and Coding best practices
Coding conventions
Coding conventions are a set of guidelines for a specific programming language that recommend programming style, practices, and methods for each aspect of a program written in that language. Software quality and Coding conventions are source code.
See Software quality and Coding conventions
Cohesion (computer science)
In computer programming, cohesion refers to the degree to which the elements inside a module belong together.
See Software quality and Cohesion (computer science)
Common Weakness Enumeration
The Common Weakness Enumeration (CWE) is a category system for hardware and software weaknesses and vulnerabilities.
See Software quality and Common Weakness Enumeration
Computer security
Computer security (also cybersecurity, digital security, or information technology (IT) security) is the protection of computer systems and networks from threats that may result in unauthorized information disclosure, theft of (or damage to) hardware, software, or data, as well as from the disruption or misdirection of the services they provide.
See Software quality and Computer security
Configuration management
Configuration management (CM) is a management process for establishing and maintaining consistency of a product's performance, functional, and physical attributes with its requirements, design, and operational information throughout its life.
See Software quality and Configuration management
Cost accounting
Cost accounting is defined by the Institute of Management Accountants as "a systematic set of procedures for recording and reporting measurements of the cost of manufacturing goods and performing services in the aggregate and in detail.
See Software quality and Cost accounting
Coupling (computer programming)
In software engineering, coupling is the degree of interdependence between software modules; a measure of how closely connected two routines or modules are; the strength of the relationships between modules.
See Software quality and Coupling (computer programming)
Customer relationship management
Customer relationship management (CRM) is a process in which a business or other organization administers its interactions with customers, typically using data analysis to study large amounts of information.
See Software quality and Customer relationship management
Cyclomatic complexity
Cyclomatic complexity is a software metric used to indicate the complexity of a program.
See Software quality and Cyclomatic complexity
Data and information visualization
Data and information visualization (data viz/vis or info viz/vis) is the practice of designing and creating easy-to-communicate and easy-to-understand graphic or visual representations of a large amount of complex quantitative and qualitative data and information with the help of static, dynamic or interactive visual items.
See Software quality and Data and information visualization
Database schema
The database schema is the structure of a database described in a formal language supported typically by a relational database management system (RDBMS).
See Software quality and Database schema
Debugging
In engineering, debugging is the process of finding the root cause of and workarounds and possible fixes for bugs.
See Software quality and Debugging
Defect criticality
In the context of software quality, defect criticality is a measure of the impact of a software defect.
See Software quality and Defect criticality
Dependability
In systems engineering, dependability is a measure of a system's availability, reliability, maintainability, and in some cases, other characteristics such as durability, safety and security.
See Software quality and Dependability
DevOps
DevOps is a methodology in the software development and IT industry.
See Software quality and DevOps
DO-178C
DO-178C, Software Considerations in Airborne Systems and Equipment Certification is the primary document by which the certification authorities such as FAA, EASA and Transport Canada approve all commercial software-based aerospace systems.
See Software quality and DO-178C
Duplicate code
In computer programming, duplicate code is a sequence of source code that occurs more than once, either within a program or across different programs owned or maintained by the same entity. Software quality and duplicate code are source code.
See Software quality and Duplicate code
Dynamic testing
In software development, dynamic testing (or dynamic analysis) is examining the runtime response from a software system to particular input (test case). Software quality and dynamic testing are software testing.
See Software quality and Dynamic testing
Embedded software
Embedded software is computer software, written to control machines or devices that are not typically thought of as computers, commonly known as embedded systems.
See Software quality and Embedded software
Enterprise resource planning
Enterprise resource planning (ERP) is the integrated management of main business processes, often in real time and mediated by software and technology.
See Software quality and Enterprise resource planning
Federal Aviation Administration
The Federal Aviation Administration (FAA) is a U.S. federal government agency within the U.S. Department of Transportation which regulates civil aviation in the United States and surrounding international waters.
See Software quality and Federal Aviation Administration
Fitness function
A fitness function is a particular type of objective function that is used to summarise, as a single figure of merit, how close a given design solution is to achieving the set aims.
See Software quality and Fitness function
Function point
The function point is a "unit of measurement" to express the amount of business functionality an information system (as a product) provides to a user.
See Software quality and Function point
Functional requirement
In software engineering and systems engineering, a functional requirement defines a function of a system or its component, where a function is described as a summary (or specification or statement) of behavior between inputs and outputs.
See Software quality and Functional requirement
Gerald Weinberg
Gerald Marvin Weinberg (October 27, 1933 – August 7, 2018) was an American computer scientist, author and teacher of the psychology and anthropology of computer software development.
See Software quality and Gerald Weinberg
GQM
GQM, the initialism for goal, question, metric, is an established goal-oriented approach to software metrics to improve and measure software quality.
IEC 62304
IEC 62304 – medical device software – software life cycle processes is an international standard published by the International Electrotechnical Commission (IEC).
See Software quality and IEC 62304
IFPUG
The International Function Point Users Group (IFPUG) is a US-based organization with worldwide chapters of Function point analysis metric software users.
See Software quality and IFPUG
International Requirements Engineering Board
The International Requirements Engineering Board (IREB) e.V. was founded in Fürth in Germany in October 2006.
See Software quality and International Requirements Engineering Board
ISO 26262
ISO 26262, titled "Road vehicles – Functional safety", is an international standard for functional safety of electrical and/or electronic systems that are installed in serial production road vehicles (excluding mopeds), defined by the International Organization for Standardization (ISO) in 2011, and revised in 2018.
See Software quality and ISO 26262
ISO/IEC 15504
ISO/IEC 15504 Information technology – Process assessment, also termed Software Process Improvement and Capability dEtermination (SPICE), is a set of technical standards documents for the computer software development process and related business management functions.
See Software quality and ISO/IEC 15504
ISO/IEC 9126
ISO/IEC 9126 Software engineering — Product quality was an international standard for the evaluation of software quality.
See Software quality and ISO/IEC 9126
List of software bugs
Many software bugs are merely annoying or inconvenient, but some can have extremely serious consequences—either financially or as a threat to human well-being. Software quality and List of software bugs are software testing.
See Software quality and List of software bugs
Marvin Zelkowitz
Marvin Victor Zelkowitz (born 7 August 1945) is an American computer scientist and engineer.
See Software quality and Marvin Zelkowitz
Microsoft Security Development Lifecycle
The Microsoft Security Development Lifecycle (SDL) is the approach Microsoft uses to integrate security into DevOps processes (sometimes called a DevSecOps approach).
See Software quality and Microsoft Security Development Lifecycle
Muda (Japanese term)
is a Japanese word meaning "futility", "uselessness", or "wastefulness", and is a key concept in lean process thinking such as in the Toyota Production System (TPS), denoting one of three types of deviation from optimal allocation of resources.
See Software quality and Muda (Japanese term)
Ninety–ninety rule
In computer programming and software engineering, the ninety-ninety rule is a humorous aphorism that states: This adds up to 180%, making a wry allusion to the notoriety of software development projects significantly over-running their schedules (see software development effort estimation).
See Software quality and Ninety–ninety rule
Non-functional requirement
In systems engineering and requirements engineering, a non-functional requirement (NFR) is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviours.
See Software quality and Non-functional requirement
Object Management Group
The Object Management Group (OMG) is a computer industry standards consortium.
See Software quality and Object Management Group
Patch (computing)
A patch is data that is intended to be used to modify an existing software resource such as a program or a file, often to fix bugs and security vulnerabilities.
See Software quality and Patch (computing)
Problem management
Problem management is the process responsible for managing the lifecycle of all problems that happen or could happen in an IT service.
See Software quality and Problem management
Product (business)
In marketing, a product is an object, or system, or service made available for consumer use as of the consumer demand; it is anything that can be offered to a market to satisfy the desire or need of a customer.
See Software quality and Product (business)
Programming complexity
Programming complexity (or software complexity) is a term that includes software properties that affect internal interactions.
See Software quality and Programming complexity
Programming style
Programming style, also known as coding style, is the manner in which source code is written that results in distinctive characteristics of the code; the resulting code style. Software quality and Programming style are source code.
See Software quality and Programming style
A programming tool or software development tool is a computer program that software developers use to create, debug, maintain, or otherwise support other programs and applications.
See Software quality and Programming tool
Project Management Body of Knowledge
The Project Management Body of Knowledge (PMBOK) is a set of standard terminology and guidelines (a body of knowledge) for project management.
See Software quality and Project Management Body of Knowledge
Project Management Institute
The Project Management Institute (PMI, legally Project Management Institute, Inc.) is a U.S.-based not-for-profit professional organization for project management.
See Software quality and Project Management Institute
Quality (business)
In business, engineering, and manufacturing, quality – or high quality – has a pragmatic interpretation as the non-inferiority or superiority of something (goods or services); it is also defined as being suitable for the intended purpose (fitness for purpose) while satisfying customer expectations.
See Software quality and Quality (business)
Quality assurance
Quality assurance (QA) is the term used in both manufacturing and service industries to describe the systematic efforts taken to assure that the product(s) delivered to customer(s) meet with the contractual and other agreed upon performance, design, reliability, and maintainability expectations of that customer.
See Software quality and Quality assurance
Quality control
Quality control (QC) is a process by which entities review the quality of all factors involved in production.
See Software quality and Quality control
Quality function deployment
Quality function deployment (QFD) is a method developed in Japan beginning in 1966 to help transform the voice of the customer into engineering characteristics for a product. Software quality and Quality function deployment are systems thinking.
See Software quality and Quality function deployment
Release management
Release management is the process of managing, planning, scheduling and controlling a software build through different stages and environments; it includes testing and deploying software releases.
See Software quality and Release management
Requirements management
Requirements management is the process of documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders.
See Software quality and Requirements management
Reusability
In computer science and software engineering, reusability is the use of existing assets in some form within the software product development process; these assets are products and by-products of the software development life cycle and include code, software components, test suites, designs and documentation. Software quality and reusability are source code.
See Software quality and Reusability
Risk management
Risk management is the identification, evaluation, and prioritization of risks followed by coordinated and economical application of resources to minimize, monitor, and control the probability or impact of unfortunate events or to maximize the realization of opportunities.
See Software quality and Risk management
Scope (project management)
In project management, scope is the defined features and functions of a product, or the scope of work needed to finish a project.
See Software quality and Scope (project management)
Security
Security is protection from, or resilience against, potential harm (or other unwanted coercion).
See Software quality and Security
Security engineering
Security engineering is the process of incorporating security controls into an information system so that the controls become an integral part of the system’s operational capabilities.
See Software quality and Security engineering
Software architecture
Software architecture is the set of structures needed to reason about a software system and the discipline of creating such structures and systems.
See Software quality and Software architecture
Software bug
A software bug is a bug in computer software.
See Software quality and Software bug
Software engineering
Software engineering is an engineering approach to software development.
See Software quality and Software engineering
Software framework
In computer programming, a software framework is an abstraction in which software, providing generic functionality, can be selectively changed by additional user-written code, thus providing application-specific software.
See Software quality and Software framework
Software map
A software map represents static, dynamic, and evolutionary information of software systems and their software development processes by means of 2D or 3D map-oriented information visualization. Software quality and software map are software testing.
See Software quality and Software map
Software metric
In software engineering and development, a software metric is a standard of measure of a degree to which a software system or process possesses some property.
See Software quality and Software metric
Software quality assurance
Software quality assurance (SQA) is a means and practice of monitoring all software engineering processes, methods, and work products to ensure compliance against defined standards.
See Software quality and Software quality assurance
Software quality control
Software quality control is the set of procedures used by organizationsClapp, Judith A, Software Quality Control, Error Analysis, and Testing, 1995 William Andrew In.
See Software quality and Software quality control
Software quality management
Software Quality Management (SQM) is a management process that aims to develop and manage the quality of software in such a way so as to best ensure that the product meets the quality standards expected by the customer while also meeting any necessary regulatory and developer requirements, if any.
See Software quality and Software quality management
Software review
A software review is "a process or meeting during which a software product is examined by a project personnel, managers, users, customers, user representatives, or other interested parties for comment or approval". Software quality and software review are software testing.
See Software quality and Software review
Software sizing
Software sizing or software size estimation is an activity in software engineering that is used to determine or estimate the size of a software application or component in order to be able to implement other software project management activities (such as estimating or tracking).
See Software quality and Software sizing
Software standard
A software standard is a standard, protocol, or other common format of a document, file, or data transfer accepted and used by one or more software developers while working on one or more than one computer programs.
See Software quality and Software standard
Software testability
Software testability is the degree to which a software artifact (i.e. a software system, software module, requirements- or design document) supports testing in a given test context. Software quality and software testability are software testing.
See Software quality and Software testability
Software testing
Software testing is the act of checking whether software satisfies expectations.
See Software quality and Software testing
Source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language.
See Software quality and Source code
Source lines of code
Source lines of code (SLOC), also known as lines of code (LOC), is a software metric used to measure the size of a computer program by counting the number of lines in the text of the program's source code.
See Software quality and Source lines of code
Springer Nature
Springer Nature or the Springer Nature Group is a German-British academic publishing company created by the May 2015 merger of Springer Science+Business Media and Holtzbrinck Publishing Group's Nature Publishing Group, Palgrave Macmillan, and Macmillan Education.
See Software quality and Springer Nature
Squale
Squale (Software Quality Enhancement) is an open-source platform that helps monitoring software quality for multi-language applications.
See Software quality and Squale
Static program analysis
In computer science, static program analysis (also known as static analysis or static simulation) is the analysis of computer programs performed without executing them, in contrast with dynamic program analysis, which is performed on programs during their execution in the integrated environment.
See Software quality and Static program analysis
Stress testing (software)
Stress testing is a software testing activity that determines the robustness of software by testing beyond the limits of normal operation. Software quality and Stress testing (software) are software testing.
See Software quality and Stress testing (software)
Sudden unintended acceleration
Sudden unintended acceleration (SUA) is the unintended, unexpected, uncontrolled acceleration of a vehicle, often accompanied by an apparent loss of braking effectiveness.
See Software quality and Sudden unintended acceleration
Technical debt
In software development and other information technology fields, technical debt (also known as design debt or code debt) is the implied cost of future reworking because a solution prioritizes expedience over long-term design.
See Software quality and Technical debt
Test automation
In software testing, test automation is the use of software separate from the software being tested to control the execution of tests and the comparison of actual outcomes with predicted outcomes. Software quality and test automation are software testing.
See Software quality and Test automation
Therac-25
The Therac-25 is a computer-controlled radiation therapy machine produced by Atomic Energy of Canada Limited (AECL) in 1982 after the Therac-6 and Therac-20 units (the earlier units had been produced in partnership with italic of France).
See Software quality and Therac-25
Tom DeMarco
Tom DeMarco (born August 20, 1940) is an American software engineer, author, and consultant on software engineering topics.
See Software quality and Tom DeMarco
Total quality management
Total quality management (TQM) is an organization-wide effort to "install and make permanent climate where employees continuously improve their ability to provide on demand products and services that customers will find of particular value." Total emphasizes that departments in addition to production (for example sales and marketing, accounting and finance, engineering and design) are obligated to improve their operations; management emphasizes that executives are obligated to actively manage quality through funding, training, staffing, and goal setting.
See Software quality and Total quality management
Transaction processing
In computer science, transaction processing is information processing that is divided into individual, indivisible operations called transactions.
See Software quality and Transaction processing
Uninitialized variable
In computing, an uninitialized variable is a variable that is declared but is not set to a definite known value before it is used.
See Software quality and Uninitialized variable
Usability
Usability can be described as the capacity of a system to provide a condition for its users to perform the tasks safely, effectively, and efficiently while enjoying the experience.
See Software quality and Usability
W. Edwards Deming
William Edwards Deming (October 14, 1900 – December 20, 1993) was an American business theorist, composer, economist, industrial engineer, management consultant, statistician, and writer.
See Software quality and W. Edwards Deming
References
[1] https://en.wikipedia.org/wiki/Software_quality
Also known as Code quality, SW Quality, Software Quality Model, Software quality factors.
, Non-functional requirement, Object Management Group, Patch (computing), Problem management, Product (business), Programming complexity, Programming style, Programming tool, Project Management Body of Knowledge, Project Management Institute, Quality (business), Quality assurance, Quality control, Quality function deployment, Release management, Requirements management, Reusability, Risk management, Scope (project management), Security, Security engineering, Software architecture, Software bug, Software engineering, Software framework, Software map, Software metric, Software quality assurance, Software quality control, Software quality management, Software review, Software sizing, Software standard, Software testability, Software testing, Source code, Source lines of code, Springer Nature, Squale, Static program analysis, Stress testing (software), Sudden unintended acceleration, Technical debt, Test automation, Therac-25, Tom DeMarco, Total quality management, Transaction processing, Uninitialized variable, Usability, W. Edwards Deming.