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)

🌁Software Engineering: Baseline (Definitions)

"A set of specifications or work products that has been formally reviewed and agreed on, which thereafter serves as the basis for further development, and which can be changed only through change control procedures capability evaluation An appraisal by a trained team of professionals used as a discriminator to select suppliers, for contract monitoring, or for incentives. Evaluations are used to help decision makers make better acquisition decisions, improve subcontractor performance, and provide insight to a purchasing organization." (Sandy Shrum et al, "CMMI®: Guidelines for Process Integration and Product Improvement", 2003)

"In configuration management, the initial approved technical data package (including, for software, the source code listing) defining a configuration item during the production, operation, maintenance, and logistic support of its life cycle." (Sandy Shrum et al, "CMMI®: Guidelines for Process Integration and Product Improvement", 2003)

"A set of configuration items (software documents and software components) that has been formally reviewed and agreed upon, that thereafter serves as the basis for future development, and that can be changed only through formal change control procedures." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"(1) A specification, document, software element, hardware item, or product that has been formally reviewed and approved by designated stakeholders at a specific time during the configuration item’s life cycle. Thereafter, it serves as the basis for further development and can be changed only through formal change control procedures. (2) The action of placing any product under formal configuration control." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"The approved documentation describing all the functional and physical characteristics of a product, and those functional and physical characteristics selected for its acceptance testing." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"A set of data or information about an aspect of a business (or product) that provides a point of perspective from which future options can be evaluated. A baseline analysis during the product strategy formulation process allows a product manager to assess the past and current business and market environment for a product, so that future strategic options can be considered." (Steven Haines, "The Product Manager's Desk Reference", 2008)

"A configuration describing a particular development level (e.g., a requirements baseline, design baseline, or baseline related to the production of releases). Associated and related configuration items are 'preserved' when forming a baseline, i.e., they are protected against changes." (Lars Dittmann et al, "Automotive SPICE in Practice", 2008)

"Benchmark used as a reference point" (ITIL)

[configuration baseline] "Baseline of a configuration that has been formally agreed and is managed through the Change Management process." (ITIL)

01 April 2007

🌁Software Engineering: Scalability (Definitions)

"A characteristic of a system that provides increased performance with the addition of resources. SQL Server is scalable. For example, it can use memory or additional processors to accommodate more user connections." (Microsoft Corporation, "SQL Server 7.0 System Administration Training Kit", 1999)

"The ability to accommodate future growth requirements." (Ralph Kimball & Margy Ross, "The Data Warehouse Toolkit" 2nd Ed., 2002)

"The capacity of a thing to expand to accommodate future requirements." (Sharon Allen & Evan Terry, "Beginning Relational Data Modeling" 2nd Ed., 2005)

"Used to indicate that an application can handle an increased workload to accommodate a growing number of users. Scalability is accomplished by either scaling up (by increasing the hardware capacity of the current server) or scaling out, (by increasing the number of servers)." (Sara Morganand & Tobias Thernstrom , "MCITP Self-Paced Training Kit : Designing and Optimizing Data Access by Using Microsoft SQL Server 2005 - Exam 70-442", 2007)

"The capability of a product, service, or platform to be readily enlarged or expanded to handle greater capacity than offered by a single instantiation, whether through replication, customization, or additional supporting elements." (Steven Haines, "The Product Manager's Desk Reference", 2008)

"The ability of an application to maintain acceptable response time and throughput when the number of simultaneous users increases." (John Goodson & Robert A Steward, "The Data Access Handbook", 2009)

"The ability to support increasing numbers of users in cost-effective increments without adversely affecting business operations." (Paulraj Ponniah, "Data Warehousing Fundamentals for IT Professionals", 2010)

"The ability to scale to support larger or smaller volumes of data and more or less users. The ability to increase or decrease size or capability in cost-effective increments with minimal impact on the unit cost of business and the procurement of additional services." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"The capability of the software product to be upgraded to accommodate increased loads." (Requirements Engineering Qualifications Board, "Standard glossary of terms used in Requirements Engineering", 2011)

"Being able to add additional capacity incrementally, quickly and as needed." (Linda Volonino & Efraim Turban, "Information Technology for Management 8th Ed", 2011)

"The ability to increase or decrease size or capability in cost-effective increments with minimal impact on the unit cost of business and the procurement of additional services." (Craig S Mullins, "Database Administration", 2012)

"In regard to hardware, the capability to go from small to large amounts of processing power with the same architecture. It also applies to software products such as databases, in which case it refers to the consistency of performance per unit of power as hardware resources increase." (Marcia Kaufman et al, "Big Data For Dummies", 2013)

"The ability of a software application to function well and with minimal loss of performance, despite changing computing environments; the volume of computations, users, or data. Scalable software is able to take full advantage of increases in computing capability such as those that are provided by the use of SMP hardware and threaded processing." (Jim Davis & Aiman Zeid, "Business Transformation: A Roadmap for Maximizing Organizational Insights", 2014)

"It is the capacity of the system to handle increasing amount work without affecting existing system." (Dharmendra T Patel, "Distributed Computing for Internet of Things (IoT)", 2019)

"Ability to perform in agreed function/parameters when the workload or scope changes" (ITIL)

🌁Software Engineering: Failure Modes & Effects Analysis [FMEA] (Definitions)

"A risk-analysis technique that identifies and ranks the potential failure modes of a design or process and then prioritizes improvement actions." (Clyde M Creveling, "Six Sigma for Technical Processes: An Overview for R Executives, Technical Leaders, and Engineering Managers", 2006)

"An approach to analyzing the effect of faults on system reliability." (Bruce P Douglass, "Real-Time Agility: The Harmony/ESW Method for Real-Time and Embedded Systems Development", 2009)

"An analytical procedure in which each potential failure mode in every component of a product is analyzed to determine its effect on the reliability of that component and, by itself or in combination with other possible failure modes, on the reliability of the product or system and on the required function of the component; or the examination of a product (at the system and/or lower levels) for all ways that a failure may occur. For each potential failure, an estimate is made of its effect on the total system and of its impact. In addition, a review is undertaken of the action planned to minimize the probability of failure and to minimize its effects." (For Dummies, "PMP Certification All-in-One For Dummies, 2nd Ed.", 2013)

"Approach that dissects a component into its basic functions to identify flaws and those flaw’s effects." (Adam Gordon, "Official (ISC)2 Guide to the CISSP CBK" 4th Ed., 2015)

"(1) A process for analysis of potential failure modes within a system for classification by severity or determination of the effect of failures on the system. (2) A structured method for analyzing risk by ranking and documenting potential failure mode in a system, design or process. The analysis includes: identification of potential failures and their effects; ranking of factors (e.g., severity, frequency of occurrence, detectability of the potential failures); and identification and results of actions taken to reduce or eliminate risk." (International Aerospace Quality Group)

"A systematic approach to risk identification and analysis of identifying possible modes of failure and attempting to prevent their occurrence." (SQA)

"FMEA (failure modes effects analysis) is a technique used in product life cycle management activities to predict how a product or process might fail and what the effects of that failure might be." (Gartner)

30 March 2007

🌁Software Engineering: Functional Testing (Definitions)

"Testing that ignores the internal mechanism of a system or component and focuses solely on the outputs generated in response to selected inputs and execution conditions." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"1. Checking functional requirements. 2. Dynamic test for which the test cases are developed based on an analysis of the functional specification of the test object. The completeness of this test (its coverage) is assessed using the functional specification." (Tilo Linz et al, "Software Testing Foundations, 4th Ed", 2014)

"Security testing in which advertised security mechanisms of an information system are tested under operational conditions to determine if a given function works according to its requirements." (William Stallings, "Effective Cybersecurity: A Guide to Using Best Practices and Standards", 2018)

"Testing based on an analysis of the specification of the functionality of a component or system." (Software Quality Assurance)

🌁Software Engineering: Functional Requirement (Definitions)

"Something that the product must do. Functional requirements are part of the fundamental processes of the product." (Suzanne Robertson & James Robertson, "Mastering the Requirements Process" 2nd Ed., 2006)

"A requirement that directly influences and describes functionality." (Lars Dittmann et al, "Automotive SPICE in Practice", 2008)

"Defines a function of a software system or its component. A function is described as a set of inputs, the behavior, and outputs. Functional requirements may be calculations, technical details, data manipulation and processing, and other specific functionalities that define what a system is supposed to accomplish." (Mark S Merkow & Lakshmikanth Raghavan, "Secure and Resilient Software Development", 2010)

"A description of expected behavior of a system given a defined set of inputs or events." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"A requirement that specifies a function that a component or system must perform." (Tilo Linz et al, "Software Testing Foundations" 4th Ed., 2014)

"Detailed statements of the project’s wanted capabilities. They’re similar to the user requirements but may also include things that the users won’t see directly such as interfaces to other applications." (Rod Stephens, "Beginning Software Engineering", 2015)

"A requirement that specifies a function that a system or system component must be able to perform." (IEEE-STD-610)


27 March 2007

🌁Software Engineering: Complexity (Definitions)

"A measure of the numbers and types of interrelationships among system elements. Generally speaking, the more complex a system, the more difficult it is to design, build, and use." (Atul Apte, "Java Connector Architecture: Building Custom Connectors and Adapters", 2002)

"Expresses a condition of numerous elements in a system and numerous forms of relationships among the elements. In general usage, complexity tends to be used to characterize something with many parts in intricate arrangement. In science there are at this time a number of approaches to characterizing complexity." (Aldo Romano & Giustina Secundo (Eds.),, "Dynamic Learning Networks: Models and Cases in Action", 2009)

"How difficult the new product will be perceived by the end-user. High complexity can become a barrier to diffusion." (Gina C O'Connor & V K Narayanan, "Encyclopedia of Technology and Innovation Management", 2010)

"The degree to which the new system is perceived to be difficult to understand and use, measured on a continuum from easy to difficult." (Linda Volonino & Efraim Turban, "Information Technology for Management" 8th Ed,, 2011)

"A characteristic of a program or project or its environment, which is difficult to manage due to human behavior, system behavior, and ambiguity." (Project Management Institute, "Navigating Complexity: A Practice Guide", 2014)

"An interdisciplinary lens through which to articulate the learning behaviours in/of systems wherein perpetual emergence and adaption occurs. Central to the understanding of complexity is the notion that individual agents within the system are involved in continuously negotiated and in-flux self-organization and decentralized control." (Kathy Sanford & Tim Hopper, "Digital Media in the Classroom: Emergent Perspectives for 21st Century Learners", Handbook of Research on Digital Media and Creative Technologies, 2015)

"Complexity is a phenomenon that involves a lot of interaction and interference between a very large number of units." (Mauro Chiarella, "Folds and Refolds: Space Generation, Shapes, and Complex Components", 2016)

"The condition of having many diverse and autonomous but interrelated and interdependent components linked through many dense interconnections." (Kijpokin Kasemsap, "Utilizing Complexity Theory and Complex Adaptive Systems in Global Business", Handbook of Research on Chaos and Complexity Theory in the Social Sciences, 2016)

"Refers to the inherent difficulty in accomplishing a computational task such as sorting a list or establishing the trustworthiness of an entire system." (O Sami Saydjari, "Engineering Trustworthy Systems: Get Cybersecurity Design Right the First Time", 2018)

"(1) The degree to which a system or component has a design or implementation that is difficult to understand and verify. (2) Pertaining to any of a set of structure-based metrics that measure the attribute in (1)." (IEEE Std 610.12-1990) 

 "The degree to which a component or system has a design and/or internal structure that is difficult to understand, maintain and verify." (SQA)

16 March 2007

🌁Software Engineering: Rapid Application Development (Definitions)

"A tool than enables you to design and build a complete application quickly." (Greg Perry, "Sams Teach Yourself Beginning Programming in 24 Hours" 2nd Ed., 2001)

"A method of building computer systems in which the system is programmed and implemented in segments, rather than waiting until the entire project is completed for implementation. Developed by programmer James Martin, RAD uses such tools as CASE and visual programming." (Microsoft, "SQL Server 2012 Glossary", 2012)

"An approach to software development that is highly evolutionary in nature that typically involves significant amounts of user interface prototyping." (Pramod J Sadalage & Scott W Ambler, "Refactoring Databases: Evolutionary Database Design", 2006)

"Methods, tools and techniques that dramatically accelerate application development time." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"Development models that emphasize producing code and deemphasize planning. These models produce code iteratively and incrementally as quickly as possible. RAD principles include small teams, frequent customer interaction, frequent integration and testing, and short time-boxed iterations." (Rod Stephens, "Beginning Software Engineering", 2015)

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.