14 February 2007

🌁Software Engineering: Validation (Definitions)

"An independent test process whereby the performance of the neural network is tested against the acceptance requirements." (Joseph P Bigus, "Data Mining with Neural Networks: Solving Business Problems from Application Development to Decision Support", 1996)

"Confirmation that the product, as provided (or as it will be provided), will fulfill its intended use. In other words, validation ensures that 'you built the right thing'." (Sandy Shrum et al, "CMMI®: Guidelines for Process Integration and Product Improvement", 2003)

"Confirmation or corroboration of something, such as a business need or an identified opinion or recommendation." (Teri Lund & Susan Barksdale, "10 Steps to Successful Strategic Planning", 2006)

"the process of checking that a system meets the user needs." (Bruce P Douglass, "Real-Time Agility: The Harmony/ESW Method for Real-Time and Embedded Systems Development", 2009)

"The assurance that a product, service, or system meets the needs of the customer and other identified stakeholders. It often involves acceptance and suitability with external customers. Contrast with verification." (Cynthia Stackpole, "PMP® Certification All-in-One For Dummies®", 2011)

"Testing if a development result fulfills the individual requirements for a specific use." (Tilo Linz et al, "Software Testing Foundations" 4th Ed., 2014)

"Determines if the product provides the necessary solution for the intended real-world problem." (Adam Gordon, "Official (ISC)2 Guide to the CISSP CBK" 4th Ed., 2015)

"Validation is the process of verifying that a document or data structure conforms with its schema or schemas." (Robert J Glushko, "The Discipline of Organizing: Professional Edition" 4th Ed, 2016)

"The assurance that a product, service, or result meets the needs of the customer and other identified stakeholders." (Project Management Institute, "A Guide to the Project Management Body of Knowledge (PMBOK® Guide )", 2017)

"The assurance that a product, service, or system meets the needs of the customer and other identified stakeholders. It often involves acceptance and suitability with external customers." (Jeffrey K Pinto, "Project Management: Achieving Competitive Advantage" 5th Ed., 2018)

 "activity that ensures a new or changed service, process, plan or other deliverable, meets the needs of the business." (ITIL)

"Confirmation by examination and through provision of objective evidence that the requirements for a specific intended use or application have been fulfilled" [ISO 9000]

"Confirmation, through the provision of objective evidence, that the requirements for a specific intended use or application have been fulfilled." (NIST SP 800-160)

"Confirmation (through the provision of strong, sound, objective evidence) that requirements for a specific intended use or application have been fulfilled." (NIST SP 800-161)

"Confirmation (through the provision of strong, sound, objective evidence) that requirements for a specific intended use or application have been fulfilled (e.g., a trustworthy credential has been presented, or data or information has been formatted in accordance with a defined set of rules, or a specific process has demonstrated that an entity under consideration meets, in all respects, its defined attributes or requirements)." (CNSSI 4009-2015)

"The process of determining that an object or process is acceptable according to a pre-defined set of tests and the results of those tests." (NIST SP 800-152)

"The process of demonstrating that the system under consideration meets in all respects the specification of that system." (INCITS/M1-040211)

12 February 2007

🌁Software Engineering: Usability (Definitions)

"The ease with which a user can learn to operate, prepare inputs for, and interpret outputs of a system or component." (IEEE, "IEEE Standard Glossary of Software Engineering Terminology", 1990)

"The characteristic of an information environment to be user-friendly in all its aspects (easy to learn, use, and remember)." (Martin J Eppler, "Managing Information Quality" 2nd Ed., 2006)

"The ability to use an element or work product in a different circumstance or environment." (Bruce P Douglass, "Real-Time Agility", 2009)

"A pragmatic quality characteristic that is a measure of the degree to which the information presentation is directly and efficiently usable for its purpose." (David C Hay, "Data Model Patterns: A Metadata Map", 2010)

"A multifaceted term that refers to how easy it is for users to accomplish whatever task they need to do." (Matt Telles, "Beginning Programming", 2014)

"A questionnaire-based usability test technique for measuring software quality from the end user's point of view. [Kirakowski93]" (Standard Glossary, "ISTQB", 2015)

"Computing the degree to which a software application or a website is easy to use with no specific training. Usability is the art and science of designing systems or web sites that are easy to learn, easy to remember how to use, efficient to use, error tolerant and engaging." (European Commission [Usability Glossary])

"Easiness with which an application, product or service can be used" (ITIL)

"Extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency, and satisfaction in a specified context of use." (ISO/IEC 9241-11)

"The capability of the software to be understood, learned, used and attractive to the user when used under specified conditions." (ISO 9126, 25000)

"Usability is the degree to which something - software, hardware or anything else - is easy to use and a good fit for the people who use it." (Usability BoK)

🌁Software Engineering: Maintainability (Definitions)

"The ease of maintenance that a program’s author puts into the program by writing clear code." (Greg Perry, "Sams Teach Yourself Beginning Programming in 24 Hours" 2nd Ed., 2001)

"The characteristic of an information environment to be manageable at reasonable costs in terms of content volume, frequency, quality, and infrastructure. If a system is maintainable, information can be added, deleted, or changed efficiently." (Martin J Eppler, "Managing Information Quality" 2nd Ed., 2006)

"a measure of how quickly and effectively a CI/service can be restored to normal after a failure." (ITIL)

 Maintainability is defined as the probability that a system or system element can be repaired in a defined environment with defined resources within a specified period of time. Increased maintainability implies shorter repair times. (Created for SEBoK)

"The capability of the software product to adhere to standards or conventions relating to maintainability." (Software Quality Assurance)

"The ease with which a software product can be modified to correct defects, modified to meet new requirements, modified to make future maintenance easier, or adapted to a changed environment." (ISO 9126)

"The probability that a given maintenance action for an item under given usage conditions can be performed within a stated time interval when the maintenance is performed under stated conditions using stated procedures and resources." (ASQ)

"The process of testing to determine the maintainability of a software product." (ISTQB)

11 February 2007

🌁Software Engineering: Multithreading (Definitions)

"When there are several independent paths of execution within a program. Each thread may have access to the main memory and resources of the entire program." (Marcus Green & Bill Brogden, "Java 2™ Programmer Exam Cram™ 2 (Exam CX-310-035)", 2003)

"Concurrent execution of multiple threads." (Max Domeika, "Software Development for Embedded Multi-core Systems", 2011)

"Executing multiple threads within a single process, either multitasking on a single central processing unit (CPU) or simultaneously on multiple cores." (Rod Stephens, "Start Here!™ Fundamentals of Microsoft® .NET Programming", 2011)

"The act of having a program that allows more than one thread of control to be active at a time. This effectively allows multiple instructions to execute simultaneously. This is a form of shared-memory parallelism." (Mark C Lewis, "Introduction to the Art of Programming Using Scala", 2012)

"A mode of operation in which the operating system can run different parts of a program, called threads, simultaneously." (IBM, "Informix Servers 12.1", 2014)

"Applications that can carry out multiple activities simultaneously by generating different instruction sets (threads)." (Adam Gordon, "Official (ISC)2 Guide to the CISSP CBK" 4th Ed., 2015)

"A term used to describe both a facility provided by the operating system which allows an application to create threads of execution within a process, and applications whose architecture takes advantage of the multi-threading provided by the operating system." (Microfocus)

"Multithreading is concurrent processing of more than one message (or similar service request) by an application program." (Gartner)

"Multithreading is the ability of a program or an operating system process to manage its use by more than one user at a time and to even manage multiple requests by the same user without having to have multiple copies of the programming running in the computer." (Techtarget)

10 February 2007

🌁Software Engineering: Trustworthiness (Definitions)

"Having reliable, appropriate, and validated levels of security." (Mark Rhodes-Ousley, "Information Security: The Complete Reference" 2nd Ed., 2013)

"Worthy of being trusted to have certain specified properties." (O Sami Saydjari, "Engineering Trustworthy Systems: Get Cybersecurity Design Right the First Time", 2018)

"The perception and confidence in the quality of the model by its users." (Panos Alexopoulos, "Semantic Modeling for Data", 2020)

"Computer hardware, software and procedures that - 1) are reasonably secure from intrusion and misuse; 2) provide a reasonable level of availability, reliability, and correct operation; 3) are reasonably suited to performing their intended functions; and 4) adhere to generally accepted security procedures." (NIST SP 800-12 Rev. 1)

"Worthy of being trusted to fulfill whatever critical requirements may be needed for a particular component, subsystem, system, network, application, mission, enterprise, or other entity. Note From a privacy perspective, a trustworthy system is a system that meets specific privacy requirements in addition to meeting other critical requirements." (NISTIR 8062)

"The degree to which an information system (including the information technology components that are used to build the system) can be expected to preserve the confidentiality, integrity, and availability of the information being processed, stored, or transmitted by the system across the full range of threats. A trustworthy information system is a system that is believed to be capable of operating within defined levels of risk despite the environmental disruptions, human errors, structural failures, and purposeful attacks that are expected to occur in its environment of operation." (NIST SP 800-53 Rev. 4)

"The degree to which the security behavior of a component is demonstrably compliant with its stated functionality." (NIST SP 800-160)

🌁Software Engineering: Thread (Definitions)

"A mechanism that allows one or more paths of execution through the same instance of an application. Each device requires one thread, and each remote site requires two threads. SQL Server uses the native thread services of Windows NT. There are separate threads for each network, a separate thread for database checkpoints, and a pool of threads for all users." (Microsoft Corporation, "SQL Server 7.0 System Administration Training Kit", 1999)

"An operating system component that allows the logic of multiuser applications to be performed as several separate, asynchronous execution paths." (Anthony Sequeira & Brian Alderman, "The SQL Server 2000 Book", 2003)

"a kind of concurrency unit supported by most operating systems, typically 'lighter-weight' than a task." (Bruce P Douglass, "Real-Time Agility: The Harmony/ESW Method for Real-Time and Embedded Systems Development", 2009)

"The operating system object that executes the instructions of a process." (Clay Breshears, "The Art of Concurrency", 2009)

"A sequence of executing instructions within a process that may execute in parallel with other threads." (Rod Stephens, "Start Here!™ Fundamentals of Microsoft® .NET Programming", 2011)

"Software, operating system entity that contains an execution context (instruction pointer and a stack)." (Max Domeika, "Software Development for Embedded Multi-core Systems", 2011)

"A single unit of control in a program that shares memory with other threads." (Mark C Lewis, "Introduction to the Art of Programming Using Scala", 2012)

"A type of object within a process that runs program instructions. Using multiple threads allows concurrent operations within a process and enables one process to run different parts of its program on different processors simultaneously. A thread has its own set of registers, its own kernel stack, a thread environment block, and a user stack in the address space of its process." (Microsoft, "SQL Server 2012 Glossary", 2012)

"In general, a software thread is any software unit of parallel work with an independent flow of control, and a hardware thread is any hardware unit capable of executing a single flow of control (in particular, a hardware unit that maintains a single program counter). Threads are a mechanism for implementing tasks." (Michael McCool et al, "Structured Parallel Programming", 2012)

"Like a forked process, but without fork’s inherent memory protection. A thread is lighter weight than a full process, in that a process could have multiple threads running around in it, all fighting over the same process’s memory space unless steps are taken to protect threads from one another." (Jon Orwant et al, "Programming Perl, 4th Ed.", 2012)

"A stream of computer instructions that is in control of a process. In some operating systems, a thread is the smallest unit of operation in a process. Several threads can run concurrently, performing different jobs." (IBM, "Informix Servers 12.1", 2014)

"Instruction set generated by a process when it has a specific activity that needs to be carried out by an operating system. When the activity is finished, the thread is destroyed." (Adam Gordon, "Official (ISC)2 Guide to the CISSP CBK" 4th Ed., 2015)

"A path of execution through Open Server application and library code and the path’s associated stack space, state information, and event handlers." (Sybase, "Open Server Server-Library/C Reference Manual", 2019)

"The DB2 structure that describes the connection of an application, traces its progress, processes resource functions, and delimits its accessibility to DB2 resources and services. Most DB2 functions execute under a thread structure." (Sybase, "Open Server Server-Library/C Reference Manual", 2019)

"An independent stream of execution within a program. Because Java is a multithreaded programming language, more than one thread may be running within the Java interpreter at a time. Threads in Java are represented and controlled through the Thread object." (Daniel Leuck et al, "Learning Java, 5th Ed.", 2020)

"In computing, a thread is a subsequence of instructions in a program that may be executed in parallel." (Alex Thomas, "Natural Language Processing with Spark NLP", 2020)

08 February 2007

🌁Software Engineering: Interoperability (Definitions)

"The capability of two or more systems or components to exchange usable information." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"This allows instant communications among multiple responders and agencies at the same time. All responders may communicate as a team and perform their jobs to the highest level possible. A goal for all advanced, complex security systems." (Robert McCrie, "Security Operations Management" 2nd Ed., 2006)

"The ability of different systems to communicate with each other. Interoperability between different platforms and programming languages is a fundamental goal of SOA." (Nicolai M Josuttis, "SOA in Practice", 2007)

"The ability of different information systems to work together, particularly in the correct interpretation of data semantics and functionality." (J P Getty Trust, "Introduction to Metadata" 2nd Ed., 2008)

"the ability of diverse systems and organizations to operate together." (Bruce P Douglass, "Real-Time Agility: The Harmony/ESW Method for Real-Time and Embedded Systems Development", 2009)

"The ability of different systems to communicate with each other. Interoperability between different applications, platforms, and programming languages is a fundamental goal of integration." (David Lyle & John G Schmidt, "Lean Integration", 2010)

"Connectivity between devices. Refers to the ability to provide services to and accept services from other systems or devices." (Linda Volonino & Efraim Turban, "Information Technology for Management" 8th Ed., 2011)

"The ability of various types of computers and programs to work together and share data across different platforms." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"the ability for two (or more) components of technology to interface and work together." (Bill Holtsnider & Brian D Jaffe, "IT Manager's Handbook" 3rd Ed., 2012)

"The capability of a product to interface with many other products; usually used in the context of software. " (Marcia Kaufman et al, "Big Data For Dummies", 2013)

"Capability of sharing information and services." (Gilbert Raymond & Philippe Desfray, "Modeling Enterprise Architecture with TOGAF", 2014)

"The ability of heterogeneous software and hardware to communicate and share information." (Mahdi Gueffaz, "ScaleSem Approach to Check and to Query Semantic Graphs", 2015)

"The ability of software and hardware on multiple machines and from multiple commercial vendors to communicate" (Nell Dale & John Lewis, "Computer Science Illuminated" 6th Ed., 2015)

"Interoperability goes beyond integration to mean that systems, applications, or services that exchange information can make sense of what they receive. Interoperability can involve identifying corresponding components and relationships in each system, transforming them syntactically to the same format, structurally to the same granularity, and semantically to the same meaning." (Robert J Glushko, "The Discipline of Organizing: Professional Edition" 4th Ed., 2016)

"Data interoperability is the ability of multiple applications to communicate (and exchange data)." (Piethein Strengholt, "Data Management at Scale", 2020)

"The ability of multiple systems with different hardware and software platforms, data structures, and interfaces to exchange data with minimal loss of content and functionality." (NISO)

"The capability of the software product to interact with one or more specified components or systems"(ISO/IEC 25000)

"The capability of the software to interact with one or more specified components or systems" (ISO 9126)

 "The ability of one application to use the same code when accessing data in different DBMSs." (Microsoft, "ODBC Glossary")

🌁Software Engineering: Exception Handling (Definitions)

"The way a program responds to an error. The exception-handling mechanism in Perl is the eval operator." (Jon Orwant et al, "Programming Perl" 4th Ed., 2012)

"Behavior of a component or system in response to wrong input, from either a human user or another component or system, or due to an internal failure." (Tilo Linz et al, "Software Testing Foundations" 4th Ed., 2014)

"The performance of a specified response to an abnormal condition. Exception handling allows control and information to be passed to an exception handler when an exception occurs." (IBM, "Informix Servers 12.1", 2014)

"Behavior of a component or system in response to erroneous input, from either a human user or from another component or system, or to an internal failure." (IQBBA)


07 February 2007

🌁Software Engineering: Rapid Prototyping (Definitions)

"Rapid prototyping is a method that involves creating a series of prototypes in rapid, iterative cycles. Normally, a prototype is created quickly, presented to users in order to obtain feedback on the design, and then a new prototype is created that incorporates that feedback. This cycle is continued until a fairly stable, satisfactory design emerges, which informs the design of a production-scale system." (M Cameron Jones, "Patchwork Prototyping with Open Source Software", 2007)

"The use of rapid prototyping methodologies is to reduce the production time by using working models of the final product early in a project tends to eliminate time-consuming revisions later on, and by completing design tasks concurrently, rather than sequentially throughout the project. The steps are crunched together to reduce the amount of time needed to develop training or a product. The design and development phases are done simultaneously and the formative evaluation is done throughout the process." (Irene Chen, "Instructional Design Methodologies", 2008)

"A step in software development process that supports user’s involvement in design by allowing users to see and experience the final system before it is built." (Irina Kondratova & Ilia Goldfarb, "Culturally Appropriate Web User Interface Design Study: Research Methodology and Results", 2011)

"A family of technologies that enable the relatively fast and low-cost production of products for testing and evaluation purposes." (Rachel Heinen et al, "Tools for the Process: Technology to Support Creativity and Innovation", 2015)


🌁Software Engineering: Analysis (Definitions)

"An investigation of a domain that results in models describing its static and dynamic characteristics. It emphasizes questions of 'what', rather than 'how'." (Craig Larman, "Applying UML and Patterns", 2004)

"The initial fact-finding process discovering what is to be done by a computer system." (Gavin Powell, "Beginning Database Design", 2006)

"The process of separating a problem into its constituent parts or basic principles so as to determine the nature of the whole and to examine it methodically." (Robert McCrie, "Security Operations Management" 2nd Ed., 2006)

"The process of identifying the essential characteristics of a system or element." (Bruce P Douglass, "Real-Time Agility", 2009)

"Separation of the whole into its parts; an examination of a complex, its individual parts, and their relations; the separation of the ingredients of a substance; a statement of the constituents of a mixture." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"Process of breaking complex concepts into smaller component aspects in order to increase understanding of underlying issues." (Joan C Dessinger, "Fundamentals of Performance Improvement" 3rd Ed., 2012)

"Thoughtful investigation of real-world systems." (Meta S Brown, "Data Mining For Dummies", 2014)

"A common interaction with an organizing system." (Robert J Glushko, "The Discipline of Organizing: Professional Edition" 4th Ed., 2016)

06 February 2007

🌁Software Engineering: Web Service(s) (Definitions)

"The programmatic interfaces that enable different applications to communicate and process data via the Web." (Evan Levy & Jill Dyché, "Customer Data Integration", 2006)

"A set of standards that serves as one possible way of realizing a SOA infrastructure. Initially started with the core standards XML, HTTP, WSDL, SOAP, and UDDI, it now contains over 60 standards and profiles developed and maintained by different standardization organizations, such as W3C, OASIS, and WS-I." (Nicolai M Josuttis, "SOA in Practice", 2007)

"A software component designed to support interoperable machine-to-machine interaction over a network based on Internet standards." (Victor Isakov et al, "MCITP Administrator: Microsoft SQL Server 2005 Optimization and Maintenance (70-444) Study Guide", 2007)

"A software system used to transfer data. A common use of a Web service is to transfer data across the Internet. A Web service provider receives requests for data and responds. For example, a weather Web service could accept a zip code as input and respond with weather data for the zip code." (Robert D. Schneider and Darril Gibson, "Microsoft SQL Server 2008 All-In-One Desk Reference For Dummies", 2008)

"A software component created with an interface consisting of a WSDL definition, an XML schema definition, and a WS-Policy definition. Collectively, these could be called a service contract - or, alternatively, an API." (Judith Hurwitz et al, "Service Oriented Architecture For Dummies 2nd Ed.", 2009)

"A software system designed to allow inter-computer interaction over a network to perform a task. Other computers interact with a web service, in a manner prescribed by its interface, using messages which are enclosed in a SOAP envelope and are often conveyed by HTTP. Software applications can use web services to exchange data over a network." (Mark Olive, "SHARE: A European Healthgrid Roadmap", 2009)

"As defined by the W3C, a Web service is a software system designed to support interoperable machine-to-machine interaction over a network. Web services are frequently just Web APIs that can be accessed over a network, such as the Internet, and executed on a remote system hosting the requested services. Service-Oriented Architecture (SOA) is most often implemented using Web services, which defines how SOA services interact using the following standards: Extensible Markup Language (XML), Simple Object Access Protocol (SOAP), Web Services Description Language (WSDL), and Universal Description, Discovery and Integration (UDDI)." (John Goodson & Robert A Steward, "The Data Access Handbook", 2009)

"A set of standards that serves as one possible way of realizing an SOA infrastructure." (David Lyle & John G Schmidt, "Lean Integration", 2010)

"A program running on a network that another program can call for service." (Rod Stephens, "Start Here!™ Fundamentals of Microsoft® .NET Programming", 2011)

"Modular business and consumer applications, delivered over the Internet, that users can select and combine through almost any device, enabling disparate systems to share data and services. These are software systems designed to support machine-to-machine interactions over a network." (Linda Volonino & Efraim Turban, "Information Technology for Management 8th Ed", 2011)

"Platform-neutral, vendor-independent protocols that enable distributed processing to be performed using XML and Web-based technologies. Sometimes instantiated as remote procedure calls in which the request is an XML document." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"A server-based collections of data, plus a collection of software routines operating on the data, that can be accessed by remote clients. One of the features of Web services is that they permit client users (e.g., humans or software agents) to discover the kinds of data and methods offered by the Web service and the rules for submitting server requests. To access Web services, clients must compose their requests as messages conveyed in a language that the server is configured to accept, a so-called Web services language." (Jules H Berman, "Principles of Big Data: Preparing, Sharing, and Analyzing Complex Information", 2013)

"A software component created with an interface consisting of a WSDL definition, an XML schema definition, and a WS-Policy definition. Collectively, components could be called a service contract or, alternatively, an API." (Marcia Kaufman et al, "Big Data For Dummies", 2013)

"A service that provides a standardized web-based interface so that it is easy to invoke over the Internet." (Rod Stephens, "Beginning Software Engineering", 2015)

"An application-level service that runs on a server and is accessed in a standard way using XML for data marshalling and HTTP as its network transport." (Daniel Leuck et al, "Learning Java" 5th Ed., 2020)

"A set of standards and mechanisms that enables software components to be deployed so that they can be invoked across the Internet or an intranet, with data passed between client and component in the form of text files containing XML. This means the client application does not need to know anything about the language or deployment mechanism of the component it is invoking. Since Web Services is the name of a facility, the term is singular." (Microfocus)

"A software component deployed using the Web Services standards and mechanisms." (Microfocus)

"A Web service is a unit of application logic that provides data and services to other applications, regardless of language or platform, through an Internet connection. Generally, a Web service is exposed by one company so that another company or software program can use that service." (Microfocus)

"Web Services is a technology that enables software components, regardless of the language in which they are written or the platform on which they run, to be accessed by applications across the Internet." (Microfocus)

🌁Software Engineering: Concurrency (Definitions)

"The capability of having more than one computation in progress at the same time. These computations may be on separate cores or they may be sharing a single core by being swapped in and out by the operating system at intervals." (Clay Breshears, "The Art of Concurrency", 2009)

"the simultaneous or pseudo-simultaneous execution of multiple action sequences." (Bruce P Douglass, "Real-Time Agility: The Harmony/ESW Method for Real-Time and Embedded Systems Development", 2009)

"A model of computation with simultaneous sequences of computation and unpredictable interaction between the sequences. For example, two threads in an application that occasionally communicate. In contrast to parallelism, the apparent simultaneity might be an illusion, for example when the program executes on a single CPU with a single core. An example of the unpredictability of concurrency is the handling of asynchronous events, such as user input or network traffic. The precise sequence of execution steps that will occur in the entire program can’t be predicted in advance. Contrast with parallelism." (Dean Wampler, "Functional Programming for Java Developers", 2011)

"The shared use of resources by multiple interactive users or application processes at the same time." (IBM, "Informix Servers 12.1", 2014)

"measure of the number of users engaged in the same operation at the same time" (ITIL)

"performing and executing multiple tasks and processes at the same time." (Analytics Insight)

🌁Software Engineering: Synchronization (Definitions)

"Enforcing constraints on the ordering of events occurring in different UEs. This is primarily used to ensure that shared resources are accessed by a collection of UEs in such a way that the program is correct regardless of how the UEs are scheduled." (Beverly A Sanders, "Patterns for Parallel Programming", 2004)

"Coordination in the execution of multiple threads. The most common cases of synchronization occur when you provide mutually exclusive access to shared resources or gather all threads at a point in the code before they are allowed to proceed." (Clay Breshears, "The Art of Concurrency", 2009)

"Timekeeping which requires the coordination of events to operate a system in unison." (Chen Liu et al, "Simultaneous MultiThreading Microarchitecture", 2010)

"The coordination, of tasks or threads, in order to obtain the desired runtime order. Commonly used to avoid undesired race conditions." (Michael McCool et al, "Structured Parallel Programming", 2012)

"A technique for coordinating threads or processes to have appropriate execution order." (Masoud Hemmatpour et al, "Cost Evaluation of Synchronization Algorithms for Multicore Architectures", 2018)

"In multiprocessing systems, joining multiple independent processes in order to reach an agreement or commit to a certain sequence of actions." (Gen'ichi Yasuda, "A Formal Approach to the Distributed Software Control for Automated Multi-Axis Manufacturing Machines", 2018)

"Process of coordinating two or more activities in time." (Dharmendra T Patel, "Distributed Computing for Internet of Things (IoT)", 2019)


05 February 2007

🌁Software Engineering: Static Analysis (Definitions)

"Use of tools to evaluate the structure, completeness, and correctness of a software component without actually executing the code. The tools may be simple (e.g., statistics on module size and comment density) or sophisticated (e.g., call trees, setting and use of variables, fan out metrics). Contrast with dynamic analysis. See also inspection, regression testing, stress testing." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"Analysis of a program carried out without executing the program [BCS SIGIST]. See also Dynamic analysis." (Lars Dittmann et al, "Automotive SPICE in Practice", 2008)

"The process of evaluating a system or component based on its form, structure, content, or documentation." (Mark S Merkow & Lakshmikanth Raghavan, "Secure and Resilient Software Development", 2010)

"Analysis of a document (e.g., requirements or code) carried out without executing it." (Tilo Linz et al, "Software Testing Foundations, 4th Ed", 2014)

"A debugging technique that is carried out by examining the code without executing the program, and therefore is carried out before the program is compiled." (Adam Gordon, "Official (ISC)2 Guide to the CISSP CBK" 4th Ed., 2015)

"Analysis of software development artifacts, e.g. requirements or code, carried out without execution of these software development artifacts. Static analysis is usually carried out by means of a supporting tool." (ISTQB)

02 February 2007

🌁Software Engineering: Proof-of-Concept [PoC] (Definitions)

"A software trial that allows a prospect to test the product before buying it, while at the same time delivering a realistic slice of functionality." (Jill Dyché & Evan Levy, "Customer Data Integration: Reaching a Single Version of the Truth", 2006)

"Originally a term referring to a prototype proving a technical solution’s feasibility. Recently, the term has become synonymous with early-stage revenue-proving market feasibility. For example, without proof of concept revenue for early adopters, the inventor was having difficulty proving anyone needed what he had built." (Brad Feld & Sean Wise, "Startup Opportunities" 2nd Ed., 2017)

"A minimal implementation or execution of a process that serves as a sample sufficient to prove the success of the whole implementation or process." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"Is a realization of a certain method or idea in order to demonstrate its feasibility or a demonstration in principle with the aim of verifying that some concept or theory has practical potential. PoC represents a stage during the development of a product when it is established that the product will function as intended." (Soraya Sedkaoui & SRY Consulting, "Big Data Applications in Business", 2019)

"A demonstration of the feasibility of a particular method. PoC is used to test theoretical calculations and hypotheses in practice." (Kaspersky)

"A proof of concept (POC) is a demonstration of a product, service or solution in a sales context. A POC should demonstrate that the product or concept will fulfill customer requirements while also providing a compelling business case for adoption." (Gartner)

"A proof of concept (POC) is a demonstration to verify that certain concepts or theories have the potential for real-world application. In a nutshell, a POC represents the evidence demonstrating that a project or product is feasible and worthy enough to justify the expenses needed to support and develop it." (Techopedia) [source]

"A proof of concept (POC) is an exercise in which work is focused on determining whether an idea can be turned into a reality. A proof of concept is meant to determine the feasibility of the idea or to verify that the idea will function as envisioned." (Search CIO) [source]

"A proof of concept (POC) or a proof of principle is a realization of a certain method or idea to demonstrate its feasibility, or a demonstration in principle, whose purpose is to verify that some concept or theory has the potential of being used. A proof of concept is usually small and may or may not be complete." (SensiML)

Related Posts Plugin for WordPress, Blogger...

About Me

My photo
Koeln, NRW, Germany
IT Professional with more than 24 years experience in IT in the area of full life-cycle of Web/Desktop/Database Applications Development, Software Engineering, Consultancy, Data Management, Data Quality, Data Migrations, Reporting, ERP implementations & support, Team/Project/IT Management, etc.