Software Design & Development Definitions

Search Definitions
  • #

    12 factor app (twelve-factor app)

    Twelve-factor app is a methodology for building distributed applications that run in the cloud and are delivered as a service. The approach was developed by Adam Wiggins, the co-founder of Heroku, a platform-as-a-service which is now part of Salesforce.com.

  • 3-tier application architecture

    A 3-tier application architecture is a modular client-server architecture that consists of a presentation tier, an application tier and a data tier.

  • A

    application

    An application, also referred to as an application program or application software, is a computer software package that performs a specific function directly for an end user or, in some cases, for another application.

  • application platform

    An application platform is a framework of services that applications rely on for standard operations.

  • B

    behavior-driven development (BDD)

    Behavior-driven development (BDD) is an Agile software development methodology in which an application is documented and designed around the behavior a user expects to experience when interacting with it.

  • best practice

    A best practice is a standard or set of guidelines that is known to produce good outcomes if followed.

  • bug

    In computer technology, a bug is a coding error in a computer program.

  • build

    In a programming context, a build is a version of a program that, as a rule, is a pre-release version and is identified by a build number rather than by a release number.

  • C

    citizen development

    Citizen development is a business process that encourages non-IT-trained employees to become software developers, using IT-sanctioned low-code/no-code (LCNC) platforms to create business applications.

  • continuous integration (CI)

    Continuous integration (CI) is a software development practice in which frequent, isolated changes are immediately tested and reported on when they're added to a larger codebase.

  • cookie

    A cookie is information that a website puts on a user's computer.

  • D

    debugging

    Debugging, in computer programming and engineering, is a multistep process that involves identifying a problem, isolating the source of the problem and then either correcting the problem or determining a way to work around it.

  • development environment

    In software, web and mobile application development, the development environment is a workspace with a set of processes and programming tools used to develop the source code for an application or software product.

  • software documentation

    In the software development process, software documentation is the information that describes the product to the people who develop, deploy and use it.

  • E

    exception handling

    Exception handling is the process of responding to unwanted or unexpected events when a computer program runs.

  • F

    feature-driven development (FDD)

    Feature-driven development (FDD) is an Agile software development framework that organizes work around product features.

  • functional programming

    Functional programming is a programming paradigm that uses functions to construct programs and control how those programs operate.

  • G

    garbage in, garbage out (GIGO)

    Garbage in, garbage out, or GIGO, refers to the idea that in any system, the quality of output is determined by the quality of the input.

  • green software

    Green software, also known as sustainable software, is software that is designed, developed and implemented to limit energy consumption and have minimal environmental impact.

  • H

    histogram

    A histogram is a type of chart that shows the frequency distribution of data points across a continuous range of numerical values.

  • hybrid application (hybrid app)

    A hybrid app is a software application that combines elements of both native apps and web applications.

  • I

    iterative

    In the world of IT and computer programming, the adjective iterative refers to a process where the design of a product or application is improved by repeated review and testing.

  • J

    Jenkins

    Jenkins is an open source continuous integration/continuous delivery and deployment (CI/CD) automation software DevOps tool written in the Java programming language.

  • joint application development (JAD)

    Joint application development, frequently shortened to JAD, is a methodology that involves the client or end user in the design and development of a software application through a succession of collaborative workshops called JAD sessions.

  • L

    LDAP injection

    LDAP (Lightweight Directory Access Protocol) injection is a type of security exploit that is used to compromise the authentication process used by some websites.

  • Lean software development

    Lean software development is a concept that emphasizes optimizing efficiency and minimizing waste in the development of software.

  • low-code and no-code development platforms

    Low-code/no-code development platforms are software development tools and environments that allow enterprise developers and citizen developers to create new applications using drag-and-drop components, linking them together and creating mobile or web apps.

  • M

    model-driven development

    Model-driven development (MDD) is a format to write and implement software quickly, effectively and at minimum cost.

  • N

    native app

    A native application is a software program developers build for use on a particular platform or device.

  • NIST (National Institute of Standards and Technology)

    NIST (National Institute of Standards and Technology) is a nonregulatory government agency located in Gaithersburg, Md.

  • no-code

    No-code is a software development approach that requires few, if any, programming skills to quickly build an application, website or module that links into an existing system.

  • P

    polyglot programming

    Polyglot programming is the practice of writing code in multiple languages to capture additional functionality and efficiency not available in a single language.

  • program

    In computing, a program is a specific set of ordered operations for a computer to perform.

  • Q

    quality assurance (QA)

    Quality assurance (QA) is any systematic process of determining whether a product or service meets specified requirements.

  • R

    requirements analysis (requirements engineering)

    Requirements analysis (requirements engineering) is the process of determining user expectations for a new or modified product.

  • runtime

    Runtime is a piece of code that implements portions of a programming language's execution model.

  • S

    software toolchain

    A software toolchain is a set of software development tools used simultaneously to complete complex software development tasks or to deliver a software product.

  • source code analysis

    Source code analysis is the automated testing of source code for the purpose of debugging a computer program or application before it is distributed or sold.

  • static testing

    Static testing is a software testing method that examines a program -- along with any associated documents -- but does not require the program to be executed.

  • structured programming (modular programming)

    Structured programming, or modular programming, is a programming paradigm that facilitates the creation of programs with readable code and reusable components.

  • U

    Unified Modeling Language (UML)

    Unified Modeling Language (UML) is a standard notation for modeling real-world objects as a first step in designing an object-oriented system.

  • use case

    A use case is a methodology used in system analysis to identify, clarify and organize system requirements.

  • UX research

    User experience (UX) research is the study of learning what end users of a system or product need and want, then employing those insights to enhance the design process for products, services or software.

  • V

    versioning

    Versioning is the creation and management of multiple releases of a product, all of which have the same general function, but are improved, upgraded or customized.

  • W

    web application (web app)

    A web application (web app) is an application program that is stored on a remote server and delivered over the internet through a browser interface.

Cloud Computing
App Architecture
ITOperations
TheServerSide.com
SearchAWS
Close