06 May 2007

🌁Software Engineering: Use Case (Definitions)

"A description of how the system will be used." (Jesse Liberty, "Sams Teach Yourself C++ in 24 Hours" 3rd Ed., 2001)

"The definition of a behavior of the software product based on gradually described interactions between user and system." (Johannes Link & Peter Fröhlich, "Unit Testing in Java", 2003)

"A set of possible sequences of interactions (scenarios) between systems and users (actors) in a particular environment and related to a particular goal. The use case and goal are sometimes considered to be synonymous. Use cases capture the intended behavior of the system, without specifying how that behavior is implemented. Use cases can be employed to identify, clarify, and organize system requirements, and, during later stages of software development, to validate design, create test cases, and create online help and user manuals." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"A sequence of actions a system performs that yields an observable result of value to a particular actor. A use-case class contains all main, alternate, and exception flows of events related to producing the 'observable result of value'." (Bruce MacIsaac & Per Kroll, "Agility and Discipline Made Easy: Practices from OpenUP and RUP", 2006)

"A concrete usage of a system, characterized by a set of scenarios, a set of requirements to which it traces, and a specification state machine." (Bruce P Douglass, "Real-Time Agility", 2009)

"A description of how end users will use a software code. It describes a task or a series of tasks that users will accomplish using the software and includes the responses of the software to user actions. Use cases may be included in the Software Requirements Document (SRD) as a way of specifying the end users’ expected use of the software." (Mark S Merkow & Lakshmikanth Raghavan, "Secure and Resilient Software Development", 2010)

"A model of human/machine interaction similar to data flow diagrams, in that it represents communications between external entities (here called 'Actors') and processes, but the assumption is that the processes involved represent systems (typically shown only as a single process representing the entire system). The content of data flows are not documented and, rather than being decomposed into lower-level detail, these details are simply described in text as 'steps'. There is no notion of storing data in intermediate 'data stores'." (David C Hay, "Data Model Patterns: A Metadata Map", 2010)

"A sequence of transactions in a dialogue between an actor and a component or system with a tangible result, where an actor can be a user or anything that can exchange information with the system." (IQBBA, "Standard glossary of terms used in Software Engineering", 2011)

"A sequence of transactions in a dialogue between an actor and a component or system with a tangible result. An actor can be a user or anything that can exchange information with the system." (Tilo Linz et al, "Software Testing Foundations" 4th Ed, 2014)

"A description of a series of interactions between actors. The actors can be users or parts of the application. A simple template might include a title, main success scenario, and extensions (other variations on the scenario)." (Rod Stephens, "Beginning Software Engineering", 2015)

"It is a list of events and actions among systems and users in a specific environment and for a specific goal." (Yassine Maleh et al, 'Strategic IT Governance and Performance Frameworks in Large Organizations", 2019)

"Technique used to define required functionality and objectives, and to design tests." (ITIL)

30 April 2007

🌁Software Engineering: Failover (Definitions)

"The process in which, in response to a node or resource failure, resources in a cluster switch ownership and start on another node in the server cluster. This term applies to a server cluster/failover cluster combination only. In log shipping implementations, the similar terms switch and role change are used to describe the change in ownership that occurs between primary and secondary servers." (Allan Hirt et al, "Microsoft SQL Server 2000 High Availability", 2004)

"The ability of a secondary device to take the place of a primary device during failure of the primary device." (Tom Petrocelli, "Data Protection and Information Lifecycle Management", 2005)

"The process that allows a secondary member of a replica set to become primary in the event of a failure." (MongoDb, "Glossary", 2008)

"A backup operation that automatically switches to a standby system if the primary system fails or is taken offline. It is an important fault-tolerant function that provides system availability." (Shon Harris & Fernando Maymi, "CISSP All-in-One Exam Guide" 8th Ed., 2018)

"An automatic operation that switches to a redundant or standby system or node in the event of a software, hardware, or network interruption. See also failback." (Sybase, "Open Server Server-Library/C Reference Manual", 2019)

🌁Software Engineering: Failure (Definitions)

"[...] a fault is a potential failure, which can cause an incorrect result (failure) in the future, or may have already caused one. The failure may not have observable consequences, however, and so may not be reported as a problem." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"1. Deviation of the component or system from its expected delivery, service, or result. (For a test result, the observed result and the expected [specified or predicted] result do not match.) 2. Result of a fault that, during test execution, shows an externally observable wrong result. 3. Behavior of a test object that does not conform to a specified functionality that should be suitable for its use." (Tilo Linz et al, "Software Testing Foundations, 4th Ed", 2014)

"The condition of not achieving the desired end results." (Ken Sylvester, "Negotiating in the Leadership Zone", 2015)

"A system failure is an event that occurs when the delivered service deviates from correct service (implementing system function). A system may fail either because it does not comply with the specification or because the specification did not adequately describe its function." (O Sami Saydjari, "Engineering Trustworthy Systems: Get Cybersecurity Design Right the First Time", 2018)

"Deviation of the component or system from its expected delivery, service or result." (Software Quality Assurance)

"Loss of ability to operate to specification, or to deliver required output" (ITIL)

"The inability of a system or component to perform its required functions within specified performance requirements. The fault tolerance discipline distinguishes between a human action (a mistake), its manifestation (a hardware or software fault), the result of the fault (a failure), and the amount by which the results are incorrect (the error)." (IEEE Std 610.12-1990) 

🌁Software Engineering: User Story (Definitions)

"Informal description of a functional requirement or product property in XP. A user story serves as the basis for acceptance tests that formally check whether the product complies with the described function or property." (Johannes Link & Peter Fröhlich, "Unit Testing in Java", 2003)

"A requirement formulated into a small number of sentences in the user’s natural language. User stories are common in Extreme Programming (XP)." (Bruce P Douglass, "Real-Time Agility", 2009)

"A short narrative that explains who wants something to happen in a piece of software, what they want, and why they want it." (Jon Radoff, "Game On: Energize Your Business with Social Media Games", 2011)

"A narrative description of a software requirement, function, feature, or quality attribute presented as a narrative of desired user interactions with a software system." (Project Management Institute, "Software Extension to the PMBOK® Guide" 5th Ed., 2013)

"A short story explaining how the system will let the user do something." (Rod Stephens, "Beginning Software Engineering", 2015)

"A tool used in Agile software development to capture a description of a software feature from an end-user perspective. The user story describes the type of user, what he or she wants, and why. A user story helps to create a simplified description of a requirement." (Pierre Pureur & Murat Erder, "Continuous Architecture", 2015)

"Description of the functionality that a product should have, written from the perspective of the user. A very simplified and focused requirement description." (Pamela Schure & Brian Lawley, "Product Management For Dummies", 2017)

"User stories are short, text-based descriptions of functionality required by a stakeholder group." (Cate McCoy & James L Haner, "CAPM Certified Associate in Project Management Practice Exams", 2018)

"A high-level user or business requirement commonly used in agile software development, typically consisting of one or more sentences in the everyday or business language capturing what functionality a user needs, any non-functional criteria, and also includes acceptance criteria. " (ISTQB)

19 April 2007

🌁Software Engineering: XML Namespace (Definitions)

"A collection of element and attribute names designed to reduce confusion and ambiguity when dealing with XML documents. Generally available for consultation from a commonly available Internet address." (Robert D. Schneider and Darril Gibson, "Microsoft SQL Server 2008 All-In-One Desk Reference For Dummies", 2008)

"The set of unique names used to identify objects within a well-defined domain, particularly relevant for XML applications. An XML Namespace is a W3C recommendation for providing uniquely named elements and attributes in an XML instance. A namespace is declared using the reserved XML attribute xmlns, the value of which must be a URI (Uniform Resource Identifier) reference." (J P Getty Trust, "Introduction to Metadata" 2nd Ed., 2008)

"A defined domain within which a name is guaranteed to be unique and findable. A reusable reference glossary of XML attributes found at a URL address. Entity and attribute names used in XML documents can be easily qualified by associating them with namespaces identified by URL references." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"A namespace is the metadata realm in which a metadata tag applies. The purpose of a namespace is to distinguish metadata tags that have the same name, but a different meaning." (Jules H Berman, "Principles of Big Data: Preparing, Sharing, and Analyzing Complex Information", 2013)

"In XML and XQuery, a uniform resource identifier (URI) that provides a unique name to associate with the element, attribute, and type definitions in an XML schema or with the names of elements, attributes, types, functions, and errors in XQuery expressions." (Sybase, "Open Server Server-Library/C Reference Manual", 2019)

"A unique identifier that indicates the names of particular data elements or attributes used within an XML file." (Microfocus)

"A collection of names that is used to identify elements, types, and attributes in XML documents identified in a URI reference" (RFC 3986)

16 April 2007

🌁Software Engineering: Nonfunctional Requirement (Definitions)

"Non-functional requirements have no direct impact on functionality. As regards software, non-functional requirements include complexity, level of nesting, testability, and maintainability. Non-functional requirements may, for example, result from the operational environment, e.g., requirements regarding a temperature range in which a system needs to work correctly (e.g., –58 to 176 degrees Fahrenheit)." (Lars Dittmann et al, "Automotive SPICE in Practice", 2008)

"Technical requirements for an IT system, including performance, reliability, security, monitoring, and operational environments." (Tilak Mitra et al, "SOA Governance", 2008)

"Defines the quality aspects a system should possess to meet its functional requirements. Other terms for nonfunctional requirements are constraints, quality attributes, and nonbehavioral requirements." (Mark S Merkow & Lakshmikanth Raghavan, "Secure and Resilient Software Development", 2010)

"A description of expected operation of a system separate independent of any specific tasks or functions, and may not be measureable in the same terms as other requirements. Includes reliability, efficiency, portability, etc." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"A requirement that does not directly relate to functionality but to how well or with which quality the system fulfills its function. Its implementation has a great influence on how satisfied the customer or user is with the system. The attributes from [ISO 9126] are reliability, efficiency, usability, maintainability, and portability. The attributes from [ISO 25010] are performance efficiency, compatibility, usability, reliability, security, maintainability, and portability." (Tilo Linz et al, "Software Testing Foundations" 4th Ed., 2014)

"Statements about the quality of an application’s behavior or constraints on how it produces a wanted result such as the application’s performance, reliability, and security characteristics." (Rod Stephens, "Beginning Software Engineering", 2015)

"Nonfunctional Requirements define system attributes such as security, reliability, performance, maintainability, scalability, and usability. They serve as constraints or restrictions on the design of the system across the different backlogs." (Dean Leffingwell, "SAFe 4.5 Reference Guide: Scaled Agile Framework for Lean Enterprises" 2nd Ed, 2018)

 "A requirement that does not relate to functionality, but to attributes of such as reliability, efficiency, usability, maintainability and portability." (Software Quality Assurance)

15 April 2007

🌁Software Engineering: Test Plan (Definitions)

"Test case scenarios written to test the different functionalities of the system and make sure it meets requirements." (Timothy J  Kloppenborg et al, "Project Leadership", 2003)

"A document describing the scope, approach, characteristics and features to be tested, necessary tasks, resources, task schedule, responsibilities, and risks." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

[engagement test plan:] "A plan designed to gather sufficient appropriate evidence to support an evaluation of how well the key controls function. This may be developed as part of an engagement work program or may replace the engagement work program." (Sally-Anne Pitt, "Internal Audit Quality", 2014)

[level test plan:] "A plan for a specified level of testing. It identifies the items being tested, the features to be tested, the testing tasks to be performed, the personnel responsible for each task, and the associated risk(s). In the title of the plan, the word level is replaced by the organization’s name for the particular level being documented by the plan (e.g., Component Test Plan, Component Integration Test Plan, System Test Plan, and Acceptance Test Plan)." (Tilo Linz et al, "Software Testing Foundations" 4th Ed, 2014)

"It identifies, among other test items, the features to be tested, the testing tasks, who will do each task, the degree of tester independence, the test environment, the test design techniques, and the techniques for measuring results with a rationale for their choice. Additionally, risks requiring contingency planning are described. Thus, a test plan is a record of the test planning process. The document can be divided into a master test plan or a level test plan." (Tilo Linz et al, "Software Testing Foundations, 4th Ed", 2014)

"A document that specifies how a program is to be tested" (Nell Dale & John Lewis, "Computer Science Illuminated" 6th Ed., 2015)

"A document describing the scope, approach, resources and schedule of intended test activities. It identifies amongst others test items, the features to be tested, the testing tasks, who will do each task, degree of tester independence, the test environment, the test design techniques and entry and exit criteria to be used, and the rationale for their choice, and any risks requiring contingency planning. It is a record of the test planning process." (IEEE 829)

"A document that outlines the specific steps that will be performed for a particular test, including the required logistical items and expected outcome or response for each step." (NIST SP 800-84)

[level test plan:] "A test plan that typically addresses one test level." (ISTQB)

12 April 2007

🌁Software Engineering: Deployment (Definitions)

"The process whereby software is installed into an operational environment." (Kim Haase et al, "The J2EE™ Tutorial", 2002)

"The process of 'putting the product into service'. Delivering a new or updated product to users. This can be as simple as shipping magnetic media or posting files for downloading. It can involve installing the product at each user site, training the users at the sites, and activating a unique or very complex system, usually because the user lacks the skills and knowledge to do these activities. " (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"The process whereby the results of the data analysis or data mining are provided to the user of the information." (Glenn J Myatt, "Making Sense of Data: A Practical Guide to Exploratory Data Analysis and Data Mining", 2006)

[service deployment:] "A governed process that manages the registration and configuration of services and release into production. Service changes and versioning are also managed by this process." (Tilak Mitra et al, "SOA Governance", 2008)

"The act of putting information technology into productive use. Installation puts the system into the production environment. Deployment includes installation, but also includes efforts to train and encourage effective use." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

[staged deployment:] "Deployment that begins with building the application in a fully functional staging environment, so you can practice deployment until you’ve worked out all the kinks." (Rod Stephens, "Beginning Software Engineering", 2015)

"The process of delivering a finished application to the users. Also called implementation or installation." (Rod Stephens, "Beginning Software Engineering", 2015)

"Continuous Deployment is the process that takes validated Features from Continuous Integration and deploys them into the production environment, where they are tested and readied for release. It is the third element in the four-part Continuous Delivery Pipeline of Continuous Exploration (CE), Continuous Integration (CI), Continuous Deployment, and Release on Demand." (Dean Leffingwell, "SAFe 4.5 Reference Guide: Scaled Agile Framework for Lean Enterprises 2nd Ed", 2018)

 "activity responsible for movement of new or changed software, documentation, processes or any other deliverable to the live environment" (ITIL)

"The process whereby software is installed into an operational environment." (Microfocus)

[continuous deployment:] "The technical capabilities to continuously deploy infrastructure, software, and process changes in support of digital business applications or services to customers." (Forrester)

11 April 2007

🌁Software engineering: Open Source (Definitions)

"A style of licensing software based on the principle that anyone should be able to copy, use, and improve upon a program's source code, although other restrictions may apply." (Bill Pribyl & Steven Feuerstein, "Learning Oracle PL/SQL", 2001)

"A movement in the software industry that makes programs available along with the source code used to create them so others can inspect and modify how programs work." (Judith Hurwitz et al, "Service Oriented Architecture For Dummies" 2nd Ed., 2009)

"Software provided with all the source code available, enabling developers to contribute changes. Most open software is available for free; although, many companies also license commercial software on an open basis." (Jon Radoff, "Game On: Energize Your Business with Social Media Games", 2011)

"software created by the worldwide user community. Open source software is generally free, can be modified by anyone, and usually doesn't have any single “owner.” Outsourcing: the process of a company arranging with one or more third parties to provide services that the first company could provide but chose not to." (Bill Holtsnider & Brian D Jaffe, "IT Manager's Handbook" 3rd Ed, 2012)

"A movement in the software industry that makes programs available along with the source code used to create them so that others can inspect and modify how programs work. Changes to source code are shared with the community at large." (Marcia Kaufman et al, "Big Data For Dummies", 2013)

"Software is open source if the source code is available to anyone who has access to the software." (Jules H Berman, "Principles of Big Data: Preparing, Sharing, and Analyzing Complex Information", 2013)

"A copyright or licensing system that, compared with conventional commercial licensing schemes, allows wide use and modification of the material." (Mike Harwood, "Internet Security: How to Defend Against Attackers on the Web" 2nd Ed., 2015)

"A program in which the source code is available to the general public for use or modification from its original design free of charge. Common Open Source licenses include the GNU General Public License, GNU Library General Public License, Artistic License, BSD license, Mozilla Public License, and other similar licenses listed at http://www.opensource.org/licenses. Open Source code is typically created as a collaborative effort in which programmers improve on the code and share the changes within the community." (James R Kalyvas & Michael R Overly, "Big Data: A Businessand Legal Guide", 2015)

[Open source platform:] "refers to any program whose source code is made available for use or modification by other users or developers. An open source platform is usually developed as a public collaboration and made freely available." (Accenture)

"Software for which the source code is available under an open licence. Not only can the software be used for free, but users with the necessary technical skills can inspect the source code, modify it and run their own versions of the code, helping to fix bugs, develop new features, etc. Some large open source software projects have thousands of volunteer contributors. The Open Definition was heavily based on the earlier Open Source Definition, which sets out the conditions under which software can be considered open source." (Open Data Handbook)

🌁Software Engineering: Accessibility (Definitions)

"The art of ensuring that, to as large an extent as possible, facilities (such as, for example, Web access) are available  to people whether or not they have impairments of one sort or another." (Tim Berners-Lee, "Weaving the Web", 1999)

"Accessibility is a subfield of human-computer interaction and deals with users with deficiencies. These deficiencies mostly lie in the perception capabilities. For example, users who cannot see or hear as well as other require special consideration during the implementation of user interfaces." (Thomas Mandl, "Automatic Quality Assessment for Internet Pages", 2008)

"The degree to which a system is usable by as many people as possible without modification and is characterized in terms of the ability of users to have physical access to the system, the nature of users’ interface with the system, and the ability to physically retrieve potentially relevant information." (Deepak Khazanchi, "Information Availability", 2009)

"Making system resources available to a wider user community regardless of their geographical locations or the physical capabilities of their access devices." (Heba Kurdi & H S Al-Raweshidy, "Taxonomy of Grid Systems", 2010)

"The quality of a system incorporating hardware or software to engage a flexible, customizable user interface, alternative input and output methods, and greater exposure of screen elements to make the computer usable by people with cognitive, hearing, physical, or visual disabilities." (Microsoft, "SQL Server 2012 Glossary", 2012)

"The design of information systems such that they can be used by everyone, regardless of their ability or disability." (Julius T Nganji, "A Disability-Aware Mentality to Information Systems Design and Development", 2018)

"Any product, service, technology or environment is accessible and available to everyone, including individuals/learners with special needs." (Sunagul Sani-Bozkurt, "Universal Design Principles and Technology-Supported Learning in the Digital Era", 2019)

"In the learning object sense, ensuring that all information is versioned in multi-perceptual ways for the broadest available human use (for example, image information is made available in text format, which is machine/screen reader- and human-readable)." (Shalin Hai-Jew, "Methods for Analyzing and Leveraging Online Learning Data", 2019)

"Requirement that characterizes projects, objects, device, services, settings, easily usable by every kind of user. In particular, it refers to the possibility for an individual with motorial, perceptive, and/or psychical disability to approach public services and cultural initiatives in conditions of safety and independence, in order to remove the so-called 'barriers', both architectural and perceptive, that represent the obstacles for an equal public dimension, that respects disabilities." (Cecilia Cecchini & Miriam Mariani, "Exhibit Design for Architecture: A Non-Digital Method for the Inclusive Communication of an Architecture", 2019)

"The concept used to describe the degree to which practices and environments are able to be understood and utilized by people of differing abilities." (Kathryn R Green & Steven Tolman, "Equitable Means Accessible: Using Universal Design for Learning and Student Development Theory to Inform Online Pedagogy", 2019)

"Extend to which a person can access and use an object, reach a place, or obtain a service." (Sandra Sanchez-Gordon, "Striving for Inclusion in E-Learning and E-Health", 2021)

08 April 2007

🌁Software Engineering: Middleware (Definitions)

"An intermediate layer that may consist of either hardware or software that facilitates interaction across dissimilar hardware and network environments." (Microsoft Corporation, "Microsoft SQL Server 7.0 Data Warehouse Training Kit", 2000)

"A general term for any software that allows two separate and usually already existing programs to exchange data without the need for custom coding." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"Multipurpose software that lives at a layer between the operating system and application in distributed computing environments." (Judith Hurwitz et al, "Service Oriented Architecture For Dummies" 2nd Ed., 2009)

"Computer software or hardware that connects other software components or systems. This technology evolved to provide for interoperability in support of the move to coherent distributed architectures, which are used most often to support complex distributed applications. It includes Web servers, application servers, and similar tools that support application development and delivery. Middleware is especially integral in managing and optimizing a system-of-systems at the enterprise level. Middleware sits “in the middle” between applications that may be working on different operating systems. It is similar to the middle layer of a three-tier single-system architecture, except that it is stretched across multiple systems or applications. " (David Lyle & John G Schmidt, "Lean Integration", 2010)

"Software that connects software components or applications, functioning as a conversion or translation layer or a consolidator and integrator. Middleware enables one application to communicate with another that runs on a different platform or comes from a different vendor, and it allows multiple processes running on one or more machines to interact across a network." (Janice M Roehl-Anderson, "IT Best Practices for Financial Managers", 2010)

"The term refers to software services that are placed between applications and database servers to make the data interchange transparent and efficient." (Paulraj Ponniah, "Data Warehousing Fundamentals for IT Professionals", 2010)

"Software that allows applications to interact across hardware and network environments." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"software that connects other software." (Bill Holtsnider & Brian D Jaffe, "IT Manager's Handbook" 3rd Ed., 2012)

"Software that connects two otherwise separate applications." (Craig S Mullins, "Database Administration", 2012)

"Software that sits between two or more types of software and translates information between them. Middleware can cover a broad spectrum of software and generally sits between an application and an operating system, a network operating system, or a database management system." (Microsoft, "SQL Server 2012 Glossary", 2012)

06 April 2007

🌁Software Engineering: Granularity (Definitions)

"An important software design concept, especially in relation to components. The amount of detail or functionality - from fine to coarse - provided within a service component. One software component can do something quite simple, such as calculate a square root. Or, it can have a great deal of detail and functionality to represent a complex business rule or workflow. The first is fine grained, and the second coarse grained. Developers often aggregate fine-grained services into coarse-grained services to create a business service." (Judith Hurwitz et al, "Service Oriented Architecture For Dummies" 2nd Ed., 2009)

"Loosely defined as the amount of computation done before synchronization is needed. The longer the time between synchronizations, the coarser the granularity will be. Fine-grained parallelism runs the danger of not having enough work assigned to threads to overcome the overhead costs of using threads. Adding more threads, when the amount of computation doesn’t change, only exacerbates the problem. Coarse-grained parallelism has lower overhead costs and tends to be more readily scalable to an increase in the number of threads." (Clay Breshears, "The Art of Concurrency", 2009)

"A description, from "coarse" to "fine", of a computer activity or feature (such as screen resolution, searching and sorting, or time slice allocation) in terms of the size of the units it handles (pixels, sets of data, or time slices). The larger the pieces, the coarser the granularity." (Microsoft, "SQL Server 2012 Glossary", 2012)

"The amount of decomposition applied to the parallelization of an algorithm, and the grain size of that decomposition. If the granularity is too coarse, there are not enough parallel tasks to effectively make use of all parallel hardware units and hide latency. If the granularity is too fine, there are too many parallel tasks and overhead may dominate the computation." (Michael McCool et al, "Structured Parallel Programming", 2012)

🌁Software Engineering: Interface (Definitions)

"(1) A shared boundary across which information is passed. (2) A hardware or software component that connects two or more other components for the purpose of passing information from one to the other. (3) To connect two or more components for the purpose of passing information from one to the other. (4) To serve as a connecting or connected component as in (2)."  (IEEE, "IEEE Standard Glossary of Software Engineering Terminology", 1990)

"(1) A shared boundary between two or more hardware or software components that conveys power and/or information from one to the other (2) To connect two or more components for the purpose of passing power and/or information from one to the other." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"An interface exists between different systems or between systems and networks when considered within the context of computer technology. An interface can also refer to the way in which people interact with a computer or other type of device (a user interface or graphical user interface). An interface can also have an organizational connotation where one organization works closely with (interfaces with) another. There are other definitions based on the industry context. However, these may be most common to product managers." (Steven Haines, "The Product Manager's Desk Reference", 2008)

"The connection between two components of a system. Analysis is concerned with the data content of an interface, and design is concerned with the behavior and appearance of the interface." (James Robertson et al, "Complete Systems Analysis: The Workbook, the Textbook, the Answers", 2013)

"Interconnection and interrelation between, for example, people, systems, devices, applications, and so on." (Gilbert Raymond & Philippe Desfray, "Modeling Enterprise Architecture with TOGAF", 2014)

05 April 2007

🌁Software Engineering: Specification (Definitions)

"A document used in procurement or development that describes the technical requirements for products, components, or services, usually including the procedures to be used to determine that the requirements have been met. Large systems may have multiple levels of specifications. Some specifications are common to multiple systems or products (e.g., interface definitions)." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"A specific quantifiable set point that typically has a nominal or target value and a tolerance of acceptable values associated with it. This is what results when a team tries to use tools and best practices to fulfill a requirement. Requirements are hopefully completely fulfilled by a final design specification - but many times they are not." (Lynne Hambleton, "Treasure Chest of Six Sigma Growth Methods, Tools, and Best Practices", 2007)

"A detailed coherent statement of particulars. A requirements specification details requirements whereas a design specification details the design of a system or element." (Bruce P Douglass, "Real-Time Agility: The Harmony/ESW Method for Real-Time and Embedded Systems Development", 2009)

"A document that specifies, ideally in a complete, precise, concrete and verifiable form, the requirements or other characteristics of a component or system. It serves the developers as a basis for programming, and it serves the testers as a basis for developing test cases with black box test design methods. (Often, a specification includes procedures for determining whether these requirements have been satisfied.) special software Software developed for one or a group of customers." (Tilo Linz et al, "Software Testing Foundations" 4th Ed, 2014)

"A precise statement of the needs to be satisfied and the essential characteristics that are required." (Project Management Institute, "A Guide to the Project Management Body of Knowledge (PMBOK® Guide )", 2017)

"A statement of the intended functionality of a given system." (O Sami Saydjari, "Engineering Trustworthy Systems: Get Cybersecurity Design Right the First Time", 2018)

"A document that specifies, ideally in a complete, precise and verifiable manner, the requirements, design, behavior, or other characteristics of a system or component, and, often, the procedures for determining whether these provisions have been satisfied" (IEEE 610)

03 April 2007

Software Engineering: Quality Attribute (Definitions

[quality characteristic:] "A measured response that relates to a general or specific requirement that can be an attribute or a continuous variable. The quantifiable measure of performance that directly affects the customer’s satisfaction. Often in DFSS, these have to be converted to an engineering scalar or vector." (Clyde M Creveling, "Six Sigma for Technical Processes: An Overview for R Executives, Technical Leaders, and Engineering Managers", 2006)

"1. A characteristic of a software product used to judge or describe its quality. A software quality attribute can also be refined through several steps into partial attributes. 2. Ability or characteristic which influences the quality of a unit." (Tilo Linz et al, "Software Testing Foundations, 4th Ed", 2014)

"A feature or characteristic that affects an item’s quality." (IEEE 610)

"A set of attributes of a software product by which its quality is described and evaluated. A software quality characteristic may be refined into multiple levels of sub-characteristics (ISO 9126)

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.