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)

01 February 2007

🌁Software Engineering: Quality Assurance (Definitions)

"Testing and evaluation of a system to ensure correct results." (Microsoft Corporation, "Microsoft SQL Server 7.0 Data Warehouse Training Kit", 2000)

"Group of techniques and methods to assure that the developed software is according to system requirements" (M J Escalona & G Aragón, "The Use of Metamodels in Web Requirements to Assure the Consistence", 2008)

"A process for evaluating project performance in relation to the specified standard of quality." (Bonnie Biafore, "Successful Project Management: Applying Best Practices and Real-World Techniques with Microsoft® Project", 2011)

"The process of ensuring that the development effort will result in the desired product. Quality assurance focuses on defect prevention. Typical quality assurance tools are check lists, project audits, and documented standards. QA activities typically occur up-front in a project." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"The practice of improving, auditing, and stabilizing a product, service, or other result based on quality requirements and the results of quality control measurements. The focus of QA is to avoid or minimize defects or errors." (Bonnie Biafore & Teresa Stover, "Your Project Management Coach: Best Practices for Managing Projects in the Real World", 2012)

"A set of activities that assess adherence to, and the adequacy of the software processes used to develop and modify software products. SQA also determines the degree to which the desired results from software quality control are being obtained." (Project Management Institute, "Software Extension to the PMBOK® Guide" 5th Ed., 2013)

"Software quality assurance is defined as follows: (1) a planned and systematic pattern of all actions necessary to provide adequate confidence that an item or product conforms to established technical requirements; and (2) a set of activities designed to evaluate the process by which products are developed or manufactured." (Kamalendu Pal & Bill Karakostas, "Software Testing Under Agile, Scrum, and DevOps", 2021)

"Part of quality management focused on providing confidence that quality requirements will be fulfilled." (ISO 9000)

30 January 2007

🌁Software Engineering: Application Programming Interface (Definitions)

"A set of routines available in an application for use by software programmers when designing an application interface. An excellent example is ADO. APIs make it simple for programmers to add powerful integration capabilities within an application. APIs shield programmers from many of the complexities of coding." (Anthony Sequeira & Brian Alderman, "The SQL Server 2000 Book", 2003)

"A set of routines that an application uses to request and carry out lower-level services." (Evan Levy & Jill Dyché, "Customer Data Integration", 2006)

"Represents a set of functions and methods that other developers can use to access the functionality within another application." (Sara Morganand & Tobias Thernstrom , "MCITP Self-Paced Training Kit: Designing and Optimizing Data Access by Using Microsoft SQL Server 2005 - Exam 70-442", 2007)

"This is a well-defined interface provided by an application or service to support requests and communications from other applications." (Michael Coles, "Pro T-SQL 2008 Programmer's Guide", 2008)

"A set of public programmatic interfaces that consists of a language and a message format to communicate with an operating system or other programmatic environment, such as databases, Web servers, and so forth. These messages typically call functions and methods available for application development." (David Lyle & John G Schmidt, "Lean Integration", 2010)

"An interface implemented by a software program to enable interaction with other software, in much the same way that a user interface facilitates interaction between humans and computers. APIs are implemented by applications, libraries, and operating systems to determine the vocabulary and calling conventions the programmer should employ to use their services. It may include specifications for routines, data structures, object classes, and protocols used to communicate between the consumer and implementer of the API." (Mark S Merkow & Lakshmikanth Raghavan, "Secure and Resilient Software Development", 2010)

"A toll that allows programs to talk to or interact with one another." (Linda Volonino & Efraim Turban, "Information Technology for Management 8th Ed", 2011)

"A published standard format for communicating with application programs." (Craig S Mullins, "Database Administration: The Complete Guide to DBA Practices and Procedures" 2nd Ed, 2012)

"A set of routines that an application uses to request and carry out lower-level services performed by a computer's operating system. These routines usually carry out maintenance tasks such as managing files and displaying information." (Microsoft, "SQL Server 2012 Glossary", 2012)

"This is a well-defined interface provided by an application or service to support requests and communications from other applications." (Jay Natarajan et al, "Pro T-SQL 2012 Programmer's Guide" 3rd Ed, 2012)

"A way of standardizing the connection between two software applications. It is essentially a standard hook that an application uses to connect to another software application." (Robert F Smallwood, "Information Governance: Concepts, Strategies, and Best Practices", 2014)

"A well-defined interface provided by an application or service to support requests and communications from other applications." (Miguel Cebollero et al, "Pro T-SQL Programmer’s Guide" 4th Ed, 2015)

"A set of definitions, protocols, and tools used to build software. Especially important to define when different software parts need to work together." (Pamela Schure & Brian Lawley, "Product Management For Dummies", 2017)

"A set of definitions, protocols, and tools for building software applications, and for allowing software components from different sources to communicate with each other." (Jonathan Ferrar et al, "The Power of People", 2017)

"An interface that allows an application program that is written in a high-level language to use specific data or functions of the operating system or another program." (Sybase, "Open Server Server-Library/C Reference Manual", 2019)

🌁Software Engineering: Object-Oriented Design (Definitions)

"The process of designing a computer application that utilizes OOP concepts in the design to show active objects that are to be developed." (Greg Perry, "Sams Teach Yourself Beginning Programming in 24 Hours" 2nd Ed., 2001)

"The specification of a logical software solution in terms of software objects, such as their classes, attributes, methods, and collaborations." (Craig Larman, "Applying UML and Patterns", 2004)

"The craft of partitioning the system into objects, organizing the objects into class hierarchies, and devising messages that communicate between the objects. See the Bibliography for references on this subject." (James Robertson et al, "Complete Systems Analysis: The Workbook, the Textbook, the Answers", 2013)

"A modular approach to system design in which functions are logically grouped together along with their data structures into objects. These objects generally correspond to logical real-world entities and interact with other objects through well-defined interfaces and hide their internal data structures to protect them from error by objects that have no need to know the internal workings of the object." (O Sami Saydjari, "Engineering Trustworthy Systems: Get Cybersecurity Design Right the First Time", 2018)

"A software engineering approach that models a system as a group of interacting objects. Each object represents some entity of interest in the system being modeled, and is characterized by its class, its state (data elements), and its behavior. OOAD encompasses Object-oriented analysis (OOA) and Object-oriented design (OOD)." (IQBBA) 

27 January 2007

🌁Software Engineering: Conceptual Models (Definitions)

"A conceptual model is simply a framework or schematic to understand the interaction of workforce education and development systems with other variables in a society." (Jay W Rojewski, "International Perspectives on Workforce Education and Development", 2004)

"The conceptual model is a non-software specific description of the simulation model that is to be developed, describing the objectives, inputs, outputs, content, assumptions and simplifications of the model." (Stewart Robinson, "Simulation: The Practice of Model Development and Use", 2004) 

"A conceptual model is a mental image of a system, its components, its interactions. It lays the foundation for more elaborate models, such as physical or numerical models. A conceptual model provides a framework in which to think about the workings of a system or about problem solving in general. An ensuing operational model can be no better than its underlying conceptualization." (Henry N Pollack,"Uncertain Science … Uncertain World", 2005)

"A conceptual model is a qualitative description of 'some aspect of the behaviour of a natural system'. This description is usually verbal, but may also be accompanied by figures and graphs." (Howard S. Wheater et al., "Groundwater Modelling in Arid and Semi-Arid Areas, 2010) 

"[…] a conceptual model is a diagram connecting variables and constructs based on theory and logic that displays the hypotheses to be tested." (Mary Wolfinbarger Celsi et al, "Essentials of Business Research Methods", 2011)

"A conceptual model of an interactive application is, in summary: the structure of the application - the objects and their operations, attributes, and relation-ships; an idealized view of the how the application works – the model designers hope users will internalize; the mechanism by which users accomplish the tasks the application is intended to support." (Jeff Johnson & Austin Henderson, "Conceptual Models", 2011)

"Simply put, a conceptual model is a simplified representation of reality, devised for a certain purpose and seen from a certain point of view."(David W Emble & Bernhard Thalheim, "Handbook of Conceptual Modeling", 2012)

"A conceptual model is a framework that is initially used in research to outline the possible courses of action or to present an idea or thought. When a conceptual model is developed in a logical manner, it will provide a rigor to the research process." (N Elangovan & R Rajendran, "Conceptual Model: A Framework for Institutionalizing the Vigor in Business Research", 2015)

"Briefly, a conceptual model is the configuration of conceptual elements and the navigation between them. As such, a conceptual model is the foundation of the user interface of any interactive system." (Avi Parush, "Conceptual Design for Interactive Systems", 2015)

"A model or conceptual model is a schematic or representation that describes how something works." (James Padolsey, "Clean Code in JavaScript", 2020)

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.