Software visualization

visualizationvisualisationvisualize software structures
For example, software visualization is used to monitoring activities such as for code quality or team activity. Visualization is not inherently a method for software quality assurance. Software visualization participates to Software Intelligence in allowing to discover and take advantage of mastering inner components of software systems. Tools for software visualization might be used to visualize source code and quality defects during software development and maintenance activities.

De facto standard

de facto'' standardde factode facto'' standards
Adobe internal standards were part of its software quality systems, but they were neither published nor coordinated by a standards body. With the Acrobat Reader program available for free, and continued support of the format, PDF eventually became the de facto standard for printable documents. In 2005, PDF/A became a de jure standard as ISO 19005-1:2005. In 2008 Adobe's PDF 1.7 became ISO 32000-1:2008. AutoCAD DXF: a de facto ASCII format for import and export of CAD drawings and fragments in the 1980s and 1990s. In the 2000s, XML based standards emerged as de facto standards. Microsoft Word DOC (over all other old PC word processors): one of the best known de facto standards.

Centre for Software Reliability

The Centre for Software Reliability (CSR) is a distributed British organisation concerned with software reliability, including safety-critical issues. It consists of two sister organisations based at Newcastle University, UK. and City, University of London, London. Up until August 2016 the centre ran the Safety-Critical Systems Club (SCSC) and the Software Reliability & Metrics Club. Since August 2016 the Safety-Critical Systems Club has been run by the department of Computer Science at the University of York. The Club runs a number of events each year including the annual Safety-Critical Systems Symposium (SSS).

Development testing

Depending on the organization's expectations for software development, development testing might include static code analysis, data flow analysis, metrics analysis, peer code reviews, unit testing, code coverage analysis, traceability, and other software verification practices. Development testing is performed by the software developer or engineer during the construction phase of the software development lifecycle. Rather than replace traditional QA focuses, it augments it.

Parallel computing

parallelparallel processingparallelism
Parallel computing is a type of computation in which many calculations or the execution of processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. There are several different forms of parallel computing: bit-level, instruction-level, data, and task parallelism. Parallelism has long been employed in high-performance computing, but it's gaining broader interest due to the physical constraints preventing frequency scaling.

History of Unix

AT&T UNIXdated 1969multitude of 1980s Unix variants
The history of Unix dates back to the mid-1960s when the Massachusetts Institute of Technology, AT&T Bell Labs, and General Electric were jointly developing an experimental time sharing operating system called Multics for the GE-645 mainframe. Multics introduced many innovations, but had many problems.

Efferent coupling

Efferent Coupling is a metric in software development. It measures the number of data types a class knows about. This includes inheritance, interface implementation, parameter types, variable types, and exceptions. This has also been referred to by Robert C. Martin as the Fan-out stability metric which in his book Clean Architecture he describes as Outgoing dependencies. This metric identifies the number of classes inside this component that depend on classes outside the component. This metric is often used to calculate instability of a component in software architecture as I = Fan-out / (Fan-in + Fan-out). This metric has a range [0,1].

Defense Finance and Accounting Service

DFASfinancial
Experts at the Nielsen reviewed hundreds of intranets before naming the top ten which shared traits like good usability and organization, performance metrics and incremental improvements. The 2005 round of Base Realignment and Closure cuts required DFAS to be completely restructured. Many sites were integrated into major centers. Since its inception, the agency has consolidated more than 300 installation-level offices into nine DFAS sites and reduced the number of systems in use from 330 to 111. As a result of BRAC efforts begun in FY 2006, DFAS has closed 20 sites, realigned headquarters from Arlington to Indianapolis and established a liaison location in Alexandria, Virginia.

Parasoft

Parasoft C/C++test
DTP collects data from various software development activities such as testing, static analysis, code coverage, and metrics as well as integrating with other SDLC systems such as bug-tracking, peer review, and requirements. The data collected is used to create detailed reports on software quality as well as compliance with a variety of industry standards like FDA, MISRA, DO-178b/c. It also supports security standards such as CERT, OWASP, and CWE. The security reports include data from the standard risk frameworks like the “Common Weakness Risk Analysis Framework” from CWE that help measure the so-called technical impact of a finding.

Whiley (programming language)

Whiley
." - Tony Hoare The primary purpose of such a tool is to improve software quality by ensuring a program meets a formal specification. Whiley follows many attempts to develop such tools, including notable efforts such as SPARK/Ada, ESC/Java, Spec#, Dafny, Why3, and Frama-C. Most previous attempts to develop a verifying compiler focused on extending existing programming languages with constructs for writing specifications. For example, ESC/Java and the Java Modeling Language add annotations for specifying preconditions and postconditions to Java. Likewise, Spec# and Frama-C add similar constructs to the C# and C programming languages.

Software documentation

documentationonline documentationuser documentation
Without proper requirements documentation, software changes become more difficult — and therefore more error prone (decreased software quality) and time-consuming (expensive). The need for requirements documentation is typically related to the complexity of the product, the impact of the product, and the life expectancy of the software. If the software is very complex or developed by many people (e.g., mobile phone software), requirements can help to better communicate what to achieve. If the software is safety-critical and can have negative impact on human life (e.g., nuclear power systems, medical equipment, mechanical equipment), more formal requirements documentation is often required.

Horst Zuse

Horst
He first studied electrical engineering at the Technical University of Berlin and later on completed his PhD on software metrics. Horst Zuse worked as a Privatdozent at the Technical University of Berlin and was professor at the Hochschule Lausitz (FH), University of Applied Sciences. Besides software engineering, he has concentrated on the history of computer science. A Framework of Software Measurement (Walter de Gruyter, 1997), ISBN: 3-11-015587-7. Software complexity: Measures and methods (Programming complex systems) (Walter de Gruyter, 1991), ISBN: 0-89925-640-6. Horst Zuse's website.

ITIL

Information Technology Infrastructure LibraryService Level ManagementInfrastructure Management Services
The central role of service-level management makes it the natural place for metrics to be established and monitored against a benchmark. Service-level management is the primary interface with the customer (as opposed to the user serviced by the service desk). Service-level management is responsible for: The service-level manager relies on the other areas of the service delivery process to provide the necessary support which ensures the agreed services are provided in a cost-effective, secure and efficient manner. Availability management allows organizations to sustain IT service-availability in order to support the business at a justifiable cost.

Spreadmart

Typically a spreadmart is created by individuals at different times using different data sources and rules for defining metrics in an organization, creating a decentralized, fractured view of the enterprise. The concept was coined in 2002 by Wayne Eckerson at TDWI in his article Taming Spreadsheet Jockeys, and intended pejoratively, as an undesirable system, which should be replaced by a data mart. However, critics such as Stephen Samild argue that spreadmarts have advantages over data marts and can be a desirable system. Usually, spreadmarts grow where standard Business Intelligence (BI) reporting is too inflexible and too slow.

Software measurement

Norman Fenton, Shari L Pfleeger: '' Software metrics: a rigorous and practical approach PWS Publishing Co. Boston, MA, USA 1997, ISBN: 0-534-95600-9. Christof Ebert and Reiner Dumke: Software Measurement Springer, New York 2007, ISBN: 978-3-540-71648-8. Zádor Dániel Kelemen, Gábor Bényasz and Zoltán Badinka: A measurement based software quality framework ThyssenKrupp Presta, Budapest 2014, Technical Report No: TKPH-QDTR-201401.

UBlock Origin

uBlock
Development started forking from the codebase of HTTP Switchboard along with another blocking extension called uMatrix, designed for advanced users. uBlock Origin was developed by Raymond Hill to use community-maintained block lists, while adding features and raising the code quality to release standards. First released in June 2014 as a Chrome and Opera extension, by winter of 2015, the extension had expanded to other browsers. The uBlock project official repository was transferred to Chris Aljoudi by original developer Raymond Hill on April 2015, due to frustration of dealing with requests. However Hill immediately self-forked it and continued the effort there.

Software modernization

Application ModernizationLegacy ModernizationSoftware migration
Poor management of structural quality (see software quality), resulting in a modernized application that carries more security, reliability performance and maintainability issues than the original system. Significant modernization costs and duration - Modernization of a complex mission-critical legacy system may need large investments and the duration of having a fully running modernized system could run into years, not to mention unforeseen uncertainties in the process.

Safety-critical system

safety-criticallife-critical systemsafety critical
All of these approaches improve the software quality in safety-critical systems by testing or eliminating manual steps in the development process, because people make mistakes, and these mistakes are the most common cause of potential life-threatening errors. The technology requirements can go beyond avoidance of failure, and can even facilitate medical intensive care (which deals with healing patients), and also life support (which is for stabilizing patients). ===Nuclear engineering === * Nuclear reactor control systems ====Railway ==== ====Aviation ==== ====Spaceflight ==== death or serious injury to people. loss or severe damage to equipment/property. environmental harm.

Test-driven development

Test Driven Developmenttest-first developmentTDD
Additionally, writing the tests first leads to a deeper and earlier understanding of the product requirements, ensures the effectiveness of the test code, and maintains a continual focus on software quality. When writing feature-first code, there is a tendency by developers and organisations to push the developer on to the next feature, even neglecting testing entirely. The first TDD test might not even compile at first, because the classes and methods it requires may not yet exist. Nevertheless, that first test functions as the beginning of an executable specification. Each test case fails initially: This ensures that the test really works and can catch an error.

Software implementation

Software implementation may refer to: * Reference implementation, software from which all other implementations are derived a specific piece of software together with its software features and software quality aspects. a specific programming language implementation. the process of computer programming. the broader process of software construction. integrating software into the workflow of an organization using a product software implementation method.

Buzz monitoring

Hence, the influence of a source is an important buzz monitoring metric that should be benchmarked. Buzz monitoring is implemented by businesses for a variety of reasons, namely to improve efficiency, reaction times and identify future opportunities. Insights gained can help guide marketing and communications, identify positive and negative customer experiences, assess product and service demand, tackle crisis management, round off competitor analysis, establish brand equity and predict market share. In the era of the technological prosperity, social networks have become an essential tool for buzz monitoring, due to the large scale of opinions and information shared between users.

Outsourcing

business process outsourcingoutsourcedoutsource
Focusing on software quality metrics is a good way to maintain track of how well a project is performing. Globalization and complex supply chains, along with greater physical distance between higher management and the production-floor employees often requires a change in management methodologies, as inspection and feedback may not be as direct and frequent as in internal processes. This often requires the assimilation of new communication methods such as voice over IP, instant messaging, and Issue tracking systems, new time management methods such as time tracking software, and new cost- and schedule-assessment tools such as cost estimation software.

Common Vulnerability Scoring System

CVSSCommon Vulnerability Scoring System (CVSS)
Updates to the CVSS version 3.1 specification include clarification of the definitions and explanation of existing base metrics such as Attack Vector, Privileges Required, Scope, and Security Requirements. A new standard method of extending CVSS, called the CVSS Extensions Framework, was also defined, allowing a scoring provider to include additional metrics and metric groups while retaining the official Base, Temporal, and Environmental Metrics. The additional metrics allow industry sectors such as privacy, safety, automotive, healthcare, etc., to score factors that are outside the core CVSS standard.

Software Engineering Body of Knowledge

SWEBOKISO/IEC TR 19759
Software quality. Software engineering professional practice. Software engineering economics. Computing foundations. Mathematical foundations. Engineering foundations. Computer engineering. Systems engineering. Project management. Quality management. General management. Computer science. Mathematics. Software requirements. Software design. Software construction. Software testing. Software maintenance. Software configuration management. Software engineering management (Engineering management). Software engineering process. Software engineering tools and methods. Software quality. Computer engineering. Computer science. Management. Mathematics. Project management. Quality management.

Metric

Metric (disambiguation)metrics
METRIC, a model that uses Landsat satellite data to compute and map evapotranspiration (ET) in climatology/meteorology. Metrics (networking), set of properties of a communication path. Router metrics, used by a router to make routing decisions. Software metric, a measure of some property of a piece of software or its specifications. Reuse metrics, a quantitative indicator of an attribute for software reuse and reusability. Alex Metric (born 1984), British musician, DJ and producer. Font metrics, a group of properties describing a font. Metric (band), a Canadian indie rock band. Performance indicator, often called a "metric", a measure of an organization's activities and performance.